UNPKG

@freshworks/crayons

Version:
1 lines 6.45 kB
var __awaiter=this&&this.__awaiter||function(e,t,r,a){function i(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function s(e){try{o(a.next(e))}catch(t){n(t)}}function l(e){try{o(a["throw"](e))}catch(t){n(t)}}function o(e){e.done?r(e.value):i(e.value).then(s,l)}o((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},a,i,n,s;return s={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(e){return function(t){return o([e,t])}}function o(s){if(a)throw new TypeError("Generator is already executing.");while(r)try{if(a=1,i&&(n=s[0]&2?i["return"]:s[0]?i["throw"]||((n=i["return"])&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;if(i=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;i=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){r.label=s[1];break}if(s[0]===6&&r.label<n[1]){r.label=n[1];n=s;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(s);break}if(n[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(l){s=[6,l];i=0}finally{a=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t){for(var r=0,a=t.length,i=e.length;r<a;r++,i++)e[i]=t[r];return e};import{r as registerInstance,c as createEvent,h,e as Host,i as getElement}from"./index-25bc21e4.js";function validateAndParseInputSelectedValues(e){var t=[];var r=false;var a=e?e.toString():"";if(e){r=Array.isArray(e)?true:false;if(r){t=__spreadArray([],e)}else{t=a!==""?a.split(","):[]}}return{isArray:r,strSelectedValues:a,arrSelectedValues:t}}function updateSelectedValues(e,t,r,a,i){if(e===void 0){e=null}if(t===void 0){t=-1}if(r===void 0){r=true}if(a===void 0){a=false}if(i===void 0){i=null}if(t<0||!e||e.length<=0||t>e.length-1){return i}if(!i){i=[]}var n=e[t].value;var s=i.length>0?i.includes(n):false;if(!r&&a&&s){var l=-1;var o=i.length;for(var u=0;u<o;u++){if(i[u]===n){l=u;break}}i=__spreadArray(__spreadArray([],i.slice(0,l)),i.slice(l+1))}else if(r&&!s){if(a){i=__spreadArray(__spreadArray([],i),[n])}else{i=[n]}}return i}function updateChildSelectionState(e,t,r,a){if(e===void 0){e=null}if(t===void 0){t=false}if(r===void 0){r=null}if(a===void 0){a=false}if(!e||e.length===0){return-1}var i=-1;var n=false;var s=e.length;for(var l=0;l<s;l++){var o=e[l];var u=o.value;o.index=l;if(a){o.isCheckbox=t}var c=r&&r.includes(u)?true:false;var d=c;if(!t){if(!n&&c){n=true;d=true}else{d=false}}o.selected=d;if(d&&i===-1){i=l;o.setAttribute("tabindex","0")}else{o.setAttribute("tabindex","-1")}}return i}function doKeyDownOperations(e,t,r,a){if(t===void 0){t=null}if(r===void 0){r=0}if(a===void 0){a=false}if(!t||t.length===0){return{index:r,changeSelection:false,selected:false}}if(r<0){r=0}switch(e){case"ArrowDown":case"ArrowRight":t[r].setAttribute("tabindex","-1");r=++r%t.length;t[r].setAttribute("tabindex","0");t[r].setFocus();break;case"ArrowUp":case"ArrowLeft":t[r].setAttribute("tabindex","-1");r=r===0?t.length-1:--r;t[r].setAttribute("tabindex","0");t[r].setFocus();break;case"Enter":case"Space":{t[r].setFocus();var i=t[r].selected;if(!a&&i){return}var n=a?!i:true;return{index:r,changeSelection:true,selected:n}}}return{index:r,changeSelection:false,selected:false}}var toggleGroupCss=':host{font-family:var(--fw-font-family, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-box-sizing:border-box;box-sizing:border-box}:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;gap:12px}';var ToggleGroup=function(){function e(e){registerInstance(this,e);this.fwChange=createEvent(this,"fwChange",7);this.selectedIndex=-1;this.isInputFormatArray=false;this.multiple=false;this.value=null;this.arrSelectedItems=null;this.label="";this.name=""}e.prototype.setSelectedValues=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.value=e;return[2]}))}))};e.prototype.watchSelectedValuesChangeHandler=function(){this.parseSelectedItems();this.updateSelection()};e.prototype.keyupHandler=function(e){var t=this.arrChildElements;if(!t||t.length===0){return}var r=doKeyDownOperations(e.code,this.arrChildElements,this.selectedIndex,this.multiple);this.selectedIndex=r.index;if(r.changeSelection){var a=updateSelectedValues(t,this.selectedIndex,r.selected,this.multiple,this.arrSelectedItems);this.arrSelectedItems=__spreadArray([],a);this.dispatchSelectionChangeEvent()}};e.prototype.toggleChangeHandler=function(e){var t=e.detail;this.selectedIndex=t.index;var r=updateSelectedValues(this.arrChildElements,this.selectedIndex,t.selected,this.multiple,this.arrSelectedItems);this.arrSelectedItems=r;this.dispatchSelectionChangeEvent()};e.prototype.componentWillLoad=function(){this.parseSelectedItems()};e.prototype.componentDidLoad=function(){var e=this.host;this.arrChildElements=e.children;this.updateSelection(true)};e.prototype.dispatchSelectionChangeEvent=function(){var e=this.arrSelectedItems.toString();if(e!==this.value){this.value=e;this.fwChange.emit({value:!this.isInputFormatArray?e:__spreadArray([],this.arrSelectedItems)})}};e.prototype.parseSelectedItems=function(){var e=validateAndParseInputSelectedValues(this.value);if(this.value!==e.strSelectedValues){this.value=e.strSelectedValues}this.isInputFormatArray=e.isArray;this.arrSelectedItems=e.arrSelectedValues};e.prototype.updateSelection=function(e){if(e===void 0){e=false}var t=updateChildSelectionState(this.arrChildElements,this.multiple,this.arrSelectedItems,e);if(t!==-1&&this.selectedIndex===-1){this.selectedIndex=t}};e.prototype.render=function(){return h(Host,{"aria-label":this.label},h("slot",null))};Object.defineProperty(e.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["watchSelectedValuesChangeHandler"]}},enumerable:false,configurable:true});return e}();ToggleGroup.style=toggleGroupCss;export{ToggleGroup as fw_toggle_group};