@paperless/core 2.4.3 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/build/{p-b152938d.js → p-53cfc585.js} +1 -1
- package/dist/build/p-9c653182.entry.js +2 -0
- package/dist/build/p-9c653182.entry.js.map +1 -0
- package/dist/build/p-content-slider.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-content-slider.cjs.entry.js +1 -1
- package/dist/cjs/p-content-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/p-content-slider.entry.cjs.js.map +1 -1
- package/dist/collection/components/molecules/content-slider/content-slider.component.css +1 -1
- package/dist/components/p-content-slider.js +1 -1
- package/dist/components/p-content-slider.js.map +1 -1
- package/dist/esm/p-content-slider.entry.js +1 -1
- package/dist/esm/p-content-slider.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-9c653182.entry.js +2 -0
- package/dist/paperless/p-9c653182.entry.js.map +1 -0
- package/dist/paperless/p-content-slider.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +1 -1
- package/dist/build/p-7b6decaa.entry.js +0 -2
- package/dist/build/p-7b6decaa.entry.js.map +0 -1
- package/dist/paperless/p-7b6decaa.entry.js +0 -2
- package/dist/paperless/p-7b6decaa.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["contentSliderComponentCss","ContentSlider","hideMobileIndicator","disableDrag","disableAutoCenter","disableIndicatorClick","_visibleIndex","_outerHeight","_totalWidth","_sliderRef","_innerSliderRef","_items","_innerSliderResizeObserver","_startX","_startMouseX","_lastMouseX","_lastIndex","_shouldCheckLocation","_dragging","_filteredItems","this","filter","item","checkVisibility","componentDidLoad","style","setProperty","disconnectedCallback","disconnect","render","h","Host","key","class","height","ref","el","onMouseDown","e","_mouseDownHandler","onTouchStart","onMouseMove","_mouseMoveHandler","onTouchMove","_setInnerSliderReft","onTransitionEnd","_transitionEndHandler","onSlotchange","_slotChange","map","_","i","onClick","_scrollTo","cn","innerSliderStyle","getComputedStyle","flexWrap","x","sliderRect","getBoundingClientRect","type","touches","clientX","innerSliderRect","offsetLeft","preventDefault","getPropertyValue","pointerEvents","left","_checkBoundary","_calculateIndicator","items","_el","querySelectorAll","Array","from","setTimeout","_calculateWidth","mouseUpHandler","removeProperty","_checkLocation","resizeHandler","ResizeObserver","_calculateHeight","observe","manual","elRect","centerOffset","width","outer","parseInt","maxLeft","length","visible","_isVisible","scrollToIndex","right","_isMobile","totalWidth","rect","sliderStyle","padding","gap","outerHeight","at"],"sources":["src/components/molecules/content-slider/content-slider.component.scss?tag=p-content-slider&encapsulation=shadow","src/components/molecules/content-slider/content-slider.component.tsx"],"sourcesContent":[":host {\n\t@apply flex flex-col overflow-hidden;\n\n\t@apply -mx-16 px-16;\n\n\t.slider {\n\t\t@apply relative box-content overflow-visible;\n\n\t\t&.draggable {\n\t\t\t@apply cursor-grab desktop-xs:cursor-auto;\n\n\t\t\t&.dragging {\n\t\t\t\t@apply cursor-grabbing desktop-xs:cursor-auto;\n\n\t\t\t\t.inner-slider {\n\t\t\t\t\t@apply transition-none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.inner-slider {\n\t\t\t@apply absolute flex w-full flex-nowrap items-stretch gap-2;\n\n\t\t\t@apply translate-x-0 transform-gpu will-change-transform;\n\n\t\t\t@apply desktop-xs:flex-wrap desktop-xs:gap-4;\n\n\t\t\t@apply transition-all;\n\t\t\ttransition-duration: 0.5s;\n\n\t\t\t> ::slotted(*) {\n\t\t\t\t@apply w-full;\n\t\t\t\t@apply z-10 flex-shrink-0;\n\n\t\t\t\t@screen tablet {\n\t\t\t\t\twidth: calc(50% - 0.5rem);\n\t\t\t\t}\n\n\t\t\t\t@screen desktop-xs {\n\t\t\t\t\t@apply w-0 flex-1;\n\t\t\t\t}\n\n\t\t\t\tposition: relative;\n\t\t\t}\n\t\t}\n\t}\n\n\t.indicator {\n\t\t@apply flex items-center justify-center desktop-xs:hidden;\n\n\t\t.item {\n\t\t\t@apply mt-3 px-1 pt-1;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cn } from '../../../utils';\n\n@Component({\n\ttag: 'p-content-slider',\n\tstyleUrl: 'content-slider.component.scss',\n\tshadow: true,\n})\nexport class ContentSlider {\n\t/**\n\t * Wether to hide the indicator on mobile\n\t */\n\t@Prop() hideMobileIndicator: boolean = false;\n\n\t/**\n\t * Wether to disable dragging the content\n\t */\n\t@Prop() disableDrag: boolean = false;\n\n\t/**\n\t * Wether to disable auto centering the content\n\t */\n\t@Prop() disableAutoCenter: boolean = false;\n\n\t/**\n\t * Wether to disable clicking the indicator scrolls content\n\t */\n\t@Prop() disableIndicatorClick: boolean = false;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _visibleIndex: number;\n\t@State() private _outerHeight = 0;\n\t@State() private _totalWidth = 0;\n\tprivate _sliderRef: HTMLElement;\n\tprivate _innerSliderRef: HTMLElement;\n\tprivate _items: HTMLElement[] = [];\n\tprivate _innerSliderResizeObserver: ResizeObserver;\n\n\t// mouse movement stuff\n\tprivate _startX: number;\n\tprivate _startMouseX: number;\n\tprivate _lastMouseX: number;\n\tprivate _lastIndex: number;\n\tprivate _shouldCheckLocation = false;\n\t@State() private _dragging = false;\n\n\tget _filteredItems() {\n\t\treturn this._items.filter(item => item.checkVisibility());\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._innerSliderResizeObserver) {\n\t\t\tthis._innerSliderResizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-content-slider'>\n\t\t\t\t<div\n\t\t\t\t\tclass={`slider ${!this.disableDrag && 'draggable'} ${\n\t\t\t\t\t\tthis._dragging && 'dragging'\n\t\t\t\t\t}`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: `${this._outerHeight}px`,\n\t\t\t\t\t}}\n\t\t\t\t\tref={el => (this._sliderRef = el)}\n\t\t\t\t\tonMouseDown={e => this._mouseDownHandler(e)}\n\t\t\t\t\tonTouchStart={e => this._mouseDownHandler(e)}\n\t\t\t\t\tonMouseMove={e => this._mouseMoveHandler(e)}\n\t\t\t\t\tonTouchMove={e => this._mouseMoveHandler(e)}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass='inner-slider'\n\t\t\t\t\t\tref={ref => this._setInnerSliderReft(ref)}\n\t\t\t\t\t\tonTransitionEnd={() => this._transitionEndHandler()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot onSlotchange={() => this._slotChange()} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class={`indicator ${this.hideMobileIndicator && 'hidden'}`}>\n\t\t\t\t\t{this._filteredItems.map((_, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => this._scrollTo(i, true)}\n\t\t\t\t\t\t\tclass={`item ${!this.disableIndicatorClick && 'cursor-pointer'}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={cn('block h-2 w-2 rounded-full', {\n\t\t\t\t\t\t\t\t\t'bg-indigo-600': i === this._visibleIndex,\n\t\t\t\t\t\t\t\t\t'bg-indigo-300': i !== this._visibleIndex,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _mouseDownHandler(e) {\n\t\tif (this.disableDrag || this._dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerSliderStyle = getComputedStyle(this._innerSliderRef);\n\t\tif (innerSliderStyle.flexWrap === 'wrap') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._startMouseX = e.x;\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tif (e.type === 'touchstart') {\n\t\t\tthis._startMouseX = e.touches?.[0].clientX;\n\t\t}\n\n\t\tconst innerSliderRect = this._innerSliderRef.getBoundingClientRect();\n\t\tconst offsetLeft = innerSliderRect.x - sliderRect.x;\n\n\t\tthis._startX = this._startMouseX - sliderRect.x - offsetLeft;\n\t\tthis._lastIndex = this._visibleIndex;\n\t\tthis._dragging = true;\n\t}\n\n\tprivate _mouseMoveHandler(e) {\n\t\tif (!e || !this._dragging || this.disableDrag) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._shouldCheckLocation = true;\n\n\t\tif (this._innerSliderRef.style.getPropertyValue('pointer-events') === '') {\n\t\t\tthis._innerSliderRef.style.pointerEvents = 'none';\n\t\t}\n\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tlet x = e.clientX - sliderRect.left;\n\t\tthis._lastMouseX = e.x;\n\t\tif (e.type === 'touchmove') {\n\t\t\tx = e.touches?.[0].clientX - sliderRect.left;\n\t\t\tthis._lastMouseX = e.touches?.[0].clientX;\n\t\t}\n\n\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t'--tw-translate-x',\n\t\t\t`${x - this._startX}px`\n\t\t);\n\n\t\tthis._checkBoundary();\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _transitionEndHandler() {\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _slotChange() {\n\t\tconst items = this._el.querySelectorAll(':scope > *');\n\t\tthis._items = Array.from(items) as HTMLElement[];\n\n\t\tsetTimeout(() => {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', '0px');\n\t\t\tthis._calculateWidth();\n\t\t\tthis._calculateIndicator();\n\t\t}, 100);\n\t}\n\n\t@Listen('mouseup', { target: 'window' })\n\t@Listen('touchend', { target: 'window' })\n\tmouseUpHandler() {\n\t\tthis._dragging = false;\n\t\tthis._innerSliderRef.style.removeProperty('pointer-events');\n\n\t\tthis._checkLocation();\n\t}\n\n\t@Listen('resize', { target: 'window' })\n\tresizeHandler() {\n\t\tif (this._innerSliderRef) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', '0px');\n\t\t\tthis._calculateWidth();\n\t\t\tthis._calculateIndicator();\n\t\t}\n\t}\n\n\tprivate _setInnerSliderReft(ref) {\n\t\tthis._innerSliderRef = ref;\n\t\tthis._innerSliderResizeObserver = new ResizeObserver(() =>\n\t\t\tthis._calculateHeight()\n\t\t);\n\t\tthis._innerSliderResizeObserver.observe(this._innerSliderRef);\n\t}\n\n\tprivate _scrollTo(i: number, manual = false) {\n\t\tif (this.disableIndicatorClick && manual) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst el = this._items[i];\n\n\t\tif (i === 0) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tconst innerSliderRect = this._innerSliderRef.getBoundingClientRect();\n\t\tconst elRect = el.getBoundingClientRect();\n\n\t\tconst offsetLeft = elRect.x - innerSliderRect.x;\n\n\t\tconst centerOffset = offsetLeft + elRect.width / 2 - sliderRect.width / 2;\n\n\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t'--tw-translate-x',\n\t\t\t`-${centerOffset}px`\n\t\t);\n\n\t\tthis._checkBoundary();\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _checkBoundary() {\n\t\tlet outer = this._sliderRef.getBoundingClientRect();\n\n\t\tconst left = parseInt(\n\t\t\tthis._innerSliderRef.style.getPropertyValue('--tw-translate-x')\n\t\t);\n\t\tif (left > 0) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t\t}\n\n\t\tconst maxLeft = (this._totalWidth - outer.width) * -1;\n\t\tif (left < maxLeft) {\n\t\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t\t'--tw-translate-x',\n\t\t\t\t`${maxLeft}px`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _calculateIndicator() {\n\t\tfor (let i = 0; i < this._filteredItems.length; i++) {\n\t\t\tconst item = this._filteredItems[i];\n\t\t\tconst visible = this._isVisible(item);\n\n\t\t\tif (visible) {\n\t\t\t\tthis._visibleIndex = i;\n\t\t\t}\n\n\t\t\tif (i === 0 && visible) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _checkLocation() {\n\t\tif (!this._shouldCheckLocation) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollToIndex = null;\n\t\tif (this._lastIndex !== this._visibleIndex) {\n\t\t\tscrollToIndex = this._visibleIndex;\n\t\t}\n\n\t\tif (this._lastIndex === this._visibleIndex) {\n\t\t\tif (this._lastMouseX > this._startMouseX && this._lastIndex !== 0) {\n\t\t\t\tscrollToIndex = this._lastIndex - 1;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis._lastMouseX < this._startMouseX &&\n\t\t\t\tthis._lastIndex !== this._items?.length - 1\n\t\t\t) {\n\t\t\t\tscrollToIndex = this._lastIndex + 1;\n\t\t\t}\n\t\t}\n\n\t\tif (scrollToIndex !== null) {\n\t\t\tthis._shouldCheckLocation = false;\n\t\t\tsetTimeout(() => this._scrollTo(scrollToIndex), 100);\n\t\t}\n\t}\n\n\tprivate _isVisible(el: HTMLElement) {\n\t\tif (!this._el || !el) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst elRect = el.getBoundingClientRect();\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\n\t\treturn (\n\t\t\t(elRect.left >= sliderRect.left && elRect.right <= sliderRect.right) ||\n\t\t\t(this._isMobile(el) &&\n\t\t\t\telRect.left + elRect.width / 2 >= sliderRect.left &&\n\t\t\t\telRect.left + elRect.width / 2 <= sliderRect.right)\n\t\t);\n\t}\n\n\tprivate _calculateWidth() {\n\t\tlet totalWidth = 0;\n\n\t\tfor (let item of this._filteredItems) {\n\t\t\tconst rect = item.getBoundingClientRect();\n\t\t\ttotalWidth += rect.width;\n\t\t}\n\n\t\tconst sliderStyle = getComputedStyle(this._sliderRef);\n\t\tconst padding = parseInt(sliderStyle.padding) * 2;\n\n\t\tconst innerSliderStyle = getComputedStyle(this._innerSliderRef);\n\t\tconst gap =\n\t\t\tparseInt(innerSliderStyle.gap) * (this._filteredItems.length - 1);\n\n\t\ttotalWidth += padding + gap;\n\n\t\tthis._totalWidth = totalWidth;\n\t}\n\n\tprivate _calculateHeight() {\n\t\tconst items = this._filteredItems;\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst outerHeight = this._filteredItems\n\t\t\t.at(0)\n\t\t\t.getBoundingClientRect().height;\n\t\tif (outerHeight != this._outerHeight) {\n\t\t\tthis._outerHeight = outerHeight;\n\t\t}\n\t}\n\n\tprivate _isMobile(el?: HTMLElement) {\n\t\tif (!el) {\n\t\t\tel = this._filteredItems.at(0);\n\t\t}\n\n\t\tconst elRect = el.getBoundingClientRect();\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\n\t\treturn sliderRect.width - elRect.width < 10;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,g as i,h as e,H as s}from"./p-DhGo7hbh.js";import{c as r}from"./p-CT54OXR2.js";import"./p-ChV9xqsO.js";const a=".absolute{position:absolute!important}.relative{position:relative!important}.z-10{z-index:10!important}.-mx-16{margin-left:-4rem!important;margin-right:-4rem!important}.mt-3{margin-top:.75rem!important}.box-content{box-sizing:content-box!important}.flex{display:flex!important}.w-0{width:0!important}.w-full{width:100%!important}.translate-x-0{--tw-translate-x:0px!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.flex-col{flex-direction:column!important}.flex-nowrap{flex-wrap:nowrap!important}.items-center{align-items:center!important}.items-stretch{align-items:stretch!important}.justify-center{justify-content:center!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}*{box-sizing:border-box}:host{display:flex;flex-direction:column;margin-left:-4rem;margin-right:-4rem;overflow:hidden;padding-left:4rem;padding-right:4rem}:host .slider{box-sizing:content-box;overflow:visible;position:relative}:host .slider.draggable{cursor:grab}@media (min-width:64rem){:host .slider.draggable{cursor:auto}}:host .slider.draggable.dragging{cursor:grabbing}@media (min-width:64rem){:host .slider.draggable.dragging{cursor:auto}}:host .slider.draggable.dragging .inner-slider{transition-property:none}:host .slider .inner-slider{--tw-translate-x:0px;align-items:stretch;display:flex;flex-wrap:nowrap;gap:.5rem;position:absolute;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.15s;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}@media (min-width:64rem){:host .slider .inner-slider{flex-wrap:wrap;gap:1rem}}:host .slider .inner-slider>::slotted(*){flex-shrink:0;position:relative;width:100%;z-index:10}@media (min-width:40rem){:host .slider .inner-slider>::slotted(*){width:calc(50% - .5rem)}}@media (min-width:64rem){:host .slider .inner-slider>::slotted(*){flex:1 1 0%;width:0}}:host .indicator{align-items:center;display:flex;justify-content:center}@media (min-width:64rem){:host .indicator{display:none}}:host .indicator .item{margin-top:.75rem;padding-left:.25rem;padding-right:.25rem;padding-top:.25rem}@media (min-width:64rem){.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:flex-wrap{flex-wrap:wrap!important}}.visible{visibility:visible!important}.static{position:static!important}.block{display:block!important}.hidden{display:none!important}.h-2{height:.5rem!important}.w-2{width:.5rem!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.rounded-full{border-radius:9999px!important}.bg-indigo-300{--tw-bg-opacity:1!important;background-color:rgb(187 209 253/var(--tw-bg-opacity,1))!important}.bg-indigo-600{--tw-bg-opacity:1!important;background-color:rgb(82 138 250/var(--tw-bg-opacity,1))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";const n=class{constructor(i){t(this,i)}hideMobileIndicator=false;disableDrag=false;disableAutoCenter=false;disableIndicatorClick=false;get _el(){return i(this)}_visibleIndex;_outerHeight=0;_totalWidth=0;_sliderRef;_innerSliderRef;_items=[];_innerSliderResizeObserver;_startX;_startMouseX;_lastMouseX;_lastIndex;_shouldCheckLocation=false;_dragging=false;get _filteredItems(){return this._items.filter((t=>t.checkVisibility()))}componentDidLoad(){this._innerSliderRef.style.setProperty("--tw-translate-x",`0px`)}disconnectedCallback(){if(this._innerSliderResizeObserver){this._innerSliderResizeObserver.disconnect()}}render(){return e(s,{key:"b9e349c61110dedeaa3e94a8c1683808b071c8ae",class:"p-content-slider"},e("div",{key:"77818e653b59c0167c062479eb17f4aa1b45f23c",class:`slider ${!this.disableDrag&&"draggable"} ${this._dragging&&"dragging"}`,style:{height:`${this._outerHeight}px`},ref:t=>this._sliderRef=t,onMouseDown:t=>this._mouseDownHandler(t),onTouchStart:t=>this._mouseDownHandler(t),onMouseMove:t=>this._mouseMoveHandler(t),onTouchMove:t=>this._mouseMoveHandler(t)},e("div",{key:"a8fa7d20d93d3bbec00e630549d942b5bc8fbd36",class:"inner-slider",ref:t=>this._setInnerSliderReft(t),onTransitionEnd:()=>this._transitionEndHandler()},e("slot",{key:"67599e1078d4f63e31271a27feb31895cc34c441",onSlotchange:()=>this._slotChange()}))),e("div",{key:"4d0d9c52dbcc4bc5139e447b7f625ac204b4fba8",class:`indicator ${this.hideMobileIndicator&&"hidden"}`},this._filteredItems.map(((t,i)=>e("div",{onClick:()=>this._scrollTo(i,true),class:`item ${!this.disableIndicatorClick&&"cursor-pointer"}`},e("div",{class:r("block h-2 w-2 rounded-full",{"bg-indigo-600":i===this._visibleIndex,"bg-indigo-300":i!==this._visibleIndex})}))))))}_mouseDownHandler(t){if(this.disableDrag||this._dragging){return}const i=getComputedStyle(this._innerSliderRef);if(i.flexWrap==="wrap"){return}this._startMouseX=t.x;const e=this._sliderRef.getBoundingClientRect();if(t.type==="touchstart"){this._startMouseX=t.touches?.[0].clientX}const s=this._innerSliderRef.getBoundingClientRect();const r=s.x-e.x;this._startX=this._startMouseX-e.x-r;this._lastIndex=this._visibleIndex;this._dragging=true}_mouseMoveHandler(t){if(!t||!this._dragging||this.disableDrag){return}t.preventDefault();this._shouldCheckLocation=true;if(this._innerSliderRef.style.getPropertyValue("pointer-events")===""){this._innerSliderRef.style.pointerEvents="none"}const i=this._sliderRef.getBoundingClientRect();let e=t.clientX-i.left;this._lastMouseX=t.x;if(t.type==="touchmove"){e=t.touches?.[0].clientX-i.left;this._lastMouseX=t.touches?.[0].clientX}this._innerSliderRef.style.setProperty("--tw-translate-x",`${e-this._startX}px`);this._checkBoundary();this._calculateIndicator()}_transitionEndHandler(){this._calculateIndicator()}_slotChange(){const t=this._el.querySelectorAll(":scope > *");this._items=Array.from(t);setTimeout((()=>{this._innerSliderRef.style.setProperty("--tw-translate-x","0px");this._calculateWidth();this._calculateIndicator()}),100)}mouseUpHandler(){this._dragging=false;this._innerSliderRef.style.removeProperty("pointer-events");this._checkLocation()}resizeHandler(){if(this._innerSliderRef){this._innerSliderRef.style.setProperty("--tw-translate-x","0px");this._calculateWidth();this._calculateIndicator()}}_setInnerSliderReft(t){this._innerSliderRef=t;this._innerSliderResizeObserver=new ResizeObserver((()=>this._calculateHeight()));this._innerSliderResizeObserver.observe(this._innerSliderRef)}_scrollTo(t,i=false){if(this.disableIndicatorClick&&i){return}const e=this._items[t];if(t===0){this._innerSliderRef.style.setProperty("--tw-translate-x",`0px`);return}const s=this._sliderRef.getBoundingClientRect();const r=this._innerSliderRef.getBoundingClientRect();const a=e.getBoundingClientRect();const n=a.x-r.x;const o=n+a.width/2-s.width/2;this._innerSliderRef.style.setProperty("--tw-translate-x",`-${o}px`);this._checkBoundary();this._calculateIndicator()}_checkBoundary(){let t=this._sliderRef.getBoundingClientRect();const i=parseInt(this._innerSliderRef.style.getPropertyValue("--tw-translate-x"));if(i>0){this._innerSliderRef.style.setProperty("--tw-translate-x",`0px`)}const e=(this._totalWidth-t.width)*-1;if(i<e){this._innerSliderRef.style.setProperty("--tw-translate-x",`${e}px`)}}_calculateIndicator(){for(let t=0;t<this._filteredItems.length;t++){const i=this._filteredItems[t];const e=this._isVisible(i);if(e){this._visibleIndex=t}if(t===0&&e){break}}}_checkLocation(){if(!this._shouldCheckLocation){return}let t=null;if(this._lastIndex!==this._visibleIndex){t=this._visibleIndex}if(this._lastIndex===this._visibleIndex){if(this._lastMouseX>this._startMouseX&&this._lastIndex!==0){t=this._lastIndex-1}if(this._lastMouseX<this._startMouseX&&this._lastIndex!==this._items?.length-1){t=this._lastIndex+1}}if(t!==null){this._shouldCheckLocation=false;setTimeout((()=>this._scrollTo(t)),100)}}_isVisible(t){if(!this._el||!t){return false}const i=t.getBoundingClientRect();const e=this._sliderRef.getBoundingClientRect();return i.left>=e.left&&i.right<=e.right||this._isMobile(t)&&i.left+i.width/2>=e.left&&i.left+i.width/2<=e.right}_calculateWidth(){let t=0;for(let i of this._filteredItems){const e=i.getBoundingClientRect();t+=e.width}const i=getComputedStyle(this._sliderRef);const e=parseInt(i.padding)*2;const s=getComputedStyle(this._innerSliderRef);const r=parseInt(s.gap)*(this._filteredItems.length-1);t+=e+r;this._totalWidth=t}_calculateHeight(){const t=this._filteredItems;if(!t.length){return}const i=this._filteredItems.at(0).getBoundingClientRect().height;if(i!=this._outerHeight){this._outerHeight=i}}_isMobile(t){if(!t){t=this._filteredItems.at(0)}const i=t.getBoundingClientRect();const e=this._sliderRef.getBoundingClientRect();return e.width-i.width<10}};n.style=a;export{n as p_content_slider};
|
|
2
|
-
//# sourceMappingURL=p-7b6decaa.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["contentSliderComponentCss","ContentSlider","hideMobileIndicator","disableDrag","disableAutoCenter","disableIndicatorClick","_visibleIndex","_outerHeight","_totalWidth","_sliderRef","_innerSliderRef","_items","_innerSliderResizeObserver","_startX","_startMouseX","_lastMouseX","_lastIndex","_shouldCheckLocation","_dragging","_filteredItems","this","filter","item","checkVisibility","componentDidLoad","style","setProperty","disconnectedCallback","disconnect","render","h","Host","key","class","height","ref","el","onMouseDown","e","_mouseDownHandler","onTouchStart","onMouseMove","_mouseMoveHandler","onTouchMove","_setInnerSliderReft","onTransitionEnd","_transitionEndHandler","onSlotchange","_slotChange","map","_","i","onClick","_scrollTo","cn","innerSliderStyle","getComputedStyle","flexWrap","x","sliderRect","getBoundingClientRect","type","touches","clientX","innerSliderRect","offsetLeft","preventDefault","getPropertyValue","pointerEvents","left","_checkBoundary","_calculateIndicator","items","_el","querySelectorAll","Array","from","setTimeout","_calculateWidth","mouseUpHandler","removeProperty","_checkLocation","resizeHandler","ResizeObserver","_calculateHeight","observe","manual","elRect","centerOffset","width","outer","parseInt","maxLeft","length","visible","_isVisible","scrollToIndex","right","_isMobile","totalWidth","rect","sliderStyle","padding","gap","outerHeight","at"],"sources":["src/components/molecules/content-slider/content-slider.component.scss?tag=p-content-slider&encapsulation=shadow","src/components/molecules/content-slider/content-slider.component.tsx"],"sourcesContent":[":host {\n\t@apply flex flex-col overflow-hidden;\n\n\t@apply -mx-16 px-16;\n\n\t.slider {\n\t\t@apply relative box-content overflow-visible;\n\n\t\t&.draggable {\n\t\t\t@apply cursor-grab desktop-xs:cursor-auto;\n\n\t\t\t&.dragging {\n\t\t\t\t@apply cursor-grabbing desktop-xs:cursor-auto;\n\n\t\t\t\t.inner-slider {\n\t\t\t\t\t@apply transition-none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.inner-slider {\n\t\t\t@apply absolute flex w-full flex-nowrap items-stretch gap-2;\n\n\t\t\t@apply translate-x-0 transform-gpu will-change-transform;\n\n\t\t\t@apply desktop-xs:flex-wrap desktop-xs:gap-4;\n\n\t\t\t@apply transition-all;\n\t\t\ttransition-duration: 0.5s;\n\n\t\t\t> ::slotted(*) {\n\t\t\t\t@apply w-full;\n\t\t\t\t@apply z-10 flex-shrink-0;\n\n\t\t\t\t@screen tablet {\n\t\t\t\t\twidth: calc(50% - 0.5rem);\n\t\t\t\t}\n\n\t\t\t\t@screen desktop-xs {\n\t\t\t\t\t@apply w-0 flex-1;\n\t\t\t\t}\n\n\t\t\t\tposition: relative;\n\t\t\t}\n\t\t}\n\t}\n\n\t.indicator {\n\t\t@apply flex items-center justify-center desktop-xs:hidden;\n\n\t\t.item {\n\t\t\t@apply mt-3 px-1 pt-1;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cn } from '../../../utils';\n\n@Component({\n\ttag: 'p-content-slider',\n\tstyleUrl: 'content-slider.component.scss',\n\tshadow: true,\n})\nexport class ContentSlider {\n\t/**\n\t * Wether to hide the indicator on mobile\n\t */\n\t@Prop() hideMobileIndicator: boolean = false;\n\n\t/**\n\t * Wether to disable dragging the content\n\t */\n\t@Prop() disableDrag: boolean = false;\n\n\t/**\n\t * Wether to disable auto centering the content\n\t */\n\t@Prop() disableAutoCenter: boolean = false;\n\n\t/**\n\t * Wether to disable clicking the indicator scrolls content\n\t */\n\t@Prop() disableIndicatorClick: boolean = false;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _visibleIndex: number;\n\t@State() private _outerHeight = 0;\n\t@State() private _totalWidth = 0;\n\tprivate _sliderRef: HTMLElement;\n\tprivate _innerSliderRef: HTMLElement;\n\tprivate _items: HTMLElement[] = [];\n\tprivate _innerSliderResizeObserver: ResizeObserver;\n\n\t// mouse movement stuff\n\tprivate _startX: number;\n\tprivate _startMouseX: number;\n\tprivate _lastMouseX: number;\n\tprivate _lastIndex: number;\n\tprivate _shouldCheckLocation = false;\n\t@State() private _dragging = false;\n\n\tget _filteredItems() {\n\t\treturn this._items.filter(item => item.checkVisibility());\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._innerSliderResizeObserver) {\n\t\t\tthis._innerSliderResizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-content-slider'>\n\t\t\t\t<div\n\t\t\t\t\tclass={`slider ${!this.disableDrag && 'draggable'} ${\n\t\t\t\t\t\tthis._dragging && 'dragging'\n\t\t\t\t\t}`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: `${this._outerHeight}px`,\n\t\t\t\t\t}}\n\t\t\t\t\tref={el => (this._sliderRef = el)}\n\t\t\t\t\tonMouseDown={e => this._mouseDownHandler(e)}\n\t\t\t\t\tonTouchStart={e => this._mouseDownHandler(e)}\n\t\t\t\t\tonMouseMove={e => this._mouseMoveHandler(e)}\n\t\t\t\t\tonTouchMove={e => this._mouseMoveHandler(e)}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass='inner-slider'\n\t\t\t\t\t\tref={ref => this._setInnerSliderReft(ref)}\n\t\t\t\t\t\tonTransitionEnd={() => this._transitionEndHandler()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot onSlotchange={() => this._slotChange()} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class={`indicator ${this.hideMobileIndicator && 'hidden'}`}>\n\t\t\t\t\t{this._filteredItems.map((_, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => this._scrollTo(i, true)}\n\t\t\t\t\t\t\tclass={`item ${!this.disableIndicatorClick && 'cursor-pointer'}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={cn('block h-2 w-2 rounded-full', {\n\t\t\t\t\t\t\t\t\t'bg-indigo-600': i === this._visibleIndex,\n\t\t\t\t\t\t\t\t\t'bg-indigo-300': i !== this._visibleIndex,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _mouseDownHandler(e) {\n\t\tif (this.disableDrag || this._dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerSliderStyle = getComputedStyle(this._innerSliderRef);\n\t\tif (innerSliderStyle.flexWrap === 'wrap') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._startMouseX = e.x;\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tif (e.type === 'touchstart') {\n\t\t\tthis._startMouseX = e.touches?.[0].clientX;\n\t\t}\n\n\t\tconst innerSliderRect = this._innerSliderRef.getBoundingClientRect();\n\t\tconst offsetLeft = innerSliderRect.x - sliderRect.x;\n\n\t\tthis._startX = this._startMouseX - sliderRect.x - offsetLeft;\n\t\tthis._lastIndex = this._visibleIndex;\n\t\tthis._dragging = true;\n\t}\n\n\tprivate _mouseMoveHandler(e) {\n\t\tif (!e || !this._dragging || this.disableDrag) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._shouldCheckLocation = true;\n\n\t\tif (this._innerSliderRef.style.getPropertyValue('pointer-events') === '') {\n\t\t\tthis._innerSliderRef.style.pointerEvents = 'none';\n\t\t}\n\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tlet x = e.clientX - sliderRect.left;\n\t\tthis._lastMouseX = e.x;\n\t\tif (e.type === 'touchmove') {\n\t\t\tx = e.touches?.[0].clientX - sliderRect.left;\n\t\t\tthis._lastMouseX = e.touches?.[0].clientX;\n\t\t}\n\n\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t'--tw-translate-x',\n\t\t\t`${x - this._startX}px`\n\t\t);\n\n\t\tthis._checkBoundary();\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _transitionEndHandler() {\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _slotChange() {\n\t\tconst items = this._el.querySelectorAll(':scope > *');\n\t\tthis._items = Array.from(items) as HTMLElement[];\n\n\t\tsetTimeout(() => {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', '0px');\n\t\t\tthis._calculateWidth();\n\t\t\tthis._calculateIndicator();\n\t\t}, 100);\n\t}\n\n\t@Listen('mouseup', { target: 'window' })\n\t@Listen('touchend', { target: 'window' })\n\tmouseUpHandler() {\n\t\tthis._dragging = false;\n\t\tthis._innerSliderRef.style.removeProperty('pointer-events');\n\n\t\tthis._checkLocation();\n\t}\n\n\t@Listen('resize', { target: 'window' })\n\tresizeHandler() {\n\t\tif (this._innerSliderRef) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', '0px');\n\t\t\tthis._calculateWidth();\n\t\t\tthis._calculateIndicator();\n\t\t}\n\t}\n\n\tprivate _setInnerSliderReft(ref) {\n\t\tthis._innerSliderRef = ref;\n\t\tthis._innerSliderResizeObserver = new ResizeObserver(() =>\n\t\t\tthis._calculateHeight()\n\t\t);\n\t\tthis._innerSliderResizeObserver.observe(this._innerSliderRef);\n\t}\n\n\tprivate _scrollTo(i: number, manual = false) {\n\t\tif (this.disableIndicatorClick && manual) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst el = this._items[i];\n\n\t\tif (i === 0) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\t\tconst innerSliderRect = this._innerSliderRef.getBoundingClientRect();\n\t\tconst elRect = el.getBoundingClientRect();\n\n\t\tconst offsetLeft = elRect.x - innerSliderRect.x;\n\n\t\tconst centerOffset = offsetLeft + elRect.width / 2 - sliderRect.width / 2;\n\n\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t'--tw-translate-x',\n\t\t\t`-${centerOffset}px`\n\t\t);\n\n\t\tthis._checkBoundary();\n\t\tthis._calculateIndicator();\n\t}\n\n\tprivate _checkBoundary() {\n\t\tlet outer = this._sliderRef.getBoundingClientRect();\n\n\t\tconst left = parseInt(\n\t\t\tthis._innerSliderRef.style.getPropertyValue('--tw-translate-x')\n\t\t);\n\t\tif (left > 0) {\n\t\t\tthis._innerSliderRef.style.setProperty('--tw-translate-x', `0px`);\n\t\t}\n\n\t\tconst maxLeft = (this._totalWidth - outer.width) * -1;\n\t\tif (left < maxLeft) {\n\t\t\tthis._innerSliderRef.style.setProperty(\n\t\t\t\t'--tw-translate-x',\n\t\t\t\t`${maxLeft}px`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _calculateIndicator() {\n\t\tfor (let i = 0; i < this._filteredItems.length; i++) {\n\t\t\tconst item = this._filteredItems[i];\n\t\t\tconst visible = this._isVisible(item);\n\n\t\t\tif (visible) {\n\t\t\t\tthis._visibleIndex = i;\n\t\t\t}\n\n\t\t\tif (i === 0 && visible) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _checkLocation() {\n\t\tif (!this._shouldCheckLocation) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollToIndex = null;\n\t\tif (this._lastIndex !== this._visibleIndex) {\n\t\t\tscrollToIndex = this._visibleIndex;\n\t\t}\n\n\t\tif (this._lastIndex === this._visibleIndex) {\n\t\t\tif (this._lastMouseX > this._startMouseX && this._lastIndex !== 0) {\n\t\t\t\tscrollToIndex = this._lastIndex - 1;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis._lastMouseX < this._startMouseX &&\n\t\t\t\tthis._lastIndex !== this._items?.length - 1\n\t\t\t) {\n\t\t\t\tscrollToIndex = this._lastIndex + 1;\n\t\t\t}\n\t\t}\n\n\t\tif (scrollToIndex !== null) {\n\t\t\tthis._shouldCheckLocation = false;\n\t\t\tsetTimeout(() => this._scrollTo(scrollToIndex), 100);\n\t\t}\n\t}\n\n\tprivate _isVisible(el: HTMLElement) {\n\t\tif (!this._el || !el) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst elRect = el.getBoundingClientRect();\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\n\t\treturn (\n\t\t\t(elRect.left >= sliderRect.left && elRect.right <= sliderRect.right) ||\n\t\t\t(this._isMobile(el) &&\n\t\t\t\telRect.left + elRect.width / 2 >= sliderRect.left &&\n\t\t\t\telRect.left + elRect.width / 2 <= sliderRect.right)\n\t\t);\n\t}\n\n\tprivate _calculateWidth() {\n\t\tlet totalWidth = 0;\n\n\t\tfor (let item of this._filteredItems) {\n\t\t\tconst rect = item.getBoundingClientRect();\n\t\t\ttotalWidth += rect.width;\n\t\t}\n\n\t\tconst sliderStyle = getComputedStyle(this._sliderRef);\n\t\tconst padding = parseInt(sliderStyle.padding) * 2;\n\n\t\tconst innerSliderStyle = getComputedStyle(this._innerSliderRef);\n\t\tconst gap =\n\t\t\tparseInt(innerSliderStyle.gap) * (this._filteredItems.length - 1);\n\n\t\ttotalWidth += padding + gap;\n\n\t\tthis._totalWidth = totalWidth;\n\t}\n\n\tprivate _calculateHeight() {\n\t\tconst items = this._filteredItems;\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst outerHeight = this._filteredItems\n\t\t\t.at(0)\n\t\t\t.getBoundingClientRect().height;\n\t\tif (outerHeight != this._outerHeight) {\n\t\t\tthis._outerHeight = outerHeight;\n\t\t}\n\t}\n\n\tprivate _isMobile(el?: HTMLElement) {\n\t\tif (!el) {\n\t\t\tel = this._filteredItems.at(0);\n\t\t}\n\n\t\tconst elRect = el.getBoundingClientRect();\n\t\tconst sliderRect = this._sliderRef.getBoundingClientRect();\n\n\t\treturn sliderRect.width - elRect.width < 10;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|