UNPKG

@geoblink/design-system

Version:

Geoblink Design System for Vue.js

1 lines 13.2 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash")):"function"==typeof define&&define.amd?define(["lodash"],t):"object"==typeof exports?exports["components/GeoSelect"]=t(require("lodash")):e["components/GeoSelect"]=t(e.lodash)}(window,function(e){return o={},t.m=n={89:function(e,t,n){e.exports=n("X5bV")},EA35:function(e,t,n){"use strict";n.r(t),n.d(t,"X_AXIS_POSITION",function(){return s}),n.d(t,"Y_AXIS_POSITION",function(){return l}),n.d(t,"geoDropdownMixinFactory",function(){return u});var o=n("lSNA"),r=n.n(o),i=n("YLtl"),a=n.n(i),s={right:"right",left:"left"},l={top:"top",bottom:"bottom"};function u(e){var t,n=a.a.camelCase(e),o="".concat(n[0].toUpperCase()).concat(n.slice(1)),i="is".concat(o,"DropdownOpened");return{data:function(){return r()({},i,!1)},methods:(t={},r()(t,"dismiss".concat(o,"Dropdown"),function(){this[i]=!1}),r()(t,"toggle".concat(o,"Dropdown"),function(){this[i]=!this[i]}),t)}}},"KHd+":function(e,t,n){"use strict";function o(e,t,n,o,r,i,a,s){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),o&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=l):r&&(l=s?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}n.d(t,"a",function(){return o})},TsoJ:function(e,t,n){"use strict";n.r(t),n.d(t,"VARIANTS",function(){return r});var o=n("i4Qp"),r={inputAccessorySuffix:"inputAccessorySuffix",inputAccessoryPrefix:"inputAccessoryPrefix"},i={name:"GeoSelectToggleButton",status:"ready",release:"4.1.0",constants:{VARIANTS:r},props:{deleteIcon:{type:Array,default:function(){return["fas","times-circle"]}},dropdownIcon:{type:Array,default:function(){return["fal","chevron-down"]}},dropdownDisabledIcon:{type:Array,default:function(){return["fal","lock"]}},isValueDeletable:{type:Boolean,default:!1},isEmpty:{type:Boolean,required:!0},disabled:{type:Boolean,default:!1},variant:Object(o.a)({componentName:"GeoSelectToggleButton",propertyName:"variant",enumDictionary:r,required:!1,checkUndefined:!0})},computed:{dropdownIconForCurrentStatus:function(){return this.disabled?this.dropdownDisabledIcon:this.dropdownIcon},shouldShowDeleteButton:function(){return this.isValueDeletable&&!this.isEmpty&&!this.disabled}},methods:{handleClick:function(e){this.disabled||this.$emit("click",e)},deleteValue:function(){this.$emit("delete-value")}}},a=n("KHd+"),s=Object(a.a)(i,function(){var e,t=this,n=t.$createElement,o=t._self._c||n;return o("div",{class:(e={"geo-select-toggle-button":!0,"geo-select-toggle-button--empty":t.isEmpty,"geo-select-toggle-button--disabled":t.disabled},e["geo-select-toggle-button--"+t.variant]=t.variant,e),on:{click:function(e){return t.handleClick(e)}}},[t._t("default"),t._v(" "),t.shouldShowDeleteButton?o("font-awesome-icon",{staticClass:"geo-select-toggle-button__delete-icon",attrs:{icon:t.deleteIcon},on:{click:function(e){return e.stopPropagation(),t.deleteValue(e)}}}):t._e(),t._v(" "),o("font-awesome-icon",{staticClass:"geo-select-toggle-button__toggle-icon",attrs:{icon:t.dropdownIconForCurrentStatus}})],2)},[],!1,null,null,null);t.default=s.exports},X5bV:function(e,t,n){"use strict";n.r(t);var o=n("YLtl"),r=n.n(o),i={name:"GeoSelect",status:"ready",release:"4.1.0",mixins:[n("l0Y7").a],props:{value:{type:Object,required:!1}},computed:{toggleButtonLabel:function(){return r.a.get(this.value,this.keyForLabel,this.placeholder)}},methods:{changeCurrentSelection:function(e){this.$emit("input",e.item),this.closeSelect()}}},a=n("KHd+"),s=Object(a.a)(i,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("geo-select-base",{ref:"selectBase",staticClass:"geo-select",attrs:{opened:e.isOpened,"has-more-results":e.hasMoreResultsToLoad,"fixed-width":e.fixedWidth,"popup-class":[e.popupClass,{"geo-select__popup":!0,"geo-select__popup--disabled":e.disabled}]},on:{"click-outside":e.closeSelect,"load-more-results":e.loadNextPage}},[e._t("toggleButton",[n("geo-select-toggle-button",{attrs:{"dropdown-icon":e.dropdownIcon,"delete-icon":e.deleteIcon,"is-empty":!e.value,"is-value-deletable":e.isValueDeletable,disabled:e.disabled,variant:e.variant},on:{click:e.toggleSelect,"delete-value":e.deleteValue}},[n("geo-trimmed-content",[e._v("\n "+e._s(e.toggleButtonLabel)+"\n ")])],1)],{slot:"toggleButton",dropdownIcon:e.dropdownIcon,deleteIcon:e.deleteIcon,isEmpty:!e.value,isValueDeletable:e.isValueDeletable,disabled:e.disabled,toggleSelect:e.toggleSelect,deleteValue:e.deleteValue,label:e.toggleButtonLabel}),e._v(" "),n("template",{slot:"header"},[e._t("header",null,{toggleSelect:e.toggleSelect}),e._v(" "),e.searchable?e._t("searchHeader",[e.searchable?n("geo-bordered-box-header-search-form",{attrs:{slot:"header","search-icon":e.searchIcon,placeholder:e.searchInputPlaceholder},slot:"header",model:{value:e.searchPattern,callback:function(t){e.searchPattern=t},expression:"searchPattern"}}):e._e()]):e._e()],2),e._v(" "),e.visibleOptions.length?[e.isGroupedSelect?[e._l(e.visibleOptions,function(t,o){return[e._t("group",[n("geo-list-group",[t.isOptGroupHeader?e._t("group-title",[n("geo-marquee",{scopedSlots:e._u([{key:"default",fn:function(o){return n("geo-highlighted-string",{attrs:{"highlighted-chars":t.matches,"reference-string":t[e.keyForLabel]}})}}],null,!0)})],{slot:"title"}):e._e(),e._v(" "),e._l(t.items,function(t,o){return e._t("group-item",[n("geo-list-item",{key:t[e.keyForLabel]+"--"+o,on:{click:function(n){return e.changeCurrentSelection(t)}}},[n("geo-marquee",{scopedSlots:e._u([{key:"default",fn:function(o){return n("geo-highlighted-string",{attrs:{"highlighted-chars":t.matches,"reference-string":t[e.keyForLabel]}})}}],null,!0)})],1)],{slot:"item",suggestedKey:t[e.keyForLabel]+"--"+o,itemIndex:o,item:t,changeCurrentSelection:e.changeCurrentSelection})})],2)],{option:t,index:o,suggestedKey:t[e.keyForLabel]+"--"+o})]})]:[e._l(e.visibleOptions,function(t,o){return[e._t("default",[n("geo-list-item",{key:t[e.keyForLabel]+"--"+o,on:{click:function(n){return e.changeCurrentSelection(t)}}},[n("geo-marquee",{scopedSlots:e._u([{key:"default",fn:function(o){return n("geo-highlighted-string",{attrs:{"highlighted-chars":t.matches,"reference-string":t[e.keyForLabel]}})}}],null,!0)})],1)],{item:t,itemIndex:o,suggestedKey:t[e.keyForLabel]+"--"+o,changeCurrentSelection:e.changeCurrentSelection})]})]]:n("geo-list-clear-item",[e._t("noResults")],2),e._v(" "),e._t("moreResultsTextContent",null,{slot:"moreResultsTextContent"}),e._v(" "),e._t("footer",null,{slot:"footer",toggleSelect:e.toggleSelect})],2)},[],!1,null,null,null);t.default=s.exports},YLtl:function(t,n){t.exports=e},i4Qp:function(e,t,n){"use strict";function o(e){var t={type:String,validator:function(t){if(e.checkUndefined&&void 0===t)return!0;var n=Object.values(e.enumDictionary);if(n.includes(t))return!0;var o=n.map(function(e){return"«".concat(e,"»")}).join(", ");return console.warn("".concat(e.componentName," [component] :: Unsupported value («").concat(t,"») for «").concat(e.propertyName,"» property. Use one of ").concat(o)),!1}};return"defaultValue"in e&&(t.default=e.defaultValue),"required"in e&&(t.required=!!e.required),t}n.d(t,"a",function(){return o})},l0Y7:function(e,t,n){"use strict";var o=n("lSNA"),r=n.n(o),i=n("YLtl"),a=n.n(i),s=n("EA35"),l=n("TsoJ"),u=n("i4Qp");t.a={constants:{X_AXIS_POSITION:s.X_AXIS_POSITION,Y_AXIS_POSITION:s.Y_AXIS_POSITION},props:{fixedWidth:{type:Boolean,default:!0},options:{type:Array,required:!0,validator:function(e){for(var t=0;t<e.length;t++){var n=e[t];if("isOptGroup"in n){if(!a.a.isBoolean(n.isOptGroup))return console.warn("GeoMultiSelect [component] :: group[".concat(t,"].isOptGroup attribute must be boolean")),!1;if(n.isOptGroup&&!o(n,t))return!1}}return!0;function o(e,t){var n="group[".concat(t,"]"),o=e.items;return!!a.a.isArray(o)||(console.warn("GeoMultiSelect [component] :: ".concat(n," must have a «items» attribute which is an array of items")),!1)}}},keyForLabel:{type:String,default:"label"},placeholder:{type:String,required:!1},searchable:{type:Boolean,default:!1},grouped:{type:Boolean,default:!1},searchInputPlaceholder:{type:String,required:!1},getMatchesForItem:{type:Function},pageSize:{type:Number,required:!1,validator:function(e){return!!a.a.isFinite(e)||0<e}},dropdownIcon:{type:Array,default:function(){return["fal","chevron-down"]}},deleteIcon:{type:Array,default:function(){return["fas","times-circle"]}},searchIcon:{type:Array,default:function(){return["fal","search"]}},forceYAxisPosition:Object(u.a)({componentName:"GeoSelect",propertyName:"forceYAxisPosition",enumDictionary:s.Y_AXIS_POSITION,required:!1,checkUndefined:!0}),isValueDeletable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},variant:Object(u.a)({componentName:"GeoSelect",propertyName:"variant",enumDictionary:l.VARIANTS,defaultValue:l.VARIANTS.regular}),popupClass:{type:[String,Array,Object],required:!1}},data:function(){return{isOpened:!1,searchPattern:null,lastVisiblePage:1}},computed:{isGroupedSelect:function(){return this.grouped},filteredOptions:function(){var e=this;return a.a.flatMap(e.options,function(n){var o=function(t,n){var o;return o={matches:[],isOptGroupHeader:n},r()(o,e.keyForLabel,t[e.keyForLabel]),r()(o,"items",t.items),r()(o,"item",t),o}(n,n.isOptGroup);if(!e.deburredSearchPattern)return o.isOptGroupHeader?a.a.assign({},o,{items:a.a.map(o.items,t)}):o;var i=(e.getMatchesForItem||e.defaultGetMatchesForItem)(o,e.deburredSearchPattern);if(o.matches=i,o.isOptGroupHeader){if(i.length)return a.a.assign({},o,{items:a.a.map(o.items,t)});var s=a.a.map(o.items,t),l=a.a.filter(s,function(e){return!!e.matches.length});return l.length?a.a.assign({},o,{items:l}):[]}return i.length?[o]:[]});function t(t){var n;return n={matches:(e.getMatchesForItem||e.defaultGetMatchesForItem)(t,e.deburredSearchPattern),isOptGroupHeader:!1},r()(n,e.keyForLabel,t[e.keyForLabel]),r()(n,"item",t),n}},deburredSearchPattern:function(){return a.a.deburr(this.searchPattern)},visibleChunkRange:function(){var e,t=this,n=this.pageSize?this.lastVisiblePage*this.pageSize:this.filteredOptions.length;return this.hasToCalculatePaginatedGroupItems&&a.a.forEach(this.filteredOptions,function(o,r){var i=a.a.sumBy(a.a.slice(t.filteredOptions,0,r+1),"items.length");if(n<=i)return e=r+1,n-=i-o.items.length,!1}),{start:0,end:n,endGroup:e}},visibleOptions:function(){if(this.hasToCalculatePaginatedGroupItems){var e=a.a.cloneDeep(a.a.slice(this.filteredOptions,this.visibleChunkRange.start,this.visibleChunkRange.endGroup)),t=a.a.last(e);return t.items=a.a.slice(t.items,this.visibleChunkRange.start,this.visibleChunkRange.end),e}return a.a.slice(this.filteredOptions,this.visibleChunkRange.start,this.visibleChunkRange.end)},hasMoreResultsToLoad:function(){if(this.hasToCalculatePaginatedGroupItems){var e=this.filteredOptions.length,t=a.a.get(a.a.last(this.filteredOptions),"items.length");return this.visibleChunkRange.endGroup<e||this.visibleChunkRange.end<t}return this.lastVisiblePage*this.pageSize<this.filteredOptions.length},hasToCalculatePaginatedGroupItems:function(){return this.grouped&&this.pageSize}},methods:{defaultGetMatchesForItem:function(e,t){var n=a.a.deburr(e[this.keyForLabel]).toLowerCase(),o=a.a.deburr(t).toLowerCase(),r=n.match(o);return r?a.a.map(r[0].split(""),function(e,t){return t+r.index}):[]},closeSelect:function(){this.isOpened=!1,this.$emit("toggle",this.isOpened)},toggleSelect:function(){this.disabled||(this.isOpened=!this.isOpened,this.$emit("toggle",this.isOpened))},loadNextPage:function(e){this.lastVisiblePage++,this.$nextTick(function(){e.scrollToLastEntry()})},deleteValue:function(){this.$emit("delete-value")}}}},lSNA:function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports}},t.c=o,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(t){return e[t]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=89);function t(e){if(o[e])return o[e].exports;var r=o[e]={i:e,l:!1,exports:{}};return n[e].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n,o});