Packages

A Tailwind and DaisyUI based Phoenix components library.

Current section

Files

Jump to
elemental priv static assets hooks index.js
Raw

priv/static/assets/hooks/index.js

(() => {
// assets/js/hooks/dropdown.js
function debounce(fun, timeoutMs) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fun.apply(this, args), timeoutMs);
};
}
var ElementalDropdownSearch = {
mounted() {
this.el.oninput = debounce(() => this.filterSibling(), 100);
},
filterSibling() {
const text = this.el.value.toLowerCase();
this.listAllSiblings().forEach((el) => {
const label = el.getAttribute("elemental-label").toLowerCase();
if (label.includes(text)) this.showItem(el);
else this.hideItem(el);
});
},
listAllSiblings() {
return Array.from(this.el.parentNode.children).filter((child) => child !== this.el);
},
showItem(el) {
const itemId = el.getAttribute("elemental-item-id");
const selector = CSS.escape(itemId);
const itemEl = el.querySelector(`#${selector}`);
itemEl.disabled = false;
el.classList.remove("hidden");
},
hideItem(el) {
const itemId = el.getAttribute("elemental-item-id");
const selector = CSS.escape(itemId);
const itemEl = el.querySelector(`#${selector}`);
itemEl.disabled = true;
el.classList.add("hidden");
}
};
var ElementalDropdownSingleItem = {
mounted() {
this.el.onclick = () => {
this.closeDropdown();
this.updatePrompt();
};
},
updatePrompt() {
this.hideAllPrompts();
this.showSelectedPrompt();
},
hideAllPrompts() {
const promptId = this.el.getAttribute("elemental-hook-prompt-container-id");
const promptEl = document.getElementById(promptId);
Array.from(promptEl.children).forEach((child) => {
const classList = child.classList;
if (!classList.contains("hidden")) {
classList.add("hidden");
}
});
},
showSelectedPrompt() {
const displayId = `${this.el.id}_display`;
document.getElementById(displayId).classList.remove("hidden");
},
// Close the prompt by removing focus from it, this is based
// on how the dropdown is implemented.
closeDropdown() {
const contentId = this.el.getAttribute("elemental-hook-content-id");
const contentEl = document.getElementById(contentId);
contentEl.blur();
}
};
var ElementalDropdownMultiItem = {
mounted() {
this.el.onclick = () => {
this.hideDefaultPrompt();
this.toggleSelf();
this.maybeShowDefaultPrompt();
};
},
hideDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook--default-prompt-id");
const promptEl = document.getElementById(promptId);
if (!promptEl.classList.contains("hidden")) {
promptEl.classList.add("hidden");
}
},
showDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook--default-prompt-id");
const promptEl = document.getElementById(promptId);
if (promptEl.classList.contains("hidden")) {
promptEl.classList.remove("hidden");
}
},
toggleSelf() {
const displayId = `${this.el.id}_display`;
document.getElementById(displayId).classList.toggle("hidden");
},
maybeShowDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook-prompt-container-id");
const promptEl = document.getElementById(promptId);
const noPromptShown = Array.from(promptEl.children).every((child) => child.classList.contains("hidden"));
if (noPromptShown) this.showDefaultPrompt();
}
};
})();
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vYXNzZXRzL2pzL2hvb2tzL2Ryb3Bkb3duLmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvLyBTbWFsbCBoZWxwZXIgdG8gd3JhcCBhIGZ1bmN0aW9uIHdpdGggZGVib3VuY2UgYmVoYXZpb3VyLlxuZnVuY3Rpb24gZGVib3VuY2UoZnVuLCB0aW1lb3V0TXMpIHtcbiAgbGV0IHRpbWVyXG5cbiAgcmV0dXJuICguLi5hcmdzKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiBmdW4uYXBwbHkodGhpcywgYXJncyksIHRpbWVvdXRNcylcbiAgfVxufVxuXG4vKipcbiAqID4gSW1wbGVtZW50cyBjbGllbnQtc2lkZSB0ZXh0IHNlYXJjaCBmdW5jdGlvbmFsaXR5IG9uIGRyb3Bkb3ducy5cbiAqXG4gKiBQcm92aWRlIGNsaWVudCBzaWRlIGJlaGF2aW91ciBmb3IgdGhlIGRyb3Bkb3duIHNlYXJjaCBmdW5jdGlvbmFsaXR5LFxuICogaW50cm9kdWNlcyBhbiBgb25pbnB1dGAgZXZlbnQgbGlzdGVuZXIgdGhhdCBvbiBpbnB1dCBjaGFuZ2VzIHdpbGxcbiAqIGZpbHRlciB0aGUgZHJvcGRvd24gaXRlbXMgYmFzZWQgb24gdGhlIHNlYXJjaCByZXN1bHQuXG4gKlxuICogRmlsdGVyaW5nIGlzIHBlcmZvcm1lZCBieSBzaW1wbHkgZGlzYWJsaW5nIGFuZCBoaWRpbmcgaXRlbXMgdGhhdCBkb24ndFxuICogbWF0Y2ggdGhlIHNlYXJjaGVkIHRlcm0uXG4gKlxuICogTWF0Y2hpbmcgaXRzZWxmIGlzIHBlcmZvcm1lZCBieSBzaW1wbHkgZG93bmNhc2luZyBib3RoIHRoZSBgbGFiZWxgXG4gKiBvZiB0aGUgaXRlbSBhbmQgdGhlIGlucHV0dGVkIHRleHQsIGFuZCBjaGVja2luZyBpZiB0aGUgbGFiZWxcbiAqIGNvbnRhaW5zIHRoZSBpbnB1dHRlZCB0ZXh0LlxuICovXG5leHBvcnQgY29uc3QgRWxlbWVudGFsRHJvcGRvd25TZWFyY2ggPSB7XG4gIG1vdW50ZWQoKSB7IHRoaXMuZWwub25pbnB1dCA9IGRlYm91bmNlKCgpID0+IHRoaXMuZmlsdGVyU2libGluZygpLCAxMDApIH0sXG5cbiAgZmlsdGVyU2libGluZygpIHtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5lbC52YWx1ZS50b0xvd2VyQ2FzZSgpXG4gICAgdGhpcy5saXN0QWxsU2libGluZ3MoKS5mb3JFYWNoKGVsID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsID0gZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWxhYmVsXCIpLnRvTG93ZXJDYXNlKClcblxuICAgICAgaWYgKGxhYmVsLmluY2x1ZGVzKHRleHQpKSB0aGlzLnNob3dJdGVtKGVsKVxuICAgICAgZWxzZSB0aGlzLmhpZGVJdGVtKGVsKVxuICAgIH0pXG4gIH0sXG5cbiAgbGlzdEFsbFNpYmxpbmdzKCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZWwucGFyZW50Tm9kZS5jaGlsZHJlbikuZmlsdGVyKGNoaWxkID0+IGNoaWxkICE9PSB0aGlzLmVsKVxuICB9LFxuXG4gIHNob3dJdGVtKGVsKSB7XG4gICAgY29uc3QgaXRlbUlkID0gZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWl0ZW0taWRcIilcbiAgICBjb25zdCBzZWxlY3RvciA9IENTUy5lc2NhcGUoaXRlbUlkKVxuICAgIGNvbnN0IGl0ZW1FbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoYCMke3NlbGVjdG9yfWApXG4gICAgaXRlbUVsLmRpc2FibGVkID0gZmFsc2VcbiAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKFwiaGlkZGVuXCIpXG4gIH0sXG5cbiAgaGlkZUl0ZW0oZWwpIHtcbiAgICBjb25zdCBpdGVtSWQgPSBlbC5nZXRBdHRyaWJ1dGUoXCJlbGVtZW50YWwtaXRlbS1pZFwiKVxuICAgIGNvbnN0IHNlbGVjdG9yID0gQ1NTLmVzY2FwZShpdGVtSWQpXG4gICAgY29uc3QgaXRlbUVsID0gZWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YClcbiAgICBpdGVtRWwuZGlzYWJsZWQgPSB0cnVlXG4gICAgZWwuY2xhc3NMaXN0LmFkZChcImhpZGRlblwiKVxuICB9XG59XG5cbi8qKlxuICogQWxsb3dzIGZvciB1cGRhdGluZyB0aGUgZHJvcGRvd24gcHJvbXB0IHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlXG4gKiBmcm9tIHRoZSBvcHRpb25zLCBhZGRpdGlvbmFsbHkgY2xvc2VzIHRoZSBkcm9wZG93biBieVxuICogcmVtb3ZpbmcgZm9jdXMuIEludGVuZGVkIGZvciBpbnRlcm5hbCB1c2Ugb25seS5cbiAqL1xuZXhwb3J0IGNvbnN0IEVsZW1lbnRhbERyb3Bkb3duU2luZ2xlSXRlbSA9IHtcbiAgbW91bnRlZCgpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZSBidXQgZG9lcyB0aGUgdHJpY2sgc2luY2UgaXQgaXMgaW50ZW5kZWQgdG8gd29ya1xuICAgIC8vIHdpdGggcmFkaW8gYnV0dG9ucywgaS5lLiBjbGljayBpbXBsaWVzIHNlbGVjdGlvbi5cbiAgICB0aGlzLmVsLm9uY2xpY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKVxuICAgICAgdGhpcy51cGRhdGVQcm9tcHQoKVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGVQcm9tcHQoKSB7XG4gICAgdGhpcy5oaWRlQWxsUHJvbXB0cygpXG4gICAgdGhpcy5zaG93U2VsZWN0ZWRQcm9tcHQoKVxuICB9LFxuXG4gIGhpZGVBbGxQcm9tcHRzKCkge1xuICAgIGNvbnN0IHByb21wdElkID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoXCJlbGVtZW50YWwtaG9vay1wcm9tcHQtY29udGFpbmVyLWlkXCIpXG4gICAgY29uc3QgcHJvbXB0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcm9tcHRJZClcbiAgICBBcnJheS5mcm9tKHByb21wdEVsLmNoaWxkcmVuKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY29uc3QgY2xhc3NMaXN0ID0gY2hpbGQuY2xhc3NMaXN0XG4gICAgICBpZiAoIWNsYXNzTGlzdC5jb250YWlucyhcImhpZGRlblwiKSkge1xuICAgICAgICBjbGFzc0xpc3QuYWRkKFwiaGlkZGVuXCIpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcblxuICBzaG93U2VsZWN0ZWRQcm9tcHQoKSB7XG4gICAgY29uc3QgZGlzcGxheUlkID0gYCR7dGhpcy5lbC5pZH1fZGlzcGxheWBcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaXNwbGF5SWQpLmNsYXNzTGlzdC5yZW1vdmUoXCJoaWRkZW5cIilcbiAgfSxcblxuICAvLyBDbG9zZSB0aGUgcHJvbXB0IGJ5IHJlbW92aW5nIGZvY3VzIGZyb20gaXQsIHRoaXMgaXMgYmFzZWRcbiAgLy8gb24gaG93IHRoZSBkcm9wZG93biBpcyBpbXBsZW1lbnRlZC5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICBjb25zdCBjb250ZW50SWQgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcImVsZW1lbnRhbC1ob29rLWNvbnRlbnQtaWRcIilcbiAgICBjb25zdCBjb250ZW50RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250ZW50SWQpXG4gICAgY29udGVudEVsLmJsdXIoKVxuICB9XG59XG5cbi8qKlxuICogQWxsb3dzIGZvciB1cGRhdGluZyB0aGUgZHJvcGRvd24gcHJvbXB0IHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlXG4gKiBmcm9tIHRoZSBvcHRpb25zLiBJbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gKi9cbmV4cG9ydCBjb25zdCBFbGVtZW50YWxEcm9wZG93bk11bHRpSXRlbSA9IHtcbiAgbW91bnRlZCgpIHtcbiAgICB0aGlzLmVsLm9uY2xpY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLmhpZGVEZWZhdWx0UHJvbXB0KClcbiAgICAgIHRoaXMudG9nZ2xlU2VsZigpXG4gICAgICB0aGlzLm1heWJlU2hvd0RlZmF1bHRQcm9tcHQoKVxuICAgIH1cbiAgfSxcblxuICBoaWRlRGVmYXVsdFByb21wdCgpIHtcbiAgICBjb25zdCBwcm9tcHRJZCA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWhvb2stLWRlZmF1bHQtcHJvbXB0LWlkXCIpXG4gICAgY29uc3QgcHJvbXB0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcm9tcHRJZClcbiAgICBpZiAoIXByb21wdEVsLmNsYXNzTGlzdC5jb250YWlucyhcImhpZGRlblwiKSkge1xuICAgICAgcHJvbXB0RWwuY2xhc3NMaXN0LmFkZChcImhpZGRlblwiKVxuICAgIH1cbiAgfSxcblxuICBzaG93RGVmYXVsdFByb21wdCgpIHtcbiAgICBjb25zdCBwcm9tcHRJZCA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWhvb2stLWRlZmF1bHQtcHJvbXB0LWlkXCIpXG4gICAgY29uc3QgcHJvbXB0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcm9tcHRJZClcbiAgICBpZiAocHJvbXB0RWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaGlkZGVuXCIpKSB7XG4gICAgICBwcm9tcHRFbC5jbGFzc0xpc3QucmVtb3ZlKFwiaGlkZGVuXCIpXG4gICAgfVxuICB9LFxuXG4gIHRvZ2dsZVNlbGYoKSB7XG4gICAgY29uc3QgZGlzcGxheUlkID0gYCR7dGhpcy5lbC5pZH1fZGlzcGxheWBcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaXNwbGF5SWQpLmNsYXNzTGlzdC50b2dnbGUoXCJoaWRkZW5cIilcbiAgfSxcblxuICBtYXliZVNob3dEZWZhdWx0UHJvbXB0KCkge1xuICAgIGNvbnN0IHByb21wdElkID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoXCJlbGVtZW50YWwtaG9vay1wcm9tcHQtY29udGFpbmVyLWlkXCIpXG4gICAgY29uc3QgcHJvbXB0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcm9tcHRJZClcbiAgICBjb25zdCBub1Byb21wdFNob3duID0gQXJyYXkuZnJvbShwcm9tcHRFbC5jaGlsZHJlbikuZXZlcnkoKGNoaWxkKSA9PiBjaGlsZC5jbGFzc0xpc3QuY29udGFpbnMoXCJoaWRkZW5cIikpXG4gICAgaWYgKG5vUHJvbXB0U2hvd24pIHRoaXMuc2hvd0RlZmF1bHRQcm9tcHQoKVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOztBQUNBLFdBQVMsU0FBUyxLQUFLLFdBQVc7QUFDaEMsUUFBSTtBQUVKLFdBQU8sSUFBSSxTQUFTO0FBQ2xCLG1CQUFhLEtBQUs7QUFDbEIsY0FBUSxXQUFXLE1BQU0sSUFBSSxNQUFNLE1BQU0sSUFBSSxHQUFHLFNBQVM7QUFBQSxJQUMzRDtBQUFBLEVBQ0Y7QUFnQk8sTUFBTSwwQkFBMEI7QUFBQSxJQUNyQyxVQUFVO0FBQUUsV0FBSyxHQUFHLFVBQVUsU0FBUyxNQUFNLEtBQUssY0FBYyxHQUFHLEdBQUc7QUFBQSxJQUFFO0FBQUEsSUFFeEUsZ0JBQWdCO0FBQ2QsWUFBTSxPQUFPLEtBQUssR0FBRyxNQUFNLFlBQVk7QUFDdkMsV0FBSyxnQkFBZ0IsRUFBRSxRQUFRLFFBQU07QUFDbkMsY0FBTSxRQUFRLEdBQUcsYUFBYSxpQkFBaUIsRUFBRSxZQUFZO0FBRTdELFlBQUksTUFBTSxTQUFTLElBQUksRUFBRyxNQUFLLFNBQVMsRUFBRTtBQUFBLFlBQ3JDLE1BQUssU0FBUyxFQUFFO0FBQUEsTUFDdkIsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUVBLGtCQUFrQjtBQUNoQixhQUFPLE1BQU0sS0FBSyxLQUFLLEdBQUcsV0FBVyxRQUFRLEVBQUUsT0FBTyxXQUFTLFVBQVUsS0FBSyxFQUFFO0FBQUEsSUFDbEY7QUFBQSxJQUVBLFNBQVMsSUFBSTtBQUNYLFlBQU0sU0FBUyxHQUFHLGFBQWEsbUJBQW1CO0FBQ2xELFlBQU0sV0FBVyxJQUFJLE9BQU8sTUFBTTtBQUNsQyxZQUFNLFNBQVMsR0FBRyxjQUFjLElBQUksUUFBUSxFQUFFO0FBQzlDLGFBQU8sV0FBVztBQUNsQixTQUFHLFVBQVUsT0FBTyxRQUFRO0FBQUEsSUFD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