@dso-toolkit/core 62.0.0 → 62.2.0
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/dso-accordion-section.cjs.entry.js +39 -27
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-alert_5.cjs.entry.js +16 -7
- package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js +8 -8
- package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-expandable.cjs.entry.js +4 -0
- package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +4 -2
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +32 -49
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
- package/dist/collection/components/accordion/components/accordion-section.js +129 -9
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
- package/dist/collection/components/date-picker/date-utils.js +8 -8
- package/dist/collection/components/date-picker/date-utils.js.map +1 -1
- package/dist/collection/components/document-component/document-component.js +36 -12
- package/dist/collection/components/document-component/document-component.js.map +1 -1
- package/dist/collection/components/document-component/document-component.models.js.map +1 -1
- package/dist/collection/components/expandable/expandable.js +25 -1
- package/dist/collection/components/expandable/expandable.js.map +1 -1
- package/dist/collection/components/header/header.css +20 -38
- package/dist/collection/components/header/header.interfaces.js.map +1 -1
- package/dist/collection/components/header/header.js +40 -3
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/highlight-box/highlight-box.css +1 -0
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/logo/logo.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content-mapper.js +15 -5
- package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js +11 -6
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/viewer-grid/components/document-panel.js +2 -2
- package/dist/collection/components/viewer-grid/components/document-panel.js.map +1 -1
- package/dist/collection/components/viewer-grid/components/main-panel.js +4 -3
- package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
- package/dist/collection/components/viewer-grid/components/sizing-buttons.js +4 -0
- package/dist/collection/components/viewer-grid/components/sizing-buttons.js.map +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid.css +2 -97
- package/dist/collection/components/viewer-grid/viewer-grid.js +3 -9
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
- package/dist/components/attachments-counter.js +41 -0
- package/dist/components/attachments-counter.js.map +1 -0
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +50 -31
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-attachments-counter.js +1 -37
- package/dist/components/dso-attachments-counter.js.map +1 -1
- package/dist/components/dso-date-picker.js +8 -8
- package/dist/components/dso-date-picker.js.map +1 -1
- package/dist/components/dso-header.js +6 -2
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-highlight-box.js.map +1 -1
- package/dist/components/dso-logo.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +32 -49
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/expandable.js +4 -0
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/ozon-content.js +16 -7
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
- package/dist/dso-toolkit/p-000f7731.entry.js +2 -0
- package/dist/dso-toolkit/p-000f7731.entry.js.map +1 -0
- package/dist/dso-toolkit/p-18152675.entry.js +2 -0
- package/dist/dso-toolkit/p-18152675.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-432df09a.entry.js → p-2719a53a.entry.js} +2 -2
- package/dist/dso-toolkit/p-2719a53a.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-7d90b3b2.entry.js → p-4239e3d6.entry.js} +2 -2
- package/dist/dso-toolkit/p-4239e3d6.entry.js.map +1 -0
- package/dist/dso-toolkit/p-47e77e24.entry.js.map +1 -1
- package/dist/dso-toolkit/p-4e04b39f.entry.js +2 -0
- package/dist/dso-toolkit/p-4e04b39f.entry.js.map +1 -0
- package/dist/dso-toolkit/p-6dfe9062.entry.js.map +1 -1
- package/dist/dso-toolkit/p-753b5aa8.entry.js +2 -0
- package/dist/dso-toolkit/p-753b5aa8.entry.js.map +1 -0
- package/dist/dso-toolkit/p-7edafced.entry.js +2 -0
- package/dist/dso-toolkit/p-7edafced.entry.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +40 -28
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-alert_5.entry.js +16 -7
- package/dist/esm/dso-alert_5.entry.js.map +1 -1
- package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
- package/dist/esm/dso-date-picker.entry.js +8 -8
- package/dist/esm/dso-date-picker.entry.js.map +1 -1
- package/dist/esm/dso-expandable.entry.js +4 -0
- package/dist/esm/dso-expandable.entry.js.map +1 -1
- package/dist/esm/dso-header.entry.js +4 -2
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-highlight-box.entry.js.map +1 -1
- package/dist/esm/dso-logo.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +32 -49
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/accordion/components/accordion-section.d.ts +15 -1
- package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +11 -1
- package/dist/types/components/document-component/document-component.d.ts +5 -5
- package/dist/types/components/document-component/document-component.models.d.ts +1 -0
- package/dist/types/components/expandable/expandable.d.ts +7 -1
- package/dist/types/components/header/header.d.ts +12 -1
- package/dist/types/components/header/header.interfaces.d.ts +1 -1
- package/dist/types/components/logo/logo.d.ts +1 -1
- package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +4 -2
- package/dist/types/components/ozon-content/ozon-content.d.ts +2 -2
- package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +1 -0
- package/dist/types/components/viewer-grid/components/main-panel.d.ts +0 -1
- package/dist/types/components/viewer-grid/components/sizing-buttons.d.ts +10 -0
- package/dist/types/components/viewer-grid/viewer-grid.d.ts +0 -2
- package/dist/types/components.d.ts +61 -25
- package/package.json +2 -2
- package/dist/collection/components/accordion/components/handles/element.handle.js +0 -8
- package/dist/collection/components/accordion/components/handles/element.handle.js.map +0 -1
- package/dist/collection/components/accordion/components/handles/heading.handle.js +0 -15
- package/dist/collection/components/accordion/components/handles/heading.handle.js.map +0 -1
- package/dist/collection/components/accordion/components/handles/icon.handle.js +0 -14
- package/dist/collection/components/accordion/components/handles/icon.handle.js.map +0 -1
- package/dist/collection/components/accordion/components/handles/index.js +0 -5
- package/dist/collection/components/accordion/components/handles/index.js.map +0 -1
- package/dist/collection/components/accordion/components/handles/state-icon.handle.js +0 -19
- package/dist/collection/components/accordion/components/handles/state-icon.handle.js.map +0 -1
- package/dist/dso-toolkit/p-04662263.entry.js +0 -2
- package/dist/dso-toolkit/p-04662263.entry.js.map +0 -1
- package/dist/dso-toolkit/p-432df09a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-6b42f0cc.entry.js +0 -2
- package/dist/dso-toolkit/p-6b42f0cc.entry.js.map +0 -1
- package/dist/dso-toolkit/p-7d90b3b2.entry.js.map +0 -1
- package/dist/dso-toolkit/p-a7186c03.entry.js +0 -2
- package/dist/dso-toolkit/p-a7186c03.entry.js.map +0 -1
- package/dist/dso-toolkit/p-c47aea93.entry.js +0 -2
- package/dist/dso-toolkit/p-c47aea93.entry.js.map +0 -1
- package/dist/dso-toolkit/p-dbea5bbd.entry.js +0 -2
- package/dist/dso-toolkit/p-dbea5bbd.entry.js.map +0 -1
- package/dist/types/components/accordion/components/handles/element.handle.d.ts +0 -6
- package/dist/types/components/accordion/components/handles/heading.handle.d.ts +0 -6
- package/dist/types/components/accordion/components/handles/icon.handle.d.ts +0 -7
- package/dist/types/components/accordion/components/handles/index.d.ts +0 -4
- package/dist/types/components/accordion/components/handles/state-icon.handle.d.ts +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","defaultTweenSettings","duration","delay","endDelay","easing","round","validTransforms","cache","CSS","springs","minMax","val","min","max","Math","stringContains","str","text","indexOf","applyArguments","func","args","apply","is","arr","a","Array","isArray","obj","Object","prototype","toString","call","pth","hasOwnProperty","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","nil","hex","test","rgb","hsl","col","key","parseEasingParameters","string","match","exec","split","map","p","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","b","solver","t","progress","exp","cos","sin","getDuration","cached","frame","elapsed","rest","steps","ceil","bezier","kSplineTableSize","kSampleStepSize","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","i","abs","newtonRaphsonIterate","aGuessT","currentSlope","mY1","mY2","sampleValues","Float32Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","x","penner","eases","linear","functionEasings","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","baseEasings","forEach","name","keys","easeIn","parseEasings","ease","selectString","nodes","document","querySelectorAll","e","filterArray","callback","len","length","thisArg","arguments","result","push","flattenArray","reduce","concat","toArray","o","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","rgbToRgba","rgbValue","hexToRgba","hexValue","rgx","replace","m","r","g","parseInt","hslToRgba","hslValue","h","s","l","hue2rgb","q","colorToRgb","getUnit","getTransformUnit","propName","getFunctionValue","animatable","target","id","total","getAttribute","el","prop","convertPxToUnit","value","unit","valueUnit","baseline","tempEl","createElement","tagName","parentEl","parentNode","body","appendChild","style","position","width","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","defaultVal","get","list","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","substr","getDistance","p1","p2","getCircleLength","getRectLength","getLineLength","getPolylineLength","points","totalLength","previousPos","numberOfItems","currentPos","getItem","getPolygonLength","getTotalLength","setDashoffset","pathLength","setAttribute","getParentSvgEl","getParentSvg","pathEl","svgData","parentSvgEl","rect","getBoundingClientRect","viewBoxAttr","height","viewBox","w","vW","vH","getPath","path","percent","property","getPathProgress","isPathTargetInsideSVG","point","offset","getPointAtLength","p0","scaleX","scaleY","atan2","decomposeValue","original","numbers","Number","strings","parseTargets","targets","targetsArray","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","isFromTo","propArray","v","k","flattenKeyframes","keyframes","propertyNames","properties","newKey","getProperties","tweens","normalizeTweenValues","tween","normalizeTweens","previousTween","tweenValue","toUnit","originalValue","previousValue","fromUnit","start","end","isPath","isColor","setProgressValue","css","attribute","object","manual","last","setTargetsValue","animatables","animType","createAnimation","lastTween","type","getAnimations","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","createNewInstance","instanceSettings","children","activeInstances","engine","raf","play","isDocumentHidden","anime","suspendWhenDocumentHidden","requestAnimationFrame","step","activeInstancesLength","activeInstance","paused","tick","splice","undefined","handleVisibilityChange","cancelAnimationFrame","instance","_onDocumentVisibility","addEventListener","hidden","startTime","lastTime","now","childrenLength","resolve","makePromise","promise","window","Promise","_resolve","finished","toggleInstanceDirection","reversed","child","adjustTime","time","resetTime","currentTime","speed","seekChild","seek","syncInstanceChildren","reversePlayback","i$1","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","n","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","countIteration","remaining","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","began","loopBegan","changeBegan","changeCompleted","completed","reset","pause","reverse","restart","remove","removeTargetsFromInstance","removeTargetsFromAnimations","c","childAnimations","removeTargetsFromActiveInstances","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","index","fromX","fromY","floor","toX","toY","distanceX","distanceY","spacing","timeline","tl","add","instanceParams","tlIndex","ins","insParams","tlDuration","version","running","convertPx","random","expandableCss","Expandable","toggleOpen","this","enableAnimation","activateAnimation","toggleEnableAnimation","prepareAnimationResizeObserver","activateObserver","_a","resizeObserver","disconnect","animeInstance","host","removeAttribute","componentDidLoad","observe","disconnectedCallback","render","Host","open","class","clsx","animationReady","ResizeObserver","debounce","entry","Error","bodyHeight","instantiateAnimation","minimumHeight","visibility","bottom","dsoExpandableAnimationEnd","emit"],"sources":["../../node_modules/animejs/lib/anime.es.js","src/components/expandable/expandable.scss?tag=dso-expandable&encapsulation=shadow","src/components/expandable/expandable.tsx"],"sourcesContent":["/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n:host {\r\n display: block;\r\n overflow-y: hidden;\r\n}\r\n\r\n:host(.dso-hide) {\r\n display: none;\r\n}\r\n\r\n:host(:not(.dso-animate-ready)) {\r\n position: absolute;\r\n visibility: hidden;\r\n}\r\n\r\n:host([open]) {\r\n position: inherit;\r\n visibility: inherit;\r\n overflow-y: visible;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport anime, { AnimeInstance } from \"animejs\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private bodyHeight?: number;\r\n\r\n private animeInstance?: AnimeInstance;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop()\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @State()\r\n animationReady = false;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (this.enableAnimation) {\r\n this.activateAnimation();\r\n }\r\n }\r\n\r\n @Watch(\"enableAnimation\")\r\n toggleEnableAnimation(enableAnimation: boolean) {\r\n if (enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n this.activateObserver();\r\n } else {\r\n this.resizeObserver?.disconnect();\r\n delete this.animeInstance;\r\n this.host.removeAttribute(\"style\");\r\n }\r\n }\r\n\r\n /**\r\n * Fired when the animation ends. Only when `enableAnimation = true`.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n componentDidLoad(): void {\r\n if (this.enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n }\r\n\r\n this.activateObserver();\r\n }\r\n\r\n private activateObserver() {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation && this.animationReady,\r\n \"dso-hide\": !this.enableAnimation && !this.open,\r\n })}\r\n >\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n\r\n private prepareAnimationResizeObserver(): void {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n // entry.contentRect does not include padding, so we use getBoundingClientRect.\r\n const height = entry.target.getBoundingClientRect().height;\r\n\r\n if (this.bodyHeight !== height) {\r\n this.bodyHeight = height;\r\n }\r\n\r\n this.instantiateAnimation();\r\n }, 150)\r\n );\r\n }\r\n\r\n private instantiateAnimation(): void {\r\n this.animeInstance = anime({\r\n targets: this.host,\r\n height: this.minimumHeight ?? 0,\r\n easing: \"cubicBezier(0.4, 0, 0.2, 1)\",\r\n duration: 260,\r\n autoplay: false,\r\n direction: \"normal\",\r\n begin: () => {\r\n if (this.open) {\r\n this.host.style.visibility = \"\";\r\n this.host.style.position = \"\";\r\n this.host.style.bottom = \"\";\r\n }\r\n },\r\n complete: () => {\r\n this.host.style.height = \"\";\r\n\r\n if (!this.open) {\r\n this.host.style.visibility = \"hidden\";\r\n this.host.style.position = \"absolute\";\r\n this.host.style.bottom = \"100%\";\r\n }\r\n },\r\n changeComplete: () => {\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight });\r\n },\r\n });\r\n\r\n if (!this.open) {\r\n this.animeInstance.reverse();\r\n this.animeInstance.play();\r\n }\r\n\r\n if (this.host) {\r\n this.host.style.height = \"\";\r\n }\r\n\r\n this.animationReady = !!this.animeInstance;\r\n }\r\n\r\n private activateAnimation(): void {\r\n if (this.animeInstance) {\r\n if (this.animeInstance.progress > 0 && this.animeInstance.progress < 100) {\r\n this.animeInstance.reverse();\r\n } else {\r\n if (this.open) {\r\n this.animeInstance.direction = \"reverse\";\r\n this.animeInstance.play();\r\n } else {\r\n this.animeInstance.direction = \"normal\";\r\n this.animeInstance.play();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,h as t,a as i}from"./p-3ca5b6f4.js";import{c as h}from"./p-c87b4d11.js";const s=":host{display:block}:host-context(.row.dso-equal-heights){height:100%;min-height:auto}:host-context(.row.dso-equal-heights)>.dso-highlight-box{min-height:auto}:host-context(.row.dso-equal-heights)>.dso-highlight-box.dso-has-counter{height:calc(100% - 48px)}:host-context(.row.dso-equal-heights)>.dso-highlight-box:not(.dso-has-counter){height:calc(100% - 16px)}*,*::after,*::before{box-sizing:border-box}.dso-highlight-box{background-color:#f2f2f2;color:#000;margin-top:16px;padding:16px;margin-bottom:24px}.dso-highlight-box.dso-white{background-color:#fff}.dso-highlight-box.dso-yellow{background-color:#f8f6cc}.dso-highlight-box.dso-drop-shadow{box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.2)}.dso-highlight-box.dso-border{background-color:#fff;border:1px solid #ccc;padding:15px}.dso-highlight-box.dso-has-counter{margin-top:48px}.dso-highlight-box.dso-has-counter{padding-top:2.5rem;position:relative}.dso-highlight-box .dso-step-counter{background-color:#275937;border:8px solid #79b929;border-radius:50%;box-sizing:content-box;color:#fff;font-size:1.25rem;font-weight:500;height:2rem;left:16px;line-height:2rem;position:absolute;text-align:center;top:-1.5rem;width:2rem}.dso-highlight-box .dso-step-counter svg.di{height:1.5rem;margin-top:0.25rem;width:1.5rem}.dso-highlight-box>dso-icon{vertical-align:text-top}";const e=class{constructor(t){o(this,t);this.yellow=undefined;this.border=undefined;this.white=undefined;this.dropShadow=undefined;this.step=undefined}render(){var o;const i=this.step||!!this.element.querySelector("[slot=icon]");const s=h("dso-highlight-box",{"dso-yellow":this.yellow,"dso-border":this.border,"dso-white":this.white,"dso-drop-shadow":this.dropShadow,"dso-has-counter":i});return t("div",{class:s},i&&t("div",{class:"dso-step-counter"},(o=this.step)!==null&&o!==void 0?o:t("slot",{name:"icon"})),t("slot",null))}get element(){return i(this)}};e.style=s;export{e as dso_highlight_box};
|
|
2
|
-
//# sourceMappingURL=p-a7186c03.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["highlightBoxCss","HighlightBox","render","hasCounter","this","step","element","querySelector","classes","clsx","yellow","border","white","dropShadow","h","class","_a","name"],"sources":["src/components/highlight-box/highlight-box.scss?tag=dso-highlight-box&encapsulation=shadow","src/components/highlight-box/highlight-box.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/highlight-box\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host-context(.row.dso-equal-heights) {\r\n height: 100%;\r\n min-height: auto;\r\n\r\n > .dso-highlight-box {\r\n min-height: auto;\r\n\r\n &.dso-has-counter {\r\n height: calc(100% - #{units.$shared-equal-heights-highlight-box-height});\r\n }\r\n\r\n &:not(.dso-has-counter) {\r\n height: calc(100% - #{units.$u2});\r\n }\r\n }\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-highlight-box {\r\n @include highlight-box.root();\r\n}\r\n","import { Component, h, Prop, Element } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-highlight-box\",\r\n styleUrl: \"highlight-box.scss\",\r\n shadow: true,\r\n})\r\nexport class HighlightBox {\r\n /**\r\n * For yellow Highlight Box.\r\n */\r\n @Prop()\r\n yellow?: boolean;\r\n\r\n /**\r\n * For a bordered Highlight Box.\r\n */\r\n @Prop()\r\n border?: boolean;\r\n\r\n /**\r\n * For a while Highlight Box.\r\n */\r\n @Prop()\r\n white?: boolean;\r\n\r\n /**\r\n * For an Highlight Box with a drop shadow.\r\n */\r\n @Prop()\r\n dropShadow?: boolean;\r\n\r\n /**\r\n * To create a step indicator.\r\n */\r\n @Prop()\r\n step?: number;\r\n\r\n @Element()\r\n private element!: HTMLDsoHighlightBoxElement;\r\n\r\n render() {\r\n const hasCounter = this.step || !!this.element.querySelector(\"[slot=icon]\");\r\n const classes = clsx(\"dso-highlight-box\", {\r\n \"dso-yellow\": this.yellow,\r\n \"dso-border\": this.border,\r\n \"dso-white\": this.white,\r\n \"dso-drop-shadow\": this.dropShadow,\r\n \"dso-has-counter\": hasCounter,\r\n });\r\n\r\n return (\r\n <div class={classes}>\r\n {hasCounter && <div class=\"dso-step-counter\">{this.step ?? <slot name=\"icon\"></slot>}</div>}\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"sFAAA,MAAMA,EAAkB,oyC,MCQXC,EAAY,M,wIAkCvB,MAAAC,G,MACE,MAAMC,EAAaC,KAAKC,QAAUD,KAAKE,QAAQC,cAAc,eAC7D,MAAMC,EAAUC,EAAK,oBAAqB,CACxC,aAAcL,KAAKM,OACnB,aAAcN,KAAKO,OACnB,YAAaP,KAAKQ,MAClB,kBAAmBR,KAAKS,WACxB,kBAAmBV,IAGrB,OACEW,EAAA,OAAKC,MAAOP,GACTL,GAAcW,EAAA,OAAKC,MAAM,qBAAoBC,EAAAZ,KAAKC,QAAI,MAAAW,SAAA,EAAAA,EAAIF,EAAA,QAAMG,KAAK,UACtEH,EAAA,a"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as i,a as s}from"./p-3ca5b6f4.js";function d(e){if(!e){return}const t=e.split("-");if(t.length===3&&typeof t[0]==="string"&&typeof t[1]==="string"&&typeof t[2]==="string"&&t[2].length===4){return t.map((e=>e.length===1?`0${e}`:e)).reverse().join("-")}return e}function o(e){if(!e){return""}const t=e.getDate().toString(10).padStart(2,"0");const i=(e.getMonth()+1).toString(10).padStart(2,"0");const s=e.getFullYear().toString(10);return`${t}-${i}-${s}`}const n=".sc-dso-date-picker-h{display:block}[invalid].sc-dso-date-picker-h:not([invalid=false]) .dso-date__input.sc-dso-date-picker{border-color:#ce3f51}.dso-date__input.sc-dso-date-picker{display:block;width:100%;height:40px;padding:6px 14px;font-size:1rem;line-height:1.5;color:#191919;background-color:#fff;background-image:none;border:1px solid #275937;border-radius:4px;transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s}.dso-date__input.sc-dso-date-picker::-moz-placeholder{color:#666;opacity:1}.dso-date__input.sc-dso-date-picker:-ms-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker::-webkit-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker::-ms-expand{background-color:transparent;border:0}.dso-date__input.sc-dso-date-picker:focus{border-color:#275937;outline:0;box-shadow:inset 0 0 0 1px #275937}.dso-date__input[disabled].sc-dso-date-picker,.dso-date__input[readonly].sc-dso-date-picker,fieldset[disabled].sc-dso-date-picker .dso-date__input.sc-dso-date-picker{background-color:#fff;opacity:1}.dso-date__input[disabled].sc-dso-date-picker,fieldset[disabled].sc-dso-date-picker .dso-date__input.sc-dso-date-picker{cursor:default}.dso-date__input[disabled].sc-dso-date-picker{border-color:#e5e5e5;color:#999}.dso-date__input[readonly].sc-dso-date-picker{border-width:1px}.dso-date__input[type=text].sc-dso-date-picker{line-height:40px}.dso-date__input[size].sc-dso-date-picker{width:auto}.dso-date__input.sc-dso-date-picker::-webkit-calendar-picker-indicator{position:relative;inset-inline-end:-8px;font-size:1.75rem;filter:invert(50%) sepia(66%) saturate(6528%) hue-rotate(71deg) brightness(94%) contrast(91%)}";const a=class{constructor(i){e(this,i);this.dsoDateChange=t(this,"dsoDateChange",7);this.dsoBlur=t(this,"dsoBlur",7);this.dsoKeyUp=t(this,"dsoKeyUp",7);this.dsoKeyDown=t(this,"dsoKeyDown",7);this.dsoFocus=t(this,"dsoFocus",7);this.handleBlur=e=>{e.stopPropagation();this.dsoBlur.emit({originalEvent:e,component:"dso-date-picker"})};this.handleFocus=e=>{e.stopPropagation();this.dsoFocus.emit({originalEvent:e,component:"dso-date-picker"})};this.handleKeyUp=e=>{e.stopPropagation();this.dsoKeyUp.emit({component:"dso-date-picker",originalEvent:e})};this.handleKeyDown=e=>{e.stopPropagation();this.dsoKeyDown.emit({component:"dso-date-picker",originalEvent:e})};this.handleInputChange=e=>{const t=e.target;if(!(t instanceof HTMLInputElement)){return}const{valueAsDate:i,validity:s}=t;const d={component:"dso-date-picker",originalEvent:e,validity:s,value:o(i),valueAsDate:i!==null&&i!==void 0?i:undefined};if(s.valueMissing){d.error="required"}else if(s.rangeUnderflow){d.error="min-range";d.valueAsDate=undefined}else if(s.rangeOverflow){d.error="max-range";d.valueAsDate=undefined}else if(!s.valid){d.error="invalid"}this.dsoDateChange.emit(d)};this.name="dso-date";this.identifier=undefined;this.disabled=false;this.required=false;this.invalid=undefined;this.describedBy=undefined;this.dsoAutofocus=false;this.value="";this.min=undefined;this.max=undefined}render(){var e;return i("input",{type:"date",id:this.identifier,class:"dso-date__input",value:d(this.value),name:this.name,min:d(this.min),max:d(this.max),disabled:this.disabled||undefined,required:this.required||undefined,"aria-autocomplete":"none","aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":this.describedBy,autoComplete:"off",autofocus:this.dsoAutofocus||undefined,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,onChange:this.handleInputChange})}get element(){return s(this)}};a.style=n;export{a as dso_date_picker};
|
|
2
|
-
//# sourceMappingURL=p-c47aea93.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["parseToValueFormat","value","matches","split","length","map","match","reverse","join","parseToDutchFormat","date","dd","getDate","toString","padStart","mm","getMonth","yyyy","getFullYear","datePickerCss","DsoDatePicker","this","handleBlur","event","stopPropagation","dsoBlur","emit","originalEvent","component","handleFocus","dsoFocus","handleKeyUp","dsoKeyUp","handleKeyDown","dsoKeyDown","handleInputChange","e","target","HTMLInputElement","valueAsDate","validity","undefined","valueMissing","error","rangeUnderflow","rangeOverflow","valid","dsoDateChange","render","h","type","id","identifier","class","name","min","max","disabled","required","_a","invalid","describedBy","autoComplete","autofocus","dsoAutofocus","onBlur","onFocus","onKeyUp","onKeyDown","onChange"],"sources":["src/components/date-picker/date-utils.ts","src/components/date-picker/date-picker.scss?tag=dso-date-picker&encapsulation=scoped","src/components/date-picker/date-picker.tsx"],"sourcesContent":["/**\r\n * dd-mm-yyyy to yyyy-mm-dd\r\n */\r\nexport function parseToValueFormat(value: string | undefined): string | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\" &&\r\n matches[2].length === 4\r\n ) {\r\n return matches\r\n .map((match) => (match.length === 1 ? `0${match}` : match))\r\n .reverse()\r\n .join(\"-\");\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * yyyy-mm-dd to dd-mm-yyyy\r\n */\r\nexport function parseToDutchFormat(date: Date | null): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const dd = date.getDate().toString(10).padStart(2, \"0\");\r\n const mm = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const yyyy = date.getFullYear().toString(10);\r\n\r\n return `${dd}-${mm}-${yyyy}`;\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker.variables\" as core-date-picker-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n\r\n &::-webkit-calendar-picker-indicator {\r\n position: relative;\r\n inset-inline-end: -8px;\r\n\r\n font-size: 1.75rem;\r\n\r\n filter: invert(50%) sepia(66%) saturate(6528%) hue-rotate(71deg) brightness(94%) contrast(91%);\r\n }\r\n}\r\n","import { Component, ComponentInterface, Prop, Element, h, Event, EventEmitter } from \"@stencil/core\";\r\n\r\nimport { DatePickerChangeEvent, DatePickerFocusEvent, DatePickerKeyboardEvent } from \"./date-picker.interfaces\";\r\nimport { parseToValueFormat, parseToDutchFormat } from \"./date-utils\";\r\n\r\n@Component({\r\n tag: \"dso-date-picker\",\r\n styleUrl: \"date-picker.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePicker implements ComponentInterface {\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerElement;\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"dso-date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop({ reflect: true })\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DatePickerChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DatePickerFocusEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DatePickerFocusEvent>;\r\n\r\n private handleBlur = (event: FocusEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoBlur.emit({\r\n originalEvent: event,\r\n component: \"dso-date-picker\",\r\n });\r\n };\r\n\r\n private handleFocus = (event: FocusEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n originalEvent: event,\r\n component: \"dso-date-picker\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target;\r\n\r\n if (!(target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n const { valueAsDate, validity } = target;\r\n\r\n const event: DatePickerChangeEvent = {\r\n component: \"dso-date-picker\",\r\n originalEvent: e,\r\n validity,\r\n value: parseToDutchFormat(valueAsDate),\r\n valueAsDate: valueAsDate ?? undefined,\r\n };\r\n\r\n if (validity.valueMissing) {\r\n event.error = \"required\";\r\n } else if (validity.rangeUnderflow) {\r\n event.error = \"min-range\";\r\n event.valueAsDate = undefined;\r\n } else if (validity.rangeOverflow) {\r\n event.error = \"max-range\";\r\n event.valueAsDate = undefined;\r\n } else if (!validity.valid) {\r\n event.error = \"invalid\";\r\n }\r\n\r\n this.dsoDateChange.emit(event);\r\n };\r\n\r\n render() {\r\n return (\r\n <input\r\n type=\"date\"\r\n id={this.identifier}\r\n class=\"dso-date__input\"\r\n value={parseToValueFormat(this.value)}\r\n name={this.name}\r\n min={parseToValueFormat(this.min)}\r\n max={parseToValueFormat(this.max)}\r\n disabled={this.disabled || undefined}\r\n required={this.required || undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n autoComplete=\"off\"\r\n autofocus={this.dsoAutofocus || undefined}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n onChange={this.handleInputChange}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"kEAGgBA,EAAmBC,GACjC,IAAKA,EAAO,CACV,M,CAGF,MAAMC,EAAUD,EAAME,MAAM,KAE5B,GACED,EAAQE,SAAW,UACZF,EAAQ,KAAO,iBACfA,EAAQ,KAAO,iBACfA,EAAQ,KAAO,UACtBA,EAAQ,GAAGE,SAAW,EACtB,CACA,OAAOF,EACJG,KAAKC,GAAWA,EAAMF,SAAW,EAAI,IAAIE,IAAUA,IACnDC,UACAC,KAAK,I,CAGV,OAAOP,CACT,C,SAKgBQ,EAAmBC,GACjC,IAAKA,EAAM,CACT,MAAO,E,CAGT,MAAMC,EAAKD,EAAKE,UAAUC,SAAS,IAAIC,SAAS,EAAG,KACnD,MAAMC,GAAML,EAAKM,WAAa,GAAGH,SAAS,IAAIC,SAAS,EAAG,KAC1D,MAAMG,EAAOP,EAAKQ,cAAcL,SAAS,IAEzC,MAAO,GAAGF,KAAMI,KAAME,GACxB,CCvCA,MAAME,EAAgB,ooD,MCWTC,EAAa,M,oNAwGhBC,KAAAC,WAAcC,IACpBA,EAAMC,kBAENH,KAAKI,QAAQC,KAAK,CAChBC,cAAeJ,EACfK,UAAW,mBACX,EAGIP,KAAAQ,YAAeN,IACrBA,EAAMC,kBAENH,KAAKS,SAASJ,KAAK,CACjBC,cAAeJ,EACfK,UAAW,mBACX,EAGIP,KAAAU,YAAeR,IACrBA,EAAMC,kBAENH,KAAKW,SAASN,KAAK,CACjBE,UAAW,kBACXD,cAAeJ,GACf,EAGIF,KAAAY,cAAiBV,IACvBA,EAAMC,kBAENH,KAAKa,WAAWR,KAAK,CACnBE,UAAW,kBACXD,cAAeJ,GACf,EAGIF,KAAAc,kBAAqBC,IAC3B,MAAMC,EAASD,EAAEC,OAEjB,KAAMA,aAAkBC,kBAAmB,CACzC,M,CAGF,MAAMC,YAAEA,EAAWC,SAAEA,GAAaH,EAElC,MAAMd,EAA+B,CACnCK,UAAW,kBACXD,cAAeS,EACfI,WACAvC,MAAOQ,EAAmB8B,GAC1BA,YAAaA,IAAW,MAAXA,SAAW,EAAXA,EAAeE,WAG9B,GAAID,EAASE,aAAc,CACzBnB,EAAMoB,MAAQ,U,MACT,GAAIH,EAASI,eAAgB,CAClCrB,EAAMoB,MAAQ,YACdpB,EAAMgB,YAAcE,S,MACf,GAAID,EAASK,cAAe,CACjCtB,EAAMoB,MAAQ,YACdpB,EAAMgB,YAAcE,S,MACf,IAAKD,EAASM,MAAO,CAC1BvB,EAAMoB,MAAQ,S,CAGhBtB,KAAK0B,cAAcrB,KAAKH,EAAM,E,UA9JzB,W,wCAaI,M,cAMA,M,oEAkBI,M,WAMP,G,sCAsHR,MAAAyB,G,MACE,OACEC,EAAA,SACEC,KAAK,OACLC,GAAI9B,KAAK+B,WACTC,MAAM,kBACNpD,MAAOD,EAAmBqB,KAAKpB,OAC/BqD,KAAMjC,KAAKiC,KACXC,IAAKvD,EAAmBqB,KAAKkC,KAC7BC,IAAKxD,EAAmBqB,KAAKmC,KAC7BC,SAAUpC,KAAKoC,UAAYhB,UAC3BiB,SAAUrC,KAAKqC,UAAYjB,UAAS,oBAClB,OAAM,gBACVkB,EAAAtC,KAAKuC,WAAO,MAAAD,SAAA,SAAAA,EAAE9C,WAAU,mBACpBQ,KAAKwC,YACvBC,aAAa,MACbC,UAAW1C,KAAK2C,cAAgBvB,UAChCwB,OAAQ5C,KAAKC,WACb4C,QAAS7C,KAAKQ,YACdsC,QAAS9C,KAAKU,YACdqC,UAAW/C,KAAKY,cAChBoC,SAAUhD,KAAKc,mB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as n,r as t,c as e,F as o,a as s}from"./p-3ca5b6f4.js";import{c as i}from"./p-c87b4d11.js";import{d as a}from"./p-1805f5b0.js";const r=["main","map"];const l=["search","map","document"];const d={main:"Hoofdpaneel",map:"Kaart",document:"Document",search:"Zoeken"};const p={small:"smal",medium:"middel",large:"breed"};const c=({tabView:t,panelSize:e,shrinkDocumentPanel:o,expandDocumentPanel:s,dsoDocumentPanelSizeChangeAnimationEnd:i})=>n("div",{class:"dso-document-panel",onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){i.emit({currentSize:e})}}},!t&&n("div",{class:"sizing-buttons"},n("span",{class:"sr-only","aria-live":"polite","aria-atomic":"true"},"Breedte documentpaneel: ",p[e]),e!=="small"&&n("button",{type:"button",class:"shrink",onClick:o},n("span",{class:"sr-only"},"Documentpaneel smaller maken"),n("dso-icon",{icon:"chevron-right"})),e!=="large"&&n("button",{type:"button",class:"expand",onClick:s},n("span",{class:"sr-only"},"Documentpaneel breder maken"),n("dso-icon",{icon:"chevron-left"}))),n("div",{class:"content"},n("slot",{name:"document-panel"})));const h=({onApply:t,onCancel:e})=>n("div",{class:"filterpanel-buttons"},n("button",{type:"button",class:"cancel-button",onClick:e},n("span",null,"Annuleren")),n("button",{type:"button",class:"apply-button",onClick:t},n("span",null,"Toepassen"),n("dso-icon",{icon:"chevron-right"})));const f=({ref:t,onApply:e,onCancel:o})=>n("dialog",{id:"filterpanel",class:"filterpanel",ref:t,onCancel:n=>{n.preventDefault();o(n)}},n("h1",null,"Uw keuzes"),n(h,{onApply:e,onCancel:o}),n("slot",{name:"filterpanel"}),n(h,{onApply:e,onCancel:o}));const g=({mode:t,tabView:e,mainSize:o,documentPanelOpen:s,mainPanelExpanded:a,mainPanelHidden:r,shrinkMain:l,expandMain:d,expandContent:c,toggleMainPanel:h,dsoMainSizeChangeAnimationEnd:f})=>n("div",{class:i("dso-main-panel",{compact:!e&&s&&!a,expanded:!e&&s&&a,collapsed:r}),onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){f.emit({currentSize:o})}}},!e&&(!s?n("div",{class:"sizing-buttons"},n("span",{class:"sr-only","aria-live":"polite","aria-atomic":"true"},"Breedte ",t==="vdk"?"zoeken paneel":"hoofdpaneel",": ",p[o]),o!=="small"&&n("button",{type:"button",class:"shrink",onClick:l},n("span",{class:"sr-only"},t==="vdk"?"Zoeken paneel":"Hoofdpaneel"," smaller maken"),n("dso-icon",{icon:"chevron-left"})),o!=="large"&&n("button",{type:"button",class:"expand",onClick:d},n("span",{class:"sr-only"},t==="vdk"?"Zoeken paneel":"Hoofdpaneel"," breder maken"),n("dso-icon",{icon:"chevron-right"}))):n("div",{class:"toggle-button"},n("button",{type:"button",onClick:h},n("span",{class:"sr-only"},t==="vdk"?"Zoeken paneel":"Hoofdpaneel"," ",r?"Tonen":"Verbergen"),n("dso-icon",{icon:r?"chevron-right":"chevron-left"})))),n("div",{class:i("content",{invisible:r})},n("slot",{name:"main"}),!e&&s&&n("button",{class:"dso-tertiary expand-button",onClick:c},n("dso-icon",{icon:a?"chevron-up":"chevron-down"}),n("span",null,a?"Verberg":"Toon"," documenten op gekozen locatie")),s&&a&&n("slot",{name:"main-expanded"})));const b=({ref:t,dsoCloseOverlay:e})=>n("dialog",{class:"overlay",ref:t,onCancel:n=>{n.preventDefault();e(n)}},n("button",{type:"button",class:"overlay-close-button",onClick:e},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"sluiten")),n("slot",{name:"overlay"}));const u="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([mode=vdk]) .overlay {\n height: calc(100% - 32px);\n margin-block: 16px;\n margin-inline: auto 16px;\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.shrink,\n.expand,\n.overlay-close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.shrink:focus, .shrink:focus-visible,\n.expand:focus,\n.expand:focus-visible,\n.overlay-close-button:focus,\n.overlay-close-button:focus-visible {\n outline-offset: 2px;\n}\n.shrink:active,\n.expand:active,\n.overlay-close-button:active {\n outline: 0;\n}\n.shrink[disabled],\n.expand[disabled],\n.overlay-close-button[disabled] {\n color: #afcf9d;\n}\n.shrink[disabled].dso-spinner-left, .shrink[disabled].dso-spinner-right,\n.expand[disabled].dso-spinner-left,\n.expand[disabled].dso-spinner-right,\n.overlay-close-button[disabled].dso-spinner-left,\n.overlay-close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.shrink:not([disabled]):hover,\n.expand:not([disabled]):hover,\n.overlay-close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.shrink:not([disabled]):active,\n.expand:not([disabled]):active,\n.overlay-close-button:not([disabled]):active {\n color: #173521;\n}\n.shrink.dso-align,\n.expand.dso-align,\n.overlay-close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.shrink.dso-truncate,\n.expand.dso-truncate,\n.overlay-close-button.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shrink.dso-spinner-left::before,\n.expand.dso-spinner-left::before,\n.overlay-close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.shrink.dso-spinner-right::after,\n.expand.dso-spinner-right::after,\n.overlay-close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.shrink dso-icon + span:not(.sr-only),\n.shrink svg.di + span:not(.sr-only),\n.shrink span:not(.sr-only) + dso-icon,\n.shrink span:not(.sr-only) + svg.di,\n.expand dso-icon + span:not(.sr-only),\n.expand svg.di + span:not(.sr-only),\n.expand span:not(.sr-only) + dso-icon,\n.expand span:not(.sr-only) + svg.di,\n.overlay-close-button dso-icon + span:not(.sr-only),\n.overlay-close-button svg.di + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + dso-icon,\n.overlay-close-button span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.shrink svg.di.di-chevron-down + span:not(.sr-only),\n.shrink svg.di.di-chevron-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-chevron-down,\n.shrink span:not(.sr-only) + svg.di.di-chevron-up,\n.expand svg.di.di-chevron-down + span:not(.sr-only),\n.expand svg.di.di-chevron-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-chevron-down,\n.expand span:not(.sr-only) + svg.di.di-chevron-up,\n.overlay-close-button svg.di.di-chevron-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-chevron-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.shrink dso-icon[icon=chevron-left] + span:not(.sr-only),\n.shrink dso-icon[icon=chevron-right] + span:not(.sr-only),\n.shrink svg.di.di-angle-down + span:not(.sr-only),\n.shrink svg.di.di-angle-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-angle-down,\n.shrink span:not(.sr-only) + svg.di.di-angle-up,\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-left],\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-right],\n.expand dso-icon[icon=chevron-left] + span:not(.sr-only),\n.expand dso-icon[icon=chevron-right] + span:not(.sr-only),\n.expand svg.di.di-angle-down + span:not(.sr-only),\n.expand svg.di.di-angle-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-angle-down,\n.expand span:not(.sr-only) + svg.di.di-angle-up,\n.expand span:not(.sr-only) + dso-icon[icon=chevron-left],\n.expand span:not(.sr-only) + dso-icon[icon=chevron-right],\n.overlay-close-button dso-icon[icon=chevron-left] + span:not(.sr-only),\n.overlay-close-button dso-icon[icon=chevron-right] + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-up,\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-left],\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.shrink dso-icon,\n.shrink svg.di,\n.shrink span,\n.expand dso-icon,\n.expand svg.di,\n.expand span,\n.overlay-close-button dso-icon,\n.overlay-close-button svg.di,\n.overlay-close-button span {\n vertical-align: middle;\n}\n.shrink:hover,\n.expand:hover,\n.overlay-close-button:hover {\n cursor: pointer;\n}\n\n.overlay-close-button {\n position: absolute;\n top: 8px;\n right: 16px;\n}\n\n.content.invisible {\n visibility: hidden;\n}\n\n.dso-main-panel .content,\n.dso-document-panel .content {\n height: 100%;\n padding: 0 16px 8px;\n}\n\n.dso-main-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-width 200ms ease-in, min-width 200ms ease-in;\n z-index: 100;\n}\n.dso-main-panel.compact.collapsed, .dso-main-panel.expanded.collapsed {\n left: -432px;\n}\n.dso-main-panel.compact {\n flex-shrink: unset;\n flex-grow: unset;\n position: absolute;\n transition: none;\n}\n.dso-main-panel.expanded.collapsed {\n position: absolute;\n height: 100%;\n}\n.dso-main-panel .dso-filterblok-address {\n font-weight: bold;\n margin: 8px 0;\n}\n.dso-main-panel .sizing-buttons,\n.dso-main-panel .toggle-button {\n left: calc(100% + 1px);\n transition: left 200ms ease-in;\n padding: 0 4px 4px 0;\n}\n.dso-main-panel .sizing-buttons button,\n.dso-main-panel .toggle-button button {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.dso-main-panel .expand-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n padding-block: 16px;\n}\n.dso-main-panel .expand-button:focus, .dso-main-panel .expand-button:focus-visible {\n outline-offset: 2px;\n}\n.dso-main-panel .expand-button:active {\n outline: 0;\n}\n.dso-main-panel .expand-button[disabled] {\n color: #afcf9d;\n}\n.dso-main-panel .expand-button[disabled].dso-spinner-left, .dso-main-panel .expand-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.dso-main-panel .expand-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.dso-main-panel .expand-button:not([disabled]):active {\n color: #173521;\n}\n.dso-main-panel .expand-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.dso-main-panel .expand-button.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dso-main-panel .expand-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.dso-main-panel .expand-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.dso-main-panel .expand-button dso-icon + span:not(.sr-only),\n.dso-main-panel .expand-button svg.di + span:not(.sr-only),\n.dso-main-panel .expand-button span:not(.sr-only) + dso-icon,\n.dso-main-panel .expand-button span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.dso-main-panel .expand-button svg.di.di-chevron-down + span:not(.sr-only),\n.dso-main-panel .expand-button svg.di.di-chevron-up + span:not(.sr-only),\n.dso-main-panel .expand-button span:not(.sr-only) + svg.di.di-chevron-down,\n.dso-main-panel .expand-button span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.dso-main-panel .expand-button dso-icon[icon=chevron-left] + span:not(.sr-only),\n.dso-main-panel .expand-button dso-icon[icon=chevron-right] + span:not(.sr-only),\n.dso-main-panel .expand-button svg.di.di-angle-down + span:not(.sr-only),\n.dso-main-panel .expand-button svg.di.di-angle-up + span:not(.sr-only),\n.dso-main-panel .expand-button span:not(.sr-only) + svg.di.di-angle-down,\n.dso-main-panel .expand-button span:not(.sr-only) + svg.di.di-angle-up,\n.dso-main-panel .expand-button span:not(.sr-only) + dso-icon[icon=chevron-left],\n.dso-main-panel .expand-button span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.dso-main-panel .expand-button dso-icon,\n.dso-main-panel .expand-button svg.di,\n.dso-main-panel .expand-button span {\n vertical-align: middle;\n}\n\n.dso-document-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-width 200ms ease-in, min-width 200ms ease-in;\n z-index: 100;\n}\n.dso-document-panel .sizing-buttons {\n right: calc(100% + 1px);\n transition: right 200ms ease-in;\n padding: 0 0 4px 4px;\n}\n.dso-document-panel .sizing-buttons button {\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n\n.sizing-buttons,\n.toggle-button {\n overflow-x: hidden;\n position: absolute;\n top: 16px;\n width: 44px;\n z-index: -1;\n}\n.sizing-buttons button,\n.toggle-button button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n.sizing-buttons button:focus, .sizing-buttons button:focus-visible,\n.toggle-button button:focus,\n.toggle-button button:focus-visible {\n outline-offset: 2px;\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n outline: 0;\n}\n.sizing-buttons button:hover,\n.toggle-button button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.sizing-buttons button[disabled], .sizing-buttons button[disabled]:hover,\n.toggle-button button[disabled],\n.toggle-button button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.sizing-buttons button.dso-small,\n.toggle-button button.dso-small {\n line-height: 1rem;\n}\n.sizing-buttons button.dso-small dso-icon,\n.sizing-buttons button.dso-small svg.di, .sizing-buttons button.dso-small.extern::after, .sizing-buttons button.dso-small.download::after, .sizing-buttons button.dso-small.dso-spinner::before,\n.toggle-button button.dso-small dso-icon,\n.toggle-button button.dso-small svg.di,\n.toggle-button button.dso-small.extern::after,\n.toggle-button button.dso-small.download::after,\n.toggle-button button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.sizing-buttons button.dso-small.dso-spinner-left::before,\n.toggle-button button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button.dso-small.dso-spinner-right::after,\n.toggle-button button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button > span,\n.toggle-button button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sizing-buttons button.dso-spinner-left[disabled], .sizing-buttons button.dso-spinner-right[disabled],\n.toggle-button button.dso-spinner-left[disabled],\n.toggle-button button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button.dso-spinner-left::before,\n.toggle-button button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]):hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button.dso-spinner-right::after,\n.toggle-button button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]):hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button:focus-visible,\n.toggle-button button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n.sizing-buttons button:hover dso-icon,\n.toggle-button button:hover dso-icon {\n color: #fff;\n}\n\n.map {\n height: 100%;\n width: 100%;\n overflow: hidden;\n position: relative;\n}\n\n.filterpanel,\n.overlay {\n background-color: #fff;\n border: 0;\n height: 100%;\n margin-block: 0;\n max-height: 100vh;\n overflow-y: auto;\n z-index: 101;\n}\n\n.filterpanel {\n padding: 8px 16px;\n left: 0;\n}\n@media screen and (max-width: 768px) {\n .filterpanel {\n width: 100vw;\n }\n .filterpanel::before {\n display: none !important;\n }\n}\n.filterpanel h1 {\n color: #275937;\n margin-block-end: 16px;\n margin-block-start: 24px;\n font-size: 2rem;\n font-weight: 700;\n}\n\n.overlay {\n padding: 40px 16px 8px;\n right: 0;\n width: 624px;\n}\n.overlay::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n}\n@media screen and (max-width: 624px) {\n .overlay {\n width: 100vw;\n }\n}\n\n.filterpanel-buttons {\n text-align: right;\n}\n.filterpanel-buttons .cancel-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button:focus, .filterpanel-buttons .cancel-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .cancel-button:active {\n outline: 0;\n}\n.filterpanel-buttons .cancel-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .cancel-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.filterpanel-buttons .cancel-button[disabled], .filterpanel-buttons .cancel-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.filterpanel-buttons .cancel-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button.dso-small dso-icon,\n.filterpanel-buttons .cancel-button.dso-small svg.di, .filterpanel-buttons .cancel-button.dso-small.extern::after, .filterpanel-buttons .cancel-button.dso-small.download::after, .filterpanel-buttons .cancel-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button span + dso-icon,\n.filterpanel-buttons .cancel-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left[disabled], .filterpanel-buttons .cancel-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di, .filterpanel-buttons .cancel-button.extern::after, .filterpanel-buttons .cancel-button.download::after, .filterpanel-buttons .cancel-button.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button:focus, .filterpanel-buttons .apply-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .apply-button:active {\n outline: 0;\n}\n.filterpanel-buttons .apply-button:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.filterpanel-buttons .apply-button:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.filterpanel-buttons .apply-button[disabled], .filterpanel-buttons .apply-button[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button.dso-small dso-icon,\n.filterpanel-buttons .apply-button.dso-small svg.di, .filterpanel-buttons .apply-button.dso-small.extern::after, .filterpanel-buttons .apply-button.dso-small.download::after, .filterpanel-buttons .apply-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.filterpanel-buttons .apply-button span + dso-icon,\n.filterpanel-buttons .apply-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left[disabled], .filterpanel-buttons .apply-button.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di, .filterpanel-buttons .apply-button.extern::after, .filterpanel-buttons .apply-button.download::after, .filterpanel-buttons .apply-button.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button + .apply-button {\n margin-left: 16px;\n}\n\n@media screen and (min-width: 808px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 375px;\n min-width: 0;\n max-width: 375px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 375px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 0;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 624px;\n min-width: 375px;\n max-width: 624px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 624px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 375px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 60%;\n min-width: 768px;\n max-width: 1024px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 768px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 768px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host {\n display: flex;\n height: 100vh;\n overflow: hidden;\n position: relative;\n }\n :host .dso-main-panel.compact,\n :host .dso-main-panel.expanded {\n flex-basis: unset;\n min-width: unset;\n max-width: unset;\n width: 440px;\n }\n :host .dso-main-panel.compact .content,\n :host .dso-main-panel.expanded .content {\n height: auto;\n overflow-y: auto;\n }\n}\n@media screen and (min-width: 808px) {\n .dso-main-panel,\n .dso-document-panel {\n box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.4);\n padding-right: 8px;\n }\n .dso-main-panel .content,\n .dso-document-panel .content {\n overflow-y: scroll;\n }\n}\n@media screen and (min-width: 808px) {\n .filterpanel {\n box-shadow: 2px 0 5px #666;\n margin-inline: 0 auto;\n max-width: 896px;\n width: calc(100vw - 40px);\n }\n .filterpanel::before {\n content: \"\";\n display: block;\n position: fixed;\n top: 0;\n bottom: 0;\n right: 0;\n left: 896px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n}\n@media screen and (min-width: 808px) and (max-width: 936px) {\n .filterpanel::before {\n left: auto;\n width: 40px;\n }\n}\n@media screen and (min-width: 808px) {\n .overlay {\n box-shadow: -2px 0 5px #666;\n margin-inline: auto 0;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar {\n min-height: 32px;\n }\n .dso-navbar .dso-navbar-header {\n float: left;\n }\n .dso-navbar .dso-navbar-toggle {\n border-radius: 4px;\n min-width: auto;\n padding: 5px 0;\n }\n .dso-navbar .dso-navbar-toggle dso-icon,\n .dso-navbar .dso-navbar-toggle svg.di {\n margin-left: 8px;\n margin-right: 8px;\n }\n}\n@media screen and (max-width: 807.99px) and (min-width: 992px) {\n .dso-navbar .dso-navbar-toggle {\n display: none;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-nav {\n list-style: none;\n margin-bottom: 0;\n padding-left: 0;\n }\n .dso-nav > li > a,\n .dso-nav > li > button {\n display: block;\n }\n .dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited,\n .dso-nav > li > button,\n .dso-nav > li > button:hover,\n .dso-nav > li > button:focus,\n .dso-nav > li > button:visited {\n color: #275937;\n }\n .dso-nav > li.dso-active > a,\n .dso-nav > li.dso-active > button, .dso-nav > li.is-active > a,\n .dso-nav > li.is-active > button {\n border-bottom: 4px solid #8b4a6a;\n font-weight: bold;\n }\n .dso-nav.dso-nav-main > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-main > li > a,\n .dso-nav.dso-nav-main > li > button {\n text-decoration: none;\n font-size: 1.25em;\n line-height: 1;\n margin-top: 8px;\n padding: 8px 16px 7px;\n }\n .dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus, .dso-nav.dso-nav-main > li > a:active,\n .dso-nav.dso-nav-main > li > button:hover,\n .dso-nav.dso-nav-main > li > button:focus,\n .dso-nav.dso-nav-main > li > button:active {\n text-decoration: underline;\n }\n .dso-nav.dso-nav-sub > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-sub > li > a,\n .dso-nav.dso-nav-sub > li > button {\n text-decoration: none;\n font-size: 1rem;\n margin-top: 4px;\n padding: 4px 8px 3px;\n }\n .dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus, .dso-nav.dso-nav-sub > li > a:active,\n .dso-nav.dso-nav-sub > li > button:hover,\n .dso-nav.dso-nav-sub > li > button:focus,\n .dso-nav.dso-nav-sub > li > button:active {\n text-decoration: underline;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar {\n padding-inline: 16px;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-nav {\n border-bottom: 1px solid #ccc;\n display: flex;\n gap: 16px;\n margin-block-start: 0;\n width: calc(100vw - 32px);\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n font-weight: 300;\n }\n .dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n }\n .dso-tertiary:active {\n outline: 0;\n }\n .dso-tertiary[disabled] {\n color: #afcf9d;\n }\n .dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n }\n .dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n }\n .dso-tertiary:not([disabled]):active {\n color: #173521;\n }\n .dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n }\n .dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n }\n .dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n }\n .dso-tertiary dso-icon + span:not(.sr-only),\n .dso-tertiary svg.di + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + dso-icon,\n .dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n }\n .dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n }\n .dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n .dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n }\n .dso-tertiary dso-icon,\n .dso-tertiary svg.di,\n .dso-tertiary span {\n vertical-align: middle;\n }\n}\n@media screen and (max-width: 807.99px) {\n .filterpanel,\n .overlay {\n margin-inline: 0;\n max-width: 100vw;\n top: 0;\n width: 100vw;\n }\n}";const m=new ResizeObserver(a((([n])=>{const t=n===null||n===void 0?void 0:n.target.getRootNode();if(t instanceof ShadowRoot&&v(t.host)){t.host._checkMainPanelVisibility()}}),50));function v(n){return n.tagName==="DSO-VIEWER-GRID"}const x=40;const y=768+x;const k=440;const w=class{constructor(n){t(this,n);this.dsoCloseOverlay=e(this,"dsoCloseOverlay",7);this.dsoFilterpanelCancel=e(this,"dsoFilterpanelCancel",7);this.dsoFilterpanelApply=e(this,"dsoFilterpanelApply",7);this.dsoActiveTabSwitch=e(this,"dsoActiveTabSwitch",7);this.dsoMainSizeChange=e(this,"dsoMainSizeChange",7);this.dsoMainSizeChangeAnimationEnd=e(this,"dsoMainSizeChangeAnimationEnd",7);this.dsoDocumentPanelSizeChange=e(this,"dsoDocumentPanelSizeChange",7);this.dsoDocumentPanelSizeChangeAnimationEnd=e(this,"dsoDocumentPanelSizeChangeAnimationEnd",7);this.dsoMainPanelExpand=e(this,"dsoMainPanelExpand",7);this.dsoMainPanelToggle=e(this,"dsoMainPanelToggle",7);this.mediaCondition=`(min-width: ${y}px)`;this.switchActiveTab=n=>{this.dsoActiveTabSwitch.emit({tab:n})};this.emitShrinkMain=()=>{this.dsoMainSizeChange.emit({currentSize:this.mainSize,nextSize:this.mainSize==="large"?"medium":"small"})};this.emitExpandMain=()=>{this.dsoMainSizeChange.emit({currentSize:this.mainSize,nextSize:this.mainSize=this.mainSize==="small"?"medium":"large"})};this.shrinkDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize==="large"?"medium":"small"})};this.expandDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize=this.mainSize==="small"?"medium":"large"})};this.expandContent=()=>{this.dsoMainPanelExpand.emit({expand:!this.mainPanelExpanded})};this.toggleMainPanel=()=>{if(this.mapElement instanceof HTMLDivElement&&this.mapElement.clientWidth<=k+x+x){this.mainSize="small"}this.dsoMainPanelToggle.emit({hide:!this.mainPanelHidden})};this.changeListener=n=>this.tabView=!n.matches;this.handleFilterpanelApply=n=>{this.dsoFilterpanelApply.emit({originalEvent:n})};this.handleFilterpanelCancel=n=>{this.dsoFilterpanelCancel.emit({originalEvent:n})};this.mode="vrk";this.filterpanelOpen=false;this.overlayOpen=false;this.documentPanelOpen=false;this.mainSize="large";this.activeTab=undefined;this.documentPanelSize="large";this.mainPanelExpanded=false;this.mainPanelHidden=false;this.tabView=window.innerWidth<y}get filterpanelSlot(){return this.host.querySelector("[slot='filterpanel']")}get overlaySlot(){return this.host.querySelector("[slot='overlay']")}documentPanelOpenWatcher(n){if(n){this._checkMainPanelVisibility()}}filterpanelOpenWatcher(n){var t,e;if(!this.filterpanelSlot){console.warn("slot 'filterpanel' has not been set")}if(n){(t=this.filterpanel)===null||t===void 0?void 0:t.showModal()}else{(e=this.filterpanel)===null||e===void 0?void 0:e.close()}}overlayOpenWatcher(n){var t,e;if(!this.overlaySlot){console.warn("slot 'overlay' has not been set")}if(n){(t=this.overlay)===null||t===void 0?void 0:t.showModal()}else{(e=this.overlay)===null||e===void 0?void 0:e.close()}}async _checkMainPanelVisibility(){if(this.mode==="vdk"&&this.documentPanelOpen&&!this.mainPanelHidden&&this.mapElement instanceof HTMLDivElement&&(this.mapElement.clientWidth<=k+x+x&&!this.mainPanelExpanded||this.mapElement.clientWidth<=x+x&&this.mainPanelExpanded)){this.dsoMainPanelToggle.emit({hide:true})}}connectedCallback(){window.matchMedia(this.mediaCondition).addEventListener("change",this.changeListener)}componentDidLoad(){var n,t;if(this.filterpanelOpen&&this.filterpanelSlot){(n=this.filterpanel)===null||n===void 0?void 0:n.showModal()}if(this.overlayOpen&&this.overlaySlot){(t=this.overlay)===null||t===void 0?void 0:t.showModal()}if(this.mode==="vdk"&&this.mapElement instanceof HTMLDivElement){m.observe(this.mapElement)}}disconnectedCallback(){window.matchMedia(this.mediaCondition).removeEventListener("change",this.changeListener);if(this.mode==="vdk"&&this.mapElement){m.unobserve(this.mapElement)}}render(){const t=this.mode==="vdk"?l:r;return n(o,null,this.tabView&&n("nav",{class:"dso-navbar"},n("ul",{class:"dso-nav dso-nav-sub"},t.map((t=>n("li",{key:t,class:i({"dso-active":this.activeTab===t})},n("button",{type:"button",class:"dso-tertiary",onClick:()=>this.switchActiveTab(t)},d[t])))))),(!this.tabView||this.tabView&&(this.activeTab==="main"||this.activeTab==="search"))&&n(g,{mode:this.mode,tabView:this.tabView,mainSize:this.mainSize,documentPanelOpen:this.documentPanelOpen,mainPanelExpanded:this.mainPanelExpanded,mainPanelHidden:this.mainPanelHidden,shrinkMain:this.emitShrinkMain,expandMain:this.emitExpandMain,expandContent:this.expandContent,toggleMainPanel:this.toggleMainPanel,dsoMainSizeChangeAnimationEnd:this.dsoMainSizeChangeAnimationEnd}),n(f,{ref:n=>this.filterpanel=n,onApply:this.handleFilterpanelApply,onCancel:this.handleFilterpanelCancel}),(!this.tabView||this.tabView&&this.activeTab==="map")&&n("div",{class:"map",ref:n=>this.mapElement=n},n("slot",{name:"map"})),(!this.tabView&&this.documentPanelOpen||this.tabView&&this.activeTab==="document")&&n(c,{tabView:this.tabView,panelSize:this.documentPanelSize,shrinkDocumentPanel:this.shrinkDocumentPanel,expandDocumentPanel:this.expandDocumentPanel,dsoDocumentPanelSizeChangeAnimationEnd:this.dsoDocumentPanelSizeChangeAnimationEnd}),n(b,{ref:n=>this.overlay=n,dsoCloseOverlay:n=>this.dsoCloseOverlay.emit({originalEvent:n})}))}get host(){return s(this)}static get watchers(){return{documentPanelOpen:["documentPanelOpenWatcher"],filterpanelOpen:["filterpanelOpenWatcher"],overlayOpen:["overlayOpenWatcher"]}}};w.style=u;export{w as dso_viewer_grid};
|
|
2
|
-
//# sourceMappingURL=p-dbea5bbd.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["viewerGridVrkTabs","viewerGridVdkTabs","viewerGridTabLabelMap","main","map","document","search","viewerGridSizeLabelMap","small","medium","large","DocumentPanel","tabView","panelSize","shrinkDocumentPanel","expandDocumentPanel","dsoDocumentPanelSizeChangeAnimationEnd","h","class","onTransitionEnd","e","propertyName","emit","currentSize","type","onClick","icon","name","ViewerGridFilterpanelButtons","onApply","onCancel","Filterpanel","ref","id","preventDefault","MainPanel","mode","mainSize","documentPanelOpen","mainPanelExpanded","mainPanelHidden","shrinkMain","expandMain","expandContent","toggleMainPanel","dsoMainSizeChangeAnimationEnd","clsx","compact","expanded","collapsed","invisible","Overlay","dsoCloseOverlay","viewerGridCss","resizeObserver","ResizeObserver","debounce","entry","shadowRoot","target","getRootNode","ShadowRoot","isDsoViewerGridComponent","host","_checkMainPanelVisibility","element","tagName","buttonWidth","tabViewBreakpoint","minMapElementWidth","ViewerGrid","this","mediaCondition","switchActiveTab","tab","dsoActiveTabSwitch","emitShrinkMain","dsoMainSizeChange","nextSize","emitExpandMain","dsoDocumentPanelSizeChange","documentPanelSize","dsoMainPanelExpand","expand","mapElement","HTMLDivElement","clientWidth","dsoMainPanelToggle","hide","changeListener","largeScreen","matches","handleFilterpanelApply","mouseEvent","dsoFilterpanelApply","originalEvent","handleFilterpanelCancel","dsoFilterpanelCancel","window","innerWidth","filterpanelSlot","querySelector","overlaySlot","documentPanelOpenWatcher","open","filterpanelOpenWatcher","console","warn","_a","filterpanel","showModal","_b","close","overlayOpenWatcher","overlay","connectedCallback","matchMedia","addEventListener","componentDidLoad","filterpanelOpen","overlayOpen","observe","disconnectedCallback","removeEventListener","unobserve","render","tabLabels","Fragment","key","activeTab"],"sources":["src/components/viewer-grid/viewer-grid.interfaces.ts","src/components/viewer-grid/components/document-panel.tsx","src/components/viewer-grid/components/viewer-grid-filterpanel-buttons.tsx","src/components/viewer-grid/components/filterpanel.tsx","src/components/viewer-grid/components/main-panel.tsx","src/components/viewer-grid/components/overlay.tsx","src/components/viewer-grid/viewer-grid.scss?tag=dso-viewer-grid&encapsulation=shadow","src/components/viewer-grid/viewer-grid.tsx"],"sourcesContent":["export interface ViewerGridChangeSizeEvent {\r\n currentSize: ViewerGridPanelSize;\r\n nextSize: ViewerGridPanelSize;\r\n}\r\n\r\nexport interface ViewerGridChangeSizeAnimationEndEvent {\r\n currentSize: ViewerGridPanelSize;\r\n}\r\n\r\nexport interface ViewerGridCloseOverlayEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridFilterpanelCancelEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridFilterpanelApplyEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridActiveTabSwitchEvent {\r\n tab: ViewerGridTab;\r\n}\r\n\r\nexport interface ViewerGridMainExpandEvent {\r\n expand: boolean;\r\n}\r\n\r\nexport interface ViewerGridMainToggleEvent {\r\n hide: boolean;\r\n}\r\n\r\nexport type ViewerGridMode = \"vdk\" | \"vrk\";\r\n\r\nexport type ViewerGridPanelSize = \"small\" | \"medium\" | \"large\";\r\n\r\nexport type ViewerGridLabelSizeMap = { [key in ViewerGridPanelSize]: string };\r\n\r\nexport const viewerGridVrkTabs = [\"main\", \"map\"] as const;\r\nexport type ViewerGridVrkTab = (typeof viewerGridVrkTabs)[number];\r\n\r\nexport const viewerGridVdkTabs = [\"search\", \"map\", \"document\"] as const;\r\nexport type ViewerGridVdkTab = (typeof viewerGridVdkTabs)[number];\r\n\r\nexport type ViewerGridTab = ViewerGridVrkTab | ViewerGridVdkTab;\r\n\r\nexport type ViewerGridTabLabelMap = { [key in ViewerGridTab]: string };\r\n\r\nexport const viewerGridTabLabelMap: ViewerGridTabLabelMap = {\r\n main: \"Hoofdpaneel\",\r\n map: \"Kaart\",\r\n document: \"Document\",\r\n search: \"Zoeken\",\r\n};\r\n\r\nexport const viewerGridSizeLabelMap: ViewerGridLabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n};\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport {\r\n ViewerGridPanelSize,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n viewerGridSizeLabelMap,\r\n} from \"../viewer-grid.interfaces\";\r\n\r\nexport interface ViewerGridDocumentPanelProps {\r\n tabView: boolean;\r\n panelSize: ViewerGridPanelSize;\r\n shrinkDocumentPanel: () => void;\r\n expandDocumentPanel: () => void;\r\n dsoDocumentPanelSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const DocumentPanel: FunctionalComponent<ViewerGridDocumentPanelProps> = ({\r\n tabView,\r\n panelSize,\r\n shrinkDocumentPanel,\r\n expandDocumentPanel,\r\n dsoDocumentPanelSizeChangeAnimationEnd,\r\n}) => (\r\n <div\r\n class=\"dso-document-panel\"\r\n onTransitionEnd={(e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n dsoDocumentPanelSizeChangeAnimationEnd.emit({ currentSize: panelSize });\r\n }\r\n }}\r\n >\r\n {!tabView && (\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte documentpaneel: {viewerGridSizeLabelMap[panelSize]}\r\n </span>\r\n {panelSize !== \"small\" && (\r\n <button type=\"button\" class=\"shrink\" onClick={shrinkDocumentPanel}>\r\n <span class=\"sr-only\">Documentpaneel smaller maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n )}\r\n {panelSize !== \"large\" && (\r\n <button type=\"button\" class=\"expand\" onClick={expandDocumentPanel}>\r\n <span class=\"sr-only\">Documentpaneel breder maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n <div class=\"content\">\r\n <slot name=\"document-panel\" />\r\n </div>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelButtonsProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelButtonsProps> = ({\r\n onApply,\r\n onCancel,\r\n}) => (\r\n <div class=\"filterpanel-buttons\">\r\n <button type=\"button\" class=\"cancel-button\" onClick={onCancel}>\r\n <span>Annuleren</span>\r\n </button>\r\n <button type=\"button\" class=\"apply-button\" onClick={onApply}>\r\n <span>Toepassen</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Filterpanel: FunctionalComponent<ViewerGridFilterpanelProps> = ({ ref, onApply, onCancel }) => (\r\n <dialog\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n onCancel(e);\r\n }}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n </dialog>\r\n);\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport {\r\n ViewerGridPanelSize,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridMode,\r\n viewerGridSizeLabelMap,\r\n} from \"../viewer-grid.interfaces\";\r\n\r\nexport interface ViewerGridMainPanelProps {\r\n mode: ViewerGridMode;\r\n tabView: boolean;\r\n mainSize: ViewerGridPanelSize;\r\n documentPanelOpen: boolean;\r\n mainPanelExpanded: boolean;\r\n mainPanelHidden: boolean;\r\n shrinkMain: () => void;\r\n expandMain: () => void;\r\n expandContent: () => void;\r\n toggleMainPanel: () => void;\r\n dsoMainSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const MainPanel: FunctionalComponent<ViewerGridMainPanelProps> = ({\r\n mode,\r\n tabView,\r\n mainSize,\r\n documentPanelOpen,\r\n mainPanelExpanded,\r\n mainPanelHidden,\r\n shrinkMain,\r\n expandMain,\r\n expandContent,\r\n toggleMainPanel,\r\n dsoMainSizeChangeAnimationEnd,\r\n}) => (\r\n <div\r\n class={clsx(\"dso-main-panel\", {\r\n compact: !tabView && documentPanelOpen && !mainPanelExpanded,\r\n expanded: !tabView && documentPanelOpen && mainPanelExpanded,\r\n collapsed: mainPanelHidden,\r\n })}\r\n onTransitionEnd={(e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n dsoMainSizeChangeAnimationEnd.emit({ currentSize: mainSize });\r\n }\r\n }}\r\n >\r\n {!tabView &&\r\n (!documentPanelOpen ? (\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte {mode === \"vdk\" ? \"zoeken paneel\" : \"hoofdpaneel\"}: {viewerGridSizeLabelMap[mainSize]}\r\n </span>\r\n {mainSize !== \"small\" && (\r\n <button type=\"button\" class=\"shrink\" onClick={shrinkMain}>\r\n <span class=\"sr-only\">{mode === \"vdk\" ? \"Zoeken paneel\" : \"Hoofdpaneel\"} smaller maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n )}\r\n {mainSize !== \"large\" && (\r\n <button type=\"button\" class=\"expand\" onClick={expandMain}>\r\n <span class=\"sr-only\">{mode === \"vdk\" ? \"Zoeken paneel\" : \"Hoofdpaneel\"} breder maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <div class=\"toggle-button\">\r\n <button type=\"button\" onClick={toggleMainPanel}>\r\n <span class=\"sr-only\">\r\n {mode === \"vdk\" ? \"Zoeken paneel\" : \"Hoofdpaneel\"} {mainPanelHidden ? \"Tonen\" : \"Verbergen\"}\r\n </span>\r\n <dso-icon icon={mainPanelHidden ? \"chevron-right\" : \"chevron-left\"}></dso-icon>\r\n </button>\r\n </div>\r\n ))}\r\n <div class={clsx(\"content\", { invisible: mainPanelHidden })}>\r\n <slot name=\"main\" />\r\n {!tabView && documentPanelOpen && (\r\n <button class=\"dso-tertiary expand-button\" onClick={expandContent}>\r\n <dso-icon icon={mainPanelExpanded ? \"chevron-up\" : \"chevron-down\"}></dso-icon>\r\n <span>{mainPanelExpanded ? \"Verberg\" : \"Toon\"} documenten op gekozen locatie</span>\r\n </button>\r\n )}\r\n {documentPanelOpen && mainPanelExpanded && <slot name=\"main-expanded\" />}\r\n </div>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridOverlayProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n dsoCloseOverlay: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Overlay: FunctionalComponent<ViewerGridOverlayProps> = ({ ref, dsoCloseOverlay }) => (\r\n <dialog\r\n class=\"overlay\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n dsoCloseOverlay(e);\r\n }}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={dsoCloseOverlay}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n <slot name=\"overlay\" />\r\n </dialog>\r\n);\r\n","@use \"~dso-toolkit/src/components/grid\" as css-grid;\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/headings\";\r\n@use \"~dso-toolkit/src/components/navbar\";\r\n\r\n@use \"viewer-grid.variables\" as core-viewer-grid-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([mode=\"vdk\"]) {\r\n .overlay {\r\n height: calc(100% - units.$u4);\r\n margin-block: units.$u2;\r\n margin-inline: auto units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.shrink,\r\n.expand,\r\n.overlay-close-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.overlay-close-button {\r\n position: absolute;\r\n top: units.$u1;\r\n right: css-grid.$grid-gutter-width * 0.5;\r\n}\r\n\r\n.content.invisible {\r\n visibility: hidden;\r\n}\r\n\r\n.dso-main-panel,\r\n.dso-document-panel {\r\n .content {\r\n height: 100%;\r\n padding: 0 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n }\r\n}\r\n\r\n.dso-main-panel {\r\n background-color: colors.$wit;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n position: relative;\r\n transition: flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-width core-viewer-grid-variables.$transition-time ease-in,\r\n min-width core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-main-panel;\r\n\r\n &.compact,\r\n &.expanded {\r\n &.collapsed {\r\n left: -432px;\r\n }\r\n }\r\n\r\n &.compact {\r\n flex-shrink: unset;\r\n flex-grow: unset;\r\n position: absolute;\r\n transition: none;\r\n }\r\n\r\n &.expanded.collapsed {\r\n position: absolute;\r\n height: 100%;\r\n }\r\n\r\n .dso-filterblok-address {\r\n font-weight: bold;\r\n margin: units.$u1 0;\r\n }\r\n\r\n .sizing-buttons,\r\n .toggle-button {\r\n left: calc(100% + 1px);\r\n transition: left core-viewer-grid-variables.$transition-time ease-in;\r\n padding: 0 units.$u1 * 0.5 units.$u1 * 0.5 0;\r\n\r\n button {\r\n border-bottom-right-radius: 4px;\r\n border-top-right-radius: 4px;\r\n }\r\n }\r\n\r\n .expand-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n padding-block: units.$u2;\r\n }\r\n}\r\n\r\n.dso-document-panel {\r\n background-color: colors.$wit;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n position: relative;\r\n transition: flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-width core-viewer-grid-variables.$transition-time ease-in,\r\n min-width core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-main-panel;\r\n\r\n .sizing-buttons {\r\n right: calc(100% + 1px);\r\n transition: right core-viewer-grid-variables.$transition-time ease-in;\r\n padding: 0 0 units.$u1 * 0.5 units.$u1 * 0.5;\r\n\r\n button {\r\n border-bottom-left-radius: 4px;\r\n border-top-left-radius: 4px;\r\n }\r\n }\r\n}\r\n\r\n.sizing-buttons,\r\n.toggle-button {\r\n overflow-x: hidden;\r\n position: absolute;\r\n top: core-viewer-grid-variables.$sizing-buttons-top;\r\n width: core-viewer-grid-variables.$resize-button-size + units.$u1 * 0.5;\r\n z-index: zindex.$viewer-grid-sizing-buttons;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n box-shadow: 0 1px units.$u1 * 0.5 0 rgba(0, 0, 0, 0.4);\r\n flex: 0 0 100%;\r\n height: core-viewer-grid-variables.$resize-button-size;\r\n min-width: auto;\r\n width: core-viewer-grid-variables.$resize-button-size;\r\n\r\n &:hover {\r\n dso-icon {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.map {\r\n height: 100%;\r\n width: 100%;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.filterpanel,\r\n.overlay {\r\n background-color: colors.$wit;\r\n border: 0;\r\n height: 100%;\r\n margin-block: 0;\r\n max-height: 100vh;\r\n overflow-y: auto;\r\n z-index: zindex.$viewer-grid-main-panel + 1;\r\n}\r\n\r\n.filterpanel {\r\n padding: units.$u1 css-grid.$grid-gutter-width * 0.5;\r\n left: 0;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filterpanel-width) {\r\n width: 100vw;\r\n\r\n &::before {\r\n display: none !important;\r\n }\r\n }\r\n\r\n h1 {\r\n @include headings.base();\r\n @include headings.margin-large();\r\n @include headings.h1();\r\n }\r\n}\r\n\r\n.overlay {\r\n padding: units.$u5 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n right: 0;\r\n width: core-viewer-grid-variables.$overlay-width;\r\n\r\n &::backdrop {\r\n background-color: rgba(0, 0, 0, 0.5);\r\n }\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$overlay-width) {\r\n width: 100vw;\r\n }\r\n}\r\n\r\n.filterpanel-buttons {\r\n text-align: right;\r\n\r\n .cancel-button {\r\n @include button.secondary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .apply-button {\r\n @include button.primary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .cancel-button + .apply-button {\r\n margin-left: units.$u2;\r\n }\r\n}\r\n\r\n@media screen and (min-width: #{media-query-breakpoints.$screen-sm-min + units.$u5}) {\r\n :host([main-size=\"small\"]) .dso-main-panel,\r\n :host([document-panel-size=\"small\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$small;\r\n min-width: 0;\r\n max-width: core-viewer-grid-variables.$small;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$small) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: 0;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host([main-size=\"medium\"]) .dso-main-panel,\r\n :host([document-panel-size=\"medium\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$medium;\r\n min-width: core-viewer-grid-variables.$small;\r\n max-width: core-viewer-grid-variables.$medium;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$medium) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$small;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host([main-size=\"large\"]) .dso-main-panel,\r\n :host([document-panel-size=\"large\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$large;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n max-width: core-viewer-grid-variables.$large-max;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$large-min) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host {\r\n display: flex;\r\n height: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n\r\n .dso-main-panel.compact,\r\n .dso-main-panel.expanded {\r\n flex-basis: unset;\r\n min-width: unset;\r\n max-width: unset;\r\n width: 440px;\r\n\r\n .content {\r\n height: auto;\r\n overflow-y: auto;\r\n }\r\n }\r\n }\r\n\r\n .dso-main-panel,\r\n .dso-document-panel {\r\n box-shadow: units.$u1 * 0.25 0 units.$u1 0 rgba(0, 0, 0, 0.4);\r\n padding-right: units.$u1;\r\n\r\n .content {\r\n overflow-y: scroll;\r\n }\r\n }\r\n\r\n .filterpanel {\r\n box-shadow: 2px 0 5px colors.$grijs-60;\r\n margin-inline: 0 auto;\r\n max-width: core-viewer-grid-variables.$filterpanel-max-width;\r\n width: calc(100vw - 40px);\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n left: core-viewer-grid-variables.$filterpanel-max-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n\r\n @media screen and (max-width: #{core-viewer-grid-variables.$filterpanel-max-width + 40px}) {\r\n left: auto;\r\n width: 40px;\r\n }\r\n }\r\n }\r\n\r\n .overlay {\r\n box-shadow: -2px 0 5px colors.$grijs-60;\r\n margin-inline: auto 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: #{media-query-breakpoints.$screen-xs-max + units.$u5 + 0.99}) {\r\n @include navbar.root();\r\n\r\n .dso-navbar {\r\n padding-inline: units.$u2;\r\n }\r\n\r\n .dso-nav {\r\n @include navbar.nav-border();\r\n\r\n display: flex;\r\n gap: units.$u2;\r\n margin-block-start: 0;\r\n width: calc(100vw - units.$u4);\r\n }\r\n\r\n .dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n font-weight: 300;\r\n }\r\n\r\n .filterpanel,\r\n .overlay {\r\n margin-inline: 0;\r\n max-width: 100vw;\r\n top: 0;\r\n width: 100vw;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DocumentPanel, Filterpanel, MainPanel, Overlay } from \"./components\";\r\nimport {\r\n ViewerGridPanelSize,\r\n ViewerGridVdkTab,\r\n ViewerGridVrkTab,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridFilterpanelApplyEvent,\r\n ViewerGridFilterpanelCancelEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridActiveTabSwitchEvent,\r\n ViewerGridMode,\r\n viewerGridTabLabelMap,\r\n viewerGridVdkTabs,\r\n viewerGridVrkTabs,\r\n ViewerGridTab,\r\n} from \"./viewer-grid.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n const shadowRoot = entry?.target.getRootNode();\r\n if (shadowRoot instanceof ShadowRoot && isDsoViewerGridComponent(shadowRoot.host)) {\r\n shadowRoot.host._checkMainPanelVisibility();\r\n }\r\n }, 50)\r\n);\r\n\r\nfunction isDsoViewerGridComponent(element: Element): element is HTMLDsoViewerGridElement {\r\n return element.tagName === \"DSO-VIEWER-GRID\";\r\n}\r\n\r\nconst buttonWidth = 40;\r\n\r\nconst tabViewBreakpoint = 768 + buttonWidth;\r\n\r\nconst minMapElementWidth = 440;\r\n\r\n/**\r\n * @slot main\r\n * @slot map\r\n * @slot filterpanel\r\n * @slot overlay\r\n * @slot document-panel - VDK only\r\n * @slot main-expanded - VDK only\r\n */\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private mediaCondition = `(min-width: ${tabViewBreakpoint}px)`;\r\n\r\n private mapElement?: HTMLDivElement;\r\n\r\n /**\r\n * VRK or VDK implementation.\r\n */\r\n @Prop({ reflect: true })\r\n mode: ViewerGridMode = \"vrk\";\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * **VDK only.** Set to true when document panel should show.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelOpen = false;\r\n\r\n /**\r\n * Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n mainSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set active tab in tab view.\r\n */\r\n @Prop()\r\n activeTab?: ViewerGridVdkTab | ViewerGridVrkTab;\r\n\r\n /**\r\n * **VDK only.** Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * **VDK only.** Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * **VDK only.** Set to hide the main panel.\r\n */\r\n @Prop()\r\n mainPanelHidden = false;\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<ViewerGridCloseOverlayEvent>;\r\n\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<ViewerGridFilterpanelCancelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<ViewerGridFilterpanelApplyEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\r\n\r\n /**\r\n * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoMainSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user wants to expand the main panel.\r\n */\r\n @Event()\r\n dsoMainPanelExpand!: EventEmitter<ViewerGridMainExpandEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user toggles the visibility of the main panel.\r\n *\r\n * Also emitted by scripting when the panels do not fit anymore.\r\n */\r\n @Event()\r\n dsoMainPanelToggle!: EventEmitter<ViewerGridMainToggleEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n @State()\r\n tabView = window.innerWidth < tabViewBreakpoint;\r\n\r\n private filterpanel: HTMLDialogElement | undefined;\r\n\r\n private get filterpanelSlot() {\r\n return this.host.querySelector(\"[slot='filterpanel']\");\r\n }\r\n\r\n private get overlaySlot() {\r\n return this.host.querySelector(\"[slot='overlay']\");\r\n }\r\n\r\n private overlay: HTMLDialogElement | undefined;\r\n\r\n @Watch(\"documentPanelOpen\")\r\n documentPanelOpenWatcher(open: boolean) {\r\n if (open) {\r\n this._checkMainPanelVisibility();\r\n }\r\n }\r\n\r\n @Watch(\"filterpanelOpen\")\r\n filterpanelOpenWatcher(open: boolean) {\r\n if (!this.filterpanelSlot) {\r\n console.warn(\"slot 'filterpanel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.filterpanel?.showModal();\r\n } else {\r\n this.filterpanel?.close();\r\n }\r\n }\r\n\r\n @Watch(\"overlayOpen\")\r\n overlayOpenWatcher(open: boolean) {\r\n if (!this.overlaySlot) {\r\n console.warn(\"slot 'overlay' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.overlay?.showModal();\r\n } else {\r\n this.overlay?.close();\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _checkMainPanelVisibility() {\r\n if (\r\n this.mode === \"vdk\" &&\r\n this.documentPanelOpen &&\r\n !this.mainPanelHidden &&\r\n this.mapElement instanceof HTMLDivElement &&\r\n ((this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth && !this.mainPanelExpanded) ||\r\n (this.mapElement.clientWidth <= buttonWidth + buttonWidth && this.mainPanelExpanded))\r\n ) {\r\n this.dsoMainPanelToggle.emit({\r\n hide: true,\r\n });\r\n }\r\n }\r\n\r\n private switchActiveTab = (tab: ViewerGridTab) => {\r\n this.dsoActiveTabSwitch.emit({\r\n tab,\r\n });\r\n };\r\n\r\n private emitShrinkMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: this.mainSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private emitExpandMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: (this.mainSize = this.mainSize === \"small\" ? \"medium\" : \"large\"),\r\n });\r\n };\r\n\r\n private shrinkDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private expandDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: (this.documentPanelSize = this.mainSize === \"small\" ? \"medium\" : \"large\"),\r\n });\r\n };\r\n\r\n private expandContent = () => {\r\n this.dsoMainPanelExpand.emit({\r\n expand: !this.mainPanelExpanded,\r\n });\r\n };\r\n\r\n private toggleMainPanel = () => {\r\n if (\r\n this.mapElement instanceof HTMLDivElement &&\r\n this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth\r\n ) {\r\n this.mainSize = \"small\";\r\n }\r\n\r\n this.dsoMainPanelToggle.emit({\r\n hide: !this.mainPanelHidden,\r\n });\r\n };\r\n\r\n private changeListener = (largeScreen: MediaQueryListEvent) => (this.tabView = !largeScreen.matches);\r\n\r\n private handleFilterpanelApply = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n private handleFilterpanelCancel = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n connectedCallback() {\r\n window.matchMedia(this.mediaCondition).addEventListener(\"change\", this.changeListener);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanelOpen && this.filterpanelSlot) {\r\n this.filterpanel?.showModal();\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (this.mode === \"vdk\" && this.mapElement instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.mapElement);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n window.matchMedia(this.mediaCondition).removeEventListener(\"change\", this.changeListener);\r\n\r\n if (this.mode === \"vdk\" && this.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n const tabLabels = this.mode === \"vdk\" ? viewerGridVdkTabs : viewerGridVrkTabs;\r\n\r\n return (\r\n <>\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {tabLabels.map((tab) => (\r\n <li key={tab} class={clsx({ \"dso-active\": this.activeTab === tab })}>\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={() => this.switchActiveTab(tab)}>\r\n {viewerGridTabLabelMap[tab]}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n {(!this.tabView || (this.tabView && (this.activeTab === \"main\" || this.activeTab === \"search\"))) && (\r\n <MainPanel\r\n mode={this.mode}\r\n tabView={this.tabView}\r\n mainSize={this.mainSize}\r\n documentPanelOpen={this.documentPanelOpen}\r\n mainPanelExpanded={this.mainPanelExpanded}\r\n mainPanelHidden={this.mainPanelHidden}\r\n shrinkMain={this.emitShrinkMain}\r\n expandMain={this.emitExpandMain}\r\n expandContent={this.expandContent}\r\n toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n <Filterpanel\r\n ref={(element) => (this.filterpanel = element)}\r\n onApply={this.handleFilterpanelApply}\r\n onCancel={this.handleFilterpanelCancel}\r\n ></Filterpanel>\r\n {(!this.tabView || (this.tabView && this.activeTab === \"map\")) && (\r\n <div class=\"map\" ref={(element) => (this.mapElement = element)}>\r\n <slot name=\"map\" />\r\n </div>\r\n )}\r\n {((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === \"document\")) && (\r\n <DocumentPanel\r\n tabView={this.tabView}\r\n panelSize={this.documentPanelSize}\r\n shrinkDocumentPanel={this.shrinkDocumentPanel}\r\n expandDocumentPanel={this.expandDocumentPanel}\r\n dsoDocumentPanelSizeChangeAnimationEnd={this.dsoDocumentPanelSizeChangeAnimationEnd}\r\n ></DocumentPanel>\r\n )}\r\n <Overlay\r\n ref={(element) => (this.overlay = element)}\r\n dsoCloseOverlay={(e) => this.dsoCloseOverlay.emit({ originalEvent: e })}\r\n ></Overlay>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { FunctionalComponent } from "../../../../stencil-public-runtime";
|
|
2
|
-
import { AccordionHeading } from "../accordion-section.interfaces";
|
|
3
|
-
export declare const Handle: FunctionalComponent<{
|
|
4
|
-
heading: AccordionHeading;
|
|
5
|
-
ref: (element: HTMLHeadingElement | undefined) => void;
|
|
6
|
-
}>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { FunctionalComponent } from "../../../../stencil-public-runtime";
|
|
2
|
-
import { AccordionSectionState } from "../accordion-section.interfaces";
|
|
3
|
-
export declare const HandleIcon: FunctionalComponent<{
|
|
4
|
-
state?: AccordionSectionState;
|
|
5
|
-
icon?: string;
|
|
6
|
-
attachmentCount?: number;
|
|
7
|
-
}>;
|