UNPKG

@foxone/finance-ui

Version:

The Financial UI Component Library Based on @foxone/uikit and vuetify

159 lines (139 loc) 18.6 kB
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import _inherits from "@babel/runtime/helpers/esm/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf"; import _typeof from "@babel/runtime/helpers/esm/typeof"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var __decorate = this && this.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { Component, Vue, Prop, Model } from 'vue-property-decorator'; import classnames from '../utils/classnames'; import 'vue-slider-component/theme/default.css'; // avoid typescript error var VueSlider = require('vue-slider-component'); var RiskSlider = /*#__PURE__*/function (_Vue) { _inherits(RiskSlider, _Vue); var _super = _createSuper(RiskSlider); function RiskSlider() { _classCallCheck(this, RiskSlider); return _super.apply(this, arguments); } _createClass(RiskSlider, [{ key: "isDark", get: function get() { var _a, _b; return (_b = (_a = this.$vuetify) === null || _a === void 0 ? void 0 : _a.theme) === null || _b === void 0 ? void 0 : _b.dark; } }, { key: "colors", get: function get() { return { dark: { low: '#56D471', mid: '#F79F4D', high: '#F67070' }, light: { low: '#2CC94E', mid: '#F58721', high: '#F44C4C' } }; } }, { key: "currentScale", get: function get() { var val = +this.value / 100; if (val <= this.getScaleRatio('low')) { return 'low'; } else if (val <= this.getScaleRatio('low') + this.getScaleRatio('mid')) { return 'mid'; } else { return 'high'; } } }, { key: "getScaleRatio", value: function getScaleRatio(scale) { var _this$scale = this.scale, low = _this$scale.low, mid = _this$scale.mid, high = _this$scale.high; var total = low + mid + high; return this.scale[scale] / total; } }, { key: "render", value: function render(h) { var content = this.$slots["default"]; var classes = classnames('risk-slider'); var color = this.colors[this.isDark ? 'dark' : 'light']; return h('div', { staticClass: classes(), "class": this.className }, [h(VueSlider, { props: { value: this.value, height: 8, min: 0, max: 100, interval: 0.01, lazy: true, tooltip: 'none', disabled: this.disabled, railStyle: { 'background': "linear-gradient(to right, ".concat(color.low, " 0% ").concat(this.getScaleRatio('low') * 100, "%, ").concat(color.mid, " ").concat(this.getScaleRatio('low') * 100, "% ").concat((this.getScaleRatio('low') + this.getScaleRatio('mid')) * 100, "%, ").concat(color.high, " ").concat((this.getScaleRatio('low') + this.getScaleRatio('mid')) * 100, "% 100%)") } } }), content !== null && content !== void 0 ? content : h('div', { staticClass: classes('tips', 'f-greyscale-3 f-caption') }, [h('span', this.tips.tip), h('span', { staticClass: classes('tips-highlight', 'font-weight-bold'), style: { color: color[this.currentScale] } }, this.tips.highlight)])]); } }]); return RiskSlider; }(Vue); __decorate([Model('change', { type: [String, Number], "default": '' })], RiskSlider.prototype, "value", void 0); __decorate([Prop({ type: String, "default": '' })], RiskSlider.prototype, "className", void 0); __decorate([Prop({ type: Boolean, "default": true })], RiskSlider.prototype, "disabled", void 0); __decorate([Prop({ type: Object, "default": function _default() { return { low: 0.7, mid: 0.15, high: 0.15 }; } })], RiskSlider.prototype, "scale", void 0); __decorate([Prop({ type: Object, "default": function _default() { return {}; } })], RiskSlider.prototype, "tips", void 0); RiskSlider = __decorate([Component], RiskSlider); export { RiskSlider }; export default RiskSlider; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJpc2tTbGlkZXIvX2RlcHJlY2F0ZS5qcyIsInNyYy9SaXNrU2xpZGVyL19kZXByZWNhdGUudHMiXSwibmFtZXMiOlsiX19kZWNvcmF0ZSIsImRlY29yYXRvcnMiLCJ0YXJnZXQiLCJrZXkiLCJkZXNjIiwiYyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInIiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkIiwiUmVmbGVjdCIsImRlY29yYXRlIiwiaSIsImRlZmluZVByb3BlcnR5IiwiQ29tcG9uZW50IiwiVnVlIiwiUHJvcCIsIk1vZGVsIiwiY2xhc3NuYW1lcyIsIlZ1ZVNsaWRlciIsInJlcXVpcmUiLCJSaXNrU2xpZGVyIiwiX2EiLCJfYiIsIiR2dWV0aWZ5IiwidGhlbWUiLCJkYXJrIiwibG93IiwibWlkIiwiaGlnaCIsImxpZ2h0IiwidmFsIiwidmFsdWUiLCJnZXRTY2FsZVJhdGlvIiwic2NhbGUiLCJ0b3RhbCIsImgiLCJjb250ZW50IiwiJHNsb3RzIiwiY2xhc3NlcyIsImNvbG9yIiwiY29sb3JzIiwiaXNEYXJrIiwic3RhdGljQ2xhc3MiLCJjbGFzc05hbWUiLCJwcm9wcyIsImhlaWdodCIsIm1pbiIsIm1heCIsImludGVydmFsIiwibGF6eSIsInRvb2x0aXAiLCJkaXNhYmxlZCIsInJhaWxTdHlsZSIsInRpcHMiLCJ0aXAiLCJzdHlsZSIsImN1cnJlbnRTY2FsZSIsImhpZ2hsaWdodCIsInR5cGUiLCJTdHJpbmciLCJOdW1iZXIiLCJwcm90b3R5cGUiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUlBLFVBQVUsR0FBSSxRQUFRLEtBQUtBLFVBQWQsSUFBNkIsVUFBVUMsVUFBVixFQUFzQkMsTUFBdEIsRUFBOEJDLEdBQTlCLEVBQW1DQyxJQUFuQyxFQUF5QztBQUNuRixNQUFJQyxDQUFDLEdBQUdDLFNBQVMsQ0FBQ0MsTUFBbEI7QUFBQSxNQUEwQkMsQ0FBQyxHQUFHSCxDQUFDLEdBQUcsQ0FB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LFNBQ3NCLENBQUEsRUFBVk8sVUFBVSxDQUFWO0FEMkZiLFNDM0ZhQSxVRDJGYjtBQ3NCQSxlQUFlQSxVQUFmIiwiZmlsZSI6IlJpc2tTbGlkZXIvX2RlcHJlY2F0ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbmltcG9ydCB7IENvbXBvbmVudCwgVnVlLCBQcm9wLCBNb2RlbCB9IGZyb20gJ3Z1ZS1wcm9wZXJ0eS1kZWNvcmF0b3InO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgJ3Z1ZS1zbGlkZXItY29tcG9uZW50L3RoZW1lL2RlZmF1bHQuY3NzJztcbi8vIGF2b2lkIHR5cGVzY3JpcHQgZXJyb3JcbmNvbnN0IFZ1ZVNsaWRlciA9IHJlcXVpcmUoJ3Z1ZS1zbGlkZXItY29tcG9uZW50Jyk7XG5sZXQgUmlza1NsaWRlciA9IGNsYXNzIFJpc2tTbGlkZXIgZXh0ZW5kcyBWdWUge1xuICAgIGdldCBpc0RhcmsoKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLiR2dWV0aWZ5KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGhlbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5kYXJrO1xuICAgIH1cbiAgICBnZXQgY29sb3JzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGFyazoge1xuICAgICAgICAgICAgICAgIGxvdzogJyM1NkQ0NzEnLFxuICAgICAgICAgICAgICAgIG1pZDogJyNGNzlGNEQnLFxuICAgICAgICAgICAgICAgIGhpZ2g6ICcjRjY3MDcwJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZ2h0OiB7XG4gICAgICAgICAgICAgICAgbG93OiAnIzJDQzk0RScsXG4gICAgICAgICAgICAgICAgbWlkOiAnI0Y1ODcyMScsXG4gICAgICAgICAgICAgICAgaGlnaDogJyNGNDRDNEMnXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldCBjdXJyZW50U2NhbGUoKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9ICt0aGlzLnZhbHVlIC8gMTAwO1xuICAgICAgICBpZiAodmFsIDw9IHRoaXMuZ2V0U2NhbGVSYXRpbygnbG93JykpIHtcbiAgICAgICAgICAgIHJldHVybiAnbG93JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWwgPD0gKHRoaXMuZ2V0U2NhbGVSYXRpbygnbG93JykgKyB0aGlzLmdldFNjYWxlUmF0aW8oJ21pZCcpKSkge1xuICAgICAgICAgICAgcmV0dXJuICdtaWQnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdoaWdoJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRTY2FsZVJhdGlvKHNjYWxlKSB7XG4gICAgICAgIGNvbnN0IHsgbG93LCBtaWQsIGhpZ2ggfSA9IHRoaXMuc2NhbGU7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gbG93ICsgbWlkICsgaGlnaDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NhbGVbc2NhbGVdIC8gdG90YWw7XG4gICAgfVxuICAgIHJlbmRlcihoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygncmlzay1zbGlkZXInKTtcbiAgICAgICAgY29uc3QgY29sb3IgPSB0aGlzLmNvbG9yc1t0aGlzLmlzRGFyayA/ICdkYXJrJyA6ICdsaWdodCddO1xuICAgICAgICByZXR1cm4gaCgnZGl2Jywge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IGNsYXNzZXMoKSxcbiAgICAgICAgICAgIGNsYXNzOiB0aGlzLmNsYXNzTmFtZVxuICAgICAgICB9LCBbXG4gICAgICAgICAgICBoKFZ1ZVNsaWRlciwge1xuICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgICAgICAgICAgbWF4OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgIGludGVydmFsOiAwLjAxLFxuICAgICAgICAgICAgICAgICAgICBsYXp5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICByYWlsU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kJzogYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHtjb2xvci5sb3d9IDAlICR7dGhpcy5nZXRTY2FsZVJhdGlvKCdsb3cnKSAqIDEwMH0lLCAke2NvbG9yLm1pZH0gJHt0aGlzLmdldFNjYWxlUmF0aW8oJ2xvdycpICogMTAwfSUgJHsodGhpcy5nZXRTY2FsZVJhdGlvKCdsb3cnKSArIHRoaXMuZ2V0U2NhbGVSYXRpbygnbWlkJykpICogMTAwfSUsICR7Y29sb3IuaGlnaH0gJHsodGhpcy5nZXRTY2FsZVJhdGlvKCdsb3cnKSArIHRoaXMuZ2V0U2NhbGVSYXRpbygnbWlkJykpICogMTAwfSUgMTAwJSlgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNvbnRlbnQgIT09IG51bGwgJiYgY29udGVudCAhPT0gdm9pZCAwID8gY29udGVudCA6IGgoJ2RpdicsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogY2xhc3NlcygndGlwcycsICdmLWdyZXlzY2FsZS0zIGYtY2FwdGlvbicpXG4gICAgICAgICAgICB9LCBbXG4gICAgICAgICAgICAgICAgaCgnc3BhbicsIHRoaXMudGlwcy50aXApLFxuICAgICAgICAgICAgICAgIGgoJ3NwYW4nLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBjbGFzc2VzKCd0aXBzLWhpZ2hsaWdodCcsICdmb250LXdlaWdodC1ib2xkJyksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JbdGhpcy5jdXJyZW50U2NhbGVdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB0aGlzLnRpcHMuaGlnaGxpZ2h0KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIE1vZGVsKCdjaGFuZ2UnLCB7IHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sIGRlZmF1bHQ6ICcnIH0pXG5dLCBSaXNrU2xpZGVyLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IFN0cmluZywgZGVmYXVsdDogJycgfSlcbl0sIFJpc2tTbGlkZXIucHJvdG90eXBlLCBcImNsYXNzTmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IEJvb2xlYW4sIGRlZmF1bHQ6IHRydWUgfSlcbl0sIFJpc2tTbGlkZXIucHJvdG90eXBlLCBcImRpc2FibGVkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBQcm9wKHtcbiAgICAgICAgdHlwZTogT2JqZWN0LCBkZWZhdWx0OiAoKSA9PiAoe1xuICAgICAgICAgICAgbG93OiAwLjcsXG4gICAgICAgICAgICBtaWQ6IDAuMTUsXG4gICAgICAgICAgICBoaWdoOiAwLjE1XG4gICAgICAgIH0pXG4gICAgfSlcbl0sIFJpc2tTbGlkZXIucHJvdG90eXBlLCBcInNjYWxlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBQcm9wKHsgdHlwZTogT2JqZWN0LCBkZWZhdWx0OiAoKSA9PiAoe30pIH0pXG5dLCBSaXNrU2xpZGVyLnByb3RvdHlwZSwgXCJ0aXBzXCIsIHZvaWQgMCk7XG5SaXNrU2xpZGVyID0gX19kZWNvcmF0ZShbXG4gICAgQ29tcG9uZW50XG5dLCBSaXNrU2xpZGVyKTtcbmV4cG9ydCB7IFJpc2tTbGlkZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFJpc2tTbGlkZXI7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9