{"version":3,"file":"index.mjs","sources":["../../src/basedirective/BaseDirective.js"],"sourcesContent":["import { Theme, ThemeService } from '@primeuix/styled';\nimport { getKeyValue, isArray, isEmpty, isFunction, isObject, isString, resolve, toCapitalCase, toFlatCase } from '@primeuix/utils/object';\nimport { uuid } from '@primeuix/utils/uuid';\nimport Base from '@primevue/core/base';\nimport BaseStyle from '@primevue/core/base/style';\nimport PrimeVueService from '@primevue/core/service';\nimport { mergeProps } from 'vue';\n\nconst BaseDirective = {\n _getMeta: (...args) => [isObject(args[0]) ? undefined : args[0], resolve(isObject(args[0]) ? args[0] : args[1])],\n _getConfig: (binding, vnode) => (binding?.instance?.$primevue || vnode?.ctx?.appContext?.config?.globalProperties?.$primevue)?.config,\n _getOptionValue: getKeyValue,\n _getPTValue: (instance = {}, obj = {}, key = '', params = {}, searchInDefaultPT = true) => {\n const getValue = (...args) => {\n const value = BaseDirective._getOptionValue(...args);\n\n return isString(value) || isArray(value) ? { class: value } : value;\n };\n\n const { mergeSections = true, mergeProps: useMergeProps = false } = instance.binding?.value?.ptOptions || instance.$primevueConfig?.ptOptions || {};\n const global = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT(), getValue, key, params) : undefined;\n const self = BaseDirective._usePT(instance, BaseDirective._getPT(obj, instance.$name), getValue, key, { ...params, global: global || {} });\n const datasets = BaseDirective._getPTDatasets(instance, key);\n\n return mergeSections || (!mergeSections && self) ? (useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, global, self, datasets) : { ...global, ...self, ...datasets }) : { ...self, ...datasets };\n },\n _getPTDatasets(instance = {}, key = '') {\n const datasetPrefix = 'data-pc-';\n\n return {\n ...(key === 'root' && { [`${datasetPrefix}name`]: toFlatCase(instance.$name) }),\n [`${datasetPrefix}section`]: toFlatCase(key)\n };\n },\n _getPT: (pt, key = '', callback) => {\n const getValue = (value) => {\n const computedValue = callback ? callback(value) : value;\n const _key = toFlatCase(key);\n\n return computedValue?.[_key] ?? computedValue;\n };\n\n return pt && Object.hasOwn(pt, '_usept')\n ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n }\n : getValue(pt);\n },\n _usePT: (instance = {}, pt, callback, key, params) => {\n const fn = (value) => callback(value, key, params);\n\n if (pt && Object.hasOwn(pt, '_usept')) {\n const { mergeSections = true, mergeProps: useMergeProps = false } = pt['_usept'] || instance.$primevueConfig?.ptOptions || {};\n const originalValue = fn(pt.originalValue);\n const value = fn(pt.value);\n\n if (originalValue === undefined && value === undefined) return undefined;\n else if (isString(value)) return value;\n else if (isString(originalValue)) return originalValue;\n\n return mergeSections || (!mergeSections && value) ? (useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, originalValue, value) : { ...originalValue, ...value }) : value;\n }\n\n return fn(pt);\n },\n _useDefaultPT: (instance = {}, defaultPT = {}, callback, key, params) => {\n return BaseDirective._usePT(instance, defaultPT, callback, key, params);\n },\n _loadStyles: (instance = {}, binding, vnode) => {\n const config = BaseDirective._getConfig(binding, vnode);\n const useStyleOptions = { nonce: config?.csp?.nonce };\n\n BaseDirective._loadCoreStyles(instance, useStyleOptions);\n BaseDirective._loadThemeStyles(instance, useStyleOptions);\n BaseDirective._loadScopedThemeStyles(instance, useStyleOptions);\n\n BaseDirective._removeThemeListeners(instance);\n\n instance.$loadStyles = () => BaseDirective._loadThemeStyles(instance, useStyleOptions);\n\n BaseDirective._themeChangeListener(instance.$loadStyles);\n },\n _loadCoreStyles(instance = {}, useStyleOptions) {\n if (!Base.isStyleNameLoaded(instance.$style?.name) && instance.$style?.name) {\n BaseStyle.loadCSS(useStyleOptions);\n instance.$style?.loadCSS(useStyleOptions);\n\n Base.setLoadedStyleName(instance.$style.name);\n }\n },\n _loadThemeStyles: (instance = {}, useStyleOptions) => {\n if (instance?.isUnstyled() || instance?.theme?.() === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = instance.$style?.getCommonTheme?.() || {};\n\n BaseStyle.load(primitive?.css, { name: 'primitive-variables', ...useStyleOptions });\n BaseStyle.load(semantic?.css, { name: 'semantic-variables', ...useStyleOptions });\n BaseStyle.load(global?.css, { name: 'global-variables', ...useStyleOptions });\n BaseStyle.loadStyle({ name: 'global-style', ...useStyleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n\n // directive\n if (!Theme.isStyleNameLoaded(instance.$style?.name) && instance.$style?.name) {\n const { css, style } = instance.$style?.getDirectiveTheme?.() || {};\n\n instance.$style?.load(css, { name: `${instance.$style.name}-variables`, ...useStyleOptions });\n instance.$style?.loadStyle({ name: `${instance.$style.name}-style`, ...useStyleOptions }, style);\n\n Theme.setLoadedStyleName(instance.$style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = instance.$style?.getLayerOrderThemeCSS?.();\n\n BaseStyle.load(layerOrder, { name: 'layer-order', first: true, ...useStyleOptions });\n\n Theme.setLoadedStyleName('layer-order');\n }\n },\n _loadScopedThemeStyles(instance = {}, useStyleOptions) {\n const preset = instance.preset();\n\n if (preset && instance.$attrSelector) {\n const { css } = instance.$style?.getPresetTheme?.(preset, `[${instance.$attrSelector}]`) || {};\n const scopedStyle = instance.$style?.load(css, { name: `${instance.$attrSelector}-${instance.$style.name}`, ...useStyleOptions });\n\n instance.scopedStyleEl = scopedStyle.el;\n }\n },\n _themeChangeListener(callback = () => {}) {\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n },\n _removeThemeListeners(instance = {}) {\n ThemeService.off('theme:change', instance.$loadStyles);\n instance.$loadStyles = undefined;\n },\n _hook: (directiveName, hookName, el, binding, vnode, prevVnode) => {\n const name = `on${toCapitalCase(hookName)}`;\n const config = BaseDirective._getConfig(binding, vnode);\n const instance = el?.$instance;\n const selfHook = BaseDirective._usePT(instance, BaseDirective._getPT(binding?.value?.pt, directiveName), BaseDirective._getOptionValue, `hooks.${name}`);\n const defaultHook = BaseDirective._useDefaultPT(instance, config?.pt?.directives?.[directiveName], BaseDirective._getOptionValue, `hooks.${name}`);\n const options = { el, binding, vnode, prevVnode };\n\n selfHook?.(instance, options);\n defaultHook?.(instance, options);\n },\n /* eslint-disable-next-line no-unused-vars */\n _mergeProps(instance = {}, fn, ...args) {\n return isFunction(fn) ? fn(...args) : mergeProps(...args);\n },\n _extend: (name, options = {}) => {\n const handleHook = (hook, el, binding, vnode, prevVnode) => {\n el._$instances = el._$instances || {};\n\n const config = BaseDirective._getConfig(binding, vnode);\n const $prevInstance = el._$instances[name] || {};\n const $options = isEmpty($prevInstance) ? { ...options, ...options?.methods } : {};\n\n el._$instances[name] = {\n ...$prevInstance,\n /* new instance variables to pass in directive methods */\n $name: name,\n $host: el,\n $binding: binding,\n $modifiers: binding?.modifiers,\n $value: binding?.value,\n $el: $prevInstance['$el'] || el || undefined,\n $style: { classes: undefined, inlineStyles: undefined, load: () => {}, loadCSS: () => {}, loadStyle: () => {}, ...options?.style },\n $primevueConfig: config,\n $attrSelector: el.$pd?.[name]?.attrSelector,\n /* computed instance variables */\n defaultPT: () => BaseDirective._getPT(config?.pt, undefined, (value) => value?.directives?.[name]),\n isUnstyled: () => (el._$instances[name]?.$binding?.value?.unstyled !== undefined ? el._$instances[name]?.$binding?.value?.unstyled : config?.unstyled),\n theme: () => el._$instances[name]?.$primevueConfig?.theme,\n preset: () => el._$instances[name]?.$binding?.value?.dt,\n /* instance's methods */\n ptm: (key = '', params = {}) => BaseDirective._getPTValue(el._$instances[name], el._$instances[name]?.$binding?.value?.pt, key, { ...params }),\n ptmo: (obj = {}, key = '', params = {}) => BaseDirective._getPTValue(el._$instances[name], obj, key, params, false),\n cx: (key = '', params = {}) => (!el._$instances[name]?.isUnstyled() ? BaseDirective._getOptionValue(el._$instances[name]?.$style?.classes, key, { ...params }) : undefined),\n sx: (key = '', when = true, params = {}) => (when ? BaseDirective._getOptionValue(el._$instances[name]?.$style?.inlineStyles, key, { ...params }) : undefined),\n ...$options\n };\n\n el.$instance = el._$instances[name]; // pass instance data to hooks\n el.$instance[hook]?.(el, binding, vnode, prevVnode); // handle hook in directive implementation\n el[`$${name}`] = el.$instance; // expose all options with $\n BaseDirective._hook(name, hook, el, binding, vnode, prevVnode); // handle hooks during directive uses (global and self-definition)\n\n el.$pd ||= {};\n el.$pd[name] = { ...el.$pd?.[name], name, instance: el._$instances[name] };\n };\n\n const handleWatchers = (el) => {\n const instance = el._$instances[name];\n const watchers = instance?.watch;\n\n const handleWatchConfig = ({ newValue, oldValue }) => watchers?.['config']?.call(instance, newValue, oldValue);\n\n const handleWatchConfigRipple = ({ newValue, oldValue }) => watchers?.['config.ripple']?.call(instance, newValue, oldValue);\n\n instance.$watchersCallback = { config: handleWatchConfig, 'config.ripple': handleWatchConfigRipple };\n\n // for 'config'\n watchers?.['config']?.call(instance, instance?.$primevueConfig);\n PrimeVueService.on('config:change', handleWatchConfig);\n\n // for 'config.ripple'\n watchers?.['config.ripple']?.call(instance, instance?.$primevueConfig?.ripple);\n PrimeVueService.on('config:ripple:change', handleWatchConfigRipple);\n };\n\n const stopWatchers = (el) => {\n const watchers = el._$instances[name].$watchersCallback;\n\n if (watchers) {\n PrimeVueService.off('config:change', watchers.config);\n PrimeVueService.off('config:ripple:change', watchers['config.ripple']);\n el._$instances[name].$watchersCallback = undefined;\n }\n };\n\n return {\n created: (el, binding, vnode, prevVnode) => {\n el.$pd ||= {};\n el.$pd[name] = { name, attrSelector: uuid('pd') };\n handleHook('created', el, binding, vnode, prevVnode);\n },\n beforeMount: (el, binding, vnode, prevVnode) => {\n BaseDirective._loadStyles(el.$pd[name]?.instance, binding, vnode);\n handleHook('beforeMount', el, binding, vnode, prevVnode);\n handleWatchers(el);\n },\n mounted: (el, binding, vnode, prevVnode) => {\n BaseDirective._loadStyles(el.$pd[name]?.instance, binding, vnode);\n handleHook('mounted', el, binding, vnode, prevVnode);\n },\n beforeUpdate: (el, binding, vnode, prevVnode) => {\n handleHook('beforeUpdate', el, binding, vnode, prevVnode);\n },\n updated: (el, binding, vnode, prevVnode) => {\n BaseDirective._loadStyles(el.$pd[name]?.instance, binding, vnode);\n handleHook('updated', el, binding, vnode, prevVnode);\n },\n beforeUnmount: (el, binding, vnode, prevVnode) => {\n stopWatchers(el);\n BaseDirective._removeThemeListeners(el.$pd[name]?.instance);\n handleHook('beforeUnmount', el, binding, vnode, prevVnode);\n },\n unmounted: (el, binding, vnode, prevVnode) => {\n el.$pd[name]?.instance?.scopedStyleEl?.value?.remove();\n handleHook('unmounted', el, binding, vnode, prevVnode);\n }\n };\n },\n extend: (...args) => {\n const [name, options] = BaseDirective._getMeta(...args);\n\n return {\n extend: (..._args) => {\n const [_name, _options] = BaseDirective._getMeta(..._args);\n\n return BaseDirective.extend(_name, { ...options, ...options?.methods, ..._options });\n },\n ...BaseDirective._extend(name, options)\n };\n }\n};\n\nexport default BaseDirective;\n"],"names":["BaseDirective","_getMeta","isObject","arguments","length","undefined","resolve","_getConfig","binding","vnode","_ref","_binding$instance","_vnode$ctx","instance","$primevue","ctx","appContext","config","globalProperties","_getOptionValue","getKeyValue","_getPTValue","_instance$binding","_instance$$primevueCo","obj","key","params","searchInDefaultPT","getValue","value","apply","isString","isArray","_ref2","ptOptions","$primevueConfig","_ref2$mergeSections","mergeSections","_ref2$mergeProps","mergeProps","useMergeProps","global","_useDefaultPT","defaultPT","self","_usePT","_getPT","$name","_objectSpread","datasets","_getPTDatasets","_mergeProps","datasetPrefix","_defineProperty","concat","toFlatCase","pt","callback","_computedValue$_key","computedValue","_key","Object","hasOwn","_usept","originalValue","fn","_instance$$primevueCo2","_ref4","_ref4$mergeSections","_ref4$mergeProps","_loadStyles","_config$csp","useStyleOptions","nonce","csp","_loadCoreStyles","_loadThemeStyles","_loadScopedThemeStyles","_removeThemeListeners","$loadStyles","_themeChangeListener","_instance$$style","_instance$$style2","Base","isStyleNameLoaded","$style","name","_instance$$style3","BaseStyle","loadCSS","setLoadedStyleName","_instance$theme","_instance$$style5","_instance$$style6","isUnstyled","theme","call","Theme","_instance$$style4","_instance$$style4$get","_ref5","getCommonTheme","primitive","semantic","style","load","css","loadStyle","_instance$$style7","_instance$$style7$get","_instance$$style8","_instance$$style9","_ref6","getDirectiveTheme","_instance$$style10","_instance$$style10$ge","layerOrder","getLayerOrderThemeCSS","first","preset","$attrSelector","_instance$$style11","_instance$$style11$ge","_instance$$style12","_ref7","getPresetTheme","scopedStyle","scopedStyleEl","el","clearLoadedStyleNames","ThemeService","on","off","_hook","directiveName","hookName","prevVnode","_binding$value","_config$pt","toCapitalCase","$instance","selfHook","defaultHook","directives","options","_len","args","Array","_key2","isFunction","_extend","handleHook","hook","_el$$pd","_el$$instance$hook","_el$$instance","_el$$pd2","_$instances","$prevInstance","$options","isEmpty","methods","$host","$binding","$modifiers","modifiers","$value","$el","classes","inlineStyles","$pd","attrSelector","_value$directives","_el$_$instances$name","_el$_$instances$name2","unstyled","_el$_$instances$name3","_el$_$instances$name4","dt","ptm","_el$_$instances$name5","ptmo","cx","_el$_$instances$name6","_el$_$instances$name7","sx","_el$_$instances$name8","when","handleWatchers","_watchers$config2","_watchers$configRipp2","_instance$$primevueCo3","watchers","watch","handleWatchConfig","_ref8","_watchers$config","newValue","oldValue","handleWatchConfigRipple","_ref9","_watchers$configRipp","$watchersCallback","PrimeVueService","ripple","stopWatchers","created","uuid","beforeMount","_el$$pd$name","mounted","_el$$pd$name2","beforeUpdate","updated","_el$$pd$name3","beforeUnmount","_el$$pd$name4","unmounted","_el$$pd$name5","remove","extend","_BaseDirective$_getMe","_BaseDirective$_getMe2","_slicedToArray","_BaseDirective$_getMe3","_BaseDirective$_getMe4","_name","_options"],"mappings":"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"}