@revolist/revogrid 4.9.22 → 4.9.23
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.
- package/dist/cjs/{app-globals-a6bcda2f.js → app-globals-c0b20747.js} +2 -2
- package/dist/cjs/{app-globals-a6bcda2f.js.map → app-globals-c0b20747.js.map} +1 -1
- package/dist/cjs/{column.drag.plugin-3644bda6.js → column.drag.plugin-eb1db875.js} +50 -55
- package/dist/cjs/column.drag.plugin-eb1db875.js.map +1 -0
- package/dist/cjs/{column.service-caec759a.js → column.service-6089b047.js} +10 -20
- package/dist/cjs/column.service-6089b047.js.map +1 -0
- package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
- package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
- package/dist/cjs/{edit.utils-18840bb3.js → edit.utils-093fe9cd.js} +2 -2
- package/dist/cjs/{edit.utils-18840bb3.js.map → edit.utils-093fe9cd.js.map} +1 -1
- package/dist/cjs/{filter.button-1e1e16be.js → filter.button-afb16244.js} +2 -2
- package/dist/cjs/{filter.button-1e1e16be.js.map → filter.button-afb16244.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-4fd62cec.js → header-cell-renderer-2d56e8f5.js} +3 -3
- package/dist/cjs/{header-cell-renderer-4fd62cec.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
- package/dist/cjs/{index-34dfb0db.js → index-10d10c55.js} +14 -20
- package/dist/cjs/index-10d10c55.js.map +1 -0
- package/dist/cjs/{index-71b783e2.js → index-a9ee8eef.js} +290 -854
- package/dist/cjs/index-a9ee8eef.js.map +1 -0
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
- package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/revo-grid.cjs.entry.js +43 -74
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +3 -3
- package/dist/cjs/revo-grid.cjs.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +4 -4
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
- package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
- package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-8bf92449.js} +2 -2
- package/dist/cjs/{sorting.sign-54938069.js.map → sorting.sign-8bf92449.js.map} +1 -1
- package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
- package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
- package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
- package/dist/cjs/throttle-6fecba1e.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +9 -13
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +4 -3
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dimension/dimension.store.js +19 -6
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/vp/viewport.store.js +5 -7
- package/dist/collection/store/vp/viewport.store.js.map +1 -1
- package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
- package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
- package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-cb25a5e1.js} +47 -52
- package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
- package/dist/esm/column.service-407956dd.js.map +1 -0
- package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
- package/dist/esm/debounce-7b511afc.js.map +1 -0
- package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
- package/dist/esm/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
- package/dist/esm/{filter.button-91088160.js.map → filter.button-37373672.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
- package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
- package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
- package/dist/esm/index-a61f225b.js.map +1 -0
- package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
- package/dist/esm/index-b6586f9b.js.map +1 -0
- package/dist/esm/index.js +11 -11
- package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
- package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/revo-grid.entry.js +39 -70
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +4 -4
- package/dist/esm/revo-grid.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +10 -10
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +7 -7
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +20 -43
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +4 -4
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
- package/dist/esm/row-header-utils-e043f744.js.map +1 -0
- package/dist/esm/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
- package/dist/esm/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +1 -1
- package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
- package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
- package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
- package/dist/esm/throttle-bb3169c7.js.map +1 -0
- package/dist/revo-grid/app-globals-3a760941.js +5 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/revo-grid/column.service-407956dd.js +5 -0
- package/dist/revo-grid/column.service-407956dd.js.map +1 -0
- package/dist/revo-grid/debounce-7b511afc.js +5 -0
- package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
- package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/revo-grid/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
- package/dist/revo-grid/index-a61f225b.js +6 -0
- package/dist/revo-grid/index-a61f225b.js.map +1 -0
- package/dist/revo-grid/index-b6586f9b.js +5 -0
- package/dist/revo-grid/index-b6586f9b.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
- package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
- package/dist/revo-grid/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
- package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
- package/dist/revo-grid/throttle-bb3169c7.js +5 -0
- package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
- package/dist/types/store/dimension/dimension.store.d.ts +2 -1
- package/dist/types/store/vp/viewport.store.d.ts +0 -1
- package/hydrate/index.d.ts +4 -4
- package/hydrate/index.js +426 -1128
- package/hydrate/index.mjs +426 -1128
- package/package.json +3 -3
- package/standalone/column.service.js +5 -16
- package/standalone/column.service.js.map +1 -1
- package/standalone/debounce.js +7 -16
- package/standalone/debounce.js.map +1 -1
- package/standalone/dimension.helpers.js +15 -45
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/index.js +0 -2
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +0 -2
- package/standalone/index2.js.map +1 -1
- package/standalone/reduce.js +1319 -474
- package/standalone/reduce.js.map +1 -1
- package/standalone/revo-grid.js +74 -111
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +0 -2
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +2 -2
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +0 -2
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +12 -37
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +2 -4
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -4
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +5 -9
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-temp-range2.js +2 -2
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +2 -2
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +0 -2
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +3 -8
- package/standalone/throttle.js.map +1 -1
- package/standalone/toNumber.js +165 -22
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
- package/dist/cjs/column.service-caec759a.js.map +0 -1
- package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
- package/dist/cjs/index-34dfb0db.js.map +0 -1
- package/dist/cjs/index-71b783e2.js.map +0 -1
- package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
- package/dist/cjs/throttle-b5d436ca.js.map +0 -1
- package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
- package/dist/esm/column.service-dc98409c.js.map +0 -1
- package/dist/esm/debounce-e8e9464a.js.map +0 -1
- package/dist/esm/index-29a9a87a.js.map +0 -1
- package/dist/esm/index-70354f39.js.map +0 -1
- package/dist/esm/row-header-utils-32049c13.js.map +0 -1
- package/dist/esm/throttle-c6f34cc0.js.map +0 -1
- package/dist/revo-grid/app-globals-43714036.js +0 -5
- package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
- package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
- package/dist/revo-grid/column.service-dc98409c.js +0 -5
- package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
- package/dist/revo-grid/debounce-e8e9464a.js +0 -5
- package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
- package/dist/revo-grid/index-29a9a87a.js +0 -5
- package/dist/revo-grid/index-29a9a87a.js.map +0 -1
- package/dist/revo-grid/index-70354f39.js +0 -6
- package/dist/revo-grid/index-70354f39.js.map +0 -1
- package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
- package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
- package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
- package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
- package/standalone/_stringToPath.js +0 -1389
- package/standalone/_stringToPath.js.map +0 -1
- package/standalone/isObjectLike.js +0 -195
- package/standalone/isObjectLike.js.map +0 -1
- /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
- /package/dist/revo-grid/{filter.button-91088160.js.map → filter.button-37373672.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
- /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
- /package/dist/revo-grid/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{V as t,v as e,W as n,_ as s,O as i,Z as o,Y as r,a as l,C as c,y as u,b as f}from"./index-b6586f9b.js";import"./index-a61f225b.js";function a(){return{range:null,tempRange:null,tempRangeType:null,focus:null,edit:null,lastCell:null,nextFocus:null}}class h{constructor(){this.unsubscribe=[];this.store=t(a());this.store.on("set",((t,e)=>{if(t==="tempRange"&&!e){this.store.set("tempRangeType",null)}}))}onChange(t,e){this.unsubscribe.push(this.store.onChange(t,e))}clearFocus(){e(this.store,{focus:null,range:null,edit:null,tempRange:null})}setFocus(t,n){if(!n){e(this.store,{focus:t})}else{e(this.store,{focus:t,range:m(t,n),edit:null,tempRange:null})}}setNextFocus(t){e(this.store,{nextFocus:t})}setTempArea(t){e(this.store,{tempRange:t===null||t===void 0?void 0:t.area,tempRangeType:t===null||t===void 0?void 0:t.type,edit:null})}clearTemp(){e(this.store,{tempRange:null})}setRangeArea(t){e(this.store,{range:t,edit:null,tempRange:null})}setRange(t,e){const n=m(t,e);this.setRangeArea(n)}setLastCell(t){e(this.store,{lastCell:t})}setEdit(t){const n=this.store.get("focus");if(n&&typeof t==="string"){e(this.store,{edit:{x:n.x,y:n.y,val:t}});return}e(this.store,{edit:null})}dispose(){this.unsubscribe.forEach((t=>t()));this.store.dispose()}}const d=-1;class p{constructor(){this.dirty=false;this.stores={};this.columnStores={};this.rowStores={};this.storesByType={};this.storesXToType={};this.storesYToType={};this.sections=[]}get focusedStore(){var t;for(let e in this.stores){for(let n in this.stores[e]){const s=(t=this.stores[e][n])===null||t===void 0?void 0:t.store.get("focus");if(s){return{entity:this.stores[e][n],cell:s,position:{x:parseInt(n,10),y:parseInt(e,10)}}}}}return null}get edit(){var t;return(t=this.focusedStore)===null||t===void 0?void 0:t.entity.store.get("edit")}get focused(){var t;return(t=this.focusedStore)===null||t===void 0?void 0:t.entity.store.get("focus")}get selectedRange(){var t;return(t=this.focusedStore)===null||t===void 0?void 0:t.entity.store.get("range")}registerSection(t){if(!t){this.sections.length=0;this.dirty=true;return}if(this.sections.indexOf(t)===-1){this.sections.push(t)}}beforeUpdate(){if(this.dirty){for(let t in this.stores){for(let e in this.stores[t]){this.stores[t][e].dispose()}}this.dirty=false}}registerColumn(t,e){if(v(t)){return new h}if(this.columnStores[t]){return this.columnStores[t]}this.columnStores[t]=new h;this.storesByType[e]=t;this.storesXToType[t]=e;return this.columnStores[t]}registerRow(t,e){if(v(t)){return new h}if(this.rowStores[t]){return this.rowStores[t]}this.rowStores[t]=new h;this.storesByType[e]=t;this.storesYToType[t]=e;return this.rowStores[t]}register({x:t,y:e}){var n,s;if(v(t)||v(e)){return new h}if(!this.stores[e]){this.stores[e]={}}if(this.stores[e][t]){return this.stores[e][t]}this.stores[e][t]=new h;(n=this.stores[e][t])===null||n===void 0?void 0:n.onChange("range",(n=>{this.columnStores[t].setRangeArea(n);this.rowStores[e].setRangeArea(n)}));(s=this.stores[e][t])===null||s===void 0?void 0:s.store.on("dispose",(()=>this.destroy(t,e)));return this.stores[e][t]}destroy(t,e){var n,s;(n=this.columnStores[t])===null||n===void 0?void 0:n.dispose();(s=this.rowStores[e])===null||s===void 0?void 0:s.dispose();delete this.rowStores[e];delete this.columnStores[t];if(this.storesXToType[t]){const e=this.storesXToType[t];delete this.storesXToType[t];delete this.storesByType[e]}if(this.storesYToType[e]){const t=this.storesYToType[e];delete this.storesYToType[e];delete this.storesByType[t]}if(this.stores[e]){delete this.stores[e][t]}if(!Object.keys(this.stores[e]||{}).length){delete this.stores[e]}}setEditByCell(t,e){this.focusByCell(t,e,e);this.setEdit("")}beforeNextFocusCell(t){var e;if(!this.focusedStore){return}const n=this.focusedStore.entity.store.get("lastCell");const s=n&&this.getNextStore(t,this.focusedStore.position,n);(e=s===null||s===void 0?void 0:s.store)===null||e===void 0?void 0:e.setNextFocus(Object.assign(Object.assign({},t),s.item))}focusByCell(t,e,n){const s=this.stores[t.y][t.x];this.focus(s,{focus:e,end:n})}focus(t,{focus:e,end:n}){const s=this.getCurrentStorePointer(t);if(!s){return null}const i=t.store.get("lastCell");const o=i&&this.getNextStore(e,s,i);if(o===null||o===void 0?void 0:o.store){const t=Object.assign(Object.assign({},e),o.item);this.focus(o.store,{focus:t,end:t});return null}if(i){e=y(e,i);n=y(n,i)}t.setFocus(e,n);return e}getCurrentStorePointer(t){let e;for(let n in this.stores){for(let s in this.stores[n]){const i=this.stores[n][s];if(i!==t){i.clearFocus()}else{e={x:parseInt(s,10),y:parseInt(n,10)}}}}return e}getNextStore(t,e,n){const s=g(t,n);let i;if(s){Object.entries(s).forEach((([t,n])=>{let o;switch(t){case"x":o=this.getXStores(e.y);break;case"y":o=this.getYStores(e.x);break}if(n>=0){i=o[++e[t]]}else{i=o[--e[t]];const r=i===null||i===void 0?void 0:i.store.get("lastCell");if(r){s[t]=r[t]+n}}}))}return{store:i,item:s}}clearAll(){var t;for(let e in this.stores){for(let n in this.stores[e]){(t=this.stores[e][n])===null||t===void 0?void 0:t.clearFocus()}}}setEdit(t){if(!this.focusedStore){return}this.focusedStore.entity.setEdit(t)}selectAll(){for(let t in this.stores){for(let e in this.stores[t]){const n=this.stores[t][e];if(!n){continue}const s=n.store.get("lastCell");if(s){n.setRange({x:0,y:0},{x:s.x-1,y:s.y-1})}}}}getXStores(t){return this.stores[t]}getYStores(t){const e={};for(let n in this.stores){e[n]=this.stores[n][t]}return e}}function v(t){return t===d}function g(t,e){const n={};let s=["x","y"];for(let e of s){if(t[e]<0){n[e]=t[e];return n}}for(let i of s){if(t[i]>=e[i]){n[i]=t[i]-e[i];return n}}return null}function y(t,e){const n=Object.assign({},t);const s=["x","y"];for(const i of s){if(t[i]<0){n[i]=0}else if(t[i]>=e[i]){n[i]=e[i]-1}}return n}function m(t,e){return t&&e?{x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x1:Math.max(t.x,e.x),y1:Math.max(t.y,e.y)}:null}function x(t){return t.x===t.x1&&t.y===t.y1}function b(t){if(typeof t==="undefined"||t===null){return""}return t}function O(t,e){const n=e.cellParser?e.cellParser(t,e):t[e.prop];return b(n)}function j(t){if(t.pin){return t.pin}return"rgCol"}function C(t){const e={};for(const[n,s]of t.entries()){if(s.size){e[n]=s.size}}return e}function R(t){return!!t.children}function w(t,e=0,s){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e,sort:{}};return n(t,((t,n)=>{if(R(n)){return I(t,n,w(n.children,e+1,s),e)}const i=Object.assign(Object.assign({},n.columnType&&s&&s[n.columnType]),n);if(!i.pin){t.columns.rgCol.push(i)}else{t.columns[i.pin].push(i)}if(i.order){t.sort[i.prop]=i}if(!t.columnByProp[i.prop]){t.columnByProp[i.prop]=[]}t.columnByProp[i.prop].push(i);i.beforeSetup&&i.beforeSetup(i);return t}),i)}function I(t,e,n,i=0){const o=Object.assign(Object.assign({},e),{level:i,ids:[]});for(let e in n.columns){const i=e;const r=t.columns[i];const l=n.columns[i];if(s(r)&&s(l)){r.push(...l);if(l.length){t.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:l.map((t=>t.prop))}))}}}for(let e in n.columnGrouping){const s=e;const i=n.columnGrouping[s];t.columnGrouping[s].push(...i)}t.maxLevel=Math.max(t.maxLevel,n.maxLevel);t.sort=Object.assign(Object.assign({},t.sort),n.sort);return t}function S(t,e){for(const n of t){if(R(n)){const t=S(n.children,e);if(t){return t}}else if(n.prop===e){return n}}return undefined}function T(t,e){return S(t,e)}const A=`${i}-depth`;const M=`${i}-name`;const P=`${i}-id`;const E=`${i}-value`;const D=`${i}-column`;const $=`${i}-expanded`;const F=`${i}-original-index`;const G=`group-expand`;const N=`groupexpandclick`;const k="rgRow";function B(t,e){return t[e]||null}function J(t,e,{prevExpanded:n,expandedAll:s,getGroupValue:i=B}){const o=new Map;t.forEach(((t,n)=>{const s=e.map((e=>i(t,e)));const r=s.pop();let l=o;s.forEach((t=>{if(!l.has(t)){l.set(t,new Map)}l=l.get(t)}));if(!l.has(r)){l.set(r,[])}const c=l.get(r);c.push(Object.assign(Object.assign({},t),{[F]:n}))}));let r=-1;const l=e.length;const c={};const u={};const f={};const a=[];function h(t,e,i){const o=e.length;t.forEach(((t,l)=>{const d=[...e,l];const p=d.join(",");const v=i&&(!!s||!!(n===null||n===void 0?void 0:n[p]));a.push({[M]:l,[A]:o,[P]:JSON.stringify(d),[E]:p,[$]:v});r+=1;if(!v&&o){c[r]=true}if(Array.isArray(t)){t.forEach((t=>{r+=1;if(!v){c[r]=true}u[t[F]]=r;const e=d.map(((t,e)=>d.slice(0,e+1).join(",")));e.forEach((t=>{if(!f[t]){f[t]=[]}f[t].push(r)}))}));a.push(...t)}else{h(t,d,v)}}))}h(o,[],true);return{sourceWithGroups:a,depth:l,trimmed:c,oldNewIndexMap:u,childrenByGroup:f}}function L(t){return t&&t[M]}function V(t){return typeof(t===null||t===void 0?void 0:t[M])!=="undefined"}function W(t){return t&&typeof t[D]!=="undefined"}function Y(t,e){const n=t.length;let s=0;for(;s<n;s++){if(t[s]!==e[s]){return s}}return s}function q(t){const e=JSON.parse(t);if(!Array.isArray(e)){return null}return e}function z(t,e,n){const s=q(n[P]);if(!s){return false}const i=Y(t,s);return e[A]<i}function U(t,e,n){var s=-1,i=t.length;if(e<0){e=-e>i?0:i+e}n=n>i?i:n;if(n<0){n+=i}i=e>n?0:n-e>>>0;e>>>=0;var o=Array(i);while(++s<i){o[s]=t[s+e]}return o}function X(t,e,n){var s=t==null?0:t.length;if(!s){return[]}if(n&&typeof n!="number"&&o(t,e,n)){e=0;n=s}else{e=e==null?0:r(e);n=n===undefined?s:r(n)}return U(t,e,n)}class Z{get columns(){return l(this.source)}constructor(t,e){this.dataStore=t;this.source=e;this.unsubscribe=[];this.hasGrouping=false;this.unsubscribe.push(e.onChange("source",(t=>this.checkGrouping(t))));this.checkGrouping(e.get("source"));this.type=e.get("type")}checkGrouping(t){for(let e of t){if(W(e)){this.hasGrouping=true;return}this.hasGrouping=false}}isReadOnly(t,e){var n;const s=(n=this.columns[e])===null||n===void 0?void 0:n.readonly;if(typeof s==="function"){const n=this.rowDataModel(t,e);return s(n)}return!!s}mergeProperties(t,e,n,s,i){const o=Object.assign({},n);o.class=Object.assign(Object.assign({},typeof o.class==="string"?{[o.class]:true}:o.class),{[c]:true,[u]:this.isReadOnly(t,e)});const r=i===null||i===void 0?void 0:i(s);if(!r){return o}return K(o,r)}getRowClass(t,e){const n=f(this.dataStore,t)||{};return n[e]||""}getCellData(t,e){const n=this.rowDataModel(t,e);return b(n.model[n.prop])}getSaveData(t,e,n){const s=this.rowDataModel(t,e);if(typeof n==="undefined"){n=b(s.model[s.prop])}return{prop:s.prop,rowIndex:t,colIndex:e,val:n,model:s.model,colType:this.type,type:this.dataStore.get("type")}}getCellEditor(t,e,n){var s;const i=(s=this.columns[e])===null||s===void 0?void 0:s.editor;if(!i){return undefined}if(typeof i==="string"){return n[i]}return i}rowDataModel(t,e){const n=this.columns[e];const s=n===null||n===void 0?void 0:n.prop;const i=f(this.dataStore,t)||{};const o=i[s];const r=this.dataStore.get("type");return{prop:s,model:i,data:this.dataStore.get("source"),column:n,rowIndex:t,colIndex:e,colType:this.type,type:r,value:o}}getRangeData(t,e){var n;const s={};const i=t.oldRange.x1-t.oldRange.x+1;const o=t.oldRange.y1-t.oldRange.y+1;const r={};for(let l=t.newRange.y,c=0;l<t.newRange.y1+1;l++,c++){const u=t.oldRange.y+c%o;const a=f(this.dataStore,u)||{};for(let o=t.newRange.x,c=0;o<t.newRange.x1+1;o++,c++){if(l>=t.oldRange.y&&l<=t.oldRange.y1&&o>=t.oldRange.x&&o<=t.oldRange.x1){continue}if(!this.columns[o]){continue}const f=(n=this.columns[o])===null||n===void 0?void 0:n.prop;const h=t.oldRange.x+c%i;const d=e[h].prop;if(!this.isReadOnly(l,o)){if(!s[l]){s[l]={}}s[l][f]=a[d];if(!r[l]){r[l]={}}r[l][f]={colIndex:h,colProp:d,rowIndex:u}}}}return{changed:s,mapping:r}}getTransformedDataToApply(t,e){const n={};const s=e.length;const i=this.columns.length;const o=this.dataStore.get("items").length;let r=t.y;let l=0;for(let c=0;r<o&&c<s;r++,c++){const o=e[c%s];const u=(o===null||o===void 0?void 0:o.length)||0;let f=t.x;for(let t=0;f<i&&t<u;f++,t++){const e=this.columns[f].prop;const s=t%i;if(!this.isReadOnly(r,f)){if(!n[r]){n[r]={}}n[r][e]=o[s]}}l=Math.max(l,f-1)}const c=m(t,{y:r-1,x:l});return{changed:n,range:c}}getRangeStaticData(t,e){const n={};for(let s=t.y,i=0;s<t.y1+1;s++,i++){for(let i=t.x,o=0;i<t.x1+1;i++,o++){if(!this.columns[i]){continue}const t=this.columns[i].prop;if(!this.isReadOnly(s,i)){if(!n[s]){n[s]={}}n[s][t]=e}}}return n}getRangeTransformedToProps(t,e){var n;const s=[];const i=this.dataStore.get("type");for(let o=t.y,r=0;o<t.y1+1;o++,r++){for(let r=t.x,l=0;r<t.x1+1;r++,l++){const t=(n=this.columns[r])===null||n===void 0?void 0:n.prop;s.push({prop:t,rowIndex:o,colIndex:r,model:f(e,o),type:i,colType:this.type})}}return s}copyRangeArray(t,e){const n=[...this.columns];const s=X(n,t.x,t.x1+1).map((t=>t.prop));const i=[];const o={};for(let n=t.y;n<=t.y1;n++){const t=[];o[n]={};for(let i of s){const s=f(e,n);if(!s){continue}const r=s[i];t.push(r);o[n][i]=r}i.push(t)}return{data:i,mapping:o}}destroy(){this.unsubscribe.forEach((t=>t()))}}function _(t,e){if(typeof t==="function"){return t(e)}return!!t}function H(t={},e={}){if(typeof t==="string"){t={[t]:true}}if(typeof e==="string"){e={[e]:true}}return Object.assign(Object.assign({},t),e)}function K(t,e){if(e.className){e.class=H(e.class,e.className);delete e.className}let n=Object.assign(Object.assign({},e),t);if(e.class){n.class=H(n.class,e.class)}if(e.style){n.style=Object.assign(Object.assign({},e.style),n.style)}return n}export{G as A,M as B,Z as C,_ as D,d as E,$ as G,E as P,h as S,x as a,b,y as c,O as d,j as e,C as f,m as g,R as h,v as i,w as j,I as k,T as l,V as m,g as n,L as o,K as p,q,z as r,A as s,P as t,k as u,D as v,N as w,J as x,W as y,p as z};
|
|
5
|
+
//# sourceMappingURL=column.service-407956dd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultState","range","tempRange","tempRangeType","focus","edit","lastCell","nextFocus","SelectionStore","constructor","this","unsubscribe","store","createStore","on","key","newVal","set","onChange","propName","cb","push","clearFocus","setStore","setFocus","end","getRange","setNextFocus","setTempArea","area","type","clearTemp","setRangeArea","setRange","start","setLastCell","setEdit","val","get","x","y","dispose","forEach","f","EMPTY_INDEX","SelectionStoreConnector","dirty","stores","columnStores","rowStores","storesByType","storesXToType","storesYToType","sections","focusedStore","focused","_a","entity","cell","position","parseInt","selectedRange","registerSection","e","length","indexOf","beforeUpdate","registerColumn","isHiddenStore","registerRow","register","c","_b","destroy","Object","keys","setEditByCell","storePos","editCell","focusByCell","beforeNextFocusCell","next","getNextStore","assign","item","currentStorePointer","getCurrentStorePointer","cropCellToMax","s","nextItem","nextCell","nextStore","entries","nextItemCoord","getXStores","getYStores","nextLastCell","clearAll","selectAll","i","pos","types","t","croppedCell","cellCoordinates","coordinate","Math","min","x1","max","y1","isRangeSingleCell","a","getCellData","getCellDataParsed","model","column","cellParser","prop","getColumnType","rgCol","pin","getColumnSizes","cols","res","size","isColGrouping","colData","children","getColumns","columns","level","collection","colPinStart","colPinEnd","columnByProp","columnGrouping","maxLevel","sort","reduce","gatherGroup","regularColumn","columnType","order","beforeSetup","group","ids","k","resultItem","collectionItem","isArray","map","findColumn","found","undefined","getColumnByProp","GROUP_DEPTH","GRID_INTERNALS","PSEUDO_GROUP_ITEM","PSEUDO_GROUP_ITEM_ID","PSEUDO_GROUP_ITEM_VALUE","PSEUDO_GROUP_COLUMN","GROUP_EXPANDED","GROUP_ORIGINAL_INDEX","GROUP_EXPAND_BTN","GROUP_EXPAND_EVENT","GROUPING_ROW_TYPE","getGroupValueDefault","gatherGrouping","array","groupIds","prevExpanded","expandedAll","getGroupValue","groupedItems","Map","originalIndex","groupLevelValues","groupId","lastLevelValue","pop","currentGroupLevel","value","has","lastLevelItems","itemIndex","groupingDepth","trimmed","oldNewIndexMap","pseudoGroupTest","sourceWithGroups","flattenGroupMaps","groupedValues","parentIds","isExpanded","depth","innerGroupedValues","levelIds","mergedIds","join","isGroupExpanded","JSON","stringify","Array","pseudoGroupTestIds","_value","index","slice","pseudoGroupTestId","childrenByGroup","getGroupingName","rgRow","isGrouping","isGroupingColumn","measureEqualDepth","groupA","groupB","ln","getParsedGroup","id","parseGroup","parse","isSameGroup","currentGroup","currentModel","nextModel","nextGroup","baseSlice","result","isIterateeCall","toInteger","ColumnService","getVisibleSourceItem","source","dataStore","hasGrouping","checkGrouping","isReadOnly","r","readOnly","readonly","data","rowDataModel","mergeProperties","defaultProps","extraPropsFunc","props","class","CELL_CLASS","DISABLED_CLASS","extra","doPropMerge","getRowClass","getSourceItem","getSaveData","rowIndex","colIndex","colType","getCellEditor","_r","editors","editor","getRangeData","d","changed","copyColLength","oldRange","copyRowLength","mapping","newRange","oldRowIndex","copyRow","j","copyColIndex","copyColumnProp","colProp","getTransformedDataToApply","colLength","rowLength","maxCol","p","currentCol","getRangeStaticData","getRangeTransformedToProps","copyRangeArray","v","toCopy","isRowDragService","rowDrag","mergeClasses","class1","class2","existing","className","style"],"sources":["src/store/selection/selection.store.ts","src/services/selection.store.connector.ts","src/store/selection/selection.helpers.ts","src/utils/column.utils.ts","src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["/**\n * Selection store\n */\n\nimport { setStore, Observable } from '../../utils/store.utils';\nimport { getRange } from '@store';\nimport { SelectionStoreState, Cell, TempRange, RangeArea, Nullable } from '@type';\nimport { createStore } from '@stencil/store';\n\nfunction defaultState(): SelectionStoreState {\n return {\n range: null,\n tempRange: null,\n tempRangeType: null,\n focus: null,\n edit: null,\n lastCell: null,\n nextFocus: null,\n };\n}\n\nexport class SelectionStore {\n readonly store: Observable<SelectionStoreState>;\n private unsubscribe: { (): void }[] = [];\n constructor() {\n this.store = createStore(defaultState());\n this.store.on('set', (key, newVal) => {\n if (key === 'tempRange' && !newVal) {\n this.store.set('tempRangeType', null);\n }\n });\n }\n\n onChange<Key extends keyof SelectionStoreState>(propName: Key, cb: (newValue: SelectionStoreState[Key]) => void) {\n this.unsubscribe.push(this.store.onChange(propName, cb));\n }\n\n clearFocus() {\n setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });\n }\n\n setFocus(focus: Cell, end?: Cell) {\n if (!end) {\n setStore(this.store, { focus });\n } else {\n setStore(this.store, {\n focus,\n range: getRange(focus, end),\n edit: null,\n tempRange: null,\n });\n }\n }\n\n setNextFocus(focus: Cell) {\n setStore(this.store, { nextFocus: focus });\n }\n\n setTempArea(range: Nullable<TempRange> | null) {\n setStore(this.store, { tempRange: range?.area, tempRangeType: range?.type, edit: null });\n }\n\n clearTemp() {\n setStore(this.store, { tempRange: null });\n }\n\n /** Can be applied from selection change or from simple keyboard change clicks */\n setRangeArea(range: RangeArea | null) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Cell, end: Cell) {\n const range = getRange(start, end);\n this.setRangeArea(range);\n }\n\n setLastCell(lastCell: Cell) {\n setStore(this.store, { lastCell });\n }\n\n setEdit(val?: string | boolean) {\n const focus = this.store.get('focus');\n if (focus && typeof val === 'string') {\n setStore(this.store, {\n edit: { x: focus.x, y: focus.y, val },\n });\n return;\n }\n setStore(this.store, { edit: null });\n }\n\n dispose() {\n this.unsubscribe.forEach(f => f());\n this.store.dispose();\n }\n}\n","import { cropCellToMax, isHiddenStore, nextCell, SelectionStore } from '@store';\nimport type {\n MultiDimensionType,\n DimensionCols,\n DimensionRows,\n Cell,\n} from '@type';\n\ntype StoreByDimension = Record<number, SelectionStore>;\ntype FocusedStore = {\n entity: SelectionStore;\n cell: Cell;\n position: Cell;\n};\n\ntype StoresMapping<T> = { [xOrY: number]: Partial<T> };\n\nexport const EMPTY_INDEX = -1;\n\nexport default class SelectionStoreConnector {\n // dirty flag required to cleanup whole store in case visibility of panels changed\n private dirty = false;\n readonly stores: { [y: number]: { [x: number]: SelectionStore } } = {};\n\n readonly columnStores: StoreByDimension = {};\n readonly rowStores: { [y: number]: SelectionStore } = {};\n\n /**\n * Helpers for data conversion\n */\n readonly storesByType: Partial<Record<MultiDimensionType, number>> = {};\n readonly storesXToType: StoresMapping<DimensionCols> = {};\n readonly storesYToType: StoresMapping<DimensionRows> = {};\n\n get focusedStore(): FocusedStore | null {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const focused = this.stores[y][x]?.store.get('focus');\n if (focused) {\n return {\n entity: this.stores[y][x],\n cell: focused,\n position: {\n x: parseInt(x, 10),\n y: parseInt(y, 10),\n },\n };\n }\n }\n }\n return null;\n }\n\n get edit() {\n return this.focusedStore?.entity.store.get('edit');\n }\n\n get focused() {\n return this.focusedStore?.entity.store.get('focus');\n }\n\n get selectedRange() {\n return this.focusedStore?.entity.store.get('range');\n }\n\n private readonly sections: Element[] = [];\n\n registerSection(e?: Element) {\n if (!e) {\n this.sections.length = 0;\n // some elements removed, rebuild stores\n this.dirty = true;\n return;\n }\n if (this.sections.indexOf(e) === -1) {\n this.sections.push(e);\n }\n }\n\n // check if require to cleanup all stores\n beforeUpdate() {\n if (this.dirty) {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x].dispose();\n }\n }\n this.dirty = false;\n }\n }\n\n registerColumn(x: number, type: DimensionCols): SelectionStore {\n // if hidden just create store but no operations needed\n if (isHiddenStore(x)) {\n return new SelectionStore();\n }\n if (this.columnStores[x]) {\n return this.columnStores[x];\n }\n this.columnStores[x] = new SelectionStore();\n // build cross-linking type to position\n this.storesByType[type] = x;\n this.storesXToType[x] = type;\n return this.columnStores[x];\n }\n\n registerRow(y: number, type: DimensionRows): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (this.rowStores[y]) {\n return this.rowStores[y];\n }\n this.rowStores[y] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = y;\n this.storesYToType[y] = type;\n return this.rowStores[y];\n }\n\n /**\n * Cross store proxy, based on multiple dimensions\n */\n register({ x, y }: Cell): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(x) || isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (!this.stores[y]) {\n this.stores[y] = {};\n }\n if (this.stores[y][x]) {\n // Store already registered. Do not register twice\n return this.stores[y][x];\n }\n this.stores[y][x] = new SelectionStore();\n // proxy update, column store trigger only range area\n this.stores[y][x]?.onChange('range', c => {\n this.columnStores[x].setRangeArea(c);\n this.rowStores[y].setRangeArea(c);\n });\n // clean up on remove\n this.stores[y][x]?.store.on('dispose', () => this.destroy(x, y));\n return this.stores[y][x];\n }\n\n private destroy(x: number, y: number) {\n this.columnStores[x]?.dispose();\n this.rowStores[y]?.dispose();\n\n delete this.rowStores[y];\n delete this.columnStores[x];\n // clear x cross-link\n if (this.storesXToType[x]) {\n const type = this.storesXToType[x];\n delete this.storesXToType[x];\n delete this.storesByType[type];\n }\n // clear y cross-link\n if (this.storesYToType[y]) {\n const type = this.storesYToType[y];\n delete this.storesYToType[y];\n delete this.storesByType[type];\n }\n if (this.stores[y]) {\n delete this.stores[y][x];\n }\n // clear empty rows\n if (!Object.keys(this.stores[y] || {}).length) {\n delete this.stores[y];\n }\n }\n\n setEditByCell<T extends Cell>(storePos: T, editCell: T) {\n this.focusByCell(storePos, editCell, editCell);\n this.setEdit('');\n }\n\n /**\n * Sets the next focus cell before the current one.\n * \n * @param focus - The cell to set as the next focus.\n */\n beforeNextFocusCell(focus: Cell) {\n // If there is no focused store, return early.\n if (!this.focusedStore) {\n return;\n }\n\n // Get the next store based on the current focus and the last cell.\n const lastCell = this.focusedStore.entity.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, this.focusedStore.position, lastCell);\n\n // Set the next focus cell in the store.\n next?.store?.setNextFocus({ ...focus, ...next.item });\n }\n\n focusByCell<T extends Cell>(storePos: T, start: T, end: T) {\n const store = this.stores[storePos.y][storePos.x];\n this.focus(store, { focus: start, end });\n }\n\n focus(store: SelectionStore, { focus, end }: { focus: Cell; end: Cell }) {\n const currentStorePointer = this.getCurrentStorePointer(store);\n if (!currentStorePointer) {\n return null;\n }\n\n // check for the focus in nearby store/viewport\n const lastCell = store.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, currentStorePointer, lastCell);\n\n // if next store present - update\n if (next?.store) {\n const item = { ...focus, ...next.item };\n this.focus(next.store, { focus: item, end: item });\n return null;\n }\n\n if (lastCell) {\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(end, lastCell); \n }\n store.setFocus(focus, end);\n return focus;\n }\n\n /**\n * Retrieves the current store pointer based on the active store.\n * Clears focus from all stores except the active one.\n */\n getCurrentStorePointer(store: SelectionStore) {\n let currentStorePointer: Cell | undefined;\n\n // Iterate through all stores\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const s = this.stores[y][x];\n\n // Clear focus from stores other than the active one\n if (s !== store) {\n s.clearFocus();\n } else {\n // Update the current store pointer with the active store coordinates\n currentStorePointer = { \n x: parseInt(x, 10), \n y: parseInt(y, 10) \n };\n }\n }\n }\n\n return currentStorePointer;\n }\n\n /**\n * Retrieves the next store based on the focus cell and current store pointer.\n * If the next store exists, returns an object with the next store and the item in the new store.\n * If the next store does not exist, returns null.\n */\n getNextStore(\n focus: Cell,\n currentStorePointer: Cell,\n lastCell: Cell,\n ) {\n // item in new store\n const nextItem: Partial<Cell> | null = nextCell(focus, lastCell);\n\n let nextStore: SelectionStore | undefined;\n if (nextItem) {\n Object.entries(nextItem).forEach(([type, nextItemCoord]: [keyof Cell, number]) => {\n let stores;\n switch (type) {\n case 'x':\n // Get the X stores for the current Y coordinate of the current store pointer\n stores = this.getXStores(currentStorePointer.y);\n break;\n case 'y':\n // Get the Y stores for the current X coordinate of the current store pointer\n stores = this.getYStores(currentStorePointer.x);\n break;\n }\n\n // Get the next store based on the item in the new store\n if (nextItemCoord >= 0) {\n nextStore = stores[++currentStorePointer[type]];\n } else {\n nextStore = stores[--currentStorePointer[type]];\n const nextLastCell = nextStore?.store.get('lastCell');\n if (nextLastCell) {\n nextItem[type] = nextLastCell[type] + nextItemCoord;\n }\n }\n });\n }\n return {\n store: nextStore,\n item: nextItem,\n };\n }\n\n clearAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x]?.clearFocus();\n }\n }\n }\n\n setEdit(val?: string | boolean) {\n if (!this.focusedStore) {\n return;\n }\n this.focusedStore.entity.setEdit(val);\n }\n\n /**\n * Select all cells across all stores\n */\n selectAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const store = this.stores[y][x];\n if (!store) {\n continue;\n }\n const lastCell = store.store.get('lastCell');\n if (lastCell) {\n store.setRange(\n { x: 0, y: 0 },\n { x: lastCell.x - 1, y: lastCell.y - 1 },\n );\n }\n }\n }\n }\n\n private getXStores(y: number) {\n return this.stores[y];\n }\n\n private getYStores(x: number) {\n const stores: { [p: number]: SelectionStore } = {};\n for (let i in this.stores) {\n stores[i] = this.stores[i][x];\n }\n return stores;\n }\n}\n","import { EMPTY_INDEX } from '../../services/selection.store.connector';\nimport { Cell, RangeArea } from '@type';\n\nexport function isHiddenStore(pos: number) {\n return pos === EMPTY_INDEX;\n}\n\nexport function nextCell(cell: Cell, lastCell: Cell): Partial<Cell> | null {\n const nextItem: Partial<Cell> = {};\n let types: (keyof Cell)[] = ['x', 'y'];\n\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n nextItem[t] = cell[t];\n return nextItem;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n nextItem[t] = cell[t] - lastCell[t];\n return nextItem;\n }\n }\n return null;\n}\n\nexport function cropCellToMax(cell: Cell, lastCell: Cell): Cell {\n const croppedCell: Cell = { ...cell };\n const cellCoordinates: (keyof Cell)[] = ['x', 'y'];\n\n for (const coordinate of cellCoordinates) {\n if (cell[coordinate] < 0) {\n croppedCell[coordinate] = 0;\n } else if (cell[coordinate] >= lastCell[coordinate]) {\n croppedCell[coordinate] = lastCell[coordinate] - 1;\n }\n }\n\n return croppedCell;\n}\n\nexport function getRange(start?: Cell | null, end?: Cell | null): RangeArea | null {\n return start && end\n ? {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n x1: Math.max(start.x, end.x),\n y1: Math.max(start.y, end.y),\n }\n : null;\n}\n\nexport function isRangeSingleCell(a: RangeArea): boolean {\n return a.x === a.x1 && a.y === a.y1;\n}\n","import isArray from 'lodash/isArray';\nimport reduce from 'lodash/reduce';\n\nimport {\n ColumnData,\n ColumnGrouping,\n ColumnProp,\n ColumnRegular,\n ColumnTypes,\n DataType,\n DimensionCols,\n ViewSettingSizeProp,\n} from '@type';\nimport { Group as StoreGroup } from '@store';\n\nexport type ColumnItems = Record<DimensionCols, ColumnRegular[]>;\nexport interface ColumnGroup extends StoreGroup {\n level: number;\n}\nexport type ColumnGroupingCollection = Record<DimensionCols, ColumnGroup[]>;\n\nexport function getCellData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\n\nexport function getCellDataParsed(model: DataType, column: ColumnRegular) {\n const val = column.cellParser ? column.cellParser(model, column) : model[column.prop];\n return getCellData(val);\n}\n\n/**\n * Column collection definition.\n * Used to access indexed data for columns.\n * Can be accessed via different events.\n */\nexport type ColumnCollection = {\n /**\n * Columns as they are in stores\n */\n columns: Record<DimensionCols, ColumnRegular[]>;\n /**\n * Columns indexed by prop for quick access, it's possible to have multiple columns with same prop but not recommended\n */\n columnByProp: Record<ColumnProp, ColumnRegular[]>;\n /**\n * Grouped columns\n */\n columnGrouping: ColumnGroupingCollection;\n /**\n * Max level of grouping\n */\n maxLevel: number;\n /**\n * Sorting\n */\n sort: Record<ColumnProp, ColumnRegular>;\n};\n\nexport function getColumnType(rgCol: ColumnRegular): DimensionCols {\n if (rgCol.pin) {\n return rgCol.pin;\n }\n return 'rgCol';\n}\n\nexport function getColumnSizes(cols: ColumnRegular[]): ViewSettingSizeProp {\n const res: ViewSettingSizeProp = {};\n for (const [i, c] of cols.entries()) {\n if (c.size) {\n res[i] = c.size;\n }\n }\n return res;\n}\n\n\n/**\n * Check if column is grouping column\n */\nexport function isColGrouping(\n colData: ColumnGrouping | ColumnRegular,\n): colData is ColumnGrouping {\n return !!(colData as ColumnGrouping).children;\n}\n\n/**\n * This function is used to create a collection of columns.\n */\nexport function getColumns(\n columns: ColumnData,\n level = 0,\n types?: ColumnTypes,\n): ColumnCollection {\n const collection: ColumnCollection = {\n // columns as they are in stores per type\n columns: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // columns indexed by prop for quick access\n columnByProp: {},\n // column grouping\n columnGrouping: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // max depth level for column grouping\n maxLevel: level,\n // sorting\n sort: {},\n };\n\n return reduce(\n columns,\n (res: ColumnCollection, colData: ColumnGrouping | ColumnRegular) => {\n // Grouped column\n if (isColGrouping(colData)) {\n return gatherGroup(\n res,\n colData,\n getColumns(colData.children, level + 1, types),\n level,\n );\n }\n // Regular column\n const regularColumn = {\n ...(colData.columnType && types && types[colData.columnType]),\n ...colData,\n };\n // Regular column, no Pin\n if (!regularColumn.pin) {\n res.columns.rgCol.push(regularColumn);\n // Pin\n } else {\n res.columns[regularColumn.pin].push(regularColumn);\n }\n if (regularColumn.order) {\n res.sort[regularColumn.prop] = regularColumn;\n }\n // it's possible that some columns have same prop, but better to avoid it\n if (!res.columnByProp[regularColumn.prop]) {\n res.columnByProp[regularColumn.prop] = [];\n }\n res.columnByProp[regularColumn.prop].push(regularColumn);\n\n // trigger setup hook if present\n regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);\n return res;\n },\n collection,\n );\n}\n\nexport function gatherGroup<T extends ColumnCollection>(\n res: T,\n colData: ColumnGrouping,\n collection: T,\n level = 0,\n): T {\n // group template\n const group: ColumnGroup = {\n ...colData,\n level,\n ids: [],\n };\n\n // check columns for update\n for (let k in collection.columns) {\n const key = k as keyof ColumnCollection['columns'];\n const resultItem = res.columns[key];\n const collectionItem = collection.columns[key];\n\n // if column data\n if (isArray(resultItem) && isArray(collectionItem)) {\n // fill columns\n resultItem.push(...collectionItem);\n\n // fill grouping\n if (collectionItem.length) {\n res.columnGrouping[key].push({\n ...group,\n ids: collectionItem.map(item => item.prop),\n });\n }\n }\n }\n // merge column groupings\n for (let k in collection.columnGrouping) {\n const key = k as DimensionCols;\n const collectionItem = collection.columnGrouping[key];\n res.columnGrouping[key].push(...collectionItem);\n }\n res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);\n res.sort = { ...res.sort, ...collection.sort };\n return res;\n}\n\nfunction findColumn(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n for (const c of columns) {\n if (isColGrouping(c)) {\n const found = findColumn(c.children, prop);\n if (found) {\n return found;\n }\n } else if (c.prop === prop) {\n return c;\n }\n }\n return undefined;\n}\n\nexport function getColumnByProp(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n return findColumn(columns, prop);\n}\n","import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupexpandclick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '@type';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n {\n prevExpanded,\n expandedAll,\n getGroupValue = getGroupValueDefault,\n }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId =>\n getGroupValue(item, groupId),\n );\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(lastLevelValue) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\ntype GroupingItem = {\n [PSEUDO_GROUP_ITEM]: string;\n [GROUP_EXPANDED]: boolean;\n [PSEUDO_GROUP_ITEM_VALUE]: string;\n [GROUP_DEPTH]: number;\n};\n\nexport function isGrouping(rgRow?: DataType): rgRow is GroupingItem {\n return typeof rgRow?.[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string) {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safeguard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nexport default slice;\n","import { DSourceState, getSourceItem, getVisibleSourceItem } from '@store';\nimport {\n getCellData,\n Observable,\n CELL_CLASS,\n DISABLED_CLASS,\n} from '../../utils';\nimport { getRange } from '@store';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport {\n DimensionCols,\n DimensionRows,\n RowDrag,\n ColumnRegular,\n DataType,\n CellProps,\n ColumnDataSchemaModel,\n ColumnProp,\n DataLookup,\n DataFormat,\n ChangedRange,\n OldNewRangeMapping,\n Cell,\n RangeArea,\n BeforeSaveDataDetails,\n EditorCtr,\n Editors,\n} from '@type';\nimport { JSXBase } from '@stencil/core/internal';\n\nexport type ColumnStores = {\n [T in DimensionCols]: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n};\nexport type RowStores = {\n [T in DimensionRows]: Observable<DSourceState<DataType, DimensionRows>>;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(\n private dataStore: Observable<DSourceState<DataType, DimensionRows>>,\n private source: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.unsubscribe.push(\n source.onChange('source', s => this.checkGrouping(s)),\n );\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number) {\n const readOnly = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return !!readOnly;\n }\n\n mergeProperties(\n r: number,\n c: number,\n defaultProps: CellProps,\n model: ColumnDataSchemaModel,\n extraPropsFunc: ColumnRegular['cellProperties'],\n ): CellProps {\n const props: CellProps = {\n ...defaultProps,\n };\n props.class = {\n ...(typeof props.class === 'string'\n ? { [props.class]: true }\n : props.class),\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n\n const extra = extraPropsFunc?.(model);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return getCellData(data.model[data.prop as number]);\n }\n\n getSaveData(\n rowIndex: number,\n colIndex: number,\n val?: string,\n ): BeforeSaveDataDetails {\n const data = this.rowDataModel(rowIndex, colIndex);\n if (typeof val === 'undefined') {\n val = getCellData(data.model[data.prop as number]);\n }\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(\n _r: number,\n c: number,\n editors: Editors,\n ): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const value = model[prop];\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value,\n };\n }\n\n getRangeData(\n d: ChangedRange,\n columns: ColumnRegular[],\n ): {\n changed: DataLookup;\n mapping: OldNewRangeMapping;\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (\n let rowIndex = d.newRange.y, i = 0;\n rowIndex < d.newRange.y1 + 1;\n rowIndex++, i++\n ) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (\n let colIndex = d.newRange.x, j = 0;\n colIndex < d.newRange.x1 + 1;\n colIndex++, j++\n ) {\n // check if old range area\n if (\n rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1\n ) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea | null;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (\n let i = 0;\n rowIndex < rowLength && i < copyRowLength;\n rowIndex++, i++\n ) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (\n let j = 0;\n colIndex < colLength && j < copyColLength;\n colIndex++, j++\n ) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp;\n rowIndex: number;\n colIndex: number;\n model?: DataType;\n colType: DimensionCols;\n type: DimensionRows;\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nexport function isRowDragService(\n rowDrag: RowDrag,\n model: ColumnDataSchemaModel,\n): boolean {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\n\nfunction mergeClasses(\n class1: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n class2: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n) {\n if (typeof class1 === 'string') {\n class1 = { [class1]: true };\n }\n if (typeof class2 === 'string') {\n class2 = { [class2]: true };\n }\n return { ...class1, ...class2 };\n}\n\nexport function doPropMerge(existing: CellProps, extra: CellProps) {\n // if className is provided - remove it from props it messing with stencil\n if (extra.className) {\n extra.class = mergeClasses(extra.class, extra.className);\n delete extra.className;\n }\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n props.class = mergeClasses(props.class, extra.class);\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
var n=typeof global=="object"&&global&&global.Object===Object&&global;const e=n;var r=typeof self=="object"&&self&&self.Object===Object&&self;var t=e||r||Function("return this")();const u=t;var i=u.Symbol;const f=i;var a=Object.prototype;var o=a.hasOwnProperty;var c=a.toString;var v=f?f.toStringTag:undefined;function d(n){var e=o.call(n,v),r=n[v];try{n[v]=undefined;var t=true}catch(n){}var u=c.call(n);if(t){if(e){n[v]=r}else{delete n[v]}}return u}var s=Object.prototype;var l=s.toString;function b(n){return l.call(n)}var p="[object Null]",y="[object Undefined]";var j=f?f.toStringTag:undefined;function m(n){if(n==null){return n===undefined?y:p}return j&&j in Object(n)?d(n):b(n)}function h(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function T(n){return n!=null&&typeof n=="object"}var g="[object Symbol]";function O(n){return typeof n=="symbol"||T(n)&&m(n)==g}var x=/\s/;function w(n){var e=n.length;while(e--&&x.test(n.charAt(e))){}return e}var $=/^\s+/;function E(n){return n?n.slice(0,w(n)+1).replace($,""):n}var M=0/0;var S=/^[-+]0x[0-9a-f]+$/i;var F=/^0b[01]+$/i;var I=/^0o[0-7]+$/i;var N=parseInt;function U(n){if(typeof n=="number"){return n}if(O(n)){return M}if(h(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=h(e)?e+"":e}if(typeof n!="string"){return n===0?n:+n}n=E(n);var r=F.test(n);return r||I.test(n)?N(n.slice(2),r?2:8):S.test(n)?M:+n}var W=function(){return u.Date.now()};const k=W;var q="Expected a function";var z=Math.max,A=Math.min;function B(n,e,r){var t,u,i,f,a,o,c=0,v=false,d=false,s=true;if(typeof n!="function"){throw new TypeError(q)}e=U(e)||0;if(h(r)){v=!!r.leading;d="maxWait"in r;i=d?z(U(r.maxWait)||0,e):i;s="trailing"in r?!!r.trailing:s}function l(e){var r=t,i=u;t=u=undefined;c=e;f=n.apply(i,r);return f}function b(n){c=n;a=setTimeout(j,e);return v?l(n):f}function p(n){var r=n-o,t=n-c,u=e-r;return d?A(u,i-t):u}function y(n){var r=n-o,t=n-c;return o===undefined||r>=e||r<0||d&&t>=i}function j(){var n=k();if(y(n)){return m(n)}a=setTimeout(j,p(n))}function m(n){a=undefined;if(s&&t){return l(n)}t=u=undefined;return f}function T(){if(a!==undefined){clearTimeout(a)}c=0;t=o=u=a=undefined}function g(){return a===undefined?f:m(k())}function O(){var n=k(),r=y(n);t=arguments;u=this;o=n;if(r){if(a===undefined){return b(o)}if(d){clearTimeout(a);a=setTimeout(j,e);return l(o)}}if(a===undefined){a=setTimeout(j,e)}return f}O.cancel=T;O.flush=g;return O}export{f as S,T as a,m as b,O as c,B as d,e as f,h as i,u as r,U as t};
|
|
5
|
+
//# sourceMappingURL=debounce-7b511afc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["freeGlobal","global","Object","freeGlobal$1","freeSelf","self","root","Function","root$1","Symbol","Symbol$1","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","objectToString","nullTag","undefinedTag","baseGetTag","isObject","type","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","string","index","length","test","charAt","reTrimStart","baseTrim","slice","replace","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber","other","valueOf","isBinary","now","Date","now$1","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this"],"sources":["node_modules/lodash/_freeGlobal.js","node_modules/lodash/_root.js","node_modules/lodash/_Symbol.js","node_modules/lodash/_getRawTag.js","node_modules/lodash/_objectToString.js","node_modules/lodash/_baseGetTag.js","node_modules/lodash/isObject.js","node_modules/lodash/isObjectLike.js","node_modules/lodash/isSymbol.js","node_modules/lodash/_trimmedEndIndex.js","node_modules/lodash/_baseTrim.js","node_modules/lodash/toNumber.js","node_modules/lodash/now.js","node_modules/lodash/debounce.js"],"sourcesContent":["/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{L as o}from"./index-
|
|
5
|
-
//# sourceMappingURL=edit.utils-
|
|
4
|
+
import{L as o}from"./index-b6586f9b.js";function n(n){return!!(n===null||n===void 0?void 0:n.closest(`.${o}`))}function t(o){return typeof o==="function"&&typeof o.prototype==="object"}export{t as a,n as i};
|
|
5
|
+
//# sourceMappingURL=edit.utils-1eeabeab.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t}from"./index-
|
|
5
|
-
//# sourceMappingURL=filter.button-
|
|
4
|
+
import{h as t}from"./index-a61f225b.js";const o="rv-filter";const s="active";const n="hasFilter";const r="and-or-button";const e="trash-button";const l=({column:r})=>t("span",null,t("button",{class:{[o]:true,[s]:r&&!!r[n]}},t("svg",{class:"filter-img",viewBox:"0 0 64 64"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("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"})))));const i=()=>t("div",{class:{[e]:true}},t("svg",{class:"trash-img",viewBox:"0 0 24 24"},t("path",{fill:"currentColor",d:"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z"})));const a=({text:o})=>t("button",{class:{[r]:true,"light revo-button":true}},o);function u(t){if(t.classList.contains(o)){return true}return t===null||t===void 0?void 0:t.closest(`.${o}`)}export{a as A,n as F,i as T,l as a,u as i};
|
|
5
|
+
//# sourceMappingURL=filter.button-37373672.js.map
|
package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t}from"./index-
|
|
5
|
-
//# sourceMappingURL=header-cell-renderer-
|
|
4
|
+
import{h as t}from"./index-a61f225b.js";import{p as i}from"./column.service-407956dd.js";function s(t,i,s){const e=new CustomEvent(i,{detail:s,cancelable:true,bubbles:true});t===null||t===void 0?void 0:t.dispatchEvent(e);return e}function e(t,i,e){t.preventDefault();return s(t.target,i,e)}var h;(function(t){t["start"]="resize:start";t["move"]="resize:move";t["end"]="resize:end"})(h||(h={}));const o={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};const n={l:1,t:2,w:4,h:8};const l=t=>Object.assign(Object.assign({},t),{fitParent:t.fitParent||false,active:t.active||[],disableAttributes:t.disableAttributes||[],minWidth:t.minWidth||0,minHeight:t.minHeight||0});class r{constructor(t,i){var s,e;this.initialProps=t;this.$event=i;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=l(t);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=(s=this.props.maxWidth)!==null&&s!==void 0?s:0;this.maxH=(e=this.props.maxHeight)!==null&&e!==void 0?e:0;this.parent={width:0,height:0};this.resizeState=0}set(t){this.$el=t;this.props.disableAttributes.forEach((t=>{switch(t){case"l":this.disableCalcMap&=~n.l;break;case"t":this.disableCalcMap&=~n.t;break;case"w":this.disableCalcMap&=~n.w;break;case"h":this.disableCalcMap&=~n.h}}))}emitEvent(t,i){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:t,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},i))}static isTouchEvent(t){var i;const s=t;return((i=s.touches)===null||i===void 0?void 0:i.length)>=0}handleMove(t){var i;if(!this.resizeState){return}let s,e;if(r.isTouchEvent(t)){s=t.touches[0].clientY;e=t.touches[0].clientX}else{s=t.clientY;e=t.clientX}let l=this.resizeState&o["resizable-r"].bit||this.resizeState&o["resizable-l"].bit;let c=this.resizeState&o["resizable-t"].bit||this.resizeState&o["resizable-b"].bit;if(c&&this.disableCalcMap&n.h){let t=s-this.mouseY;let i=this.changeY+t;const e=this.height+i;if(e<this.minH){i=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){i=this.maxH-this.height}this.changeY=i;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(l&&this.disableCalcMap&n.w){const t=(i=this.activeResizer)===null||i===void 0?void 0:i.classList.contains("resizable-l");let s=e-this.mouseX;let h=this.changeX+s;const o=this.width+h*(t?-1:1);if(o<this.minW){h=-(this.width-this.minW)}if(this.maxW&&o>this.maxW){h=this.maxW-this.width}this.changeX=h;this.mouseX=e;if(this.activeResizer){if(!t){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(h.move)}handleDown(t){if(t.defaultPrevented){return}t.preventDefault();this.dropInitial();for(let i in o){const s=t.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(i))){document.body.style.cursor=o[i].cursor;if(r.isTouchEvent(t)){this.setInitials(t.touches[0],s)}else{t.preventDefault&&t.preventDefault();this.setInitials(t,s)}this.resizeState=o[i].bit;const e=h.start;this.emitEvent(e);break}}this.bindMove()}handleUp(t){t.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const t=h.end;this.emitEvent(t)}this.dropInitial();this.unbindMove()}setInitials({clientX:t,clientY:i},s){var e,h,o,l;const r=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&n.w){this.mouseX=t;this.width=this.$el.clientWidth;this.parent.width=(h=(e=this.$el.parentElement)===null||e===void 0?void 0:e.clientWidth)!==null&&h!==void 0?h:0;const i=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight);this.minW=Math.max(i,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&n.h){this.mouseY=i;this.height=this.$el.clientHeight;this.parent.height=(l=(o=this.$el.parentElement)===null||o===void 0?void 0:o.clientHeight)!==null&&l!==void 0?l:0;const t=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom);this.minH=Math.max(t,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=undefined}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.addEventListener("touchend",this.mouseUpFunc,true);document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.removeEventListener("touchend",this.mouseUpFunc,true);document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const c=(i,s)=>{const e=[];const o=i.canResize&&new r(i,(t=>{var s;if(t.eventName===h.end){(s=i.onResize)===null||s===void 0?void 0:s.call(i,t)}}))||null;if(i.active){if(i.canResize){for(let s in i.active){e.push(t("div",{onClick:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDblClick)===null||s===void 0?void 0:s.call(i,t)},onMouseDown:t=>o===null||o===void 0?void 0:o.handleDown(t),onTouchStart:t=>o===null||o===void 0?void 0:o.handleDown(t),class:`resizable resizable-${i.active[s]}`}))}}else{for(let s in i.active){e.push(t("div",{onClick:t=>t.preventDefault(),onTouchStart:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDblClick)===null||s===void 0?void 0:s.call(i,t)},class:`no-resize resizable resizable-${i.active[s]}`}))}}}return t("div",Object.assign({},i,{ref:t=>t&&(o===null||o===void 0?void 0:o.set(t))}),s,e)};const u="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let l=(e===null||e===void 0?void 0:e.name)||"";let r=h;if(e===null||e===void 0?void 0:e.columnTemplate){l=e.columnTemplate(t,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const t=e.columnProperties(e);if(t){r=i(h,t)}}const a=Object.assign(Object.assign({},r),{onMouseDown(t){s(t.currentTarget,u,{data:e,event:t})}});return t(c,Object.assign({},a),t("div",{class:"header-content"},l),n)};export{a as H,u as O,e as a,s as d};
|
|
5
|
+
//# sourceMappingURL=header-cell-renderer-da468bd2.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
const e="revo-grid";const t={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};var l=Object.defineProperty;var r=(e,t)=>{for(var r in t)l(e,r,{get:t[r],enumerable:true})};var n=new WeakMap;var s=e=>n.get(e);var i=(e,t)=>n.set(t.t=e,t);var o=(e,t)=>{const l={l:0,$hostElement$:e,i:t,o:new Map};{l.u=new Promise((e=>l.v=e))}{l.h=new Promise((e=>l.p=e));e["s-p"]=[];e["s-rc"]=[]}return n.set(e,l)};var a=(e,t)=>t in e;var f=(e,t)=>(0,console.error)(e,t);var c=new Map;var u=(e,t,l)=>{const r=e.m.replace(/-/g,"_");const n=e.$;if(!n){return void 0}const s=c.get(n);if(s){return s[r]}
|
|
5
|
+
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${n}.entry.js${""}`).then((e=>{{c.set(n,e)}return e[r]}),f)};var v=new Map;var d="r";var h="o";var p="s";var m="t";var $="s-id";var y="sty-id";var w="c-id";var b="slot-fb{display:contents}slot-fb[hidden]{display:none}";var g="http://www.w3.org/1999/xlink";var S=typeof window!=="undefined"?window:{};var k=S.document||{head:{}};var C={l:0,S:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,l,r)=>e.addEventListener(t,l,r),rel:(e,t,l,r)=>e.removeEventListener(t,l,r),ce:(e,t)=>new CustomEvent(e,t)};var x=t.shadowDom;var j=(()=>{let e=false;try{k.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=true}}))}catch(e){}return e})();var O=e=>Promise.resolve(e);var R=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var T=false;var D=[];var L=[];var E=(e,t)=>l=>{e.push(l);if(!T){T=true;if(t&&C.l&4){A(F)}else{C.raf(F)}}};var M=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){f(e)}}e.length=0};var F=()=>{M(D);{M(L);if(T=D.length>0){C.raf(F)}}};var A=e=>O().then(e);var P=E(L,true);var N={};var U="http://www.w3.org/2000/svg";var W="http://www.w3.org/1999/xhtml";var I=e=>e!=null;var H=e=>{e=typeof e;return e==="object"||e==="function"};function z(e){var t,l,r;return(r=(l=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:l.getAttribute("content"))!=null?r:void 0}var B={};r(B,{err:()=>q,map:()=>G,ok:()=>Q,unwrap:()=>K,unwrapErr:()=>V});var Q=e=>({isOk:true,isErr:false,value:e});var q=e=>({isOk:false,isErr:true,value:e});function G(e,t){if(e.isOk){const l=t(e.value);if(l instanceof Promise){return l.then((e=>Q(e)))}else{return Q(l)}}if(e.isErr){const t=e.value;return q(t)}throw"should never get here"}var K=e=>{if(e.isOk){return e.value}else{throw e.value}};var V=e=>{if(e.isErr){return e.value}else{throw e.value}};var X=(e,t="")=>{{return()=>{}}};var _=(e,t)=>{{return()=>{}}};var J=(e,t,...l)=>{let r=null;let n=null;let s=null;let i=false;let o=false;const a=[];const f=t=>{for(let l=0;l<t.length;l++){r=t[l];if(Array.isArray(r)){f(r)}else if(r!=null&&typeof r!=="boolean"){if(i=typeof e!=="function"&&!H(r)){r=String(r)}if(i&&o){a[a.length-1].k+=r}else{a.push(i?Y(null,r):r)}o=i}}};f(l);if(t){if(t.key){n=t.key}if(t.name){s=t.name}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,a,te)}const c=Y(e,null);c.C=t;if(a.length>0){c.j=a}{c.O=n}{c.R=s}return c};var Y=(e,t)=>{const l={l:0,T:e,k:t,D:null,j:null};{l.C=null}{l.O=null}{l.R=null}return l};var Z={};var ee=e=>e&&e.T===Z;var te={forEach:(e,t)=>e.map(le).forEach(t),map:(e,t)=>e.map(le).map(t).map(re)};var le=e=>({vattrs:e.C,vchildren:e.j,vkey:e.O,vname:e.R,vtag:e.T,vtext:e.k});var re=e=>{if(typeof e.vtag==="function"){const t={...e.vattrs};if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return J(e.vtag,t,...e.vchildren||[])}const t=Y(e.vtag,e.vtext);t.C=e.vattrs;t.j=e.vchildren;t.O=e.vkey;t.R=e.vname;return t};var ne=(e,t,l,r)=>{const n=X("hydrateClient",t);const s=e.shadowRoot;const i=[];const o=[];const a=null;const f=r.L=Y(t,null);if(!C.M){ie(k.body,C.M=new Map)}e[$]=l;e.removeAttribute($);se(f,i,o,a,e,e,l);i.map((e=>{const l=e.F+"."+e.A;const r=C.M.get(l);const n=e.D;if(r&&x&&r["s-en"]===""){r.parentNode.insertBefore(n,r.nextSibling)}if(!s){n["s-hn"]=t;if(r){n["s-ol"]=r;n["s-ol"]["s-nr"]=n}}C.M.delete(l)}));n()};var se=(e,t,l,r,n,s,i)=>{let o;let a;let f;let c;if(s.nodeType===1){o=s.getAttribute(w);if(o){a=o.split(".");if(a[0]===i||a[0]==="0"){f={l:0,F:a[0],A:a[1],P:a[2],N:a[3],T:s.tagName.toLowerCase(),D:s,C:null,j:null,O:null,R:null,k:null};t.push(f);s.removeAttribute(w);if(!e.j){e.j=[]}e.j[f.N]=f;e=f;if(r&&f.P==="0"){r[f.N]=f.D}}}if(s.shadowRoot){for(c=s.shadowRoot.childNodes.length-1;c>=0;c--){se(e,t,l,r,n,s.shadowRoot.childNodes[c],i)}}for(c=s.childNodes.length-1;c>=0;c--){se(e,t,l,r,n,s.childNodes[c],i)}}else if(s.nodeType===8){a=s.nodeValue.split(".");if(a[1]===i||a[1]==="0"){o=a[0];f={l:0,F:a[1],A:a[2],P:a[3],N:a[4],D:s,C:null,j:null,O:null,R:null,T:null,k:null};if(o===m){f.D=s.nextSibling;if(f.D&&f.D.nodeType===3){f.k=f.D.textContent;t.push(f);s.remove();if(!e.j){e.j=[]}e.j[f.N]=f;if(r&&f.P==="0"){r[f.N]=f.D}}}else if(f.F===i){if(o===p){f.T="slot";if(a[5]){s["s-sn"]=f.R=a[5]}else{s["s-sn"]=""}s["s-sr"]=true;l.push(f);if(!e.j){e.j=[]}e.j[f.N]=f}else if(o===d){{n["s-cr"]=s;s["s-cn"]=true}}}}}else if(e&&e.T==="style"){const t=Y(null,s.textContent);t.D=s;t.N="0";e.j=[t]}};var ie=(e,t)=>{if(e.nodeType===1){let l=0;if(e.shadowRoot){for(;l<e.shadowRoot.childNodes.length;l++){ie(e.shadowRoot.childNodes[l],t)}}for(l=0;l<e.childNodes.length;l++){ie(e.childNodes[l],t)}}else if(e.nodeType===8){const l=e.nodeValue.split(".");if(l[0]===h){t.set(l[1]+"."+l[2],e);e.nodeValue="";e["s-en"]=l[3]}}};var oe=(e,t)=>{if(e!=null&&!H(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var ae=e=>s(e).$hostElement$;var fe=(e,t,l)=>{const r=ae(e);return{emit:e=>ce(r,t,{bubbles:!!(l&4),composed:!!(l&2),cancelable:!!(l&1),detail:e})}};var ce=(e,t,l)=>{const r=C.ce(t,l);e.dispatchEvent(r);return r};var ue=new WeakMap;var ve=(e,t,l)=>{let r=v.get(e);if(R&&l){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}v.set(e,r)};var de=(e,t,l)=>{var r;const n=pe(t);const s=v.get(n);e=e.nodeType===11?e:k;if(s){if(typeof s==="string"){e=e.head||e;let l=ue.get(e);let i;if(!l){ue.set(e,l=new Set)}if(!l.has(n)){if(e.host&&(i=e.querySelector(`[${y}="${n}"]`))){i.innerHTML=s}else{i=k.createElement("style");i.innerHTML=s;const l=(r=C.U)!=null?r:z(k);if(l!=null){i.setAttribute("nonce",l)}const n=!(t.l&1)||t.l&1&&e.nodeName!=="HEAD";if(n){e.insertBefore(i,e.querySelector("link"))}}if(t.l&4){i.innerHTML+=b}if(l){l.add(n)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]}}return n};var he=e=>{const t=e.i;const l=e.$hostElement$;const r=X("attachStyles",t.m);de(l.getRootNode(),t);r()};var pe=(e,t)=>"sc-"+e.m;var me=(e,t,l,r,n,s)=>{if(l!==r){let i=a(e,t);let o=t.toLowerCase();if(t==="class"){const t=e.classList;const n=ye(l);const s=ye(r);t.remove(...n.filter((e=>e&&!s.includes(e))));t.add(...s.filter((e=>e&&!n.includes(e))))}else if(t==="style"){{for(const t in l){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!l||r[t]!==l[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(t==="ref"){if(r){r(e)}}else if(!i&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(S,o)){t=o.slice(2)}else{t=o[2]+t.slice(3)}if(l||r){const n=t.endsWith(we);t=t.replace(be,"");if(l){C.rel(e,t,l,n)}if(r){C.ael(e,t,r,n)}}}else{const a=H(r);if((i||a&&r!==null)&&!n){try{if(!e.tagName.includes("-")){const n=r==null?"":r;if(t==="list"){i=false}else if(l==null||e[t]!=n){e[t]=n}}else{e[t]=r}}catch(e){}}let f=false;{if(o!==(o=o.replace(/^xlink\:?/,""))){t=o;f=true}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){if(f){e.removeAttributeNS(g,t)}else{e.removeAttribute(t)}}}else if((!i||s&4||n)&&!a){r=r===true?"":r;if(f){e.setAttributeNS(g,t,r)}else{e.setAttribute(t,r)}}}}};var $e=/\s/;var ye=e=>!e?[]:e.split($e);var we="Capture";var be=new RegExp(we+"$");var ge=(e,t,l)=>{const r=t.D.nodeType===11&&t.D.host?t.D.host:t.D;const n=e&&e.C||N;const s=t.C||N;{for(const e of Se(Object.keys(n))){if(!(e in s)){me(r,e,n[e],void 0,l,t.l)}}}for(const e of Se(Object.keys(s))){me(r,e,n[e],s[e],l,t.l)}};function Se(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var ke;var Ce;var xe;var je=false;var Oe=false;var Re=false;var Te=false;var De=(e,l,r,n)=>{var s;const i=l.j[r];let o=0;let a;let f;let c;if(!je){Re=true;if(i.T==="slot"){i.l|=i.j?2:1}}if(i.k!==null){a=i.D=k.createTextNode(i.k)}else if(i.l&1){a=i.D=k.createTextNode("")}else{if(!Te){Te=i.T==="svg"}a=i.D=k.createElementNS(Te?U:W,!je&&t.slotRelocation&&i.l&2?"slot-fb":i.T);if(Te&&i.T==="foreignObject"){Te=false}{ge(null,i,Te)}const l=a.getRootNode();const r=!l.querySelector("body");if(!r&&t.scoped&&I(ke)&&a["s-si"]!==ke){a.classList.add(a["s-si"]=ke)}if(i.j){for(o=0;o<i.j.length;++o){f=De(e,i,o);if(f){a.appendChild(f)}}}{if(i.T==="svg"){Te=false}else if(a.tagName==="foreignObject"){Te=true}}}a["s-hn"]=xe;{if(i.l&(2|1)){a["s-sr"]=true;a["s-cr"]=Ce;a["s-sn"]=i.R||"";a["s-rf"]=(s=i.C)==null?void 0:s.ref;c=e&&e.j&&e.j[r];if(c&&c.T===i.T&&e.D){{Le(e.D,false)}}}}return a};var Le=(e,l)=>{C.l|=1;const r=Array.from(e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===xe){r.push(t)}}}for(let e=r.length-1;e>=0;e--){const t=r[e];if(t["s-hn"]!==xe&&t["s-ol"]){Qe(Ne(t),t,Pe(t));t["s-ol"].remove();t["s-ol"]=void 0;t["s-sh"]=void 0;Re=true}if(l){Le(t,l)}}C.l&=~1};var Ee=(e,t,l,r,n,s)=>{let i=e["s-cr"]&&e["s-cr"].parentNode||e;let o;for(;n<=s;++n){if(r[n]){o=De(null,l,n);if(o){r[n].D=o;Qe(i,o,Pe(t))}}}};var Me=(e,t,l)=>{for(let r=t;r<=l;++r){const t=e[r];if(t){const e=t.D;Be(t);if(e){{Oe=true;if(e["s-ol"]){e["s-ol"].remove()}else{Le(e,true)}}e.remove()}}}};var Fe=(e,t,l,r,n=false)=>{let s=0;let i=0;let o=0;let a=0;let f=t.length-1;let c=t[0];let u=t[f];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(s<=f&&i<=v){if(c==null){c=t[++s]}else if(u==null){u=t[--f]}else if(d==null){d=r[++i]}else if(h==null){h=r[--v]}else if(Ae(c,d,n)){Ue(c,d,n);c=t[++s];d=r[++i]}else if(Ae(u,h,n)){Ue(u,h,n);u=t[--f];h=r[--v]}else if(Ae(c,h,n)){if(c.T==="slot"||h.T==="slot"){Le(c.D.parentNode,false)}Ue(c,h,n);Qe(e,c.D,u.D.nextSibling);c=t[++s];h=r[--v]}else if(Ae(u,d,n)){if(c.T==="slot"||h.T==="slot"){Le(u.D.parentNode,false)}Ue(u,d,n);Qe(e,u.D,c.D);u=t[--f];d=r[++i]}else{o=-1;{for(a=s;a<=f;++a){if(t[a]&&t[a].O!==null&&t[a].O===d.O){o=a;break}}}if(o>=0){m=t[o];if(m.T!==d.T){p=De(t&&t[i],l,o)}else{Ue(m,d,n);t[o]=void 0;p=m.D}d=r[++i]}else{p=De(t&&t[i],l,i);d=r[++i]}if(p){{Qe(Ne(c.D),p,Pe(c.D))}}}}if(s>f){Ee(e,r[v+1]==null?null:r[v+1].D,l,r,i,v)}else if(i>v){Me(t,s,f)}};var Ae=(e,t,l=false)=>{if(e.T===t.T){if(e.T==="slot"){if("A"in e&&l&&e.D.nodeType!==8){return false}return e.R===t.R}if(!l){return e.O===t.O}return true}return false};var Pe=e=>e&&e["s-ol"]||e;var Ne=e=>(e["s-ol"]?e["s-ol"]:e).parentNode;var Ue=(e,l,r=false)=>{const n=l.D=e.D;const s=e.j;const i=l.j;const o=l.T;const a=l.k;let f;if(a===null){{Te=o==="svg"?true:o==="foreignObject"?false:Te}{if(o==="slot"&&!je);else{ge(e,l,Te)}}if(s!==null&&i!==null){Fe(n,s,l,i,r)}else if(i!==null){if(e.k!==null){n.textContent=""}Ee(n,null,l,i,0,i.length-1)}else if(!r&&t.updatable&&s!==null){Me(s,0,s.length-1)}if(Te&&o==="svg"){Te=false}}else if(f=n["s-cr"]){f.parentNode.textContent=a}else if(e.k!==a){n.data=a}};var We=e=>{const t=e.childNodes;for(const e of t){if(e.nodeType===1){if(e["s-sr"]){const l=e["s-sn"];e.hidden=false;for(const r of t){if(r!==e){if(r["s-hn"]!==e["s-hn"]||l!==""){if(r.nodeType===1&&(l===r.getAttribute("slot")||l===r["s-sn"])||r.nodeType===3&&l===r["s-sn"]){e.hidden=true;break}}else{if(r.nodeType===1||r.nodeType===3&&r.textContent.trim()!==""){e.hidden=true;break}}}}}We(e)}}};var Ie=[];var He=e=>{let l;let r;let n;for(const s of e.childNodes){if(s["s-sr"]&&(l=s["s-cr"])&&l.parentNode){r=l.parentNode.childNodes;const e=s["s-sn"];for(n=r.length-1;n>=0;n--){l=r[n];if(!l["s-cn"]&&!l["s-nr"]&&l["s-hn"]!==s["s-hn"]&&!t.experimentalSlotFixes){if(ze(l,e)){let t=Ie.find((e=>e.W===l));Oe=true;l["s-sn"]=l["s-sn"]||e;if(t){t.W["s-sh"]=s["s-hn"];t.I=s}else{l["s-sh"]=s["s-hn"];Ie.push({I:s,W:l})}if(l["s-sr"]){Ie.map((e=>{if(ze(e.W,l["s-sn"])){t=Ie.find((e=>e.W===l));if(t&&!e.I){e.I=t.I}}}))}}else if(!Ie.some((e=>e.W===l))){Ie.push({W:l})}}}}if(s.nodeType===1){He(s)}}};var ze=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};var Be=e=>{{e.C&&e.C.ref&&e.C.ref(null);e.j&&e.j.map(Be)}};var Qe=(e,t,l)=>{const r=e==null?void 0:e.insertBefore(t,l);return r};var qe=(e,t,l=false)=>{var r,n,s,i;const o=e.$hostElement$;const a=e.i;const f=e.L||Y(null,null);const c=ee(t)?t:J(null,null,t);xe=o.tagName;if(a.H){c.C=c.C||{};a.H.map((([e,t])=>c.C[t]=o[e]))}if(l&&c.C){for(const e of Object.keys(c.C)){if(o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){c.C[e]=o[e]}}}c.T=null;c.l|=4;e.L=c;c.D=f.D=o;je=x;{Ce=o["s-cr"];Oe=false}Ue(f,c,l);{C.l|=1;if(Re){He(c.D);for(const e of Ie){const t=e.W;if(!t["s-ol"]){const e=k.createTextNode("");e["s-nr"]=t;Qe(t.parentNode,t["s-ol"]=e,t)}}for(const e of Ie){const t=e.W;const o=e.I;if(o){const e=o.parentNode;let l=o.nextSibling;{let s=(r=t["s-ol"])==null?void 0:r.previousSibling;while(s){let r=(n=s["s-nr"])!=null?n:null;if(r&&r["s-sn"]===t["s-sn"]&&e===r.parentNode){r=r.nextSibling;while(r===t||(r==null?void 0:r["s-sr"])){r=r==null?void 0:r.nextSibling}if(!r||!r["s-nr"]){l=r;break}}s=s.previousSibling}}if(!l&&e!==t.parentNode||t.nextSibling!==l){if(t!==l){if(!t["s-hn"]&&t["s-ol"]){t["s-hn"]=t["s-ol"].parentNode.nodeName}Qe(e,t,l);if(t.nodeType===1){t.hidden=(s=t["s-ih"])!=null?s:false}}}t&&typeof o["s-rf"]==="function"&&o["s-rf"](t)}else{if(t.nodeType===1){if(l){t["s-ih"]=(i=t.hidden)!=null?i:false}t.hidden=true}}}}if(Oe){We(c.D)}C.l&=~1;Ie.length=0}Ce=void 0};var Ge=(e,t)=>{if(t&&!e.B&&t["s-p"]){t["s-p"].push(new Promise((t=>e.B=t)))}};var Ke=(e,t)=>{{e.l|=16}if(e.l&4){e.l|=512;return}Ge(e,e.q);const l=()=>Ve(e,t);return P(l)};var Ve=(e,t)=>{const l=e.$hostElement$;const r=X("scheduleUpdate",e.i.m);const n=e.t;if(!n){throw new Error(`Can't render component <${l.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let s;if(t){{e.l|=256;if(e.G){e.G.map((([e,t])=>nt(n,e,t)));e.G=void 0}}{s=nt(n,"componentWillLoad")}}{s=Xe(s,(()=>nt(n,"componentWillRender")))}r();return Xe(s,(()=>Je(e,n,t)))};var Xe=(e,t)=>_e(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var _e=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var Je=async(e,t,l)=>{var r;const n=e.$hostElement$;const s=X("update",e.i.m);const i=n["s-rc"];if(l){he(e)}const o=X("render",e.i.m);{Ze(e,t,n,l)}if(i){i.map((e=>e()));n["s-rc"]=void 0}o();s();{const t=(r=n["s-p"])!=null?r:[];const l=()=>tt(e);if(t.length===0){l()}else{Promise.all(t).then(l);e.l|=4;t.length=0}}};var Ye=null;var Ze=(e,t,l,r)=>{try{Ye=t;t=t.render&&t.render();{e.l&=~16}{e.l|=2}{{{qe(e,t,r)}}}}catch(t){f(t,e.$hostElement$)}Ye=null;return null};var et=()=>Ye;var tt=e=>{const t=e.i.m;const l=e.$hostElement$;const r=X("postUpdate",t);const n=e.t;const s=e.q;{nt(n,"componentDidRender")}if(!(e.l&64)){e.l|=64;{st(l)}{nt(n,"componentDidLoad")}r();{e.p(l);if(!s){rt()}}}else{r()}{e.v(l)}{if(e.B){e.B();e.B=void 0}if(e.l&512){A((()=>Ke(e,false)))}e.l&=~(4|512)}};var lt=e=>{{const t=s(e);const l=t.$hostElement$.isConnected;if(l&&(t.l&(2|16))===2){Ke(t,false)}return l}};var rt=t=>{{st(k.documentElement)}A((()=>ce(S,"appload",{detail:{namespace:e}})))};var nt=(e,t,l)=>{if(e&&e[t]){try{return e[t](l)}catch(e){f(e)}}return void 0};var st=e=>{var l;return e.classList.add((l=t.hydratedSelectorName)!=null?l:"hydrated")};var it=(e,t)=>s(e).o.get(t);var ot=(e,t,l,r)=>{const n=s(e);if(!n){throw new Error(`Couldn't find host element for "${r.m}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`)}const i=n.$hostElement$;const o=n.o.get(t);const a=n.l;const c=n.t;l=oe(l,r.K[t][0]);const u=Number.isNaN(o)&&Number.isNaN(l);const v=l!==o&&!u;if((!(a&8)||o===void 0)&&v){n.o.set(t,l);if(c){if(r.V&&a&128){const e=r.V[t];if(e){e.map((e=>{try{c[e](l,o,t)}catch(e){f(e,i)}}))}}if((a&(2|16))===2){Ke(n,false)}}}};var at=(e,t,l)=>{var r,n;const i=e.prototype;if(t.K||(t.V||e.watchers)){if(e.watchers&&!t.V){t.V=e.watchers}const o=Object.entries((r=t.K)!=null?r:{});o.map((([e,[r]])=>{if(r&31||l&2&&r&32){Object.defineProperty(i,e,{get(){return it(this,e)},set(l){ot(this,e,l,t)},configurable:true,enumerable:true})}else if(l&1&&r&64){Object.defineProperty(i,e,{value(...t){var l;const r=s(this);return(l=r==null?void 0:r.u)==null?void 0:l.then((()=>{var l;return(l=r.t)==null?void 0:l[e](...t)}))}})}}));if(l&1){const l=new Map;i.attributeChangedCallback=function(e,r,n){C.jmp((()=>{var o;const a=l.get(e);if(this.hasOwnProperty(a)){n=this[a];delete this[a]}else if(i.hasOwnProperty(a)&&typeof this[a]==="number"&&this[a]==n){return}else if(a==null){const l=s(this);const i=l==null?void 0:l.l;if(i&&!(i&8)&&i&128&&n!==r){const s=l.t;const i=(o=t.V)==null?void 0:o[e];i==null?void 0:i.forEach((t=>{if(s[t]!=null){s[t].call(s,n,r,e)}}))}return}this[a]=n===null&&typeof this[a]==="boolean"?false:n}))};e.observedAttributes=Array.from(new Set([...Object.keys((n=t.V)!=null?n:{}),...o.filter((([e,t])=>t[0]&15)).map((([e,r])=>{var n;const s=r[1]||e;l.set(s,e);if(r[0]&512){(n=t.H)==null?void 0:n.push([e,s])}return s}))]))}}return e};var ft=async(e,t,l,r)=>{let n;if((t.l&32)===0){t.l|=32;const r=l.$;if(r){const e=u(l);if(e&&"then"in e){const t=_();n=await e;t()}else{n=e}if(!n){throw new Error(`Constructor for "${l.m}#${t.X}" was not found`)}if(!n.isProxied){{l.V=n.watchers}at(n,l,2);n.isProxied=true}const r=X("createInstance",l.m);{t.l|=8}try{new n(t)}catch(e){f(e)}{t.l&=~8}{t.l|=128}r();ct(t.t)}else{n=e.constructor;const l=e.localName;customElements.whenDefined(l).then((()=>t.l|=128))}if(n&&n.style){let e;if(typeof n.style==="string"){e=n.style}const t=pe(l);if(!v.has(t)){const r=X("registerStyles",l.m);ve(t,e,!!(l.l&1));r()}}}const s=t.q;const i=()=>Ke(t,true);if(s&&s["s-rc"]){s["s-rc"].push(i)}else{i()}};var ct=e=>{{nt(e,"connectedCallback")}};var ut=e=>{if((C.l&1)===0){const t=s(e);const l=t.i;const r=X("connectedCallback",l.m);if(!(t.l&1)){t.l|=1;let r;{r=e.getAttribute($);if(r){ne(e,l.m,r,t)}}if(!r){if(l.l&(4|8)){vt(e)}}{let l=e;while(l=l.parentNode||l.host){if(l.nodeType===1&&l.hasAttribute("s-id")&&l["s-p"]||l["s-p"]){Ge(t,t.q=l);break}}}if(l.K){Object.entries(l.K).map((([t,[l]])=>{if(l&31&&e.hasOwnProperty(t)){const l=e[t];delete e[t];e[t]=l}}))}{A((()=>ft(e,t,l)))}}else{mt(e,t,l._);if(t==null?void 0:t.t){ct(t.t)}else if(t==null?void 0:t.h){t.h.then((()=>ct(t.t)))}}r()}};var vt=e=>{const t=e["s-cr"]=k.createComment("");t["s-cn"]=true;Qe(e,t,e.firstChild)};var dt=e=>{{nt(e,"disconnectedCallback")}};var ht=async e=>{if((C.l&1)===0){const t=s(e);{if(t.J){t.J.map((e=>e()));t.J=void 0}}if(t==null?void 0:t.t){dt(t.t)}else if(t==null?void 0:t.h){t.h.then((()=>dt(t.t)))}}};var pt=(e,t={})=>{var l;const r=X();const n=[];const i=t.exclude||[];const a=S.customElements;const f=k.head;const c=f.querySelector("meta[charset]");const u=k.createElement("style");const v=[];let d;let h=true;Object.assign(C,t);C.S=new URL(t.resourcesUrl||"./",k.baseURI).href;{C.l|=2}let p=false;e.map((e=>{e[1].map((t=>{var l;const r={l:t[0],m:t[1],K:t[2],_:t[3]};if(r.l&4){p=true}{r.K=t[2]}{r._=t[3]}{r.H=[]}{r.V=(l=t[4])!=null?l:{}}const f=r.m;const c=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;o(e,r)}connectedCallback(){const e=s(this);if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true;mt(this,e,r._)}if(d){clearTimeout(d);d=null}if(h){v.push(this)}else{C.jmp((()=>ut(this)))}}disconnectedCallback(){C.jmp((()=>ht(this)))}componentOnReady(){return s(this).h}};r.$=e[0];if(!i.includes(f)&&!a.get(f)){n.push(f);a.define(f,at(c,r,1))}}))}));if(n.length>0){if(p){u.textContent+=b}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(l=C.U)!=null?l:z(k);if(e!=null){u.setAttribute("nonce",e)}f.insertBefore(u,c?c.nextSibling:f.firstChild)}}h=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{C.jmp((()=>d=setTimeout(rt,30)))}}r()};var mt=(e,t,l,r)=>{if(l){l.map((([l,r,n])=>{const s=yt(e,l);const i=$t(t,n);const o=wt(l);C.ael(s,r,i,o);(t.J=t.J||[]).push((()=>C.rel(s,r,i,o)))}))}};var $t=(e,t)=>l=>{var r;try{{if(e.l&256){(r=e.t)==null?void 0:r[t](l)}else{(e.G=e.G||[]).push([t,l])}}}catch(e){f(e)}};var yt=(e,t)=>{if(t&4)return k;return e};var wt=e=>j?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;var bt=e=>C.U=e;export{Z as H,ae as a,pt as b,fe as c,lt as f,et as g,J as h,O as p,i as r,bt as s};
|
|
6
|
+
//# sourceMappingURL=index-a61f225b.js.map
|