@haiilo/catalyst 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/catalyst/catalyst.esm.js +1 -1
  2. package/dist/catalyst/catalyst.esm.js.map +1 -1
  3. package/dist/catalyst/index.esm.js +1 -1
  4. package/dist/catalyst/{p-14edfc2b.entry.js → p-4ced6c7c.entry.js} +5 -5
  5. package/dist/catalyst/p-4ced6c7c.entry.js.map +1 -0
  6. package/dist/catalyst/p-f88f8914.js +10 -0
  7. package/dist/catalyst/p-f88f8914.js.map +1 -0
  8. package/dist/catalyst/scss/utils/_sizing.mixins.scss +0 -4
  9. package/dist/cjs/{cat-alert_21.cjs.entry.js → cat-alert_22.cjs.entry.js} +127 -34
  10. package/dist/cjs/cat-alert_22.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{cat-notification-c2859ed7.js → cat-notification-444c9ea0.js} +331 -14
  12. package/dist/cjs/cat-notification-444c9ea0.js.map +1 -0
  13. package/dist/cjs/catalyst.cjs.js +1 -1
  14. package/dist/cjs/index.cjs.js +1 -2
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/components/cat-select/cat-select.js +1 -3
  18. package/dist/collection/components/cat-select/cat-select.js.map +1 -1
  19. package/dist/collection/scss/utils/_sizing.mixins.scss +0 -4
  20. package/dist/components/cat-avatar.js.map +1 -1
  21. package/dist/components/cat-badge.js.map +1 -1
  22. package/dist/components/cat-button2.js.map +1 -1
  23. package/dist/components/cat-icon2.js.map +1 -1
  24. package/dist/components/cat-input.js.map +1 -1
  25. package/dist/components/cat-radio.js.map +1 -1
  26. package/dist/components/cat-select.js +1 -3
  27. package/dist/components/cat-select.js.map +1 -1
  28. package/dist/components/cat-skeleton.js.map +1 -1
  29. package/dist/components/cat-spinner2.js.map +1 -1
  30. package/dist/components/cat-textarea.js.map +1 -1
  31. package/dist/esm/{cat-alert_21.entry.js → cat-alert_22.entry.js} +112 -20
  32. package/dist/esm/cat-alert_22.entry.js.map +1 -0
  33. package/dist/esm/{cat-notification-3da6ddb1.js → cat-notification-953c785d.js} +317 -3
  34. package/dist/esm/cat-notification-953c785d.js.map +1 -0
  35. package/dist/esm/catalyst.js +1 -1
  36. package/dist/esm/index.js +1 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/loader.js +1 -1
  39. package/package.json +2 -2
  40. package/dist/catalyst/p-14edfc2b.entry.js.map +0 -1
  41. package/dist/catalyst/p-2ad6f8d8.js +0 -2
  42. package/dist/catalyst/p-2ad6f8d8.js.map +0 -1
  43. package/dist/catalyst/p-5ba5e33c.entry.js +0 -2
  44. package/dist/catalyst/p-5ba5e33c.entry.js.map +0 -1
  45. package/dist/catalyst/p-6fce43dd.js +0 -2
  46. package/dist/catalyst/p-6fce43dd.js.map +0 -1
  47. package/dist/catalyst/p-8121572a.js +0 -10
  48. package/dist/catalyst/p-8121572a.js.map +0 -1
  49. package/dist/cjs/cat-alert_21.cjs.entry.js.map +0 -1
  50. package/dist/cjs/cat-form-hint-25fdfed5.js +0 -22
  51. package/dist/cjs/cat-form-hint-25fdfed5.js.map +0 -1
  52. package/dist/cjs/cat-notification-c2859ed7.js.map +0 -1
  53. package/dist/cjs/cat-textarea.cjs.entry.js +0 -92
  54. package/dist/cjs/cat-textarea.cjs.entry.js.map +0 -1
  55. package/dist/cjs/loglevel-b5d158ad.js +0 -324
  56. package/dist/cjs/loglevel-b5d158ad.js.map +0 -1
  57. package/dist/esm/cat-alert_21.entry.js.map +0 -1
  58. package/dist/esm/cat-form-hint-790d1e46.js +0 -20
  59. package/dist/esm/cat-form-hint-790d1e46.js.map +0 -1
  60. package/dist/esm/cat-notification-3da6ddb1.js.map +0 -1
  61. package/dist/esm/cat-textarea.entry.js +0 -88
  62. package/dist/esm/cat-textarea.entry.js.map +0 -1
  63. package/dist/esm/loglevel-c8b59c3a.js +0 -319
  64. package/dist/esm/loglevel-c8b59c3a.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ var t=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t["default"]:t}function e(t,i,e){return e={path:i,exports:{},require:function(t,i){return n()}},t(e,e.exports),e.exports}function n(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var o=e((function(i){(function(t,e){if(i.exports){i.exports=e()}else{t.log=e()}})(t,(function(){var t=function(){};var i="undefined";var e=typeof window!==i&&typeof window.navigator!==i&&/Trident\/|MSIE /.test(window.navigator.userAgent);var n=["trace","debug","info","warn","error"];function o(t,i){var e=t[i];if(typeof e.bind==="function"){return e.bind(t)}else{try{return Function.prototype.bind.call(e,t)}catch(i){return function(){return Function.prototype.apply.apply(e,[t,arguments])}}}}function s(){if(console.log){if(console.log.apply){console.log.apply(console,arguments)}else{Function.prototype.apply.apply(console.log,[console,arguments])}}if(console.trace)console.trace()}function r(n){if(n==="debug"){n="log"}if(typeof console===i){return false}else if(n==="trace"&&e){return s}else if(console[n]!==undefined){return o(console,n)}else if(console.log!==undefined){return o(console,"log")}else{return t}}function a(i,e){for(var o=0;o<n.length;o++){var s=n[o];this[s]=o<i?t:this.methodFactory(s,i,e)}this.log=this.debug}function c(t,e,n){return function(){if(typeof console!==i){a.call(this,e,n);this[t].apply(this,arguments)}}}function f(t,i,e){return r(t)||c.apply(this,arguments)}function u(t,e,o){var s=this;var r;e=e==null?"WARN":e;var c="loglevel";if(typeof t==="string"){c+=":"+t}else if(typeof t==="symbol"){c=undefined}function u(t){var e=(n[t]||"silent").toUpperCase();if(typeof window===i||!c)return;try{window.localStorage[c]=e;return}catch(t){}try{window.document.cookie=encodeURIComponent(c)+"="+e+";"}catch(t){}}function l(){var t;if(typeof window===i||!c)return;try{t=window.localStorage[c]}catch(t){}if(typeof t===i){try{var e=window.document.cookie;var n=e.indexOf(encodeURIComponent(c)+"=");if(n!==-1){t=/^([^;]+)/.exec(e.slice(n))[1]}}catch(t){}}if(s.levels[t]===undefined){t=undefined}return t}function d(){if(typeof window===i||!c)return;try{window.localStorage.removeItem(c);return}catch(t){}try{window.document.cookie=encodeURIComponent(c)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}s.name=t;s.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5};s.methodFactory=o||f;s.getLevel=function(){return r};s.setLevel=function(e,n){if(typeof e==="string"&&s.levels[e.toUpperCase()]!==undefined){e=s.levels[e.toUpperCase()]}if(typeof e==="number"&&e>=0&&e<=s.levels.SILENT){r=e;if(n!==false){u(e)}a.call(s,e,t);if(typeof console===i&&e<s.levels.SILENT){return"No console available for logging"}}else{throw"log.setLevel() called with invalid level: "+e}};s.setDefaultLevel=function(t){e=t;if(!l()){s.setLevel(t,false)}};s.resetLevel=function(){s.setLevel(e,false);d()};s.enableAll=function(t){s.setLevel(s.levels.TRACE,t)};s.disableAll=function(t){s.setLevel(s.levels.SILENT,t)};var h=l();if(h==null){h=e}s.setLevel(h,false)}var l=new u;var d={};l.getLogger=function t(i){if(typeof i!=="symbol"&&typeof i!=="string"||i===""){throw new TypeError("You must supply a name when creating a logger.")}var e=d[i];if(!e){e=d[i]=new u(i,l.getLevel(),l.methodFactory)}return e};var h=typeof window!==i?window.log:undefined;l.noConflict=function(){if(typeof window!==i&&window.log===l){window.log=h}return l};l.getLoggers=function t(){return d};l["default"]=l;return l}))}));class s{constructor(){this._locale="en";this._dicts=new Map}static getInstance(){if(!s.instance){s.instance=new s}return s.instance}locale(t){if(t){this._locale=t;o.info(`[CatI18nRegistry] Locale set to ${t}`);window.dispatchEvent(this.buildEvent("cat-i18n-locale",{locale:t}))}return this._locale}register(t,i){const e=this.getDict(t);Object.entries(i).forEach((([t,i])=>e.set(t,i)));o.info(`[CatI18nRegistry] Registered messages for ${t}`,i);window.dispatchEvent(this.buildEvent("cat-i18n-register",{i18n:i}))}clear(t){if(t){this.getDict(t).clear();o.info(`[CatI18nRegistry] Cleared messages for ${t}`);window.dispatchEvent(this.buildEvent("cat-i18n-clear",{locale:t}))}else{this._dicts.clear();o.info(`[CatI18nRegistry] Cleared messages`);window.dispatchEvent(this.buildEvent("cat-i18n-clear"))}}t(t,i){var e;const n=(e=this._dicts.get(this._locale))===null||e===void 0?void 0:e.get(t);if(n===undefined){o.error(`[CatI18nRegistry] Unknown message for ${this._locale}: ${t}`);return""}return n.replace(/{{\s*([-a-zA-Z._]+)\s*}}/g,((t,e)=>{var n;return`${(n=i===null||i===void 0?void 0:i[e])!==null&&n!==void 0?n:""}`}))}buildEvent(t,i){return new CustomEvent(t,{bubbles:true,composed:true,detail:i})}getDict(t){let i=this._dicts.get(t);if(!i){i=new Map;this._dicts.set(t,i)}return i}}class r{constructor(){this.icons=new Map}static getInstance(){if(!r.instance){r.instance=new r}return r.instance}getIcon(t,i){const e=this.icons.get(this.buildName(t,i));if(!e){o.error(`[CatIconRegistry] Unknown icon${i?` in set ${i}`:""}: ${t}`)}return e}addIcon(t,i,e){this.icons.set(this.buildName(t,e),i);o.info(`[CatIconRegistry] Added icon${e?` to set ${e}`:""}: ${t}`);window.dispatchEvent(this.buildEvent("cat-icon-added",{name:t,setName:e}));return this}addIcons(t,i){Object.entries(t).forEach((([t,e])=>this.icons.set(this.buildName(t,i),e)));o.info(`[CatIconRegistry] Added icons${i?` to set ${i}`:""}: ${Object.keys(t).concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-added",{names:Object.keys(t),setName:i}));return this}removeIcon(t,i){this.icons.delete(this.buildName(t,i));o.info(`[CatIconRegistry] Removed icon${i?` from set ${i}`:""}: ${t}`);window.dispatchEvent(this.buildEvent("cat-icon-removed",{name:t,setName:i}));return this}removeIcons(t,i){t.forEach((t=>this.icons.delete(this.buildName(t,i))));o.info(`[CatIconRegistry] Removed icons${i?` from set ${i}`:""}: ${t.concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-removed",{names:t,setName:i}));return this}buildName(t,i){return i?`${i}:name`:t}buildEvent(t,i){return new CustomEvent(t,{bubbles:true,composed:true,detail:i})}}var a=e((function(i){
2
+ /*!
3
+ * Toastify js 1.11.2
4
+ * https://github.com/apvarun/toastify-js
5
+ * @license MIT licensed
6
+ *
7
+ * Copyright (C) 2018 Varun A P
8
+ */
9
+ (function(t,e){if(i.exports){i.exports=e()}else{t.Toastify=e()}})(t,(function(t){var i=function(t){return new i.lib.init(t)},e="1.11.2";i.defaults={oldestFirst:true,text:"Toastify is awesome!",node:undefined,duration:3e3,selector:undefined,callback:function(){},destination:undefined,newWindow:false,close:false,gravity:"toastify-top",positionLeft:false,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:true,onClick:function(){},offset:{x:0,y:0},escapeMarkup:true,style:{background:""}};i.lib=i.prototype={toastify:e,constructor:i,init:function(t){if(!t){t={}}this.options={};this.toastElement=null;this.options.text=t.text||i.defaults.text;this.options.node=t.node||i.defaults.node;this.options.duration=t.duration===0?0:t.duration||i.defaults.duration;this.options.selector=t.selector||i.defaults.selector;this.options.callback=t.callback||i.defaults.callback;this.options.destination=t.destination||i.defaults.destination;this.options.newWindow=t.newWindow||i.defaults.newWindow;this.options.close=t.close||i.defaults.close;this.options.gravity=t.gravity==="bottom"?"toastify-bottom":i.defaults.gravity;this.options.positionLeft=t.positionLeft||i.defaults.positionLeft;this.options.position=t.position||i.defaults.position;this.options.backgroundColor=t.backgroundColor||i.defaults.backgroundColor;this.options.avatar=t.avatar||i.defaults.avatar;this.options.className=t.className||i.defaults.className;this.options.stopOnFocus=t.stopOnFocus===undefined?i.defaults.stopOnFocus:t.stopOnFocus;this.options.onClick=t.onClick||i.defaults.onClick;this.options.offset=t.offset||i.defaults.offset;this.options.escapeMarkup=t.escapeMarkup!==undefined?t.escapeMarkup:i.defaults.escapeMarkup;this.options.style=t.style||i.defaults.style;if(t.backgroundColor){this.options.style.background=t.backgroundColor}return this},buildToast:function(){if(!this.options){throw"Toastify is not initialized"}var t=document.createElement("div");t.className="toastify on "+this.options.className;if(!!this.options.position){t.className+=" toastify-"+this.options.position}else{if(this.options.positionLeft===true){t.className+=" toastify-left";console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")}else{t.className+=" toastify-right"}}t.className+=" "+this.options.gravity;if(this.options.backgroundColor){console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.')}for(var i in this.options.style){t.style[i]=this.options.style[i]}if(this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE){t.appendChild(this.options.node)}else{if(this.options.escapeMarkup){t.innerText=this.options.text}else{t.innerHTML=this.options.text}if(this.options.avatar!==""){var e=document.createElement("img");e.src=this.options.avatar;e.className="toastify-avatar";if(this.options.position=="left"||this.options.positionLeft===true){t.appendChild(e)}else{t.insertAdjacentElement("afterbegin",e)}}}if(this.options.close===true){var o=document.createElement("span");o.innerHTML="&#10006;";o.className="toast-close";o.addEventListener("click",function(t){t.stopPropagation();this.removeElement(this.toastElement);window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var s=window.innerWidth>0?window.innerWidth:screen.width;if((this.options.position=="left"||this.options.positionLeft===true)&&s>360){t.insertAdjacentElement("afterbegin",o)}else{t.appendChild(o)}}if(this.options.stopOnFocus&&this.options.duration>0){var r=this;t.addEventListener("mouseover",(function(i){window.clearTimeout(t.timeOutValue)}));t.addEventListener("mouseleave",(function(){t.timeOutValue=window.setTimeout((function(){r.removeElement(t)}),r.options.duration)}))}if(typeof this.options.destination!=="undefined"){t.addEventListener("click",function(t){t.stopPropagation();if(this.options.newWindow===true){window.open(this.options.destination,"_blank")}else{window.location=this.options.destination}}.bind(this))}if(typeof this.options.onClick==="function"&&typeof this.options.destination==="undefined"){t.addEventListener("click",function(t){t.stopPropagation();this.options.onClick()}.bind(this))}if(typeof this.options.offset==="object"){var a=n("x",this.options);var c=n("y",this.options);var f=this.options.position=="left"?a:"-"+a;var u=this.options.gravity=="toastify-top"?c:"-"+c;t.style.transform="translate("+f+","+u+")"}return t},showToast:function(){this.toastElement=this.buildToast();var t;if(typeof this.options.selector==="string"){t=document.getElementById(this.options.selector)}else if(this.options.selector instanceof HTMLElement||typeof ShadowRoot!=="undefined"&&this.options.selector instanceof ShadowRoot){t=this.options.selector}else{t=document.body}if(!t){throw"Root element is not defined"}var e=i.defaults.oldestFirst?t.firstChild:t.lastChild;t.insertBefore(this.toastElement,e);i.reposition();if(this.options.duration>0){this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)}return this},hideToast:function(){if(this.toastElement.timeOutValue){clearTimeout(this.toastElement.timeOutValue)}this.removeElement(this.toastElement)},removeElement:function(t){t.className=t.className.replace(" on","");window.setTimeout(function(){if(this.options.node&&this.options.node.parentNode){this.options.node.parentNode.removeChild(this.options.node)}if(t.parentNode){t.parentNode.removeChild(t)}this.options.callback.call(t);i.reposition()}.bind(this),400)}};i.reposition=function(){var t={top:15,bottom:15};var i={top:15,bottom:15};var e={top:15,bottom:15};var n=document.getElementsByClassName("toastify");var s;for(var r=0;r<n.length;r++){if(o(n[r],"toastify-top")===true){s="toastify-top"}else{s="toastify-bottom"}var a=n[r].offsetHeight;s=s.substr(9,s.length-1);var c=15;var f=window.innerWidth>0?window.innerWidth:screen.width;if(f<=360){n[r].style[s]=e[s]+"px";e[s]+=a+c}else{if(o(n[r],"toastify-left")===true){n[r].style[s]=t[s]+"px";t[s]+=a+c}else{n[r].style[s]=i[s]+"px";i[s]+=a+c}}}return this};function n(t,i){if(i.offset[t]){if(isNaN(i.offset[t])){return i.offset[t]}else{return i.offset[t]+"px"}}return"0px"}function o(t,i){if(!t||typeof i!=="string"){return false}else if(t.className&&t.className.trim().split(/\s+/gi).indexOf(i)>-1){return true}else{return false}}i.lib.init.prototype=i.lib;return i}))}));var c;(function(t){t["success"]="check-circle-filled";t["error"]="sparkle-filled";t["info"]="sparkle-filled"})(c||(c={}));const f={"top-left":{gravity:"top",position:"left"},"top-center":{gravity:"top",position:"center"},"top-right":{gravity:"top",position:"right"},"bottom-left":{gravity:"bottom",position:"left"},"bottom-center":{gravity:"bottom",position:"center"},"bottom-right":{gravity:"bottom",position:"right"}};class u{toastHTMLTemplate(t,i=" ",e){var n;const o=document.createElement("template");const s=(e===null||e===void 0?void 0:e.type)?c[e.type]:c.info;t=t.trim();i=i.trim();const r=i&&i!=="";const a=r?"has-message":"";o.innerHTML=`<div class="cat-toastify-wrapper">\n <div class="cat-toastify-icon-wrapper ${(n=e===null||e===void 0?void 0:e.type)!==null&&n!==void 0?n:"info"}">\n <cat-icon icon="${s}"></cat-icon>\n </div>\n <div class="cat-toastify-title-wrapper ${a}">\n <div class="cat-toastify-title">${t}</div></div>\n ${r?`<div class="cat-toastify-message">${i}</div>`:""}\n </div>`;return o.content.firstChild}error(t,i=" ",e){const n=this.getPosition(e);const o={node:(e===null||e===void 0?void 0:e.content)?e.content:this.toastHTMLTemplate(t,i,e),duration:u.DURATION,close:true,className:"cat-toastify",gravity:n.gravity,position:n.position,stopOnFocus:true};a(o).showToast()}success(t,i=" ",e){const n=this.getPosition(e);const o={node:(e===null||e===void 0?void 0:e.content)?e.content:this.toastHTMLTemplate(t,i,e),duration:u.DURATION,close:true,className:"cat-toastify",gravity:n.gravity,position:n.position,stopOnFocus:true};a(o).showToast()}info(t,i=" ",e){const n=this.getPosition(e);const o={node:(e===null||e===void 0?void 0:e.content)?e.content:this.toastHTMLTemplate(t,i,e),duration:u.DURATION,close:true,className:"cat-toastify",gravity:n.gravity,position:n.position,stopOnFocus:true};a(o).showToast()}getPosition(t){const i={gravity:"bottom",position:"right"};if((t===null||t===void 0?void 0:t.position)&&f[t.position]){i.position=f[t.position].position;i.gravity=f[t.position].gravity}return i}}u.DURATION=8e3;const l=new u;export{s as C,l as N,r as a,e as c,i as g,o as l};
10
+ //# sourceMappingURL=p-f88f8914.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/loglevel/lib/loglevel.js","src/components/cat-i18n/cat-i18n-registry.ts","src/components/cat-icon/cat-icon-registry.ts","../node_modules/toastify-js/src/toastify.js","src/components/cat-notification/cat-notification.tsx"],"names":["root","definition","module","exports","log","this","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","clearPersistedLevel","removeItem","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","CatI18nRegistry","[object Object]","_locale","_dicts","Map","instance","locale","info","dispatchEvent","buildEvent","i18n","dict","getDict","Object","entries","forEach","key","message","set","clear","params","_a","get","error","replace","_match","detail","CustomEvent","bubbles","composed","lang","CatIconRegistry","icons","setName","icon","buildName","data","keys","concat","names","delete","Toastify","global","options","lib","init","version","defaults","oldestFirst","text","node","duration","selector","callback","destination","newWindow","close","gravity","positionLeft","position","backgroundColor","avatar","className","stopOnFocus","onClick","offset","x","y","escapeMarkup","style","background","toastify","constructor","toastElement","buildToast","divElement","createElement","warn","property","nodeType","Node","ELEMENT_NODE","appendChild","innerText","innerHTML","avatarElement","src","insertAdjacentElement","closeElement","addEventListener","event","stopPropagation","removeElement","clearTimeout","timeOutValue","width","innerWidth","screen","setTimeout","open","getAxisOffsetAValue","xOffset","yOffset","transform","showToast","rootElement","getElementById","HTMLElement","ShadowRoot","body","elementToInsert","firstChild","lastChild","insertBefore","reposition","hideToast","parentNode","removeChild","topLeftOffsetSize","top","bottom","topRightOffsetSize","offsetSize","allToasts","getElementsByClassName","classUsed","containsClass","height","offsetHeight","substr","axis","isNaN","elem","yourClass","trim","split","TypeIcons","ToastPositions","top-left","top-center","top-right","bottom-left","bottom-center","bottom-right","CatNotificationService","title","template","typeIcon","type","hasMessage","hasMessageClass","content","getPosition","toastOptions","toastHTMLTemplate","DURATION","NotificationsService"],"mappings":"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","sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private _locale = 'en';\n private readonly _dicts: Map<string, Map<string, string>> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n locale(locale?: string): string {\n if (locale) {\n this._locale = locale;\n log.info(`[CatI18nRegistry] Locale set to ${locale}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-locale', { locale }));\n }\n return this._locale;\n }\n\n register(locale: string, i18n: { [key: string]: string }): void {\n const dict = this.getDict(locale);\n Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));\n log.info(`[CatI18nRegistry] Registered messages for ${locale}`, i18n);\n window.dispatchEvent(this.buildEvent('cat-i18n-register', { i18n }));\n }\n\n clear(locale?: string): void {\n if (locale) {\n this.getDict(locale).clear();\n log.info(`[CatI18nRegistry] Cleared messages for ${locale}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-clear', { locale }));\n } else {\n this._dicts.clear();\n log.info(`[CatI18nRegistry] Cleared messages`);\n window.dispatchEvent(this.buildEvent('cat-i18n-clear'));\n }\n }\n\n t(key: string, params?: { [key: string]: string | number }): string {\n const message = this._dicts.get(this._locale)?.get(key);\n if (message === undefined) {\n log.error(`[CatI18nRegistry] Unknown message for ${this._locale}: ${key}`);\n return '';\n }\n return message.replace(/{{\\s*([-a-zA-Z._]+)\\s*}}/g, (_match, key) => `${params?.[key] ?? ''}`);\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n\n private getDict(lang: string) {\n let dict = this._dicts.get(lang);\n if (!dict) {\n dict = new Map();\n this._dicts.set(lang, dict);\n }\n return dict;\n }\n}\n","import log from 'loglevel';\n\nexport class CatIconRegistry {\n private static instance: CatIconRegistry;\n\n private readonly icons: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatIconRegistry {\n if (!CatIconRegistry.instance) {\n CatIconRegistry.instance = new CatIconRegistry();\n }\n return CatIconRegistry.instance;\n }\n\n getIcon(name: string, setName?: string): string | undefined {\n const icon = this.icons.get(this.buildName(name, setName));\n if (!icon) {\n log.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);\n }\n return icon;\n }\n\n addIcon(name: string, data: string, setName?: string): CatIconRegistry {\n this.icons.set(this.buildName(name, setName), data);\n log.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));\n return this;\n }\n\n addIcons(icons: { [name: string]: string }, setName?: string): CatIconRegistry {\n Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));\n log.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));\n return this;\n }\n\n removeIcon(name: string, setName?: string): CatIconRegistry {\n this.icons.delete(this.buildName(name, setName));\n log.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));\n return this;\n }\n\n removeIcons(names: string[], setName?: string): CatIconRegistry {\n names.forEach(name => this.icons.delete(this.buildName(name, setName)));\n log.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));\n return this;\n }\n\n private buildName(name: string, setName?: string) {\n return setName ? `${setName}:name` : name;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n","/*!\n * Toastify js 1.11.2\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.11.2\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"span\");\n closeElement.innerHTML = \"&#10006;\";\n\n closeElement.className = \"toast-close\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","import Toastify, { Options } from 'toastify-js';\n\nexport enum TypeIcons {\n 'success' = 'check-circle-filled',\n 'error' = 'sparkle-filled',\n 'info' = 'sparkle-filled'\n}\n\nexport const ToastPositions: { [key: string]: { gravity: 'top' | 'bottom'; position: 'left' | 'center' | 'right' } } = {\n 'top-left': {\n gravity: 'top',\n position: 'left'\n },\n 'top-center': {\n gravity: 'top',\n position: 'center'\n },\n 'top-right': {\n gravity: 'top',\n position: 'right'\n },\n 'bottom-left': {\n gravity: 'bottom',\n position: 'left'\n },\n 'bottom-center': {\n gravity: 'bottom',\n position: 'center'\n },\n 'bottom-right': {\n gravity: 'bottom',\n position: 'right'\n }\n};\n\nexport interface ToastPosition {\n gravity: 'top' | 'bottom';\n position: 'left' | 'center' | 'right';\n}\n\nexport interface ToastOptions {\n /**\n * HTML content of the toast\n */\n content: Node;\n /**\n * Show close button\n */\n close: boolean;\n /**\n * Toast position\n */\n position: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\n /**\n * Type of toast\n */\n type: 'success' | 'info' | 'error';\n /**\n * Invoked when the toast is clicked\n */\n onClick: () => void;\n /**\n * Toggle the default behavior of escaping HTML markup\n */\n escapeMarkup: boolean;\n}\n\nclass CatNotificationService {\n private static DURATION = 8000;\n\n toastHTMLTemplate(title: string, message = ' ', options?: Partial<ToastOptions>): HTMLElement {\n const template = document.createElement('template');\n const typeIcon = options?.type ? TypeIcons[options.type] : TypeIcons.info;\n title = title.trim();\n message = message.trim();\n const hasMessage = message && message !== '';\n const hasMessageClass = hasMessage ? 'has-message' : '';\n template.innerHTML = `<div class=\"cat-toastify-wrapper\">\n <div class=\"cat-toastify-icon-wrapper ${options?.type ?? 'info'}\">\n <cat-icon icon=\"${typeIcon}\"></cat-icon>\n </div>\n <div class=\"cat-toastify-title-wrapper ${hasMessageClass}\">\n <div class=\"cat-toastify-title\">${title}</div></div>\n ${hasMessage ? `<div class=\"cat-toastify-message\">${message}</div>` : ''}\n </div>`;\n return template.content.firstChild as HTMLElement;\n }\n\n error(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n success(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n info(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n private getPosition(options?: Partial<ToastOptions>): ToastPosition {\n const position: ToastPosition = {\n gravity: 'bottom',\n position: 'right'\n };\n if (options?.position && ToastPositions[options.position]) {\n position.position = ToastPositions[options.position].position;\n position.gravity = ToastPositions[options.position].gravity;\n }\n return position;\n }\n}\n\nexport const NotificationsService = new CatNotificationService();\n"]}
@@ -1,9 +1,5 @@
1
1
  @use '../variables' as *;
2
2
 
3
- @function cat-size($size) {
4
- @return cat-token('size.base.#{$size}');
5
- }
6
-
7
3
  @function cat-border-radius($size) {
8
4
  @if $size == '0' or $size == 0 {
9
5
  @return none;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-936b777e.js');
6
- const loglevel = require('./loglevel-b5d158ad.js');
7
- const catFormHint = require('./cat-form-hint-25fdfed5.js');
8
- const catNotification = require('./cat-notification-c2859ed7.js');
6
+ const catNotification = require('./cat-notification-444c9ea0.js');
9
7
 
10
8
  const catAlertCss = ":host{display:block;margin-bottom:1rem}:host(:focus-visible){outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}:host([hidden]){display:none}.alert{font:inherit;color:rgb(var(--text));background-color:rgba(var(--bg), 0.1);box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);border-radius:0.25rem;padding:0.75rem 1rem}::slotted(:last-child){margin-bottom:0 !important}.alert-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.alert-secondary{--bg:105, 118, 135;--text:0, 0, 0;--border:105, 118, 135}.alert-success{--bg:0, 132, 88;--text:0, 132, 88;--border:0, 132, 88}.alert-warning{--bg:255, 206, 128;--text:159, 97, 0;--border:159, 97, 0}.alert-danger{--bg:217, 52, 13;--text:217, 52, 13;--border:217, 52, 13}";
11
9
 
@@ -81,7 +79,7 @@ const CatAvatar = class {
81
79
  }
82
80
  componentWillRender() {
83
81
  if (!this.label) {
84
- loglevel.loglevel.warn('[A11y] Missing ARIA label on avatar', this);
82
+ catNotification.loglevel.warn('[A11y] Missing ARIA label on avatar', this);
85
83
  }
86
84
  }
87
85
  render() {
@@ -270,7 +268,7 @@ function createEmptyStyleRule(query) {
270
268
  }
271
269
  }
272
270
  catch (e) {
273
- loglevel.loglevel.error(e);
271
+ catNotification.loglevel.error(e);
274
272
  }
275
273
  }
276
274
 
@@ -355,7 +353,7 @@ const CatButton = class {
355
353
  }
356
354
  componentWillRender() {
357
355
  if (this.isIconButton && !this.a11yLabel) {
358
- loglevel.loglevel.warn('[A11y] Missing ARIA label on icon button', this);
356
+ catNotification.loglevel.warn('[A11y] Missing ARIA label on icon button', this);
359
357
  }
360
358
  }
361
359
  haltDisabledEvents(event) {
@@ -463,16 +461,31 @@ const CatCard = class {
463
461
  };
464
462
  CatCard.style = catCardCss;
465
463
 
464
+ /**
465
+ * CatFormHint is a functional component that represents the hint area of form elements.
466
+ *
467
+ * @param props - {@link CatFormHintProps}
468
+ * @return a JSX.Element
469
+ */
470
+ const CatFormHint = props => {
471
+ const { hint, slottedHint } = props;
472
+ return (index.h("div", { class: "hint-section" }, [
473
+ hint &&
474
+ (Array.isArray(hint) ? hint.map(item => index.h("p", { class: "input-hint" }, item)) : index.h("p", { class: "input-hint" }, hint)),
475
+ slottedHint
476
+ ]));
477
+ };
478
+
466
479
  const catCheckboxCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;position:relative}.label-left{flex-direction:row-reverse}.label-left input{right:1px;left:unset}input{position:absolute;width:1.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit;left:1px;top:0.5px}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease;pointer-events:none}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
467
480
 
468
- let nextUniqueId$7 = 0;
481
+ let nextUniqueId$8 = 0;
469
482
  const CatCheckbox = class {
470
483
  constructor(hostRef) {
471
484
  index.registerInstance(this, hostRef);
472
485
  this.catChange = index.createEvent(this, "catChange", 7);
473
486
  this.catFocus = index.createEvent(this, "catFocus", 7);
474
487
  this.catBlur = index.createEvent(this, "catBlur", 7);
475
- this.id = `cat-checkbox-${nextUniqueId$7++}`;
488
+ this.id = `cat-checkbox-${nextUniqueId$8++}`;
476
489
  this.hasSlottedLabel = false;
477
490
  /**
478
491
  * Checked state of the checkbox
@@ -511,7 +524,7 @@ const CatCheckbox = class {
511
524
  componentWillRender() {
512
525
  this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
513
526
  if (!this.label && !this.hasSlottedLabel) {
514
- loglevel.loglevel.error('[A11y] Missing ARIA label on checkbox', this);
527
+ catNotification.loglevel.error('[A11y] Missing ARIA label on checkbox', this);
515
528
  }
516
529
  }
517
530
  /**
@@ -528,7 +541,7 @@ const CatCheckbox = class {
528
541
  }
529
542
  get hintSection() {
530
543
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
531
- return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
544
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
532
545
  }
533
546
  onInput(event) {
534
547
  this.value = this.input.value;
@@ -570,7 +583,7 @@ CatIcon.style = catIconCss;
570
583
 
571
584
  const catInputCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.75rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.75rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.75rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative;flex:1 1 auto}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:1.5rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.5rem}";
572
585
 
573
- let nextUniqueId$6 = 0;
586
+ let nextUniqueId$7 = 0;
574
587
  const CatInput = class {
575
588
  constructor(hostRef) {
576
589
  index.registerInstance(this, hostRef);
@@ -578,7 +591,7 @@ const CatInput = class {
578
591
  this.catFocus = index.createEvent(this, "catFocus", 7);
579
592
  this.catBlur = index.createEvent(this, "catBlur", 7);
580
593
  this.i18n = catNotification.CatI18nRegistry.getInstance();
581
- this.id = `cat-input-${nextUniqueId$6++}`;
594
+ this.id = `cat-input-${nextUniqueId$7++}`;
582
595
  this.hasSlottedLabel = false;
583
596
  /**
584
597
  * Whether the input should show a clear button.
@@ -624,7 +637,7 @@ const CatInput = class {
624
637
  componentWillRender() {
625
638
  this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
626
639
  if (!this.label && !this.hasSlottedLabel) {
627
- loglevel.loglevel.error('[A11y] Missing ARIA label on input', this);
640
+ catNotification.loglevel.error('[A11y] Missing ARIA label on input', this);
628
641
  }
629
642
  }
630
643
  /**
@@ -653,7 +666,7 @@ const CatInput = class {
653
666
  }
654
667
  get hintSection() {
655
668
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
656
- return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
669
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
657
670
  }
658
671
  onInput(event) {
659
672
  this.value = this.input.value;
@@ -2904,13 +2917,13 @@ const firstTabbable = (container) => {
2904
2917
 
2905
2918
  const catMenuCss = ":host{display:contents}:host([hidden]){display:none}.content{padding-top:0.5rem;padding-bottom:0.5rem;position:absolute;background:white;display:none;overflow:auto;-webkit-overflow-scrolling:touch;min-width:8rem;max-width:16rem;min-height:2rem;max-height:calc(100vh - 48px);box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:0.25rem;z-index:100}";
2906
2919
 
2907
- let nextUniqueId$5 = 0;
2920
+ let nextUniqueId$6 = 0;
2908
2921
  const CatMenu = class {
2909
2922
  constructor(hostRef) {
2910
2923
  index.registerInstance(this, hostRef);
2911
2924
  this.catOpen = index.createEvent(this, "catOpen", 7);
2912
2925
  this.catClose = index.createEvent(this, "catClose", 7);
2913
- this.id = nextUniqueId$5++;
2926
+ this.id = nextUniqueId$6++;
2914
2927
  /**
2915
2928
  * The placement of the menu.
2916
2929
  */
@@ -3071,14 +3084,14 @@ CatModal.style = catModalCss;
3071
3084
 
3072
3085
  const catRadioCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);cursor:pointer}.label-left{flex-direction:row-reverse}.radio{display:flex;position:relative;align-self:flex-start}.circle{position:absolute;width:0.75rem;height:0.75rem;background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-radius:10rem;top:calc(50% - 0.375rem);left:calc(50% - 0.375rem);visibility:hidden;pointer-events:none}input{margin:0;width:1.25rem;height:1.25rem;appearance:none;background-color:white;border:1px solid #d7dbe0;border-radius:10rem;cursor:inherit}input:checked{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}input:checked+.circle{visibility:visible}input:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.is-disabled input{background-color:#f8f8fb}.is-disabled input:checked{border-color:#d7dbe0}.is-disabled .circle{background-color:#d7dbe0}";
3073
3086
 
3074
- let nextUniqueId$4 = 0;
3087
+ let nextUniqueId$5 = 0;
3075
3088
  const CatRadio = class {
3076
3089
  constructor(hostRef) {
3077
3090
  index.registerInstance(this, hostRef);
3078
3091
  this.catChange = index.createEvent(this, "catChange", 7);
3079
3092
  this.catFocus = index.createEvent(this, "catFocus", 7);
3080
3093
  this.catBlur = index.createEvent(this, "catBlur", 7);
3081
- this.id = `cat-radio-${++nextUniqueId$4}`;
3094
+ this.id = `cat-radio-${++nextUniqueId$5}`;
3082
3095
  this.hasSlottedLabel = false;
3083
3096
  /**
3084
3097
  * Whether this radio is checked.
@@ -3108,7 +3121,7 @@ const CatRadio = class {
3108
3121
  componentWillRender() {
3109
3122
  this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
3110
3123
  if (!this.label && !this.hasSlottedLabel) {
3111
- loglevel.loglevel.error('[A11y] Missing ARIA label on radio', this);
3124
+ catNotification.loglevel.error('[A11y] Missing ARIA label on radio', this);
3112
3125
  }
3113
3126
  }
3114
3127
  /**
@@ -3125,7 +3138,7 @@ const CatRadio = class {
3125
3138
  }
3126
3139
  get hintSection() {
3127
3140
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
3128
- return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
3141
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
3129
3142
  }
3130
3143
  onChange(event) {
3131
3144
  this.checked = true;
@@ -4566,7 +4579,7 @@ const CatScrollable = class {
4566
4579
  };
4567
4580
  CatScrollable.style = catScrollableCss;
4568
4581
 
4569
- var choices = loglevel.createCommonjsModule(function (module, exports) {
4582
+ var choices = catNotification.createCommonjsModule(function (module, exports) {
4570
4583
  /*! choices.js v10.1.0 | © 2022 Josh Johnson | https://github.com/jshjohnson/Choices#readme */
4571
4584
  (function webpackUniversalModuleDefinition(root, factory) {
4572
4585
  module.exports = factory();
@@ -12046,11 +12059,11 @@ __webpack_exports__ = __webpack_exports__["default"];
12046
12059
  });
12047
12060
  });
12048
12061
 
12049
- const Choices = /*@__PURE__*/loglevel.getDefaultExportFromCjs(choices);
12062
+ const Choices = /*@__PURE__*/catNotification.getDefaultExportFromCjs(choices);
12050
12063
 
12051
12064
  const catSelectCss = "*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*::before,*::after{box-sizing:border-box}html,body{position:relative;margin:0;width:100%;height:100%}body{font-family:\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", sans-serif;font-size:16px;line-height:1.4;color:#fff;background-color:#333;overflow-x:hidden}label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;cursor:pointer}p{margin-top:0;margin-bottom:8px}hr{display:block;margin:30px 0;border:0;border-bottom:1px solid #eaeaea;height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:12px;font-weight:400;line-height:1.2}a,a:visited,a:focus{color:#fff;text-decoration:none;font-weight:600}.form-control{display:block;width:100%;background-color:#f9f9f9;padding:12px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;appearance:none;margin-bottom:24px}h1,.h1{font-size:32px}h2,.h2{font-size:24px}h3,.h3{font-size:20px}h4,.h4{font-size:18px}h5,.h5{font-size:16px}h6,.h6{font-size:14px}label+p{margin-top:-4px}.container{display:block;margin:auto;max-width:40em;padding:48px}@media (max-width: 620px){.container{padding:0}}.section{background-color:#fff;padding:24px;color:#333}.section a,.section a:visited,.section a:focus{color:#00bcd4}.logo{display:block;margin-bottom:12px}.logo-img{width:100%;height:auto;display:inline-block;max-width:100%;vertical-align:top;padding:6px 0}.visible-ie{display:none}.push-bottom{margin-bottom:24px}.zero-bottom{margin-bottom:0}.zero-top{margin-top:0}.text-center{text-align:center}[data-test-hook]{margin-bottom:24px}.hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}label{align-self:flex-start;font-size:inherit;font-weight:inherit;margin:0}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.choices{position:relative;overflow:hidden;font-size:16px}.choices.is-focused,.choices:focus{outline:none;box-shadow:0 1px 4px 0 #101d3033}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:visible}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none !important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__list--dropdown .choices__list{padding-top:0.5rem}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:12px 16px 12px 40px;border-bottom:1px solid #d7dbe0;margin:0;color:#000;background:#fff url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjUgMC4yNUMzLjk0MzY1IDAuMjUgMC4yNSAzLjk0MzY1IDAuMjUgOC41QzAuMjUgMTMuMDU2MyAzLjk0MzY1IDE2Ljc1IDguNSAxNi43NUMxMC41MjU1IDE2Ljc1IDEyLjM4MDUgMTYuMDIwMSAxMy44MTYzIDE0LjgwODlDMTMuODUyNiAxNC44ODkyIDEzLjkwMzcgMTQuOTY0NCAxMy45Njk3IDE1LjAzMDNMMTYuNDY5NyAxNy41MzAzQzE2Ljc2MjYgMTcuODIzMiAxNy4yMzc0IDE3LjgyMzIgMTcuNTMwMyAxNy41MzAzQzE3LjgyMzIgMTcuMjM3NCAxNy44MjMyIDE2Ljc2MjYgMTcuNTMwMyAxNi40Njk3TDE1LjAzMDMgMTMuOTY5N0MxNC45NjQ0IDEzLjkwMzcgMTQuODg5MiAxMy44NTI2IDE0LjgwODkgMTMuODE2M0MxNi4wMjAxIDEyLjM4MDUgMTYuNzUgMTAuNTI1NSAxNi43NSA4LjVDMTYuNzUgMy45NDM2NSAxMy4wNTYzIDAuMjUgOC41IDAuMjVaTTEuNzUgOC41QzEuNzUgNC43NzIwOCA0Ljc3MjA4IDEuNzUgOC41IDEuNzVDMTIuMjI3OSAxLjc1IDE1LjI1IDQuNzcyMDggMTUuMjUgOC41QzE1LjI1IDEyLjIyNzkgMTIuMjI3OSAxNS4yNSA4LjUgMTUuMjVDNC43NzIwOCAxNS4yNSAxLjc1IDEyLjIyNzkgMS43NSA4LjVaIiBmaWxsPSIjNjk3Njg3Ii8+Cjwvc3ZnPgo=\") no-repeat left 12px center}.choices[data-type*=select-one] .choices__input::before{content:\"abc\"}.choices[data-type*=select-one] .choices__button{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNDY5NjcgNi40Njk2N0M2Ljc2MjU2IDYuMTc2NzggNy4yMzc0NCA2LjE3Njc4IDcuNTMwMzMgNi40Njk2N0wxMCA4LjkzOTM0TDEyLjQ2OTcgNi40Njk2N0MxMi43NjI2IDYuMTc2NzggMTMuMjM3NCA2LjE3Njc4IDEzLjUzMDMgNi40Njk2N0MxMy44MjMyIDYuNzYyNTYgMTMuODIzMiA3LjIzNzQ0IDEzLjUzMDMgNy41MzAzM0wxMS4wNjA3IDEwTDEzLjUzMDMgMTIuNDY5N0MxMy44MjMyIDEyLjc2MjYgMTMuODIzMiAxMy4yMzc0IDEzLjUzMDMgMTMuNTMwM0MxMy4yMzc0IDEzLjgyMzIgMTIuNzYyNiAxMy44MjMyIDEyLjQ2OTcgMTMuNTMwM0wxMCAxMS4wNjA3TDcuNTMwMzMgMTMuNTMwM0M3LjIzNzQ0IDEzLjgyMzIgNi43NjI1NiAxMy44MjMyIDYuNDY5NjcgMTMuNTMwM0M2LjE3Njc4IDEzLjIzNzQgNi4xNzY3OCAxMi43NjI2IDYuNDY5NjcgMTIuNDY5N0w4LjkzOTM0IDEwTDYuNDY5NjcgNy41MzAzM0M2LjE3Njc4IDcuMjM3NDQgNi4xNzY3OCA2Ljc2MjU2IDYuNDY5NjcgNi40Njk2N1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMC4yNUM0LjYxNTIyIDAuMjUgMC4yNSA0LjYxNTIyIDAuMjUgMTBDMC4yNSAxNS4zODQ4IDQuNjE1MjIgMTkuNzUgMTAgMTkuNzVDMTUuMzg0OCAxOS43NSAxOS43NSAxNS4zODQ4IDE5Ljc1IDEwQzE5Ljc1IDQuNjE1MjIgMTUuMzg0OCAwLjI1IDEwIDAuMjVaTTEuNzUgMTBDMS43NSA1LjQ0MzY1IDUuNDQzNjUgMS43NSAxMCAxLjc1QzE0LjU1NjMgMS43NSAxOC4yNSA1LjQ0MzY1IDE4LjI1IDEwQzE4LjI1IDE0LjU1NjMgMTQuNTU2MyAxOC4yNSAxMCAxOC4yNUM1LjQ0MzY1IDE4LjI1IDEuNzUgMTQuNTU2MyAxLjc1IDEwWiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==\");padding:0;background-size:20px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:35px;height:20px;width:20px}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px rgba(105, 118, 135, 0.1)}.choices[data-type*=select-one] .choices__item[data-value=\"\"] .choices__button{display:none}.choices[data-type*=select-one] .choices__item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.choices[data-type*=select-one][dir=rtl]::after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:35px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text;display:flex;flex-flow:row wrap;align-items:center;padding:4px 60px 4px 4px;gap:4px}.choices[data-type*=select-multiple] .choices__item cat-checkbox,.choices[data-type*=text] .choices__item cat-checkbox{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.choices[data-type*=select-multiple] .choices__item cat-checkbox::part(label),.choices[data-type*=text] .choices__item cat-checkbox::part(label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.choices[data-type*=select-multiple] .choices__input,.choices[data-type*=text] .choices__input{min-width:1ch;width:1ch}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;padding-left:24px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuMjc1MzIgMC4zOTEzNzFDMS4wMzEyNCAwLjE0NzI5NCAwLjYzNTUxIDAuMTQ3Mjk0IDAuMzkxNDMyIDAuMzkxMzcxQzAuMTQ3MzU1IDAuNjM1NDQ5IDAuMTQ3MzU1IDEuMDMxMTggMC4zOTE0MzIgMS4yNzUyNUw0LjExNjE2IDQuOTk5OThMMC4zOTE0MzIgOC43MjQ3QzAuMTQ3MzU1IDguOTY4NzggMC4xNDczNTUgOS4zNjQ1MSAwLjM5MTQzMiA5LjYwODU5QzAuNjM1NTEgOS44NTI2NyAxLjAzMTI0IDkuODUyNjcgMS4yNzUzMiA5LjYwODU5TDUuMDAwMDQgNS44ODM4Nkw4LjcyNDc3IDkuNjA4NTlDOC45Njg4NCA5Ljg1MjY3IDkuMzY0NTcgOS44NTI2NyA5LjYwODY1IDkuNjA4NTlDOS44NTI3MyA5LjM2NDUxIDkuODUyNzMgOC45Njg3OCA5LjYwODY1IDguNzI0N0w1Ljg4MzkyIDQuOTk5OThMOS42MDg2NSAxLjI3NTI1QzkuODUyNzMgMS4wMzExOCA5Ljg1MjczIDAuNjM1NDQ5IDkuNjA4NjUgMC4zOTEzNzFDOS4zNjQ1NyAwLjE0NzI5NCA4Ljk2ODg0IDAuMTQ3Mjk0IDguNzI0NzcgMC4zOTEzNzFMNS4wMDAwNCA0LjExNjFMMS4yNzUzMiAwLjM5MTM3MVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=\");background-size:10px;width:10px;line-height:1;opacity:0.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices[data-type*=select-multiple] cat-button,.choices[data-type*=text] cat-button{position:absolute;top:50%;right:0;margin-top:-20px;margin-right:25px}.choices[data-type*=select-multiple] cat-button::part(button),.choices[data-type*=text] cat-button::part(button){box-shadow:unset;background-color:transparent}.choices[data-type*=select-multiple][dir=rtl] .choices__inner,.choices[data-type*=text][dir=rtl] .choices__inner{padding-right:4px;padding-left:60px}.choices[data-type*=select-multiple][dir=rtl] cat-button,.choices[data-type*=text][dir=rtl] cat-button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-one]::after,.choices[data-type*=select-multiple]::after{content:\"\";width:12px;height:6.5px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMC40Njk2NyAwLjQ2OTY3QzAuNzYyNTYzIDAuMTc2Nzc3IDEuMjM3NDQgMC4xNzY3NzcgMS41MzAzMyAwLjQ2OTY3TDYgNC45MzkzNEwxMC40Njk3IDAuNDY5NjcxQzEwLjc2MjYgMC4xNzY3NzggMTEuMjM3NCAwLjE3Njc3OCAxMS41MzAzIDAuNDY5NjcxQzExLjgyMzIgMC43NjI1NjQgMTEuODIzMiAxLjIzNzQ0IDExLjUzMDMgMS41MzAzM0w2LjUzMDMzIDYuNTMwMzNDNi4yMzc0NCA2LjgyMzIyIDUuNzYyNTYgNi44MjMyMiA1LjQ2OTY3IDYuNTMwMzNMMC40Njk2NyAxLjUzMDMzQzAuMTc2Nzc3IDEuMjM3NDQgMC4xNzY3NzcgMC43NjI1NjMgMC40Njk2NyAwLjQ2OTY3WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==\");position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none;transition:transform 0.25s linear}.choices[data-type*=select-one][dir=rtl]::after,.choices[data-type*=select-multiple][dir=rtl]::after{left:11.5px;right:auto}.choices[data-type*=select-one].is-open::after,.choices[data-type*=select-multiple].is-open::after{transform:rotate(180deg);transition:transform 0.25s linear}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#fff;border:1px solid #d7dbe0;border-radius:4px;font-size:15px;min-height:40px;overflow:hidden}.is-open .choices__inner{border-radius:4px 4px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 4px 4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:flex;padding:9px 50px 9px 12px;width:100%}[dir=rtl] .choices__list--single{padding-right:12px;padding-left:50px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:contents}.choices__list--multiple .choices__item{font-size:0.9375rem;line-height:1.25rem;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;border-radius:2px;padding:5px 8px 5px 4px;background-color:rgba(105, 118, 135, 0.1);color:#000;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:rgba(94, 105, 121, 0.1)}.is-disabled .choices__list--multiple .choices__item{background-color:#aaaaaa}.choices__list--dropdown,.choices__list[aria-expanded]{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #d7dbe0;top:100%;margin-top:-1px;overflow:hidden;word-break:break-all;will-change:visibility;box-shadow:0 2px 4px 0 #101d3033;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{visibility:visible}.is-flipped .choices__list--dropdown,.is-flipped .choices__list[aria-expanded]{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:0.25rem 0.25rem 0 0}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{position:relative;max-height:300px;padding:8px 0;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{font-size:0.9375rem;line-height:1.25rem;font-weight:500;position:relative;padding:10px;min-height:40px}[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{text-align:right}@media (min-width: 640px){.choices__list--dropdown .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]),.choices__list[aria-expanded] .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]){padding-right:100px}[dir=rtl] .choices__list--dropdown .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]),[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]){padding-right:10px}.choices__list--dropdown .choices__item--selectable::after,.choices__list[aria-expanded] .choices__item--selectable::after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable{text-align:right;padding-left:100px}[dir=rtl] .choices__list--dropdown .choices__item--selectable::after,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable::after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{background-color:rgba(105, 118, 135, 0.05)}.choices__list--dropdown .choices__item--selectable.is-highlighted::after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after{opacity:0.5}.choices__item{cursor:default;border-left:3px solid transparent;transition:0.25s linear}.choices__item--selectable{cursor:pointer}.choices__item--selected{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:0.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f4f5f6;color:gray}.choices__button{text-indent:-9999px;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:white;font-size:15px;font-family:var(--cat-font-family-body, \"Lato\"), system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";border:0;border-radius:0;max-width:100%;padding:7px 0 4px 2px}.choices__input:focus{outline:0}.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;width:0;height:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:0.5}.choices__group{padding:8px 16px;height:34px}.choices__group .choices__heading{font-style:normal;font-weight:700;font-size:14px;line-height:18px;padding:unset;border-bottom:0;color:#697687}.choices__group:not(:first-child){border-top:1px solid #f4f5f6;margin-top:8px}.d-flex{display:flex}.align-items-center{align-items:center}.choices-option-icon{width:20px;aspect-ratio:1;border-radius:0.125rem}";
12052
12065
 
12053
- let nextUniqueId$3 = 0;
12066
+ let nextUniqueId$4 = 0;
12054
12067
  const getOptionTemplate = (data) => {
12055
12068
  var _a;
12056
12069
  if ((_a = data.customProperties) === null || _a === void 0 ? void 0 : _a.imageUrl) {
@@ -12071,7 +12084,7 @@ const CatSelect = class {
12071
12084
  this.catScrolledBottom = index.createEvent(this, "catScrolledBottom", 7);
12072
12085
  this.catBlur = index.createEvent(this, "catBlur", 7);
12073
12086
  this.i18n = catNotification.CatI18nRegistry.getInstance();
12074
- this.id = `cat-select-${nextUniqueId$3++}`;
12087
+ this.id = `cat-select-${nextUniqueId$4++}`;
12075
12088
  this.resetItemsOnNextValueChange = true;
12076
12089
  this.hasSlottedLabel = false;
12077
12090
  /**
@@ -12150,7 +12163,7 @@ const CatSelect = class {
12150
12163
  componentWillRender() {
12151
12164
  this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
12152
12165
  if (!this.label && !this.hasSlottedLabel) {
12153
- loglevel.loglevel.error('[A11y] Missing ARIA label on select', this);
12166
+ catNotification.loglevel.error('[A11y] Missing ARIA label on select', this);
12154
12167
  }
12155
12168
  }
12156
12169
  componentDidLoad() {
@@ -12296,7 +12309,7 @@ const CatSelect = class {
12296
12309
  }
12297
12310
  get hintSection() {
12298
12311
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
12299
- return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12312
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12300
12313
  }
12301
12314
  onChange() {
12302
12315
  var _a;
@@ -12359,8 +12372,7 @@ const CatSelect = class {
12359
12372
  }
12360
12373
  updateRemoveItemButtonVisibility() {
12361
12374
  var _a, _b, _c;
12362
- const items = Array.from((_a = this.choice) === null || _a === void 0 ? void 0 : _a.getValue());
12363
- if (items.length) {
12375
+ if ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) {
12364
12376
  (_b = this.removeElement) === null || _b === void 0 ? void 0 : _b.removeAttribute('hidden');
12365
12377
  }
12366
12378
  else {
@@ -12371,7 +12383,6 @@ const CatSelect = class {
12371
12383
  var _a;
12372
12384
  event.stopPropagation();
12373
12385
  (_a = this.choice) === null || _a === void 0 ? void 0 : _a.removeActiveItems(-1);
12374
- this.updateRemoveItemButtonVisibility();
12375
12386
  this.onChange();
12376
12387
  }
12377
12388
  get hostElement() { return index.getElement(this); }
@@ -12452,7 +12463,7 @@ CatSpinner.style = catSpinnerCss;
12452
12463
 
12453
12464
  const catTabCss = ":host{display:block}:host([hidden]){display:none}";
12454
12465
 
12455
- let nextUniqueId$2 = 0;
12466
+ let nextUniqueId$3 = 0;
12456
12467
  const CatTab = class {
12457
12468
  constructor(hostRef) {
12458
12469
  index.registerInstance(this, hostRef);
@@ -12476,7 +12487,7 @@ const CatTab = class {
12476
12487
  }
12477
12488
  connectedCallback() {
12478
12489
  if (!this.hostElement.id) {
12479
- this.hostElement.id = `cat-tab-${nextUniqueId$2++}`;
12490
+ this.hostElement.id = `cat-tab-${nextUniqueId$3++}`;
12480
12491
  }
12481
12492
  }
12482
12493
  onClick(event) {
@@ -12551,6 +12562,87 @@ const CatTabs = class {
12551
12562
  };
12552
12563
  CatTabs.style = catTabsCss;
12553
12564
 
12565
+ var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c();},a=function(t){window.removeEventListener("resize",d,!1),e.removeEventListener("input",c,!1),e.removeEventListener("keyup",c,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",c,!1),window.addEventListener("resize",d,!1),e.addEventListener("input",c,!1),e.addEventListener("autosize:update",c,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:a,update:c}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c();}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop;}),n&&(document.documentElement.scrollTop=n);}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r<t?"hidden"===n.overflowY&&(u("scroll"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==n.overflowY&&(u("hidden"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),l!==r){l=r;var i=o("autosize:resized");try{e.dispatchEvent(i);}catch(e){}}}}(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e});var d=l;
12566
+
12567
+ const catTextareaCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}label{align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}textarea{margin:0;padding:0.625rem 0.75rem;min-height:2.5rem;font:inherit;background:white;border-radius:0.25rem;border:none;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}textarea:disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135));resize:none}textarea:hover:not(:disabled){box-shadow:0 0 0 2px #d7dbe0}textarea:focus{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}textarea::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
12568
+
12569
+ let nextUniqueId$2 = 0;
12570
+ const CatTextarea = class {
12571
+ constructor(hostRef) {
12572
+ index.registerInstance(this, hostRef);
12573
+ this.catChange = index.createEvent(this, "catChange", 7);
12574
+ this.catFocus = index.createEvent(this, "catFocus", 7);
12575
+ this.catBlur = index.createEvent(this, "catBlur", 7);
12576
+ this.id = `cat-textarea-${nextUniqueId$2++}`;
12577
+ this.hasSlottedLabel = false;
12578
+ /**
12579
+ * Whether the textarea is disabled.
12580
+ */
12581
+ this.disabled = false;
12582
+ /**
12583
+ * The label for the textarea.
12584
+ */
12585
+ this.label = '';
12586
+ /**
12587
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
12588
+ */
12589
+ this.labelHidden = false;
12590
+ /**
12591
+ * The name of the form control. Submitted with the form as part of a name/value pair.
12592
+ */
12593
+ this.name = '';
12594
+ /**
12595
+ * The value is not editable.
12596
+ */
12597
+ this.readonly = false;
12598
+ /**
12599
+ * A value is required or must be check for the form to be submittable.
12600
+ */
12601
+ this.required = false;
12602
+ /**
12603
+ * Specifies the initial number of lines in the textarea.
12604
+ */
12605
+ this.rows = 3;
12606
+ }
12607
+ componentWillRender() {
12608
+ this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
12609
+ if (!this.label && !this.hasSlottedLabel) {
12610
+ catNotification.loglevel.error('[A11y] Missing ARIA label on textarea', this);
12611
+ }
12612
+ }
12613
+ componentDidLoad() {
12614
+ d(this.textarea);
12615
+ }
12616
+ /**
12617
+ * Sets focus on the textarea. Use this method instead of `textarea.focus()`.
12618
+ *
12619
+ * @param options An optional object providing options to control aspects of
12620
+ * the focusing process.
12621
+ */
12622
+ async setFocus(options) {
12623
+ this.textarea.focus(options);
12624
+ }
12625
+ render() {
12626
+ return (index.h(index.Host, null, (this.hasSlottedLabel || this.label) && (index.h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, index.h("span", { part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label, !this.required && (index.h("span", { class: "input-optional", "aria-hidden": "true" }, "(Optional)"))))), index.h("textarea", { ref: el => (this.textarea = el), id: this.id, disabled: this.disabled, maxlength: this.maxLength, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, rows: this.rows, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.hintSection));
12627
+ }
12628
+ get hintSection() {
12629
+ const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
12630
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12631
+ }
12632
+ onInput(event) {
12633
+ this.value = this.textarea.value;
12634
+ this.catChange.emit(event);
12635
+ }
12636
+ onFocus(event) {
12637
+ this.catFocus.emit(event);
12638
+ }
12639
+ onBlur(event) {
12640
+ this.catBlur.emit(event);
12641
+ }
12642
+ get hostElement() { return index.getElement(this); }
12643
+ };
12644
+ CatTextarea.style = catTextareaCss;
12645
+
12554
12646
  const catToastDemoCss = ":host{display:block}";
12555
12647
 
12556
12648
  const CatToastDemo = class {
@@ -12633,7 +12725,7 @@ const CatToggle = class {
12633
12725
  componentWillRender() {
12634
12726
  this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
12635
12727
  if (!this.label && !this.hasSlottedLabel) {
12636
- loglevel.loglevel.error('[A11y] Missing ARIA label on toggle', this);
12728
+ catNotification.loglevel.error('[A11y] Missing ARIA label on toggle', this);
12637
12729
  }
12638
12730
  }
12639
12731
  /**
@@ -12650,7 +12742,7 @@ const CatToggle = class {
12650
12742
  }
12651
12743
  get hintSection() {
12652
12744
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
12653
- return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12745
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12654
12746
  }
12655
12747
  onInput(event) {
12656
12748
  this.value = this.input.value;
@@ -12812,8 +12904,9 @@ exports.cat_skeleton = CatSkeleton;
12812
12904
  exports.cat_spinner = CatSpinner;
12813
12905
  exports.cat_tab = CatTab;
12814
12906
  exports.cat_tabs = CatTabs;
12907
+ exports.cat_textarea = CatTextarea;
12815
12908
  exports.cat_toast_demo = CatToastDemo;
12816
12909
  exports.cat_toggle = CatToggle;
12817
12910
  exports.cat_tooltip = CatTooltip;
12818
12911
 
12819
- //# sourceMappingURL=cat-alert_21.cjs.entry.js.map
12912
+ //# sourceMappingURL=cat-alert_22.cjs.entry.js.map