1 line
9.7 KiB
Plaintext
1 line
9.7 KiB
Plaintext
|
|
{"version":3,"file":"index.mjs","sources":["../../src/utils/ConnectedOverlayScrollHandler.js","../../src/utils/HelperSet.js","../../src/utils/UniqueComponentId.js","../../src/utils/Utils.js"],"sourcesContent":["import { getScrollableParents } from '@primeuix/utils/dom';\n\nexport default class ConnectedOverlayScrollHandler {\n constructor(element, listener = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n\n bindScrollListener() {\n this.scrollableParents = getScrollableParents(this.element);\n\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n\n unbindScrollListener() {\n if (this.scrollableParents) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n","import { isNotEmpty } from '@primeuix/utils/object';\n\nexport default class {\n helpers;\n type;\n constructor({ init, type }) {\n this.helpers = new Set(init);\n this.type = type;\n }\n add(instance) {\n this.helpers.add(instance);\n }\n update() {\n // @todo\n }\n delete(instance) {\n this.helpers.delete(instance);\n }\n clear() {\n this.helpers.clear();\n }\n get(parentInstance, slots) {\n const children = this._get(parentInstance, slots);\n const computed = children ? this._recursive([...this.helpers], children) : null;\n\n return isNotEmpty(computed) ? computed : null;\n }\n _isMatched(instance, key) {\n const parent = instance?.parent;\n\n return parent?.vnode?.key === key || (parent && this._isMatched(parent, key)) || false;\n }\n _get(parentInstance, slots) {\n return (slots || parentInstance?.$slots)?.default?.() || null;\n }\n _recursive(helpers = [], children = []) {\n let components = [];\n\n children.forEach((child) => {\n if (child.children instanceof Array) {\n components = components.concat(this._recursive(helpers, child.children));\n } else if (child.type.name === this.type) {\n components.push(child);\n } else if (isNotEmpty(child.key)) {\n components = components.concat(helpers.filter((c) => this._isMatched(c, child.key)).map((c) => c.vnode));\n }\n });\n\n return components;\n }\n}\n","import { uuid } from '@primeuix/utils/uuid';\n\n/**\n * @deprecated since v4.3.0. Use `uuid` from @primeuix/utils instead.\n * @param {string} prefix\n * @return {string}\n */\nexport default function (prefix = 'pv_id_') {\n return uuid(prefix);\n}\n","export * from '@primeuix/utils';\nexport { default as ConnectedOverlayScrollHandler } from './ConnectedOverlayScrollHandler';\nexport { default as HelperSet } from './HelperSet';\nexport { default as UniqueComponentId } from './UniqueComponentId';\n\nexport function getVNodeProp(vnode, prop) {\n if (vnode) {\n let props = vnode.props;\n\n if (props) {\n let kebabProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n let propName = Object.prototype.hasOwnProperty.call(props, kebabProp) ? kebabProp : prop;\n\n return vnode.type.extends.props[prop].type === Boolean && props[propName] === '' ? true : props[propName];\n }\n }\n\n return null;\n}\n"],"names":["ConnectedOverlayScrollHandler","element","listener","arguments","length","undefined","_classCallCheck","_createClass","key","value","bindScrollListener","scrollableParents","getScrollableParents","i","addEventListener","unbindScrollListener","removeEventListener","destroy","_default","_ref","init","type","_defineProperty","helpers","Set","add","instance","
|