@omegagrid/core 0.8.1 → 0.8.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/ui/container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIzD,qBACa,SAAU,SAAQ,cAAc;IAE5C,MAAM,CAAC,MAAM,0BAoCX;IAGF,WAAW,EAAE,WAAW,CAAC;IAGzB,eAAe,EAAE,gBAAgB,CAAC;IAGlC,UAAU,UAAS;IAGnB,UAAU,SAAK;IAGf,gBAAgB,UAAS;IAGzB,KAAK,EAAE,cAAc,CAAC;IAEtB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,IAAI,cAAc,WAA0C;IAE5D,OAAO,CAAC,mBAAmB,CAA4B;IACvD,IAAI,gBAAgB,WAA4C;IAEhE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,WAAW,YAA6F;IAE5G,iBAAiB;IAQjB,iBAAiB;IAKjB,oBAAoB;IAKpB,gBAAgB;IAUhB,mBAAmB;IAKnB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAc/C,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAS5B,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQjD,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAO/B,YAAY;IA2DN,OAAO;IAOb,MAAM,6CAoBJ;IAEF,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,WAEd;IAED,aAAa;CAoCb"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/ui/container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIzD,qBACa,SAAU,SAAQ,cAAc;IAE5C,MAAM,CAAC,MAAM,0BAiCX;IAGF,WAAW,EAAE,WAAW,CAAC;IAGzB,eAAe,EAAE,gBAAgB,CAAC;IAGlC,UAAU,UAAS;IAGnB,UAAU,SAAK;IAGf,gBAAgB,UAAS;IAGzB,KAAK,EAAE,cAAc,CAAC;IAEtB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,IAAI,cAAc,WAA0C;IAE5D,OAAO,CAAC,mBAAmB,CAA4B;IACvD,IAAI,gBAAgB,WAA4C;IAEhE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,WAAW,YAA6F;IAE5G,iBAAiB;IAQjB,iBAAiB;IAKjB,oBAAoB;IAKpB,gBAAgB;IAUhB,mBAAmB;IAKnB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAc/C,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAS5B,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQjD,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAO/B,YAAY;IA2DN,OAAO;IAWb,MAAM,6CAoBJ;IAEF,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,WAEd;IAED,aAAa;CAoCb"}
@@ -167,6 +167,9 @@ let Container = class Container extends OmegaComponent {
167
167
  dom.empty(this.inner);
168
168
  this.inner.appendChild(await this.createComponent(this.componentId));
169
169
  }
170
+ if (this.inner.style.position !== 'absolute') {
171
+ dom.setPosition(this.inner, { t: 0, l: 0 });
172
+ }
170
173
  }
171
174
  get scrollHeight() {
172
175
  return this.inner?.clientHeight - (this.overscroll ? 0 : this.clientHeight);
@@ -235,9 +238,6 @@ Container.styles = css `
235
238
 
236
239
  .inner {
237
240
  min-width: 100%;
238
- position: absolute;
239
- top: 0;
240
- left: 0;
241
241
  }
242
242
 
243
243
  :host([scrollbarPadding]) .inner {
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/ui/container.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dom from \"../common/dom\";\nimport { html, css } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { SlideEvent, Slider } from \"./slider\";\nimport { createRef, Ref, ref } from \"lit/directives/ref.js\";\nimport { OmegaComponent } from \"../model\";\nimport { ComponentFactory, ComponentId } from \"../types\";\nimport constants from \"../constants\";\nimport { styleMap } from \"lit-html/directives/style-map.js\";\n\n@customElement('og-container')\nexport class Container extends OmegaComponent {\n\n\tstatic styles = css`\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\t:host {\n\t\t\tposition: relative;\n\t\t\tdisplay: block;\n\t\t\toverflow: hidden;\n\t\t\tbox-shadow: inset 0px 4px 3px -2px var(--og-inset-shadow-color);\n\t\t}\n\n\t\t:host(.scroll-top-0) {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\tog-slider[direction=\"vertical\"] {\n\t\t\tright: 0;\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t.inner {\n\t\t\tmin-width: 100%;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\n\t\t:host([scrollbarPadding]) .inner {\n\t\t\tright: ${constants.SLIDER_SIZE}px;\n\t\t}\n\n\t\t:host([scrollbarPadding]) {\t\n\t\t\tpadding-right: ${constants.SLIDER_SIZE}px;\n\t\t}\n\t`;\n\n\t@property({type: String})\n\tcomponentId: ComponentId;\n\n\t@property({type: Object})\n\tcreateComponent: ComponentFactory;\n\n\t@property({type: Boolean})\n\toverscroll = false;\n\n\t@property({type: Number})\n\tsliderSize = 0;\n\n\t@property({type: Boolean, reflect: true})\n\tscrollbarPadding = false;\n\n\t@query('.inner')\n\tinner: HTMLDivElement;\n\n\tprivate verticalSliderRef: Ref<Slider> = createRef();\n\tget verticalSlider() { return this.verticalSliderRef.value }\n\t\n\tprivate horizontalSliderRef: Ref<Slider> = createRef();\n\tget horizontalSlider() { return this.horizontalSliderRef.value }\n\n\tprivate resizeObserver: ResizeObserver;\n\tprivate touchStart: Touch;\n\tprivate _mouseIn = false;\n\t\n\tget isScrolling() { return this.verticalSliderRef.value.sliding || this.horizontalSliderRef.value.sliding; }\n\n\tfixScrollPosition() {\n\t\tif (this.inner.offsetTop < 0) {\n\t\t\tif (this.clientHeight - this.inner.offsetHeight - this.inner.offsetTop > 0) {\n\t\t\t\tthis.scrollVerticalTo(Math.max(0, this.inner.offsetHeight - this.clientHeight));\n\t\t\t}\n\t\t}\n\t}\n\t\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.connectObservers();\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tthis.disconnectObservers();\n\t}\n\n\tconnectObservers() {\n\t\tthis.resizeObserver = this.resizeObserver ?? new ResizeObserver(() => {\n\t\t\tthis.updateSliders();\n\t\t\tthis.fixScrollPosition();\n\t\t});\n\n\t\tthis.resizeObserver.observe(this);\n\t\tif (this.inner)\tthis.resizeObserver.observe(this.inner);\n\t}\n\n\tdisconnectObservers() {\n\t\tthis.resizeObserver.disconnect();\n\t\tthis.resizeObserver = null;\n\t}\n\n\tscrollVerticalByPixels(deltaY: number): boolean {\n\t\tif (this.inner.offsetHeight <= this.clientHeight) return false;\n\t\tconst top = this.scrollHeight > 0\n\t\t\t? (Math.max(-this.verticalSlider.maxValue, Math.min(0, this.inner.offsetTop - deltaY)) ?? 0)\n\t\t\t: 0;\n\n\t\tif (this.inner.offsetTop === top) return false;\n\t\tdom.setPosition(this.inner, {t: top});\n\t\tthis.verticalSlider.value = -top;\n\t\tthis.classList.toggle('scroll-top-0', top === 0);\n\t\tthis.dispatchEvent(new SlideEvent('verticalscroll', -top));\n\t\treturn true;\n\t}\n\n\tscrollVerticalTo(top: number) {\n\t\tif (this.inner) {\n\t\t\ttop = Math.min(this.verticalSlider?.maxValue || 0, Math.max(0, top));\n\t\t\tdom.setPosition(this.inner, {t: -top});\n\t\t\tthis.classList.toggle('scroll-top-0', top === 0);\n\t\t\tif (this.verticalSlider) this.verticalSlider.value = top;\n\t\t}\n\t}\n\t\n\tscrollHorizontalByPixels(deltaX: number): boolean {\n\t\tconst left = Math.max(-this.horizontalSliderRef.value.maxValue, Math.min(0, this.inner.offsetLeft - deltaX)) ?? 0;\n\t\tif (this.inner.offsetLeft == left) return false;\n\t\tdom.setPosition(this.inner, {l: left});\n\t\tthis.horizontalSliderRef.value.value = left;\n\t\treturn true;\n\t}\n\t\n\tscrollHorizontalTo(left: number) {\n\t\tif (this.inner) {\n\t\t\tdom.setPosition(this.inner, {l: -left});\n\t\t\tif (this.horizontalSlider) this.horizontalSlider.value = left;\n\t\t}\n\t}\n\t\n\tfirstUpdated() {\n\t\tthis.connectObservers();\n\t\tthis.classList.add('scroll-top-0');\n\t\tthis.verticalSlider?.hide();\n\t\tthis.horizontalSlider?.hide();\n\t\t\n\t\tthis.verticalSlider?.addEventListener('slide', (e: SlideEvent) => {\n\t\t\tthis.scrollVerticalTo(e.value);\n\t\t\tthis.dispatchEvent(new SlideEvent('verticalscroll', e.value));\n\t\t});\n\t\tthis.horizontalSlider?.addEventListener('slide', (e: SlideEvent) => {\n\t\t\tthis.scrollHorizontalTo(e.value);\n\t\t\tthis.dispatchEvent(new SlideEvent('horizontalscroll', e.value));\n\t\t});\n\n\t\tthis.verticalSlider?.addEventListener('slideEnd', () => {\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('mouseenter', () => {\n\t\t\tthis._mouseIn = true;\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('mouseleave', () => {\n\t\t\tthis._mouseIn = false;\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('wheel', (e) => {\n\t\t\tif (e.deltaY != 0) {\n\t\t\t\tif (this.scrollVerticalByPixels(e.deltaY)) {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchstart', e => {\n\t\t\tthis.touchStart = e.touches[0];\n\t\t\tthis._mouseIn = true;\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchend', () => {\n\t\t\tthis.touchStart = null;\n\t\t\tthis._mouseIn = false;\n\t\t\tthis.updateSliders();\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchmove', (e: TouchEvent) => {\n\t\t\tif (this.touchStart) {\n\t\t\t\tconst touch = e.touches[0];\n\t\t\t\tthis.scrollVerticalByPixels(this.touchStart.clientY - touch.clientY);\n\t\t\t\tthis.scrollVerticalByPixels(this.touchStart.clientX - touch.clientX);\n\t\t\t\tthis.updateSliders();\n\t\t\t\tthis.touchStart = touch;\n\t\t\t}\n\t\t}, {passive: true});\n\t}\n\n\tasync updated() {\n\t\tif (this.createComponent) {\n\t\t\tdom.empty(this.inner);\n\t\t\tthis.inner.appendChild(await this.createComponent(this.componentId));\n\t\t}\n\t}\n\n\trender = () => html`\n\t\t${this.createComponent ? html`\n\t\t\t<div class=\"inner\"></div>\n\t\t` : html`\n\t\t\t<div class=\"inner\">\n\t\t\t\t<slot name=\"content\"></slot>\n\t\t\t</div>\n\t\t`}\n\t\t\n\t\t<og-slider ${ref(this.verticalSliderRef)}\n\t\t\tstyle=\"${styleMap(this.sliderSize > 0 ? {width: `${this.sliderSize}px`} : {})}\"\n\t\t\tdirection=\"vertical\"\n\t\t\thidden>\n\t\t</og-slider>\n\t\t\n\t\t<og-slider ${ref(this.horizontalSliderRef)}\n\t\t\tstyle=\"${styleMap(this.sliderSize > 0 ? {height: `${this.sliderSize}px`} : {})}\"\n\t\t\tdirection=\"horizontal\" \n\t\t\thidden>\n\t\t</og-slider>\n\t`;\n\n\tget scrollHeight() {\n\t\treturn this.inner?.clientHeight - (this.overscroll ? 0 : this.clientHeight);\n\t}\n\n\tget scrollWidth() {\n\t\treturn this.inner?.clientWidth - this.clientWidth;\n\t}\n\n\tupdateSliders() {\t\n\t\tif (this.verticalSliderRef.value) {\n\t\t\tconst containerHeight = this.clientHeight;\n\t\t\t\n\t\t\tif (containerHeight < this.inner.clientHeight) {\n\t\t\t\tthis.verticalSliderRef.value.pageSize = containerHeight;\n\t\t\t\tthis.verticalSliderRef.value.maxValue = this.scrollHeight;\n\t\t\t\tthis.verticalSliderRef.value.requestUpdate();\n\t\t\t\tif (this._mouseIn || this.verticalSliderRef.value.sliding) {\n\t\t\t\t\tthis.verticalSliderRef.value.show();\n\t\t\t\t} else {\n\t\t\t\t\tthis.verticalSliderRef.value.hide();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.verticalSliderRef.value.hide();\n\t\t\t}\n\t\t}\n\n\t\tif (this.horizontalSliderRef.value) {\n\t\t\tconst containerWidth = this.clientWidth;\n\t\t\t\n\t\t\tif (containerWidth < this.inner.clientWidth) {\n\t\t\t\tthis.horizontalSliderRef.value.pageSize = containerWidth;\n\t\t\t\tthis.horizontalSliderRef.value.maxValue = this.scrollWidth;\n\t\t\t\tthis.horizontalSliderRef.value.requestUpdate();\n\t\t\t\tif (this._mouseIn || this.horizontalSliderRef.value.sliding) {\n\t\t\t\t\tthis.horizontalSliderRef.value.show();\n\t\t\t\t} else {\n\t\t\t\t\tthis.horizontalSliderRef.value.hide();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.horizontalSliderRef.value.hide();\n\t\t\t}\n\t\t}\n\t}\n\n}"]}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/ui/container.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dom from \"../common/dom\";\nimport { html, css } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { SlideEvent, Slider } from \"./slider\";\nimport { createRef, Ref, ref } from \"lit/directives/ref.js\";\nimport { OmegaComponent } from \"../model\";\nimport { ComponentFactory, ComponentId } from \"../types\";\nimport constants from \"../constants\";\nimport { styleMap } from \"lit-html/directives/style-map.js\";\n\n@customElement('og-container')\nexport class Container extends OmegaComponent {\n\n\tstatic styles = css`\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\t:host {\n\t\t\tposition: relative;\n\t\t\tdisplay: block;\n\t\t\toverflow: hidden;\n\t\t\tbox-shadow: inset 0px 4px 3px -2px var(--og-inset-shadow-color);\n\t\t}\n\n\t\t:host(.scroll-top-0) {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\tog-slider[direction=\"vertical\"] {\n\t\t\tright: 0;\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t.inner {\n\t\t\tmin-width: 100%;\n\t\t}\n\n\t\t:host([scrollbarPadding]) .inner {\n\t\t\tright: ${constants.SLIDER_SIZE}px;\n\t\t}\n\n\t\t:host([scrollbarPadding]) {\t\n\t\t\tpadding-right: ${constants.SLIDER_SIZE}px;\n\t\t}\n\t`;\n\n\t@property({type: String})\n\tcomponentId: ComponentId;\n\n\t@property({type: Object})\n\tcreateComponent: ComponentFactory;\n\n\t@property({type: Boolean})\n\toverscroll = false;\n\n\t@property({type: Number})\n\tsliderSize = 0;\n\n\t@property({type: Boolean, reflect: true})\n\tscrollbarPadding = false;\n\n\t@query('.inner')\n\tinner: HTMLDivElement;\n\n\tprivate verticalSliderRef: Ref<Slider> = createRef();\n\tget verticalSlider() { return this.verticalSliderRef.value }\n\t\n\tprivate horizontalSliderRef: Ref<Slider> = createRef();\n\tget horizontalSlider() { return this.horizontalSliderRef.value }\n\n\tprivate resizeObserver: ResizeObserver;\n\tprivate touchStart: Touch;\n\tprivate _mouseIn = false;\n\t\n\tget isScrolling() { return this.verticalSliderRef.value.sliding || this.horizontalSliderRef.value.sliding; }\n\n\tfixScrollPosition() {\n\t\tif (this.inner.offsetTop < 0) {\n\t\t\tif (this.clientHeight - this.inner.offsetHeight - this.inner.offsetTop > 0) {\n\t\t\t\tthis.scrollVerticalTo(Math.max(0, this.inner.offsetHeight - this.clientHeight));\n\t\t\t}\n\t\t}\n\t}\n\t\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.connectObservers();\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tthis.disconnectObservers();\n\t}\n\n\tconnectObservers() {\n\t\tthis.resizeObserver = this.resizeObserver ?? new ResizeObserver(() => {\n\t\t\tthis.updateSliders();\n\t\t\tthis.fixScrollPosition();\n\t\t});\n\n\t\tthis.resizeObserver.observe(this);\n\t\tif (this.inner)\tthis.resizeObserver.observe(this.inner);\n\t}\n\n\tdisconnectObservers() {\n\t\tthis.resizeObserver.disconnect();\n\t\tthis.resizeObserver = null;\n\t}\n\n\tscrollVerticalByPixels(deltaY: number): boolean {\n\t\tif (this.inner.offsetHeight <= this.clientHeight) return false;\n\t\tconst top = this.scrollHeight > 0\n\t\t\t? (Math.max(-this.verticalSlider.maxValue, Math.min(0, this.inner.offsetTop - deltaY)) ?? 0)\n\t\t\t: 0;\n\n\t\tif (this.inner.offsetTop === top) return false;\n\t\tdom.setPosition(this.inner, {t: top});\n\t\tthis.verticalSlider.value = -top;\n\t\tthis.classList.toggle('scroll-top-0', top === 0);\n\t\tthis.dispatchEvent(new SlideEvent('verticalscroll', -top));\n\t\treturn true;\n\t}\n\n\tscrollVerticalTo(top: number) {\n\t\tif (this.inner) {\n\t\t\ttop = Math.min(this.verticalSlider?.maxValue || 0, Math.max(0, top));\n\t\t\tdom.setPosition(this.inner, {t: -top});\n\t\t\tthis.classList.toggle('scroll-top-0', top === 0);\n\t\t\tif (this.verticalSlider) this.verticalSlider.value = top;\n\t\t}\n\t}\n\t\n\tscrollHorizontalByPixels(deltaX: number): boolean {\n\t\tconst left = Math.max(-this.horizontalSliderRef.value.maxValue, Math.min(0, this.inner.offsetLeft - deltaX)) ?? 0;\n\t\tif (this.inner.offsetLeft == left) return false;\n\t\tdom.setPosition(this.inner, {l: left});\n\t\tthis.horizontalSliderRef.value.value = left;\n\t\treturn true;\n\t}\n\t\n\tscrollHorizontalTo(left: number) {\n\t\tif (this.inner) {\n\t\t\tdom.setPosition(this.inner, {l: -left});\n\t\t\tif (this.horizontalSlider) this.horizontalSlider.value = left;\n\t\t}\n\t}\n\t\n\tfirstUpdated() {\n\t\tthis.connectObservers();\n\t\tthis.classList.add('scroll-top-0');\n\t\tthis.verticalSlider?.hide();\n\t\tthis.horizontalSlider?.hide();\n\t\t\n\t\tthis.verticalSlider?.addEventListener('slide', (e: SlideEvent) => {\n\t\t\tthis.scrollVerticalTo(e.value);\n\t\t\tthis.dispatchEvent(new SlideEvent('verticalscroll', e.value));\n\t\t});\n\t\tthis.horizontalSlider?.addEventListener('slide', (e: SlideEvent) => {\n\t\t\tthis.scrollHorizontalTo(e.value);\n\t\t\tthis.dispatchEvent(new SlideEvent('horizontalscroll', e.value));\n\t\t});\n\n\t\tthis.verticalSlider?.addEventListener('slideEnd', () => {\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('mouseenter', () => {\n\t\t\tthis._mouseIn = true;\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('mouseleave', () => {\n\t\t\tthis._mouseIn = false;\n\t\t\tthis.updateSliders();\n\t\t});\n\n\t\tthis.addEventListener('wheel', (e) => {\n\t\t\tif (e.deltaY != 0) {\n\t\t\t\tif (this.scrollVerticalByPixels(e.deltaY)) {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchstart', e => {\n\t\t\tthis.touchStart = e.touches[0];\n\t\t\tthis._mouseIn = true;\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchend', () => {\n\t\t\tthis.touchStart = null;\n\t\t\tthis._mouseIn = false;\n\t\t\tthis.updateSliders();\n\t\t}, {passive: true});\n\n\t\tthis.addEventListener('touchmove', (e: TouchEvent) => {\n\t\t\tif (this.touchStart) {\n\t\t\t\tconst touch = e.touches[0];\n\t\t\t\tthis.scrollVerticalByPixels(this.touchStart.clientY - touch.clientY);\n\t\t\t\tthis.scrollVerticalByPixels(this.touchStart.clientX - touch.clientX);\n\t\t\t\tthis.updateSliders();\n\t\t\t\tthis.touchStart = touch;\n\t\t\t}\n\t\t}, {passive: true});\n\t}\n\n\tasync updated() {\n\t\tif (this.createComponent) {\n\t\t\tdom.empty(this.inner);\n\t\t\tthis.inner.appendChild(await this.createComponent(this.componentId));\n\t\t}\n\n\t\tif (this.inner.style.position !== 'absolute') {\n\t\t\tdom.setPosition(this.inner, {t: 0, l: 0});\n\t\t}\n\t}\n\n\trender = () => html`\n\t\t${this.createComponent ? html`\n\t\t\t<div class=\"inner\"></div>\n\t\t` : html`\n\t\t\t<div class=\"inner\">\n\t\t\t\t<slot name=\"content\"></slot>\n\t\t\t</div>\n\t\t`}\n\t\t\n\t\t<og-slider ${ref(this.verticalSliderRef)}\n\t\t\tstyle=\"${styleMap(this.sliderSize > 0 ? {width: `${this.sliderSize}px`} : {})}\"\n\t\t\tdirection=\"vertical\"\n\t\t\thidden>\n\t\t</og-slider>\n\t\t\n\t\t<og-slider ${ref(this.horizontalSliderRef)}\n\t\t\tstyle=\"${styleMap(this.sliderSize > 0 ? {height: `${this.sliderSize}px`} : {})}\"\n\t\t\tdirection=\"horizontal\" \n\t\t\thidden>\n\t\t</og-slider>\n\t`;\n\n\tget scrollHeight() {\n\t\treturn this.inner?.clientHeight - (this.overscroll ? 0 : this.clientHeight);\n\t}\n\n\tget scrollWidth() {\n\t\treturn this.inner?.clientWidth - this.clientWidth;\n\t}\n\n\tupdateSliders() {\n\t\tif (this.verticalSliderRef.value) {\n\t\t\tconst containerHeight = this.clientHeight;\n\t\t\t\n\t\t\tif (containerHeight < this.inner.clientHeight) {\n\t\t\t\tthis.verticalSliderRef.value.pageSize = containerHeight;\n\t\t\t\tthis.verticalSliderRef.value.maxValue = this.scrollHeight;\n\t\t\t\tthis.verticalSliderRef.value.requestUpdate();\n\t\t\t\tif (this._mouseIn || this.verticalSliderRef.value.sliding) {\n\t\t\t\t\tthis.verticalSliderRef.value.show();\n\t\t\t\t} else {\n\t\t\t\t\tthis.verticalSliderRef.value.hide();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.verticalSliderRef.value.hide();\n\t\t\t}\n\t\t}\n\n\t\tif (this.horizontalSliderRef.value) {\n\t\t\tconst containerWidth = this.clientWidth;\n\t\t\t\n\t\t\tif (containerWidth < this.inner.clientWidth) {\n\t\t\t\tthis.horizontalSliderRef.value.pageSize = containerWidth;\n\t\t\t\tthis.horizontalSliderRef.value.maxValue = this.scrollWidth;\n\t\t\t\tthis.horizontalSliderRef.value.requestUpdate();\n\t\t\t\tif (this._mouseIn || this.horizontalSliderRef.value.sliding) {\n\t\t\t\t\tthis.horizontalSliderRef.value.show();\n\t\t\t\t} else {\n\t\t\t\t\tthis.horizontalSliderRef.value.hide();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.horizontalSliderRef.value.hide();\n\t\t\t}\n\t\t}\n\t}\n\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/core",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Core components",
6
6
  "main": "./dist/index.js",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@fortawesome/fontawesome-svg-core": "^7.0.1",
39
- "@omegagrid/localize": "^0.8.1",
39
+ "@omegagrid/localize": "^0.8.2",
40
40
  "color": "^4.2.3",
41
41
  "date-fns": "^3.2.0",
42
42
  "lit": "^3.1.1",