PageSourceSearch

https://gomontag.com/_content/Blazorise/tooltip.42iwb54f86.js

js gomontag.com collected 2026-09-25 14:52:22 UTC 2,952 bytes, 102 lines download raw bytes

1import "./vendors/tippy.js?v=2.2.2.0";
2import "./vendors/popper.js?v=2.2.2.0";
3import { getRequiredElement, registerDisconnectCleanup, unregisterDisconnectCleanup } from "./utilities.js?v=2.2.2.0";
4
5const _instances = [];
6
7export function initialize(element, elementId, options) {
8    element = getRequiredElement(element, elementId);
9
10    if (!element)
11        return;
12
13    const triggerTarget = options.triggerTargetId ? document.getElementById(options.triggerTargetId) : null;
14
15    const appendTo = determineAppendTo(options.appendTo);
16
17    const defaultOptions = {
18        theme: options.theme || 'blazorise',
19        content: options.text,
20        placement: options.placement,
21        maxWidth: options.maxWidth ? options.maxWidth : options.multiline ? "15rem" : null,
22        duration: options.fade ? [options.fadeDuration, options.fadeDuration] : [0, 0],
23        arrow: options.showArrow,
24        allowHTML: true,
25        trigger: options.trigger,
26        triggerTarget: triggerTarget,
27        zIndex: options.zIndex,
28        interactive: options.interactive,
29        zIndex: options.zIndex || 9999,
30        appendTo: appendTo,
31        delay: [options.delay.show, options.delay.hide],
32        aria: { content: "describedby" },
33    };
34
35    const alwaysActiveOptions = options.alwaysActive
36        ? {
37            showOnCreate: true,
38            hideOnClick: false,
39            trigger: "manual"
40        } : {};
41
42    const tippyInstance = tippy(element, Object.assign({}, defaultOptions, alwaysActiveOptions));
43
44    if (options.text) {
45        tippyInstance.enable();
46    }
47    else {
48        tippyInstance.disable();
49    }
50
51    _instances[elementId] = {
52        tippy: tippyInstance,
53        disconnectCleanupId: registerDisconnectCleanup(element, () => destroy(null, elementId, false))
54    };
55
56    return tippyInstance;
57}
58
59export function destroy(element, elementId, unregisterCleanup = true) {
60    const instances = _instances || {};
61    const instance = instances[elementId];
62
63    if (instance) {
64        if (unregisterCleanup) {
65            unregisterDisconnectCleanup(instance.disconnectCleanupId);
66        }
67
68        if (instance.tippy) {
69            instance.tippy.destroy();
70        }
71
72        delete instances[elementId];
73    }
74}
75
76export function updateContent(element, elementId, content) {
77    const instance = _instances[elementId]?.tippy;
78
79    if (instance) {
80        instance.setContent(content);
81
82        if (content) {
83            instance.enable();
84        }
85        else {
86            instance.disable();
87        }
88    }
89}
90
91function determineAppendTo(value) {
92    if (!value || value === "body") {
93        return () => document.body;
94    }
95
96    if (value === "parent")
97        return "parent";
98    else if (value.length > 0 && value[0] === "#")
99        return document.getElementById(value);
100
101    return () => document.body;
102}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.