ku4web-components 6.4.70 → 6.4.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/{index-e2a47c3c.js → index-c25cf44f.js} +1 -1
  2. package/dist/cjs/ku4-carousel.cjs.entry.js +2 -2
  3. package/dist/cjs/ku4-focus-trap.cjs.entry.js +1 -1
  4. package/dist/cjs/ku4-form.cjs.entry.js +1 -1
  5. package/dist/cjs/ku4-modal.cjs.entry.js +6 -2
  6. package/dist/cjs/ku4-preview.cjs.entry.js +2 -2
  7. package/dist/cjs/ku4-tab-list.cjs.entry.js +3 -3
  8. package/dist/cjs/ku4web-components.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/esm/{index-a39e08fb.js → index-12aee218.js} +1 -1
  11. package/dist/esm/ku4-carousel.entry.js +2 -2
  12. package/dist/esm/ku4-focus-trap.entry.js +1 -1
  13. package/dist/esm/ku4-form.entry.js +1 -1
  14. package/dist/esm/ku4-modal.entry.js +6 -2
  15. package/dist/esm/ku4-preview.entry.js +2 -2
  16. package/dist/esm/ku4-tab-list.entry.js +3 -3
  17. package/dist/esm/ku4web-components.js +1 -1
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm-es5/{index-a39e08fb.js → index-12aee218.js} +1 -1
  20. package/dist/esm-es5/ku4-carousel.entry.js +1 -1
  21. package/dist/esm-es5/ku4-focus-trap.entry.js +1 -1
  22. package/dist/esm-es5/ku4-form.entry.js +1 -1
  23. package/dist/esm-es5/ku4-modal.entry.js +1 -1
  24. package/dist/esm-es5/ku4-preview.entry.js +1 -1
  25. package/dist/esm-es5/ku4-tab-list.entry.js +1 -1
  26. package/dist/esm-es5/ku4web-components.js +1 -1
  27. package/dist/esm-es5/loader.js +1 -1
  28. package/dist/ku4web-components/ku4web-components.esm.js +1 -1
  29. package/dist/ku4web-components/{p-de86f372.system.entry.js → p-0e3f81f0.system.entry.js} +1 -1
  30. package/dist/ku4web-components/p-2c017d37.system.js +1 -1
  31. package/dist/ku4web-components/{p-85ce378f.system.entry.js → p-2d668be8.system.entry.js} +1 -1
  32. package/dist/ku4web-components/{p-ebc796ca.entry.js → p-34e1be7b.entry.js} +1 -1
  33. package/dist/ku4web-components/{p-08ec498e.js → p-3d59c1fe.js} +1 -1
  34. package/dist/ku4web-components/p-4b272a58.entry.js +1 -0
  35. package/dist/ku4web-components/{p-e1964f6b.system.entry.js → p-5cab8007.system.entry.js} +1 -1
  36. package/dist/ku4web-components/{p-43683726.system.entry.js → p-6f236a8a.system.entry.js} +1 -1
  37. package/dist/ku4web-components/{p-31fd55e7.system.entry.js → p-73d78335.system.entry.js} +1 -1
  38. package/dist/ku4web-components/p-769eedee.entry.js +1 -0
  39. package/dist/ku4web-components/{p-52147373.system.js → p-86284ed4.system.js} +1 -1
  40. package/dist/ku4web-components/{p-479439e6.entry.js → p-90a37025.entry.js} +1 -1
  41. package/dist/ku4web-components/{p-6e505024.entry.js → p-a2805805.entry.js} +1 -1
  42. package/dist/ku4web-components/{p-54c18ac5.system.entry.js → p-bf260d4b.system.entry.js} +1 -1
  43. package/dist/ku4web-components/p-f311c0be.entry.js +1 -0
  44. package/dist/types/components/ku4-modal/ku4-modal.d.ts +4 -0
  45. package/dist/types/components/ku4-preview/ku4-preview.d.ts +5 -0
  46. package/dist/types/components/ku4-tab-list/ku4-tab-list.d.ts +2 -2
  47. package/dist/types/components.d.ts +16 -0
  48. package/package.json +20 -20
  49. package/dist/ku4web-components/p-4947eba2.entry.js +0 -1
  50. package/dist/ku4web-components/p-b313124a.entry.js +0 -1
  51. package/dist/ku4web-components/p-b625e0a4.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t,n)=>!s.test(t)&&s.test(r.charAt(n))?e+t:e),"")}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(){return Math.random().toString().substr(2)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/#:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?#]+=[^=?#]*(&[^=?#]+=[^=?#]*)*(#.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});({name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1});class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{e.querySelectorAll("input, textarea").forEach((e=>{t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);})),e.querySelectorAll("select").forEach((e=>{t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]);}));};var index={read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,!1),e.removeEventListener("touchend",this.didTouchEnd,!1),e.removeEventListener("touchmove",this.didTouchMove,!1),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
3
+ class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t,n)=>!s.test(t)&&s.test(r.charAt(n))?e+t:e),"")}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(){return Math.random().toString().substr(2)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/#:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?#]+=[^=?#]*(&[^=?#]+=[^=?#]*)*(#.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});({name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1});class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{[...e.elements].forEach((e=>{/^select$/i.test(e.nodeName)?t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]):t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);}));};var index={read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,!1),e.removeEventListener("touchend",this.didTouchEnd,!1),e.removeEventListener("touchmove",this.didTouchMove,!1),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
4
4
 
5
5
  exports.Device = Device;
6
6
  exports.Document = Document;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
6
  const index$1 = require('./index-da3ed39d.js');
7
- const index$2 = require('./index-e2a47c3c.js');
7
+ const index$2 = require('./index-c25cf44f.js');
8
8
 
9
9
  const ku4CarouselCss = "@-webkit-keyframes ku4-carousel-enter-left{0%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@keyframes ku4-carousel-enter-left{0%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@-webkit-keyframes ku4-carousel-enter-right{0%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@keyframes ku4-carousel-enter-right{0%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@-webkit-keyframes ku4-carousel-exit-left{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}}@keyframes ku4-carousel-exit-left{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}}@-webkit-keyframes ku4-carousel-exit-right{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}}@keyframes ku4-carousel-exit-right{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}}:host{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;overflow:hidden;background-color:var(--ku4-carousel-background-color, #fff)}.slide-container{position:relative;width:100%;height:100%;overflow:hidden}.controls .next,.controls .prev{position:absolute;display:var(--ku4-carousel-controls-display, block);top:var(--ku4-carousel-controls-top, 0);border:var(--ku4-carousel-controls-border, none);background-color:var(--ku4-carousel-controls-background-color, #fff);font-family:var(--ku4-carousel-controls-font-family, Helvetica, Arial, sans-serif);font-weight:var(--ku4-carousel-controls-font-weight, 400);font-size:var(--ku4-carousel-controls-font-size, 8px);line-height:var(--ku4-carousel-controls-line-height, 12px);opacity:var(--ku4-carousel-controls-opacity, 0.2);z-index:var(--ku4-carousel-controls-z-index, 2)}.controls .next:focus,.controls .prev:focus{background-color:var(--ku4-carousel-controls-focus-background-color, transparent);outline:var(--ku4-carousel-controls-focus-outline, none);opacity:var(--ku4-carousel-controls-focus-opacity, 0.2)}.controls .next:hover,.controls .prev:hover{background-color:var(--ku4-carousel-controls-hover-background-color, transparent);opacity:var(--ku4-carousel-controls-hover-opacity, 1)}.controls .next{right:0;width:var(--ku4-carousel-controls-next-width, 40px);height:var(--ku4-carousel-controls-next-height, 100%);background-image:var(--ku4-carousel-controls-next-background-image);background-repeat:var(--ku4-carousel-controls-next-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-background-size, 100% 100%)}.controls .next:focus{background-image:var(--ku4-carousel-controls-next-focus-background-image);background-repeat:var(--ku4-carousel-controls-next-focus-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-focus-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-focus-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-focus-background-size, 100% 100%)}.controls .next:hover{background-image:var(--ku4-carousel-controls-next-hover-background-image);background-repeat:var(--ku4-carousel-controls-next-hover-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-hover-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-hover-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-hover-background-size, 100% 100%)}.controls .prev{left:0;width:var(--ku4-carousel-controls-next-width, 40px);height:var(--ku4-carousel-controls-next-height, 100%);background-image:var(--ku4-carousel-controls-previous-background-image);background-repeat:var(--ku4-carousel-controls-previous-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-background-size, 100% 100%)}.controls .prev:focus{background-image:var(--ku4-carousel-controls-previous-focus-background-image);background-repeat:var(--ku4-carousel-controls-previous-focus-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-focus-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-focus-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-focus-background-size, 100% 100%)}.controls .prev:hover{background-image:var(--ku4-carousel-controls-previous-hover-background-image);background-repeat:var(--ku4-carousel-controls-previous-hover-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-hover-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-hover-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-hover-background-size, 100% 100%)}.pages{position:absolute;display:var(--ku4-carousel-pages-display, block);top:var(--ku4-carousel-pages-top, auto);bottom:var(--ku4-carousel-pages-bottom, 4px);width:var(--ku4-carousel-pages-width, auto);height:var(--ku4-carousel-pages-height, 20px);background-color:var(--ku4-carousel-pages-background-color, transparent);opacity:var(--ku4-carousel-pages-opacity, 0.5);text-align:center;z-index:3}.pages-text{display:inline-block;padding:var(--ku4-carousel-pages-text-padding, 4px);font-family:var(--ku4-carousel-pages-text-font-family, Helvetica, Arial, sans-serif);font-weight:var(--ku4-carousel-pages-text-font-weight, 600);font-size:var(--ku4-carousel-pages-text-font-size, 14px);line-height:var(--ku4-carousel-pages-text-line-height, 16px);color:var(--ku4-carousel-pages-text-color, #aaa)}::slotted(*){position:absolute;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;top:0;left:-100%;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(.inactive){position:absolute;height:100%;left:0}::slotted(.inactive.prev){-webkit-animation-name:var(--ku4-carousel-animation-inactive-previous-name, ku4-carousel-exit-right);animation-name:var(--ku4-carousel-animation-inactive-previous-name, ku4-carousel-exit-right);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function);animation-timing-function:var(--ku4-carousel-animation-timing-function);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.inactive.next){-webkit-animation-name:var(--ku4-carousel-animation-inactive-next-name, ku4-carousel-exit-left);animation-name:var(--ku4-carousel-animation-inactive-next-name, ku4-carousel-exit-left);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function);animation-timing-function:var(--ku4-carousel-animation-timing-function);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.active){position:relative;top:0;left:0;width:auto;height:100%;z-index:1}::slotted(.active.prev){-webkit-animation-name:var(--ku4-carousel-animation-active-previous-name, ku4-carousel-enter-left);animation-name:var(--ku4-carousel-animation-active-previous-name, ku4-carousel-enter-left);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.active.next){-webkit-animation-name:var(--ku4-carousel-animation-active-next-name, ku4-carousel-enter-right);animation-name:var(--ku4-carousel-animation-active-next-name, ku4-carousel-enter-right);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (hover: hover){.controls:hover{background-color:var(--ku4-carousel-controls-focus-background-color, #fff)}}";
10
10
 
@@ -71,7 +71,7 @@ let Ku4Carousel = class {
71
71
  const slide = move < 0 ? 'prev' : 'next';
72
72
  let count = Math.abs(move);
73
73
  while (0 < --count) {
74
- await index$1.Y(0).then(() => this.rolodex[slide]);
74
+ await index$1.Y(10).then(() => this.rolodex[slide]);
75
75
  }
76
76
  this.display(slide);
77
77
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
6
  const index$1 = require('./index-da3ed39d.js');
7
- const index$2 = require('./index-e2a47c3c.js');
7
+ const index$2 = require('./index-c25cf44f.js');
8
8
 
9
9
  /**
10
10
  * Sets aria-hidden attribute for passed elements
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
6
  const index$1 = require('./index-da3ed39d.js');
7
- const index$2 = require('./index-e2a47c3c.js');
7
+ const index$2 = require('./index-c25cf44f.js');
8
8
 
9
9
  let Ku4Form = class {
10
10
  constructor(hostRef) {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
6
  const index$2 = require('./index-da3ed39d.js');
7
- const index$1 = require('./index-e2a47c3c.js');
7
+ const index$1 = require('./index-c25cf44f.js');
8
8
 
9
9
  const ku4ModalCss = "@-webkit-keyframes ku4-modal-content-enter{0%{-webkit-transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));opacity:var(--ku4-modal-content-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));opacity:var(--ku4-modal-content-animation-mid-opacity, 0.8)}100%{-webkit-transform:var(--ku4-modal-content-animation-end-transform, scale(1));transform:var(--ku4-modal-content-animation-end-transform, scale(1));opacity:var(--ku4-modal-content-animation-end-opacity, 1)}}@keyframes ku4-modal-content-enter{0%{-webkit-transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));opacity:var(--ku4-modal-content-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));opacity:var(--ku4-modal-content-animation-mid-opacity, 0.8)}100%{-webkit-transform:var(--ku4-modal-content-animation-end-transform, scale(1));transform:var(--ku4-modal-content-animation-end-transform, scale(1));opacity:var(--ku4-modal-content-animation-end-opacity, 1)}}@-webkit-keyframes ku4-modal-overlay-enter{0%{-webkit-transform:var(--ku4-modal-overlay-animation-start-transform, none);transform:var(--ku4-modal-overlay-animation-start-transform, none);opacity:var(--ku4-modal-overlay-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-overlay-animation-mid-transform, none);transform:var(--ku4-modal-overlay-animation-mid-transform, none);opacity:var(--ku4-modal-overlay-animation-mid-opacity, 0.35)}100%{-webkit-transform:var(--ku4-modal-overlay-animation-end-transform, none);transform:var(--ku4-modal-overlay-animation-end-transform, none);opacity:var(--ku4-modal-overlay-animation-end-opacity, 0.4)}}@keyframes ku4-modal-overlay-enter{0%{-webkit-transform:var(--ku4-modal-overlay-animation-start-transform, none);transform:var(--ku4-modal-overlay-animation-start-transform, none);opacity:var(--ku4-modal-overlay-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-overlay-animation-mid-transform, none);transform:var(--ku4-modal-overlay-animation-mid-transform, none);opacity:var(--ku4-modal-overlay-animation-mid-opacity, 0.35)}100%{-webkit-transform:var(--ku4-modal-overlay-animation-end-transform, none);transform:var(--ku4-modal-overlay-animation-end-transform, none);opacity:var(--ku4-modal-overlay-animation-end-opacity, 0.4)}}:host{position:fixed;display:none;top:0;left:0;width:100vw;height:100vh;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background:transparent;overflow:auto;-webkit-transform-style:var(--ku4-modal-transform-style, initial);transform-style:var(--ku4-modal-transform-style, initial)}.ku4-modal-content{position:relative;top:0;left:0}.ku4-modal-overlay{position:fixed;display:-ms-flexbox;display:flex;top:0;left:0;width:100%;height:100%;opacity:0;background:var(--ku4-modal-overlay-background, #000)}:host([visible]){display:-ms-flexbox;display:flex;z-index:var(--ku4-modal-z-index, 5)}:host([visible]) .ku4-modal-content{-webkit-animation-name:ku4-modal-content-enter;animation-name:ku4-modal-content-enter;-webkit-animation-duration:var(--ku4-modal-content-animation-duration, 0.4s);animation-duration:var(--ku4-modal-content-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-modal-content-animation-timing-function, ease);animation-timing-function:var(--ku4-modal-content-animation-timing-function, ease);-webkit-transform:var(--ku4-modal-content-transform, none);transform:var(--ku4-modal-content-transform, none);opacity:var(--ku4-modal-content-opacity, 1);z-index:calc(var(--ku4-modal-z-index, 5) + 1)}:host([visible]) .ku4-modal-overlay{-webkit-animation-name:ku4-modal-overlay-enter;animation-name:ku4-modal-overlay-enter;-webkit-animation-duration:var(--ku4-modal-overlay-animation-duration, 0.4s);animation-duration:var(--ku4-modal-overlay-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-modal-overlay-animation-timing-function, ease);animation-timing-function:var(--ku4-modal-overlay-animation-timing-function, ease);-webkit-transform:var(--ku4-modal-overlay-transform, none);transform:var(--ku4-modal-overlay-transform, none);opacity:var(--ku4-modal-overlay-opacity, 0.4);z-index:calc(var(--ku4-modal-z-index, 5))}:host([visible=false]){display:none}";
10
10
 
@@ -18,6 +18,10 @@ let Ku4Modal = class {
18
18
  */
19
19
  // eslint-disable-next-line @stencil/strict-mutable
20
20
  this.visible = false;
21
+ /**
22
+ * Will not dismiss by clicking and touching outside when false;
23
+ */
24
+ this.dismissable = true;
21
25
  }
22
26
  handleVisibility(value) {
23
27
  if (value) {
@@ -63,7 +67,7 @@ let Ku4Modal = class {
63
67
  }
64
68
  }
65
69
  render() {
66
- return (index.h(index.Host, { role: "dialog", "aria-modal": "true" }, index.h("section", { class: "ku4-modal-content" }, index.h("slot", null)), index.h("section", { class: "ku4-modal-overlay", onClick: () => this.dismiss(), "aria-hidden": "true" })));
70
+ return (index.h(index.Host, { role: "dialog", "aria-modal": "true" }, index.h("section", { class: "ku4-modal-content" }, index.h("slot", null)), index.h("section", { class: "ku4-modal-overlay", onClick: () => this.dismissable && this.dismiss(), "aria-hidden": "true" })));
67
71
  }
68
72
  get host() { return index.getElement(this); }
69
73
  static get watchers() { return {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
6
  const index$1 = require('./index-da3ed39d.js');
7
- const index$2 = require('./index-e2a47c3c.js');
7
+ const index$2 = require('./index-c25cf44f.js');
8
8
 
9
9
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
10
 
@@ -92,7 +92,7 @@ let Ku4Preview = class {
92
92
  this.input.removeEventListener('change', this.handleChange);
93
93
  }
94
94
  render() {
95
- return (index.h(index.Host, null, index.h("img", { src: this.currentSrc || this.src, alt: this.alt || 'preview image' }), index.h("slot", null)));
95
+ return (index.h(index.Host, null, index.h("img", { src: this.currentSrc || this.src, alt: this.alt || 'preview image', onError: ({ target }) => { target.src = this.altsrc; } }), index.h("slot", null)));
96
96
  }
97
97
  static get watchers() { return {
98
98
  "orientation": ["orientationHandler"]
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ad848401.js');
6
- const index$1 = require('./index-e2a47c3c.js');
6
+ const index$1 = require('./index-c25cf44f.js');
7
7
  const uid = require('./uid-d6942c42.js');
8
8
  require('./index-da3ed39d.js');
9
9
 
@@ -13,10 +13,10 @@ let Ku4TabList = class {
13
13
  constructor(hostRef) {
14
14
  index.registerInstance(this, hostRef);
15
15
  }
16
- handleHpTabClick({ target }) {
16
+ handleTabClick({ target }) {
17
17
  this.tabs.includes(target) && this.open(target);
18
18
  }
19
- handleHpTabKeyUp({ target, detail: e }) {
19
+ handleTabKeyUp({ target, detail: e }) {
20
20
  if (!(this.tabs.includes(target))) {
21
21
  return;
22
22
  }
@@ -32,5 +32,5 @@ const patchBrowser = () => {
32
32
  };
33
33
 
34
34
  patchBrowser().then(options => {
35
- return index.bootstrapLazy([["ku4-carousel.cjs",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls.cjs",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide.cjs",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col.cjs",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer.cjs",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature.cjs",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap.cjs",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form.cjs",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid.cjs",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label.cjs",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask.cjs",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal.cjs",[[1,"ku4-modal",{"visible":[1540],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel.cjs",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview.cjs",[[1,"ku4-preview",{"for":[1],"src":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab.cjs",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list.cjs",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleHpTabClick"],[0,"ku4TabKeyup","handleHpTabKeyUp"]]]]],["ku4-tab-panel.cjs",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table.cjs",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip.cjs",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation.cjs",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
35
+ return index.bootstrapLazy([["ku4-carousel.cjs",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls.cjs",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide.cjs",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col.cjs",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer.cjs",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature.cjs",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap.cjs",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form.cjs",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid.cjs",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label.cjs",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask.cjs",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal.cjs",[[1,"ku4-modal",{"visible":[1540],"dismissable":[4],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel.cjs",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview.cjs",[[1,"ku4-preview",{"for":[1],"src":[1],"altsrc":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab.cjs",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list.cjs",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleTabClick"],[0,"ku4TabKeyup","handleTabKeyUp"]]]]],["ku4-tab-panel.cjs",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table.cjs",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip.cjs",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation.cjs",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
36
36
  });
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["ku4-carousel.cjs",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls.cjs",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide.cjs",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col.cjs",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer.cjs",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature.cjs",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap.cjs",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form.cjs",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid.cjs",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label.cjs",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask.cjs",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal.cjs",[[1,"ku4-modal",{"visible":[1540],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel.cjs",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview.cjs",[[1,"ku4-preview",{"for":[1],"src":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab.cjs",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list.cjs",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleHpTabClick"],[0,"ku4TabKeyup","handleHpTabKeyUp"]]]]],["ku4-tab-panel.cjs",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table.cjs",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip.cjs",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation.cjs",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
17
+ return index.bootstrapLazy([["ku4-carousel.cjs",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls.cjs",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide.cjs",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col.cjs",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer.cjs",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature.cjs",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap.cjs",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form.cjs",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid.cjs",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label.cjs",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask.cjs",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal.cjs",[[1,"ku4-modal",{"visible":[1540],"dismissable":[4],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel.cjs",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview.cjs",[[1,"ku4-preview",{"for":[1],"src":[1],"altsrc":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab.cjs",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list.cjs",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleTabClick"],[0,"ku4TabKeyup","handleTabKeyUp"]]]]],["ku4-tab-panel.cjs",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table.cjs",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip.cjs",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation.cjs",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -1,3 +1,3 @@
1
- class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t,n)=>!s.test(t)&&s.test(r.charAt(n))?e+t:e),"")}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(){return Math.random().toString().substr(2)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/#:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?#]+=[^=?#]*(&[^=?#]+=[^=?#]*)*(#.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});({name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1});class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{e.querySelectorAll("input, textarea").forEach((e=>{t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);})),e.querySelectorAll("select").forEach((e=>{t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]);}));};var index={read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,!1),e.removeEventListener("touchend",this.didTouchEnd,!1),e.removeEventListener("touchmove",this.didTouchMove,!1),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
1
+ class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t,n)=>!s.test(t)&&s.test(r.charAt(n))?e+t:e),"")}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(){return Math.random().toString().substr(2)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/#:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?#]+=[^=?#]*(&[^=?#]+=[^=?#]*)*(#.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});({name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1});class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{[...e.elements].forEach((e=>{/^select$/i.test(e.nodeName)?t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]):t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);}));};var index={read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,!1),e.removeEventListener("touchend",this.didTouchEnd,!1),e.removeEventListener("touchmove",this.didTouchMove,!1),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
2
2
 
3
3
  export { Document as D, Event as E, Key as K, Swipe as S, Device as a, index as i };
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-6d602d99.js';
2
2
  import { L, Y, c } from './index-20c3926d.js';
3
- import { S as Swipe } from './index-a39e08fb.js';
3
+ import { S as Swipe } from './index-12aee218.js';
4
4
 
5
5
  const ku4CarouselCss = "@-webkit-keyframes ku4-carousel-enter-left{0%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@keyframes ku4-carousel-enter-left{0%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@-webkit-keyframes ku4-carousel-enter-right{0%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@keyframes ku4-carousel-enter-right{0%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}100%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}}@-webkit-keyframes ku4-carousel-exit-left{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}}@keyframes ku4-carousel-exit-left{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}}@-webkit-keyframes ku4-carousel-exit-right{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}}@keyframes ku4-carousel-exit-right{0%{top:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}100%{top:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}}:host{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;overflow:hidden;background-color:var(--ku4-carousel-background-color, #fff)}.slide-container{position:relative;width:100%;height:100%;overflow:hidden}.controls .next,.controls .prev{position:absolute;display:var(--ku4-carousel-controls-display, block);top:var(--ku4-carousel-controls-top, 0);border:var(--ku4-carousel-controls-border, none);background-color:var(--ku4-carousel-controls-background-color, #fff);font-family:var(--ku4-carousel-controls-font-family, Helvetica, Arial, sans-serif);font-weight:var(--ku4-carousel-controls-font-weight, 400);font-size:var(--ku4-carousel-controls-font-size, 8px);line-height:var(--ku4-carousel-controls-line-height, 12px);opacity:var(--ku4-carousel-controls-opacity, 0.2);z-index:var(--ku4-carousel-controls-z-index, 2)}.controls .next:focus,.controls .prev:focus{background-color:var(--ku4-carousel-controls-focus-background-color, transparent);outline:var(--ku4-carousel-controls-focus-outline, none);opacity:var(--ku4-carousel-controls-focus-opacity, 0.2)}.controls .next:hover,.controls .prev:hover{background-color:var(--ku4-carousel-controls-hover-background-color, transparent);opacity:var(--ku4-carousel-controls-hover-opacity, 1)}.controls .next{right:0;width:var(--ku4-carousel-controls-next-width, 40px);height:var(--ku4-carousel-controls-next-height, 100%);background-image:var(--ku4-carousel-controls-next-background-image);background-repeat:var(--ku4-carousel-controls-next-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-background-size, 100% 100%)}.controls .next:focus{background-image:var(--ku4-carousel-controls-next-focus-background-image);background-repeat:var(--ku4-carousel-controls-next-focus-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-focus-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-focus-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-focus-background-size, 100% 100%)}.controls .next:hover{background-image:var(--ku4-carousel-controls-next-hover-background-image);background-repeat:var(--ku4-carousel-controls-next-hover-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-next-hover-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-next-hover-background-position-y, 50%);background-size:var(--ku4-carousel-controls-next-hover-background-size, 100% 100%)}.controls .prev{left:0;width:var(--ku4-carousel-controls-next-width, 40px);height:var(--ku4-carousel-controls-next-height, 100%);background-image:var(--ku4-carousel-controls-previous-background-image);background-repeat:var(--ku4-carousel-controls-previous-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-background-size, 100% 100%)}.controls .prev:focus{background-image:var(--ku4-carousel-controls-previous-focus-background-image);background-repeat:var(--ku4-carousel-controls-previous-focus-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-focus-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-focus-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-focus-background-size, 100% 100%)}.controls .prev:hover{background-image:var(--ku4-carousel-controls-previous-hover-background-image);background-repeat:var(--ku4-carousel-controls-previous-hover-background-repeat, no-repeat);background-position-x:var(--ku4-carousel-controls-previous-hover-background-position-x, 0);background-position-y:var(--ku4-carousel-controls-previous-hover-background-position-y, 50%);background-size:var(--ku4-carousel-controls-previous-hover-background-size, 100% 100%)}.pages{position:absolute;display:var(--ku4-carousel-pages-display, block);top:var(--ku4-carousel-pages-top, auto);bottom:var(--ku4-carousel-pages-bottom, 4px);width:var(--ku4-carousel-pages-width, auto);height:var(--ku4-carousel-pages-height, 20px);background-color:var(--ku4-carousel-pages-background-color, transparent);opacity:var(--ku4-carousel-pages-opacity, 0.5);text-align:center;z-index:3}.pages-text{display:inline-block;padding:var(--ku4-carousel-pages-text-padding, 4px);font-family:var(--ku4-carousel-pages-text-font-family, Helvetica, Arial, sans-serif);font-weight:var(--ku4-carousel-pages-text-font-weight, 600);font-size:var(--ku4-carousel-pages-text-font-size, 14px);line-height:var(--ku4-carousel-pages-text-line-height, 16px);color:var(--ku4-carousel-pages-text-color, #aaa)}::slotted(*){position:absolute;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;top:0;left:-100%;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(.inactive){position:absolute;height:100%;left:0}::slotted(.inactive.prev){-webkit-animation-name:var(--ku4-carousel-animation-inactive-previous-name, ku4-carousel-exit-right);animation-name:var(--ku4-carousel-animation-inactive-previous-name, ku4-carousel-exit-right);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function);animation-timing-function:var(--ku4-carousel-animation-timing-function);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.inactive.next){-webkit-animation-name:var(--ku4-carousel-animation-inactive-next-name, ku4-carousel-exit-left);animation-name:var(--ku4-carousel-animation-inactive-next-name, ku4-carousel-exit-left);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function);animation-timing-function:var(--ku4-carousel-animation-timing-function);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.active){position:relative;top:0;left:0;width:auto;height:100%;z-index:1}::slotted(.active.prev){-webkit-animation-name:var(--ku4-carousel-animation-active-previous-name, ku4-carousel-enter-left);animation-name:var(--ku4-carousel-animation-active-previous-name, ku4-carousel-enter-left);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}::slotted(.active.next){-webkit-animation-name:var(--ku4-carousel-animation-active-next-name, ku4-carousel-enter-right);animation-name:var(--ku4-carousel-animation-active-next-name, ku4-carousel-enter-right);-webkit-animation-duration:var(--ku4-carousel-animation-duration, 0.4s);animation-duration:var(--ku4-carousel-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);animation-timing-function:var(--ku4-carousel-animation-timing-function, ease);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (hover: hover){.controls:hover{background-color:var(--ku4-carousel-controls-focus-background-color, #fff)}}";
6
6
 
@@ -67,7 +67,7 @@ let Ku4Carousel = class {
67
67
  const slide = move < 0 ? 'prev' : 'next';
68
68
  let count = Math.abs(move);
69
69
  while (0 < --count) {
70
- await Y(0).then(() => this.rolodex[slide]);
70
+ await Y(10).then(() => this.rolodex[slide]);
71
71
  }
72
72
  this.display(slide);
73
73
  }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-6d602d99.js';
2
2
  import { t, o } from './index-20c3926d.js';
3
- import { E as Event, K as Key } from './index-a39e08fb.js';
3
+ import { E as Event, K as Key } from './index-12aee218.js';
4
4
 
5
5
  /**
6
6
  * Sets aria-hidden attribute for passed elements
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-6d602d99.js';
2
2
  import { t } from './index-20c3926d.js';
3
- import { i as index } from './index-a39e08fb.js';
3
+ import { i as index } from './index-12aee218.js';
4
4
 
5
5
  let Ku4Form = class {
6
6
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-6d602d99.js';
2
2
  import { t } from './index-20c3926d.js';
3
- import { D as Document, K as Key } from './index-a39e08fb.js';
3
+ import { D as Document, K as Key } from './index-12aee218.js';
4
4
 
5
5
  const ku4ModalCss = "@-webkit-keyframes ku4-modal-content-enter{0%{-webkit-transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));opacity:var(--ku4-modal-content-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));opacity:var(--ku4-modal-content-animation-mid-opacity, 0.8)}100%{-webkit-transform:var(--ku4-modal-content-animation-end-transform, scale(1));transform:var(--ku4-modal-content-animation-end-transform, scale(1));opacity:var(--ku4-modal-content-animation-end-opacity, 1)}}@keyframes ku4-modal-content-enter{0%{-webkit-transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));transform:var(--ku4-modal-content-animation-start-transform, scale(0.5));opacity:var(--ku4-modal-content-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));transform:var(--ku4-modal-content-animation-mid-transform, scale(1.2));opacity:var(--ku4-modal-content-animation-mid-opacity, 0.8)}100%{-webkit-transform:var(--ku4-modal-content-animation-end-transform, scale(1));transform:var(--ku4-modal-content-animation-end-transform, scale(1));opacity:var(--ku4-modal-content-animation-end-opacity, 1)}}@-webkit-keyframes ku4-modal-overlay-enter{0%{-webkit-transform:var(--ku4-modal-overlay-animation-start-transform, none);transform:var(--ku4-modal-overlay-animation-start-transform, none);opacity:var(--ku4-modal-overlay-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-overlay-animation-mid-transform, none);transform:var(--ku4-modal-overlay-animation-mid-transform, none);opacity:var(--ku4-modal-overlay-animation-mid-opacity, 0.35)}100%{-webkit-transform:var(--ku4-modal-overlay-animation-end-transform, none);transform:var(--ku4-modal-overlay-animation-end-transform, none);opacity:var(--ku4-modal-overlay-animation-end-opacity, 0.4)}}@keyframes ku4-modal-overlay-enter{0%{-webkit-transform:var(--ku4-modal-overlay-animation-start-transform, none);transform:var(--ku4-modal-overlay-animation-start-transform, none);opacity:var(--ku4-modal-overlay-animation-start-opacity, 0)}50%{-webkit-transform:var(--ku4-modal-overlay-animation-mid-transform, none);transform:var(--ku4-modal-overlay-animation-mid-transform, none);opacity:var(--ku4-modal-overlay-animation-mid-opacity, 0.35)}100%{-webkit-transform:var(--ku4-modal-overlay-animation-end-transform, none);transform:var(--ku4-modal-overlay-animation-end-transform, none);opacity:var(--ku4-modal-overlay-animation-end-opacity, 0.4)}}:host{position:fixed;display:none;top:0;left:0;width:100vw;height:100vh;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background:transparent;overflow:auto;-webkit-transform-style:var(--ku4-modal-transform-style, initial);transform-style:var(--ku4-modal-transform-style, initial)}.ku4-modal-content{position:relative;top:0;left:0}.ku4-modal-overlay{position:fixed;display:-ms-flexbox;display:flex;top:0;left:0;width:100%;height:100%;opacity:0;background:var(--ku4-modal-overlay-background, #000)}:host([visible]){display:-ms-flexbox;display:flex;z-index:var(--ku4-modal-z-index, 5)}:host([visible]) .ku4-modal-content{-webkit-animation-name:ku4-modal-content-enter;animation-name:ku4-modal-content-enter;-webkit-animation-duration:var(--ku4-modal-content-animation-duration, 0.4s);animation-duration:var(--ku4-modal-content-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-modal-content-animation-timing-function, ease);animation-timing-function:var(--ku4-modal-content-animation-timing-function, ease);-webkit-transform:var(--ku4-modal-content-transform, none);transform:var(--ku4-modal-content-transform, none);opacity:var(--ku4-modal-content-opacity, 1);z-index:calc(var(--ku4-modal-z-index, 5) + 1)}:host([visible]) .ku4-modal-overlay{-webkit-animation-name:ku4-modal-overlay-enter;animation-name:ku4-modal-overlay-enter;-webkit-animation-duration:var(--ku4-modal-overlay-animation-duration, 0.4s);animation-duration:var(--ku4-modal-overlay-animation-duration, 0.4s);-webkit-animation-timing-function:var(--ku4-modal-overlay-animation-timing-function, ease);animation-timing-function:var(--ku4-modal-overlay-animation-timing-function, ease);-webkit-transform:var(--ku4-modal-overlay-transform, none);transform:var(--ku4-modal-overlay-transform, none);opacity:var(--ku4-modal-overlay-opacity, 0.4);z-index:calc(var(--ku4-modal-z-index, 5))}:host([visible=false]){display:none}";
6
6
 
@@ -14,6 +14,10 @@ let Ku4Modal = class {
14
14
  */
15
15
  // eslint-disable-next-line @stencil/strict-mutable
16
16
  this.visible = false;
17
+ /**
18
+ * Will not dismiss by clicking and touching outside when false;
19
+ */
20
+ this.dismissable = true;
17
21
  }
18
22
  handleVisibility(value) {
19
23
  if (value) {
@@ -59,7 +63,7 @@ let Ku4Modal = class {
59
63
  }
60
64
  }
61
65
  render() {
62
- return (h(Host, { role: "dialog", "aria-modal": "true" }, h("section", { class: "ku4-modal-content" }, h("slot", null)), h("section", { class: "ku4-modal-overlay", onClick: () => this.dismiss(), "aria-hidden": "true" })));
66
+ return (h(Host, { role: "dialog", "aria-modal": "true" }, h("section", { class: "ku4-modal-content" }, h("slot", null)), h("section", { class: "ku4-modal-overlay", onClick: () => this.dismissable && this.dismiss(), "aria-hidden": "true" })));
63
67
  }
64
68
  get host() { return getElement(this); }
65
69
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-6d602d99.js';
2
2
  import { t } from './index-20c3926d.js';
3
- import { a as Device } from './index-a39e08fb.js';
3
+ import { a as Device } from './index-12aee218.js';
4
4
 
5
5
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
6
6
 
@@ -88,7 +88,7 @@ let Ku4Preview = class {
88
88
  this.input.removeEventListener('change', this.handleChange);
89
89
  }
90
90
  render() {
91
- return (h(Host, null, h("img", { src: this.currentSrc || this.src, alt: this.alt || 'preview image' }), h("slot", null)));
91
+ return (h(Host, null, h("img", { src: this.currentSrc || this.src, alt: this.alt || 'preview image', onError: ({ target }) => { target.src = this.altsrc; } }), h("slot", null)));
92
92
  }
93
93
  static get watchers() { return {
94
94
  "orientation": ["orientationHandler"]
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-6d602d99.js';
2
- import { K as Key } from './index-a39e08fb.js';
2
+ import { K as Key } from './index-12aee218.js';
3
3
  import { u as uid } from './uid-15f8c937.js';
4
4
  import './index-20c3926d.js';
5
5
 
@@ -9,10 +9,10 @@ let Ku4TabList = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
11
  }
12
- handleHpTabClick({ target }) {
12
+ handleTabClick({ target }) {
13
13
  this.tabs.includes(target) && this.open(target);
14
14
  }
15
- handleHpTabKeyUp({ target, detail: e }) {
15
+ handleTabKeyUp({ target, detail: e }) {
16
16
  if (!(this.tabs.includes(target))) {
17
17
  return;
18
18
  }
@@ -30,5 +30,5 @@ const patchBrowser = () => {
30
30
  };
31
31
 
32
32
  patchBrowser().then(options => {
33
- return bootstrapLazy([["ku4-carousel",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal",[[1,"ku4-modal",{"visible":[1540],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview",[[1,"ku4-preview",{"for":[1],"src":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleHpTabClick"],[0,"ku4TabKeyup","handleHpTabKeyUp"]]]]],["ku4-tab-panel",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
33
+ return bootstrapLazy([["ku4-carousel",[[1,"ku4-carousel",{"swipeTolerance":[2,"swipe-tolerance"],"auto":[4],"noSwipe":[4,"no-swipe"],"delay":[2],"slideState":[32],"next":[64],"previous":[64],"slideTo":[64],"pause":[64],"play":[64]}]]],["ku4-carousel-controls",[[1,"ku4-carousel-controls",{"for":[1]}]]],["ku4-carousel-slide",[[1,"ku4-carousel-slide",{"active":[32],"classList":[32],"slideIn":[64],"slideOut":[64],"activate":[64],"deactivate":[64]}]]],["ku4-col",[[1,"ku4-col",{"startXs":[2,"start-xs"],"startSm":[2,"start-sm"],"startMd":[2,"start-md"],"startLg":[2,"start-lg"],"spanXs":[2,"span-xs"],"spanSm":[2,"span-sm"],"spanMd":[2,"span-md"],"spanLg":[2,"span-lg"],"orderXs":[2,"order-xs"],"orderSm":[2,"order-sm"],"orderMd":[2,"order-md"],"orderLg":[2,"order-lg"]}]]],["ku4-drawer",[[1,"ku4-drawer",{"bottom":[516],"left":[516],"right":[516],"top":[516],"size":[1],"open":[1540],"toggle":[64]}]]],["ku4-feature",[[1,"ku4-feature",{"on":[4],"policy":[1],"enabled":[32]}]]],["ku4-focus-trap",[[1,"ku4-focus-trap",{"active":[1540],"include":[1],"exclude":[1],"excludeShadow":[1,"exclude-shadow"],"initial":[1],"return":[1],"activate":[64],"deactivate":[64]}]]],["ku4-form",[[4,"ku4-form",{"invalid":[1540],"validate":[64],"invalidate":[64],"read":[64],"write":[64]}]]],["ku4-grid",[[1,"ku4-grid",{"columnsXs":[2,"columns-xs"],"columnsSm":[2,"columns-sm"],"columnsMd":[2,"columns-md"],"columnsLg":[2,"columns-lg"],"offsetLeftXs":[2,"offset-left-xs"],"offsetLeftSm":[2,"offset-left-sm"],"offsetLeftMd":[2,"offset-left-md"],"offsetLeftLg":[2,"offset-left-lg"],"offsetRight":[2,"offset-right"],"offsetRightXs":[2,"offset-right-xs"],"offsetRightSm":[2,"offset-right-sm"],"offsetRightMd":[2,"offset-right-md"],"offsetRightLg":[2,"offset-right-lg"],"offsetXs":[2,"offset-xs"],"offsetSm":[2,"offset-sm"],"offsetMd":[2,"offset-md"],"offsetLg":[2,"offset-lg"]}]]],["ku4-label",[[1,"ku4-label",{"for":[1],"value":[1],"empty":[32]}]]],["ku4-mask",[[1,"ku4-mask",{"for":[1],"template":[1],"ban":[1],"pattern":[1],"char":[1],"hidden":[4]}]]],["ku4-modal",[[1,"ku4-modal",{"visible":[1540],"dismissable":[4],"focusTrap":[1,"focus-trap"],"display":[64],"dismiss":[64]},[[8,"keyup","handleKeyUp"]]]]],["ku4-panel",[[1,"ku4-panel",{"open":[1540],"maxHeight":[32],"toggle":[64],"close":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-preview",[[1,"ku4-preview",{"for":[1],"src":[1],"altsrc":[1],"orientation":[2],"resolutionX":[2,"resolution-x"],"resolutionY":[2,"resolution-y"],"capture":[1],"status":[1537],"alt":[1],"currentSrc":[32],"read":[64]}]]],["ku4-tab",[[1,"ku4-tab",{"selected":[1540],"panel":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"click","handleClick"],[0,"keyup","handleKeyUp"]]]]],["ku4-tab-list",[[1,"ku4-tab-list",{"open":[64]},[[0,"ku4TabClick","handleTabClick"],[0,"ku4TabKeyup","handleTabKeyUp"]]]]],["ku4-tab-panel",[[1,"ku4-tab-panel",{"selected":[1540],"maxHeight":[32],"tab":[32],"select":[64],"deselect":[64],"connect":[64]},[[0,"transitionend","handleTransitionEnd"]]]]],["ku4-table",[[4,"ku4-table",{"stackXs":[1537,"stack-xs"],"stackSm":[1537,"stack-sm"]}]]],["ku4-tooltip",[[1,"ku4-tooltip",{"element":[1],"top":[4],"left":[4],"bottom":[4],"right":[4],"debug":[4],"show":[64],"hide":[64]}]]],["ku4-validation",[[1,"ku4-validation",{"for":[1],"element":[1],"pattern":[1],"flags":[1],"values":[1],"checked":[4],"method":[1],"invalid":[1540],"disabled":[1540],"hidden":[1540],"isValid":[32],"validate":[64]}]]]], options);
34
34
  });