{"version":3,"file":"@adamdehaven-7MBvdgBW.js","sources":["../../../node_modules/@adamdehaven/vue-custom-tooltip/dist/vue-custom-tooltip.esm.js"],"sourcesContent":["import { defineComponent, inject, onMounted, h } from 'vue';\n\nvar defaultTooltipOptions = {\r\n name: 'VueCustomTooltip',\r\n color: '#fff',\r\n background: '#000',\r\n borderRadius: 100,\r\n fontWeight: 400,\r\n};\n\nvar script = defineComponent({\r\n name: 'VueCustomTooltip',\r\n props: {\r\n label: String,\r\n // If user hovers (or sticky) should the tooltip show?\r\n active: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n sticky: Boolean,\r\n multiline: Boolean,\r\n underlined: Boolean,\r\n abbreviation: Boolean,\r\n // Where to position the tooltip\r\n position: {\r\n type: String,\r\n default: 'is-top',\r\n validator: function validator(value) {\r\n return ['is-top', 'is-bottom', 'is-left', 'is-right'].indexOf(value) > -1;\r\n },\r\n },\r\n size: {\r\n type: String,\r\n default: 'is-medium',\r\n validator: function validator(value) {\r\n return ['is-small', 'is-medium', 'is-large'].indexOf(value) > -1;\r\n },\r\n },\r\n },\r\n setup: function setup(props, ref) {\n var slots = ref.slots;\n var attrs = ref.attrs;\n\r\n var tooltipOptions = inject('vue-custom-tooltip', defaultTooltipOptions);\r\n var setCssVars = function () {\r\n if (!tooltipOptions || !defaultTooltipOptions) {\r\n return;\r\n }\r\n var htmlRoot = document && document.documentElement ? document.documentElement : null;\r\n if (htmlRoot) {\r\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\r\n htmlRoot.style.setProperty('--vue-custom-tooltip-color', tooltipOptions.color !== defaultTooltipOptions.color ? tooltipOptions.color : null);\r\n htmlRoot.style.setProperty('--vue-custom-tooltip-background', tooltipOptions.background !== defaultTooltipOptions.background ? tooltipOptions.background : null);\r\n htmlRoot.style.setProperty('--vue-custom-tooltip-border-radius', tooltipOptions.borderRadius !== defaultTooltipOptions.borderRadius\r\n ? ((tooltipOptions.borderRadius) + \"px\")\r\n : null);\r\n htmlRoot.style.setProperty('--vue-custom-tooltip-font-weight', tooltipOptions.fontWeight !== defaultTooltipOptions.fontWeight ? tooltipOptions.fontWeight.toString() : null);\r\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\r\n }\r\n };\r\n onMounted(setCssVars);\r\n return function () { return [\r\n h(props.abbreviation ? 'abbr' : 'span', {\r\n 'class': [\r\n attrs.class,\r\n props.position,\r\n // force at least medium size if multiline is true\r\n props.multiline && props.size === 'is-small' ? 'is-medium' : props.size,\r\n {\r\n 'vue-custom-tooltip': props.active && props.label,\r\n 'is-sticky': props.sticky,\r\n 'has-multiline': props.multiline,\r\n 'is-underlined': props.underlined || props.abbreviation,\r\n } ],\r\n 'data-label': props.label,\r\n 'aria-label': props.label,\r\n 'role': 'tooltip',\r\n 'style': [{ cursor: props.abbreviation ? 'help' : 'pointer' }, attrs.style],\r\n }, slots) ]; };\r\n },\r\n});\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) { ref = {}; }\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".vue-custom-tooltip{display:inline-block;position:relative;text-decoration-line:none!important}.vue-custom-tooltip.is-top:after,.vue-custom-tooltip.is-top:before{bottom:calc(100% + 7px);left:50%;right:auto;top:auto;transform:translateX(-50%)}.vue-custom-tooltip.is-top:before{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;border-top:5px solid var(--vue-custom-tooltip-background,#000);bottom:calc(100% + 2px)}.vue-custom-tooltip.is-top.has-multiline.is-small:after{width:140px}.vue-custom-tooltip.is-top.has-multiline.is-medium:after{padding:.6rem 1.25rem .65rem;width:250px}.vue-custom-tooltip.is-top.has-multiline.is-large:after{padding:.6rem 1.25rem .65rem;width:480px}.vue-custom-tooltip.is-right:after,.vue-custom-tooltip.is-right:before{bottom:auto;left:calc(100% + 7px);right:auto;top:50%;transform:translateY(-50%)}.vue-custom-tooltip.is-right:before{border-bottom:5px solid transparent;border-right:5px solid #000;border-right:5px solid var(--vue-custom-tooltip-background,#000);border-top:5px solid transparent;left:calc(100% + 3px)}.vue-custom-tooltip.is-right.has-multiline.is-small:after{width:140px}.vue-custom-tooltip.is-right.has-multiline.is-medium:after{padding:.6rem 1.25rem .65rem;width:250px}.vue-custom-tooltip.is-right.has-multiline.is-large:after{padding:.6rem 1.25rem .65rem;width:480px}.vue-custom-tooltip.is-bottom:after,.vue-custom-tooltip.is-bottom:before{bottom:auto;left:50%;right:auto;top:calc(100% + 7px);transform:translateX(-50%)}.vue-custom-tooltip.is-bottom:before{border-bottom:5px solid #000;border-bottom:5px solid var(--vue-custom-tooltip-background,#000);border-left:5px solid transparent;border-right:5px solid transparent;top:calc(100% + 2px)}.vue-custom-tooltip.is-bottom.has-multiline.is-small:after{width:140px}.vue-custom-tooltip.is-bottom.has-multiline.is-medium:after{padding:.6rem 1.25rem .65rem;width:250px}.vue-custom-tooltip.is-bottom.has-multiline.is-large:after{padding:.6rem 1.25rem .65rem;width:480px}.vue-custom-tooltip.is-left:after,.vue-custom-tooltip.is-left:before{bottom:auto;left:auto;right:calc(100% + 7px);top:50%;transform:translateY(-50%)}.vue-custom-tooltip.is-left:before{border-bottom:5px solid transparent;border-left:5px solid #000;border-left:5px solid var(--vue-custom-tooltip-background,#000);border-top:5px solid transparent;right:calc(100% + 3px)}.vue-custom-tooltip.is-left.has-multiline.is-small:after{width:140px}.vue-custom-tooltip.is-left.has-multiline.is-medium:after{padding:.6rem 1.25rem .65rem;width:250px}.vue-custom-tooltip.is-left.has-multiline.is-large:after{padding:.6rem 1.25rem .65rem;width:480px}.vue-custom-tooltip.is-underlined{border-bottom:1px dotted #000;border-bottom:1px dotted var(--vue-custom-tooltip-background,#000);line-height:1.2}.vue-custom-tooltip:after,.vue-custom-tooltip:before{content:\\\"\\\";opacity:0;pointer-events:none;position:absolute;transition:opacity 86ms ease-out,visibility 86ms ease-out;visibility:hidden}.vue-custom-tooltip:before{z-index:889}.vue-custom-tooltip:after{background:#000;background:var(--vue-custom-tooltip-background,#000);border-radius:100px;border-radius:var(--vue-custom-tooltip-border-radius,100px);box-shadow:0 1px 2px 1px rgba(0,1,0,.2);color:#fff;color:var(--vue-custom-tooltip-color,#fff);content:attr(data-label);font-size:.85rem!important;font-weight:400;font-weight:var(--vue-custom-tooltip-font-weight,400);letter-spacing:normal!important;line-height:1.3;max-width:100vw;padding:.45rem .75rem;text-transform:none;white-space:nowrap;width:auto;z-index:888}.vue-custom-tooltip:not([data-label=\\\"\\\"]):hover:after,.vue-custom-tooltip:not([data-label=\\\"\\\"]):hover:before{opacity:1;visibility:visible}:disabled .vue-custom-tooltip{pointer-events:none}.vue-custom-tooltip:not([data-label=\\\"\\\"]).is-sticky:after,.vue-custom-tooltip:not([data-label=\\\"\\\"]).is-sticky:before{opacity:1;visibility:visible}.vue-custom-tooltip.has-multiline:after{display:block;line-height:1.4;padding:.5rem .75rem .65rem;text-align:center;white-space:pre-wrap}\";\nstyleInject(css_248z);\n\nscript.__file = \"src/VueCustomTooltip.vue\";\n\nvar index = (function () {\r\n var installable = script;\r\n installable.install = function (app, options) {\r\n var userOptions = Object.assign({}, options);\r\n /**\r\n * Validate HEX values\r\n * Hash, plus 3 or 6 valid characters\r\n */\r\n var hexRegex = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;\r\n // Test color for valid HEX\r\n if (userOptions && userOptions.color && !hexRegex.test(userOptions.color)) {\r\n delete userOptions.color;\r\n }\r\n // Test background for valid HEX\r\n if (userOptions && userOptions.background && !hexRegex.test(userOptions.background)) {\r\n delete userOptions.background;\r\n }\r\n /**\r\n * Validate borderRadius\r\n * Number between 1-9, then any other numbers\r\n */\r\n var borderRadiusRegex = /^[0-9]+$/;\r\n // Test borderRadius for integer\r\n if (userOptions && userOptions.borderRadius && !borderRadiusRegex.test(userOptions.borderRadius.toString())) {\r\n delete userOptions.borderRadius;\r\n }\r\n /**\r\n * Validate fontWeight\r\n * Number between 1-9 followed by two zeros\r\n */\r\n var fontWeightRegex = /^[1-9]{1}00$/;\r\n // Test fontWeight for integer\r\n if (userOptions && userOptions.fontWeight && !fontWeightRegex.test(userOptions.fontWeight.toString())) {\r\n delete userOptions.fontWeight;\r\n }\r\n // Merge defaults with user options\r\n var pluginOptions = Object.assign({}, defaultTooltipOptions, userOptions);\r\n app.provide('vue-custom-tooltip', pluginOptions);\r\n // Register component, using options.name\r\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\r\n app.component(pluginOptions.name, installable);\r\n };\r\n return installable;\r\n})();\n\nexport { script as VueCustomTooltip, index as default };\n"],"names":["defaultTooltipOptions","script","defineComponent","value","props","ref","slots","attrs","tooltipOptions","inject","setCssVars","htmlRoot","onMounted","h","styleInject","css","insertAt","head","style","css_248z","index","installable","app","options","userOptions","hexRegex","borderRadiusRegex","fontWeightRegex","pluginOptions"],"mappings":"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","x_google_ignoreList":[0]}