@ddd-tool/domain-designer-cli 0.1.0-beta.9 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +12 -20
  2. package/bin/domain-designer-cli.cjs +19148 -18666
  3. package/package.json +42 -23
  4. package/packages/core/dist/README.md +43 -0
  5. package/packages/core/dist/actor.d.ts +2 -0
  6. package/packages/core/dist/agg.d.ts +2 -0
  7. package/packages/core/dist/command.d.ts +3 -0
  8. package/packages/core/dist/common.d.ts +158 -0
  9. package/packages/core/dist/event.d.ts +2 -0
  10. package/packages/core/dist/index.d.ts +33 -0
  11. package/packages/core/dist/index.js +1980 -0
  12. package/packages/core/dist/info.d.ts +2 -0
  13. package/packages/core/dist/note.d.ts +2 -0
  14. package/packages/core/dist/package.json +21 -0
  15. package/packages/core/dist/policy.d.ts +2 -0
  16. package/packages/core/dist/read-model.d.ts +2 -0
  17. package/packages/core/dist/service.d.ts +2 -0
  18. package/packages/core/dist/system.d.ts +2 -0
  19. package/packages/core/dist/types.d.ts +558 -0
  20. package/packages/playground/.env +1 -0
  21. package/packages/playground/node_modules/.vite/deps/_metadata.json +34 -0
  22. package/packages/playground/node_modules/.vite/deps/chunk-F4TQRHS6.js +2147 -0
  23. package/packages/playground/node_modules/.vite/deps/chunk-F4TQRHS6.js.map +7 -0
  24. package/packages/playground/node_modules/.vite/deps/chunk-MFAKUPMY.js +12787 -0
  25. package/packages/playground/node_modules/.vite/deps/chunk-MFAKUPMY.js.map +7 -0
  26. package/packages/playground/node_modules/.vite/deps/package.json +3 -0
  27. package/packages/playground/node_modules/.vite/deps/primevue_button.js +1215 -0
  28. package/packages/playground/node_modules/.vite/deps/primevue_button.js.map +7 -0
  29. package/packages/playground/node_modules/.vite/deps/primevue_dock.js +1236 -0
  30. package/packages/playground/node_modules/.vite/deps/primevue_dock.js.map +7 -0
  31. package/packages/playground/node_modules/.vite/deps/vue.js +346 -0
  32. package/packages/playground/node_modules/.vite/deps/vue.js.map +7 -0
  33. package/packages/playground/node_modules/.vue-global-types/vue_3.5_0.d.ts +136 -0
  34. package/packages/playground/package.json +19 -0
  35. package/{src → packages/playground/src}/App.vue +12 -12
  36. package/{src → packages/playground/src}/main.ts +27 -27
  37. package/{src → packages/playground/src}/views/Index.vue +16 -16
  38. package/packages/playground/src/views/complex-example-detail/book.ts +383 -0
  39. package/packages/playground/src/views/complex-example-detail/common.ts +4 -0
  40. package/packages/playground/src/views/complex-example-detail/user.ts +66 -0
  41. package/packages/playground/src/views/complex-example.ts +4 -0
  42. package/{src → packages/playground/src}/views/design-en.ts +110 -99
  43. package/{src → packages/playground/src}/views/design-zh.ts +97 -91
  44. package/packages/playground/src/views/index.ts +19 -0
  45. package/packages/playground/src/views/simple-example.ts +103 -0
  46. package/packages/playground/tsconfig.json +32 -0
  47. package/packages/playground/vite-env.d.ts +12 -0
  48. package/packages/playground/vite.config.ts +22 -0
  49. package/packages/ui-component/dist/LICENSE +201 -0
  50. package/packages/ui-component/dist/README.md +5 -0
  51. package/packages/ui-component/dist/UI.vue.d.ts +29 -0
  52. package/packages/ui-component/dist/common.d.ts +9 -0
  53. package/packages/ui-component/dist/components/drag-zoom/Index.vue.d.ts +37 -0
  54. package/packages/ui-component/dist/components/node-info/Index.vue.d.ts +29 -0
  55. package/packages/ui-component/dist/components/nomnoml/Index.vue.d.ts +24 -0
  56. package/packages/ui-component/dist/components/nomnoml/base-style.d.ts +2 -0
  57. package/packages/ui-component/dist/components/nomnoml/preprocess.d.ts +5 -0
  58. package/packages/ui-component/dist/components/story-bar/Index.vue.d.ts +28 -0
  59. package/packages/ui-component/dist/components/tool-bar/Index.vue.d.ts +29 -0
  60. package/packages/ui-component/dist/domain/common.d.ts +27 -0
  61. package/packages/ui-component/dist/domain/diagram-agg/gen-code.d.ts +64 -0
  62. package/packages/ui-component/dist/domain/diagram-agg/index.d.ts +8554 -0
  63. package/packages/ui-component/dist/domain/diagram-agg/plugins.d.ts +80 -0
  64. package/packages/ui-component/dist/domain/diagram-agg/types.d.ts +20 -0
  65. package/packages/ui-component/dist/domain/i18n-agg/index.d.ts +25 -0
  66. package/packages/ui-component/dist/domain/i18n-agg/locale/en-US.d.ts +3 -0
  67. package/packages/ui-component/dist/domain/i18n-agg/locale/zh-CN.d.ts +3 -0
  68. package/packages/ui-component/dist/domain/i18n-agg/message.d.ts +42 -0
  69. package/packages/ui-component/dist/domain/mount-plugin.d.ts +1 -0
  70. package/packages/ui-component/dist/favicon.ico +0 -0
  71. package/packages/ui-component/dist/index.css +144 -0
  72. package/packages/ui-component/dist/index.d.ts +6 -0
  73. package/packages/ui-component/dist/index.js +19776 -0
  74. package/packages/ui-component/dist/package.json +28 -0
  75. package/packages/ui-component/dist/ui.d.ts +8 -0
  76. package/scripts/ai-assist-worker.cjs +7123 -0
  77. package/scripts/sync-version.mjs +22 -0
  78. package/templates/CLAUDE.md +276 -0
  79. package/templates/README.md +97 -0
  80. package/templates/complex-example-detail/book.ts +383 -0
  81. package/templates/complex-example-detail/common.ts +4 -0
  82. package/templates/complex-example-detail/user.ts +66 -0
  83. package/templates/complex-example.ts +4 -0
  84. package/templates/node_modules/@ddd-tool/domain-designer-core/actor.d.ts +1 -1
  85. package/templates/node_modules/@ddd-tool/domain-designer-core/agg.d.ts +1 -1
  86. package/templates/node_modules/@ddd-tool/domain-designer-core/command.d.ts +1 -1
  87. package/templates/node_modules/@ddd-tool/domain-designer-core/common.d.ts +7 -8
  88. package/templates/node_modules/@ddd-tool/domain-designer-core/event.d.ts +1 -1
  89. package/templates/node_modules/@ddd-tool/domain-designer-core/index.d.ts +3 -3
  90. package/templates/node_modules/@ddd-tool/domain-designer-core/info.d.ts +1 -1
  91. package/templates/node_modules/@ddd-tool/domain-designer-core/note.d.ts +1 -1
  92. package/templates/node_modules/@ddd-tool/domain-designer-core/policy.d.ts +1 -1
  93. package/templates/node_modules/@ddd-tool/domain-designer-core/read-model.d.ts +1 -1
  94. package/templates/node_modules/@ddd-tool/domain-designer-core/service.d.ts +1 -1
  95. package/templates/node_modules/@ddd-tool/domain-designer-core/system.d.ts +1 -1
  96. package/templates/node_modules/@ddd-tool/domain-designer-core/{define.d.ts → types.d.ts} +23 -4
  97. package/templates/node_modules/version.txt +1 -1
  98. package/templates/simple-example.ts +103 -0
  99. package/tsconfig.json +19 -6
  100. package/scripts/sync-ver.mjs +0 -0
  101. package/src/views/index.ts +0 -15
  102. package/templates/example-agg.ts +0 -31
  103. package/templates/example.ts +0 -91
  104. package/vite.config.ts +0 -16
  105. /package/{index.html → packages/playground/index.html} +0 -0
  106. /package/{src → packages/playground/src}/assets/logo.svg +0 -0
  107. /package/{src → packages/playground/src}/assets/main.css +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../node_modules/@primeuix/utils/src/classnames/index.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/hasClass.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/addClass.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/calculateBodyScrollbarWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/helpers/blockBodyScroll.ts", "../../../../../node_modules/@primeuix/utils/src/dom/helpers/saveAs.ts", "../../../../../node_modules/@primeuix/utils/src/dom/helpers/exportCSV.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/removeClass.ts", "../../../../../node_modules/@primeuix/utils/src/dom/helpers/unblockBodyScroll.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getCSSVariableByRegex.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getHiddenElementDimensions.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getViewport.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getScrollLeft.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getWindowScrollLeft.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getWindowScrollTop.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isRTL.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/absolutePosition.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/addStyle.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getOuterWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/relativePosition.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/alignOverlay.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getParentNode.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isExist.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/toElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getTargetElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/appendChild.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarHeight.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/clearSelection.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/setAttributes.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/createElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/createStyleMarkup.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/createStyleAsString.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/createStyleElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/createStyleTag.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/fadeIn.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/fadeOut.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/find.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/findSingle.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/focus.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getAttribute.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/resolveUserAgent.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getBrowser.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getBrowserLanguage.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getCSSProperty.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getCursorOffset.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getFocusableElements.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getFirstFocusableElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getHeight.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterHeight.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getIndex.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getInnerWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getLastFocusableElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getNextElementSibling.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getNextFocusableElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getOffset.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getOuterHeight.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getParents.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getPreviousElementSibling.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getScrollableParents.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getSelection.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getUserAgent.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/getWidth.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/hasCSSAnimation.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/hasCSSTransition.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/invokeElementMethod.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isAndroid.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isAttributeEquals.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isAttributeNotEquals.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isClickable.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isClient.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isFocusableElement.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isVisible.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isHidden.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isIOS.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isPrefersReducedMotion.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isServer.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/isTouchDevice.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/nestedPosition.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/nextFrame.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/remove.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/removeChild.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/removeStyleTag.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/scrollInView.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/setAttribute.ts", "../../../../../node_modules/@primeuix/utils/src/dom/methods/setCSSProperty.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isEmpty.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/compare.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/deepEquals.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isFunction.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isNotEmpty.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/resolveFieldData.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/equals.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/contains.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isObject.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/deepMerge.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/filter.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/findIndexInList.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/findLast.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/findLastIndex.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/resolve.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isString.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toFlatCase.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/getKeyValue.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/insertIntoOrderedArray.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isArray.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isDate.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isLetter.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isNumber.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isPrintableCharacter.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/isScalar.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/localeComparator.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/matchRegex.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/mergeKeys.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/minifyCSS.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/nestedKeys.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/omit.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/removeAccents.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/reorderArray.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/shallowEqualProps.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/shallowEquals.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/sort.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/stringify.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toCamelCase.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toCapitalCase.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toKebabCase.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toMs.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toTokenKey.ts", "../../../../../node_modules/@primeuix/utils/src/object/methods/toValue.ts", "../../../../../node_modules/@primeuix/utils/src/eventbus/index.ts", "../../../../../node_modules/@primeuix/utils/src/uuid/index.ts", "../../../../../node_modules/@primeuix/utils/src/zindex/index.ts", "../../../../../node_modules/@primeuix/styled/src/actions/definePreset.ts", "../../../../../node_modules/@primeuix/styled/src/actions/updatePreset.ts", "../../../../../node_modules/@primeuix/styled/src/service/index.ts", "../../../../../node_modules/@primeuix/styled/src/utils/sharedUtils.ts", "../../../../../node_modules/@primeuix/styled/src/utils/themeUtils.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/color/mix.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/color/palette.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/color/shade.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/color/tint.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/css.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/dt.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/t.ts", "../../../../../node_modules/@primeuix/styled/src/helpers/toVariables.ts", "../../../../../node_modules/@primeuix/styled/src/config/index.ts", "../../../../../node_modules/@primeuix/styled/src/actions/updatePrimaryPalette.ts", "../../../../../node_modules/@primeuix/styled/src/actions/updateSurfacePalette.ts", "../../../../../node_modules/@primeuix/styled/src/actions/usePreset.ts", "../../../../../node_modules/@primeuix/styled/src/actions/useTheme.ts", "../../../../../node_modules/@primeuix/styled/src/stylesheet/index.ts", "../../../../../node_modules/@primevue/src/base/Base.js", "../../../../../node_modules/@primevue/src/usestyle/UseStyle.js", "../../../../../node_modules/@primevue/src/base/style/BaseStyle.js", "../../../../../node_modules/@primevue/src/useattrselector/UseAttrSelector.js", "../../../../../node_modules/@primevue/src/basecomponent/style/BaseComponentStyle.js", "../../../../../node_modules/@primevue/src/basecomponent/BaseComponent.vue", "../../../../../node_modules/@primevue/src/service/PrimeVueService.js", "../../../../../node_modules/@primevue/src/basedirective/BaseDirective.js", "../../../../../node_modules/src/ripple/style/RippleStyle.js", "../../../../../node_modules/src/ripple/BaseRipple.js", "../../../../../node_modules/src/ripple/Ripple.js"],
4
+ "sourcesContent": ["export function cn(...args: any[]): string | undefined {\n if (args) {\n let classes: any = [];\n\n for (let i = 0; i < args.length; i++) {\n const className = args[i];\n\n if (!className) {\n continue;\n }\n\n const type = typeof className;\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));\n\n classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;\n }\n }\n\n return classes.join(' ').trim();\n }\n\n return undefined;\n}\n\n/**\n * @deprecated Use `cn` instead.\n * @param args\n * @returns\n */\nexport function classNames(...args: any[]): string | undefined {\n return cn(...args);\n}\n", "export default function hasClass(element: Element, className: string): boolean {\n if (element) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n\n return false;\n}\n", "import hasClass from './hasClass';\n\nexport default function addClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (!hasClass(element, _className)) {\n if (element.classList) element.classList.add(_className);\n else element.className += ' ' + _className;\n }\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n", "export default function calculateBodyScrollbarWidth(): number {\n return window.innerWidth - document.documentElement.offsetWidth;\n}\n", "import addClass from '../methods/addClass';\nimport calculateBodyScrollbarWidth from '../methods/calculateBodyScrollbarWidth';\n\nexport interface BlockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function blockBodyScroll(option: string | BlockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n addClass(document.body, option || 'p-overflow-hidden');\n } else {\n option?.variableName && document.body.style.setProperty(option.variableName, calculateBodyScrollbarWidth() + 'px');\n addClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n", "export default function saveAs(file: { name: string; src: string }): boolean {\n if (file) {\n const link = document.createElement('a');\n\n if (link.download !== undefined) {\n const { name, src } = file;\n\n link.setAttribute('href', src);\n link.setAttribute('download', name);\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n return true;\n }\n }\n\n return false;\n}\n", "import saveAs from './saveAs';\n\nexport default function exportCSV(csv: any, filename: string): void {\n const blob = new Blob([csv], {\n type: 'application/csv;charset=utf-8;'\n });\n\n if ((window.navigator as any).msSaveOrOpenBlob) {\n (navigator as any).msSaveOrOpenBlob(blob, filename + '.csv');\n } else {\n const isDownloaded = saveAs({ name: filename + '.csv', src: URL.createObjectURL(blob) });\n\n if (!isDownloaded) {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n window.open(encodeURI(csv));\n }\n }\n}\n", "export default function removeClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (element.classList) element.classList.remove(_className);\n else element.className = element.className.replace(new RegExp('(^|\\\\b)' + _className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n", "import removeClass from '../methods/removeClass';\n\nexport interface UnblockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function unblockBodyScroll(option: string | UnblockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n removeClass(document.body, option || 'p-overflow-hidden');\n } else {\n if (option?.variableName) document.body.style.removeProperty(option.variableName);\n removeClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n", "export default function getCSSVariableByRegex(variableRegex: RegExp): { name: string | undefined; value: string | undefined } | null {\n for (const sheet of document?.styleSheets) {\n try {\n for (const rule of sheet?.cssRules) {\n for (const property of (rule as CSSStyleRule)?.style) {\n if (variableRegex.test(property)) {\n return { name: property, value: (rule as CSSStyleRule).style.getPropertyValue(property).trim() };\n }\n }\n }\n } catch {}\n }\n\n return null;\n}\n", "export default function getHiddenElementDimensions(element?: HTMLElement): { width: number; height: number } {\n const dimensions: { width: number; height: number } = { width: 0, height: 0 };\n\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n const rect = element.getBoundingClientRect();\n\n // Temporarily hide the element to get its dimensions\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = rect.width || element.offsetWidth;\n dimensions.height = rect.height || element.offsetHeight;\n element.style.display = display;\n element.style.visibility = visibility;\n }\n\n return dimensions;\n}\n", "export default function getViewport(): { width: number; height: number } {\n const win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return { width: w, height: h };\n}\n", "export default function getScrollLeft(element?: HTMLElement): number {\n // for RTL scrollLeft should be negative\n return element ? Math.abs(element.scrollLeft) : 0;\n}\n", "import getScrollLeft from './getScrollLeft';\n\nexport default function getWindowScrollLeft(): number {\n const doc = document.documentElement;\n\n return (window.pageXOffset || getScrollLeft(doc)) - (doc.clientLeft || 0);\n}\n", "export default function getWindowScrollTop(): number {\n const doc = document.documentElement;\n\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n}\n", "export default function isRTL(element?: HTMLElement): boolean {\n return element ? getComputedStyle(element).direction === 'rtl' : false;\n}\n", "import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\nimport getWindowScrollLeft from './getWindowScrollLeft';\nimport getWindowScrollTop from './getWindowScrollTop';\nimport isRTL from './isRTL';\n\nexport default function absolutePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = getWindowScrollTop();\n const windowScrollLeft = getWindowScrollLeft();\n const viewport = getViewport();\n let top,\n left,\n origin = 'top';\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n origin = 'bottom';\n\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n }\n\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n\n if (isRTL(element)) {\n element.style.insetInlineEnd = left + 'px';\n } else {\n element.style.insetInlineStart = left + 'px';\n }\n\n element.style.top = top + 'px';\n element.style.transformOrigin = origin;\n if (gutter) element.style.marginTop = origin === 'bottom' ? `calc(${getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '2px'} * -1)` : (getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '');\n }\n}\n", "export default function addStyle(element: HTMLElement, style: string | object): void {\n if (element) {\n if (typeof style === 'string') {\n element.style.cssText = style;\n } else {\n Object.entries(style || {}).forEach(([key, value]: [string, string]) => ((element.style as any)[key] = value));\n }\n }\n}\n", "export default function getOuterWidth(element: unknown, margin?: boolean): number {\n if (element instanceof HTMLElement) {\n let width = element.offsetWidth;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n return 0;\n}\n", "import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\n\nexport default function relativePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true, fixedOrigin: 'top' | 'bottom' | undefined = undefined): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const viewport = getViewport();\n let top,\n left,\n origin = fixedOrigin ?? 'top';\n\n if (!fixedOrigin && targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = -1 * elementDimensions.height;\n origin = 'bottom';\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight;\n }\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = targetOffset.left * -1;\n } else if (targetOffset.left + elementDimensions.width > viewport.width) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n } else {\n // element fits on screen (align with target)\n left = 0;\n }\n\n element.style.top = top + 'px';\n element.style.insetInlineStart = left + 'px';\n element.style.transformOrigin = origin;\n\n if (gutter) {\n const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;\n\n element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');\n }\n }\n}\n", "import absolutePosition from './absolutePosition';\nimport getOuterWidth from './getOuterWidth';\nimport relativePosition from './relativePosition';\n\nexport default function alignOverlay(overlay: HTMLElement, target: HTMLElement, appendTo: string, calculateMinWidth: boolean = true) {\n if (overlay && target) {\n if (appendTo === 'self') {\n relativePosition(overlay, target);\n } else {\n if (calculateMinWidth) overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(overlay, target);\n }\n }\n}\n", "export default function getParentNode(element: Node): ParentNode | null {\n if (element) {\n let parent = element.parentNode;\n\n if (parent && parent instanceof ShadowRoot && parent.host) {\n parent = parent.host;\n }\n\n return parent;\n }\n\n return null;\n}\n", "import getParentNode from './getParentNode';\n\nexport default function isExist(element: Node): boolean {\n return !!(element !== null && typeof element !== 'undefined' && element.nodeName && getParentNode(element));\n}\n", "export default function isElement(element: unknown): element is Element {\n return typeof Element !== 'undefined' ? element instanceof Element : element !== null && typeof element === 'object' && (element as Element).nodeType === 1 && typeof (element as Element).nodeName === 'string';\n}\n", "import isElement from './isElement';\n\ntype ReactElement = { current: Element | null | undefined };\ntype VueElement = { el: Element | null | undefined };\ntype AngularElement = { el: { nativeElement: Element | undefined } };\n\nexport default function toElement(element: unknown): Element | null | undefined {\n let target = element;\n\n if (element && typeof element === 'object') {\n if (Object.hasOwn(element, 'current')) {\n // For React\n target = (element as ReactElement).current;\n } else if (Object.hasOwn(element, 'el')) {\n if (Object.hasOwn((element as AngularElement).el, 'nativeElement')) {\n // For Angular\n target = (element as AngularElement).el.nativeElement;\n } else {\n // For Vue\n target = (element as VueElement).el;\n }\n }\n }\n\n return isElement(target) ? target : undefined;\n}\n", "import isExist from './isExist';\nimport toElement from './toElement';\n\nexport default function getTargetElement(target: unknown, currentElement?: Element): Window | Document | Element | null | undefined {\n if (!target) return undefined;\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case 'body':\n return document.body;\n case '@next':\n return currentElement?.nextElementSibling;\n case '@prev':\n return currentElement?.previousElementSibling;\n case '@first':\n return currentElement?.firstElementChild;\n case '@last':\n return currentElement?.lastElementChild;\n case '@child':\n return currentElement?.children?.[0];\n case '@parent':\n return currentElement?.parentElement;\n case '@grandparent':\n return currentElement?.parentElement?.parentElement;\n\n default: {\n if (typeof target === 'string') {\n // child selector\n const match = target.match(/^@child\\[(\\d+)]/);\n\n if (match) {\n return currentElement?.children?.[parseInt(match[1], 10)] || null;\n }\n\n return document.querySelector(target) || null;\n }\n\n const isFunction = (value: unknown): value is (...args: unknown[]) => unknown => typeof value === 'function' && 'call' in value && 'apply' in value;\n const computedTarget = isFunction(target) ? target() : target;\n const element = toElement(computedTarget);\n\n return isExist(element as Element) ? (element as Element) : (computedTarget as Document)?.nodeType === 9 ? (computedTarget as Document) : undefined;\n }\n }\n}\n", "import getTargetElement from './getTargetElement';\n\nexport default function appendChild(element: unknown, child: Node | Element) {\n const target: Document | Element | null | undefined = getTargetElement(element, child as Element) as Exclude<ReturnType<typeof getTargetElement>, Window>;\n\n if (target) target.appendChild(child);\n else throw new Error('Cannot append ' + child + ' to ' + element);\n}\n", "import addStyle from './addStyle';\n\nlet calculatedScrollbarHeight: number | undefined = undefined;\n\nexport default function calculateScrollbarHeight(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth);\n } else {\n if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarHeight = scrollbarHeight;\n\n return scrollbarHeight;\n }\n}\n", "import addStyle from './addStyle';\n\nlet calculatedScrollbarWidth: number | undefined = undefined;\n\nexport default function calculateScrollbarWidth(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarWidth = scrollbarWidth;\n\n return scrollbarWidth;\n }\n}\n", "export default function clearSelection(): void {\n if (window.getSelection) {\n const selection: any = window.getSelection() || {};\n\n if (selection.empty) {\n selection.empty();\n } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) {\n selection.removeAllRanges();\n }\n }\n}\n", "import isElement from './isElement';\n\nexport default function setAttributes(element: HTMLElement, attributes: { [key: string]: any } = {}): void {\n if (isElement(element)) {\n const computedStyles = (rule: string, value: any): string[] => {\n const styles = (element as any)?.$attrs?.[rule] ? [(element as any)?.$attrs?.[rule]] : [];\n\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => (rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : _v ? _k : undefined));\n\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n\n return cv;\n }, styles);\n };\n\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'p-bind' || key === 'pBind') {\n setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n ((element as any).$attrs = (element as any).$attrs || {}) && ((element as any).$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n}\n", "import setAttributes from './setAttributes';\n\nexport default function createElement(type: string, attributes: Record<string, unknown> = {}, ...children: (string | Node)[]): HTMLElement | undefined {\n if (type) {\n const element = document.createElement(type);\n\n setAttributes(element, attributes);\n element.append(...children);\n\n return element;\n }\n\n return undefined;\n}\n", "export default function createStyleMarkup(css?: string, attributes: Record<string, unknown> = {}): string {\n return css ? `<style${Object.entries(attributes).reduce((s, [k, v]) => s + ` ${k}=\"${v}\"`, '')}>${css}</style>` : '';\n}\n", "import createStyleMarkup from './createStyleMarkup';\n\n/**\n * @deprecated Use `createStyleMarkup` instead.\n */\nexport default function createStyleAsString(css?: string, options: Record<string, unknown> = {}) {\n return createStyleMarkup(css, options);\n}\n", "import createElement from './createElement';\n\nexport default function createStyleElement(css: string, attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n const element = createElement('style', attributes, css)! as HTMLStyleElement;\n\n container?.appendChild(element);\n\n return element;\n}\n", "import createStyleElement from './createStyleElement';\n\n/**\n * @deprecated Use `createStyleElement` instead.\n */\nexport default function createStyleTag(attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n return createStyleElement('', attributes, container || document.head);\n}\n", "export default function fadeIn(element: HTMLElement, duration: number): void {\n if (element) {\n element.style.opacity = '0';\n\n let last = +new Date();\n let opacity = '0';\n\n const tick = function () {\n opacity = `${+element.style.opacity + (new Date().getTime() - last) / duration}`;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n if ('requestAnimationFrame' in window) requestAnimationFrame(tick);\n else setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n}\n", "export default function fadeOut(element: HTMLElement, duration: number): void {\n if (element) {\n let opacity = 1;\n const interval = 50;\n const gap = interval / duration;\n\n const fading = setInterval(() => {\n opacity -= gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity.toString();\n }, interval);\n }\n}\n", "import isElement from './isElement';\n\nexport default function find(element: Element, selector: string): Element[] {\n return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];\n}\n", "import isElement from './isElement';\n\nexport default function findSingle(element: Element, selector: string): Element | null {\n return isElement(element) ? (element.matches(selector) ? element : element.querySelector(selector)) : null;\n}\n", "export default function focus(element: HTMLElement, options?: FocusOptions): void {\n if (element && document.activeElement !== element) element.focus(options);\n}\n", "import isElement from './isElement';\n\nexport default function getAttribute(element: Element, name: string): any {\n if (isElement(element)) {\n const value = element.getAttribute(name);\n\n if (!isNaN(value as any)) {\n return +(value as string);\n }\n\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n\n return value;\n }\n\n return undefined;\n}\n", "export default function resolveUserAgent(): { browser: string | undefined; version: string | undefined } {\n const ua = navigator.userAgent.toLowerCase();\n const match = /(chrome)[ ]([\\w.]+)/.exec(ua) || /(webkit)[ ]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || (ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua)) || [];\n\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n}\n", "import resolveUserAgent from './resolveUserAgent';\n\ntype BrowserType = {\n [key: string]: string | boolean | undefined;\n};\n\nlet browser: BrowserType | null = null;\n\nexport default function getBrowser(): BrowserType {\n if (!browser) {\n browser = {};\n\n const matched = resolveUserAgent();\n\n if (matched.browser) {\n browser[matched.browser] = true;\n browser['version'] = matched.version;\n }\n\n if (browser['chrome']) {\n browser['webkit'] = true;\n } else if (browser['webkit']) {\n browser['safari'] = true;\n }\n }\n\n return browser;\n}\n", "export default function getBrowserLanguage(): string {\n return (navigator.languages && navigator.languages.length && navigator.languages[0]) || navigator.language || 'en';\n}\n", "export default function getCSSProperty(element?: HTMLElement, property?: string, inline?: boolean): string | null {\n if (element && property) {\n return inline ? element?.style?.getPropertyValue(property) : getComputedStyle(element).getPropertyValue(property);\n }\n\n return null;\n}\n", "export default function getCursorOffset(element: Element, prevText: string, nextText: string, currentText: string): { top: number | string; left: number | string } {\n if (element) {\n const style = getComputedStyle(element);\n const ghostDiv = document.createElement('div');\n\n ghostDiv.style.position = 'absolute';\n ghostDiv.style.top = '0px';\n ghostDiv.style.left = '0px';\n ghostDiv.style.visibility = 'hidden';\n ghostDiv.style.pointerEvents = 'none';\n ghostDiv.style.overflow = style.overflow;\n ghostDiv.style.width = style.width;\n ghostDiv.style.height = style.height;\n ghostDiv.style.padding = style.padding;\n ghostDiv.style.border = style.border;\n ghostDiv.style.overflowWrap = style.overflowWrap;\n ghostDiv.style.whiteSpace = style.whiteSpace;\n ghostDiv.style.lineHeight = style.lineHeight;\n ghostDiv.innerHTML = prevText.replace(/\\r\\n|\\r|\\n/g, '<br />');\n\n const ghostSpan = document.createElement('span');\n\n ghostSpan.textContent = currentText;\n ghostDiv.appendChild(ghostSpan);\n\n const text = document.createTextNode(nextText);\n\n ghostDiv.appendChild(text);\n document.body.appendChild(ghostDiv);\n\n const { offsetLeft, offsetTop, clientHeight } = ghostSpan;\n\n document.body.removeChild(ghostDiv);\n\n return {\n left: Math.abs(offsetLeft - element.scrollLeft),\n top: Math.abs(offsetTop - element.scrollTop) + clientHeight\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n", "import find from './find';\n\nexport default function getFocusableElements(element: Element, selector: string = ''): Element[] {\n const focusableElements = find(\n element,\n `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href]:not([tabindex = \"-1\"]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`\n );\n\n const visibleFocusableElements: Element[] = [];\n\n for (const focusableElement of focusableElements) {\n if (getComputedStyle(focusableElement).display != 'none' && getComputedStyle(focusableElement).visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n\n return visibleFocusableElements;\n}\n", "import getFocusableElements from './getFocusableElements';\n\nexport default function getFirstFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[0] : null;\n}\n", "export default function getHeight(element: HTMLElement): number {\n if (element) {\n let height = element.offsetHeight;\n const style = getComputedStyle(element);\n\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\n return height;\n }\n\n return 0;\n}\n", "export default function getHiddenElementOuterHeight(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer height\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementHeight = element.offsetHeight;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementHeight;\n }\n\n return 0;\n}\n", "export default function getHiddenElementOuterWidth(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer width\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementWidth = element.offsetWidth;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementWidth;\n }\n\n return 0;\n}\n", "import getParentNode from './getParentNode';\n\nexport default function getIndex(element: HTMLElement): number {\n if (element) {\n const children = getParentNode(element)?.childNodes;\n let num = 0;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) return num;\n if (children[i].nodeType === 1) num++;\n }\n }\n }\n\n return -1;\n}\n", "export default function getInnerWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.borderLeft) + parseFloat(style.borderRight);\n\n return width;\n }\n\n return 0;\n}\n", "import getFocusableElements from './getFocusableElements';\n\nexport default function getLastFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n}\n", "export default function getNextElementSibling(element: Element, selector: string): Element | null {\n let nextElement = element.nextElementSibling;\n\n while (nextElement) {\n if (nextElement.matches(selector)) {\n return nextElement;\n } else {\n nextElement = nextElement.nextElementSibling;\n }\n }\n\n return null;\n}\n", "import getFocusableElements from './getFocusableElements';\n\nexport default function getNextFocusableElement(container: Element, element: Element, selector?: string): Element | null {\n const focusableElements: Element[] = getFocusableElements(container, selector);\n const index = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1;\n const nextIndex = index > -1 && focusableElements.length >= index + 1 ? index + 1 : -1;\n\n return nextIndex > -1 ? focusableElements[nextIndex] : null;\n}\n", "import getScrollLeft from './getScrollLeft';\n\nexport default function getOffset(element?: Element | null): { top: number | string; left: number | string } {\n if (element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || getScrollLeft(document.documentElement) || getScrollLeft(document.body) || 0)\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n", "export default function getOuterHeight(element: HTMLElement, margin?: boolean): number {\n if (element) {\n let height = element.offsetHeight;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n return 0;\n}\n", "import getParentNode from './getParentNode';\n\nexport default function getParents(element: Node, parents: ParentNode[] = []): ParentNode[] {\n const parent = getParentNode(element);\n\n return parent === null ? parents : getParents(parent, parents.concat([parent]));\n}\n", "export default function getPreviousElementSibling(element: Element, selector: string): Element | null {\n let previousElement = element.previousElementSibling;\n\n while (previousElement) {\n if (previousElement.matches(selector)) {\n return previousElement;\n } else {\n previousElement = previousElement.previousElementSibling;\n }\n }\n\n return null;\n}\n", "import findSingle from './findSingle';\nimport getParents from './getParents';\n\nexport default function getScrollableParents(element: Element): Element[] {\n const scrollableParents = [];\n\n if (element) {\n const parents = getParents(element) as HTMLElement[];\n const overflowRegex = /(auto|scroll)/;\n\n const overflowCheck = (node: Element) => {\n try {\n const styleDeclaration = window['getComputedStyle'](node, null);\n\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n } catch {\n return false;\n }\n };\n\n for (const parent of parents) {\n const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n const selectors = scrollSelectors.split(',');\n\n for (const selector of selectors) {\n const el = findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n}\n", "export default function getSelection(): string | undefined {\n if (window.getSelection) return (window.getSelection() as any).toString();\n else if (document.getSelection) return (document.getSelection() as any).toString();\n\n return undefined;\n}\n", "export default function getUserAgent(): string {\n return navigator.userAgent;\n}\n", "export default function getWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n return 0;\n}\n", "export default function hasCSSAnimation(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const animationDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n\n return animationDuration > 0;\n }\n\n return false;\n}\n", "export default function hasCSSTransition(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const transitionDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n\n return transitionDuration > 0;\n }\n\n return false;\n}\n", "export default function invokeElementMethod<T extends keyof Element>(element: Element, methodName: T, args?: unknown[]): void {\n const method = element[methodName];\n\n if (typeof method === 'function') {\n (method as (...args: unknown[]) => void).apply(element, args ?? []);\n }\n}\n", "export default function isAndroid(): boolean {\n return /(android)/i.test(navigator.userAgent);\n}\n", "import getAttribute from './getAttribute';\nimport isElement from './isElement';\n\nexport default function isAttributeEquals(element: Element, name: string, value: any): boolean {\n return isElement(element) ? getAttribute(element, name) === value : false;\n}\n", "import isAttributeEquals from './isAttributeEquals';\n\nexport default function isAttributeNotEquals(element: Element, name: string, value: any): boolean {\n return !isAttributeEquals(element, name, value);\n}\n", "export default function isClickable(element: Element): boolean {\n if (element) {\n const targetNode = element.nodeName;\n const parentNode = element.parentElement && element.parentElement.nodeName;\n\n return (\n targetNode === 'INPUT' ||\n targetNode === 'TEXTAREA' ||\n targetNode === 'BUTTON' ||\n targetNode === 'A' ||\n parentNode === 'INPUT' ||\n parentNode === 'TEXTAREA' ||\n parentNode === 'BUTTON' ||\n parentNode === 'A' ||\n !!element.closest('.p-button, .p-checkbox, .p-radiobutton') // @todo Add [data-pc-section=\"button\"]\n );\n }\n\n return false;\n}\n", "export default function isClient(): boolean {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n", "import isElement from './isElement';\n\nexport default function isFocusableElement(element: unknown, selector: string = ''): boolean {\n return isElement(element)\n ? (element as Element).matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`)\n : false;\n}\n", "export default function isVisible(element?: HTMLElement): boolean {\n return !!(element && element.offsetParent != null);\n}\n", "import isVisible from './isVisible';\n\nexport default function isHidden(element: HTMLElement): boolean {\n return !isVisible(element);\n}\n", "export default function isIOS(): boolean {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n}\n", "export default function isPrefersReducedMotion(): boolean {\n if (typeof window === 'undefined' || !window.matchMedia) {\n return false;\n }\n\n const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n return mediaQuery.matches;\n}\n", "import isClient from './isClient';\n\nexport default function isServer(): boolean {\n return !isClient();\n}\n", "export default function isTouchDevice(): boolean {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || (navigator as Partial<Navigator & { msMaxTouchPoints?: number }>).msMaxTouchPoints! > 0;\n}\n", "import calculateScrollbarWidth from './calculateScrollbarWidth';\nimport getHiddenElementOuterHeight from './getHiddenElementOuterHeight';\nimport getHiddenElementOuterWidth from './getHiddenElementOuterWidth';\nimport getOffset from './getOffset';\nimport getOuterHeight from './getOuterHeight';\nimport getOuterWidth from './getOuterWidth';\nimport getViewport from './getViewport';\n\nexport default function nestedPosition(element: HTMLElement, level: number): void {\n if (element) {\n const parentItem = element.parentElement;\n const elementOffset = getOffset(parentItem);\n const viewport = getViewport();\n const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element);\n const sublistHeight = element.offsetParent ? element.offsetHeight : getHiddenElementOuterHeight(element);\n const itemOuterWidth = getOuterWidth(parentItem?.children?.[0]);\n const itemOuterHeight = getOuterHeight(parentItem?.children?.[0] as HTMLElement);\n\n let left: string = '';\n let top: string = '';\n\n if ((elementOffset.left as number) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n if ((elementOffset.left as number) < sublistWidth) {\n // for too small screens\n if (level % 2 === 1) {\n left = (elementOffset.left as number) ? '-' + (elementOffset.left as number) + 'px' : '100%';\n } else if (level % 2 === 0) {\n left = viewport.width - sublistWidth - calculateScrollbarWidth() + 'px';\n }\n } else {\n left = '-100%';\n }\n } else {\n left = '100%';\n }\n\n // getBoundingClientRect returns a top position from the current visible viewport area\n if (element.getBoundingClientRect().top + itemOuterHeight + sublistHeight > viewport.height) {\n top = `-${sublistHeight - itemOuterHeight}px`;\n } else {\n top = '0px';\n }\n\n element.style.top = top;\n element.style.insetInlineStart = left;\n }\n}\n", "export default function nextFrame(): Promise<void> {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve as () => void);\n });\n });\n}\n", "export default function remove(element: Element) {\n if (element) {\n if (!('remove' in Element.prototype)) element.parentNode?.removeChild(element);\n else element.remove();\n }\n}\n", "import toElement from './toElement';\n\nexport default function removeChild(element: unknown, child: Node) {\n const target = toElement(element);\n\n if (target) target.removeChild(child);\n else throw new Error('Cannot remove ' + child + ' from ' + element);\n}\n", "import isExist from './isExist';\n\nexport default function removeStyleTag(element: Node): Node | null {\n if (isExist(element)) {\n try {\n element.parentNode?.removeChild(element);\n } catch {\n // style element may have already been removed in a fast refresh\n }\n\n return null;\n }\n\n return element;\n}\n", "import getOuterHeight from './getOuterHeight';\n\nexport default function scrollInView(container: HTMLElement, item: HTMLElement): void {\n const borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n const borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n const paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n const paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n const containerRect = container.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n const offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n const scroll = container.scrollTop;\n const elementHeight = container.clientHeight;\n const itemHeight = getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n}\n", "import isElement from './isElement';\n\nexport default function setAttribute(element: HTMLElement, attribute: string = '', value: any): void {\n if (isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n}\n", "export default function setCSSProperty(element?: HTMLElement, property?: string, value: any = null, priority?: string): void {\n property && element?.style?.setProperty(property, value, priority);\n}\n", "export default function isEmpty(value: any): boolean {\n return value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0) || (!(value instanceof Date) && typeof value === 'object' && Object.keys(value).length === 0);\n}\n", "import isEmpty from './isEmpty';\n\nexport default function compare<T = unknown>(value1: T, value2: T, comparator: (val1: T, val2: T) => number, order: number = 1): number {\n let result = -1;\n const emptyValue1 = isEmpty(value1);\n const emptyValue2 = isEmpty(value2);\n\n if (emptyValue1 && emptyValue2) result = 0;\n else if (emptyValue1) result = order;\n else if (emptyValue2) result = -order;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparator(value1, value2);\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return result;\n}\n", "function _deepEquals(obj1: unknown, obj2: unknown, visited: WeakSet<object> = new WeakSet()): boolean {\n // Base case: same object reference\n if (obj1 === obj2) return true;\n\n // If one of them is null or not an object, directly return false\n if (!obj1 || !obj2 || typeof obj1 !== 'object' || typeof obj2 !== 'object') return false;\n\n // Check for circular references\n if (visited.has(obj1) || visited.has(obj2)) return false;\n\n // Add objects to the visited set\n visited.add(obj1).add(obj2);\n\n const arrObj1 = Array.isArray(obj1);\n const arrObj2 = Array.isArray(obj2);\n let i, length, key;\n\n if (arrObj1 && arrObj2) {\n length = obj1.length;\n if (length != obj2.length) return false;\n for (i = length; i-- !== 0; ) if (!_deepEquals(obj1[i], obj2[i], visited)) return false;\n\n return true;\n }\n\n if (arrObj1 != arrObj2) return false;\n\n const dateObj1 = obj1 instanceof Date,\n dateObj2 = obj2 instanceof Date;\n\n if (dateObj1 != dateObj2) return false;\n if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime();\n\n const regexpObj1 = obj1 instanceof RegExp,\n regexpObj2 = obj2 instanceof RegExp;\n\n if (regexpObj1 != regexpObj2) return false;\n if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString();\n\n const keys = Object.keys(obj1);\n\n length = keys.length;\n\n if (length !== Object.keys(obj2).length) return false;\n\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_deepEquals((obj1 as Record<string, unknown>)[key], (obj2 as Record<string, unknown>)[key], visited)) return false;\n }\n\n return true;\n}\n\nexport default function deepEquals(obj1: unknown, obj2: unknown): boolean {\n return _deepEquals(obj1, obj2);\n}\n", "export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n", "import isEmpty from './isEmpty';\n\nexport default function isNotEmpty(value: any): boolean {\n return !isEmpty(value);\n}\n", "import isFunction from './isFunction';\nimport isNotEmpty from './isNotEmpty';\n\nexport default function resolveFieldData(data: any, field: any): any {\n if (!data || !field) {\n // short circuit if there is nothing to resolve\n return null;\n }\n\n try {\n const value = data[field];\n\n if (isNotEmpty(value)) return value;\n } catch {\n // Performance optimization: https://github.com/primefaces/primereact/issues/4797\n // do nothing and continue to other methods to resolve field data\n }\n\n if (Object.keys(data).length) {\n if (isFunction(field)) {\n return field(data);\n } else if (field.indexOf('.') === -1) {\n return data[field];\n } else {\n const fields = field.split('.');\n let value = data;\n\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n\n value = value[fields[i]];\n }\n\n return value;\n }\n }\n\n return null;\n}\n", "import deepEquals from './deepEquals';\nimport resolveFieldData from './resolveFieldData';\n\nexport default function equals(obj1: any, obj2: any, field?: string): boolean {\n if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);\n else return deepEquals(obj1, obj2);\n}\n", "import equals from './equals';\n\nexport default function contains<T = unknown>(value: T, list: T[]): boolean {\n if (value != null && list && list.length) {\n for (const val of list) {\n if (equals(value, val)) return true;\n }\n }\n\n return false;\n}\n", "export default function isObject(value: unknown, empty: boolean = true): value is object {\n return value instanceof Object && value.constructor === Object && (empty || Object.keys(value).length !== 0);\n}\n", "import isObject from './isObject';\n\nfunction _deepMerge(target: Record<string, unknown> = {}, source: Record<string, unknown> = {}): Record<string, unknown> {\n const mergedObj: Record<string, unknown> = { ...target };\n\n Object.keys(source).forEach((key) => {\n const typedKey = key as keyof typeof source;\n\n if (isObject(source[typedKey]) && typedKey in target && isObject(target[typedKey])) {\n mergedObj[typedKey] = _deepMerge(target[typedKey] as Record<string, unknown>, source[typedKey] as Record<string, unknown>);\n } else {\n mergedObj[typedKey] = source[typedKey];\n }\n });\n\n return mergedObj;\n}\n\n/**\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function deepMerge(...args: Record<string, unknown>[]): Record<string, unknown> {\n return args.reduce((acc, obj, i) => (i === 0 ? obj : _deepMerge(acc, obj)), {});\n}\n", "import resolveFieldData from './resolveFieldData';\n\nexport default function filter<T = any>(value: T[], fields: string[], filterValue: string): T[] {\n const filteredItems = [];\n\n if (value) {\n for (const item of value) {\n for (const field of fields) {\n if (String(resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {\n filteredItems.push(item);\n break;\n }\n }\n }\n }\n\n return filteredItems;\n}\n", "export default function findIndexInList<T = any>(value: T, list: T[]): number {\n let index = -1;\n\n if (list) {\n for (let i = 0; i < list.length; i++) {\n if (list[i] === value) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n}\n", "import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLast\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlast\n */\nexport default function findLast<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): T | undefined {\n let item;\n\n if (isNotEmpty(arr)) {\n try {\n item = (arr as any).findLast(callback);\n } catch {\n item = [...arr].reverse().find(callback);\n }\n }\n\n return item;\n}\n", "import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLastIndex\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlastindex\n */\nexport default function findLastIndex<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): number {\n let index = -1;\n\n if (isNotEmpty(arr)) {\n try {\n index = (arr as any).findLastIndex(callback);\n } catch {\n index = arr.lastIndexOf([...arr].reverse().find(callback) as T);\n }\n }\n\n return index;\n}\n", "import isFunction from './isFunction';\n\nexport default function resolve<T, P extends unknown[], R>(obj: T | ((...params: P) => R), ...params: P): T | R {\n return isFunction(obj) ? (obj as (...params: P) => R)(...params) : (obj as T);\n}\n", "export default function isString(value: unknown, empty: boolean = true): value is string {\n return typeof value === 'string' && (empty || value !== '');\n}\n", "import isString from './isString';\n\nexport default function toFlatCase(str: string): string {\n // convert snake, kebab, camel and pascal cases to flat case\n return isString(str) ? str.replace(/(-|_)/g, '').toLowerCase() : str;\n}\n", "import isObject from './isObject';\nimport resolve from './resolve';\nimport toFlatCase from './toFlatCase';\n\nexport default function getKeyValue<T extends Record<string, unknown>>(obj: T | undefined, key: string = '', params: unknown = {}): unknown {\n const fKeys = toFlatCase(key).split('.');\n const fKey = fKeys.shift();\n\n if (fKey) {\n if (isObject(obj)) {\n const matchedKey = Object.keys(obj).find((k) => toFlatCase(k) === fKey) || '';\n\n return getKeyValue(resolve(obj[matchedKey], params) as Record<string, unknown>, fKeys.join('.'), params);\n }\n\n return undefined;\n }\n\n return resolve(obj, params);\n}\n", "import findIndexInList from './findIndexInList';\n\nexport default function insertIntoOrderedArray<T>(item: T, index: number, arr: T[], sourceArr: any[]): void {\n if (arr.length > 0) {\n let injected = false;\n\n for (let i = 0; i < arr.length; i++) {\n const currentItemIndex = findIndexInList(arr[i], sourceArr);\n\n if (currentItemIndex > index) {\n arr.splice(i, 0, item);\n injected = true;\n break;\n }\n }\n\n if (!injected) {\n arr.push(item);\n }\n } else {\n arr.push(item);\n }\n}\n", "export default function isArray(value: any, empty: boolean = true): boolean {\n return Array.isArray(value) && (empty || value.length !== 0);\n}\n", "export default function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n", "export default function isLetter(char: string): boolean {\n return /^[a-zA-Z\\u00C0-\\u017F]$/.test(char);\n}\n", "import isNotEmpty from './isNotEmpty';\n\nexport default function isNumber(value: unknown): boolean {\n return isNotEmpty(value) && !isNaN(value as number);\n}\n", "import isNotEmpty from './isNotEmpty';\n\nexport default function isPrintableCharacter(char: string = ''): boolean {\n return isNotEmpty(char) && char.length === 1 && !!char.match(/\\S| /);\n}\n", "export default function isScalar(value: any): boolean {\n return value != null && (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint' || typeof value === 'boolean');\n}\n", "export default function localeComparator(): (val1: string, val2: string) => number {\n //performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.\n return new Intl.Collator(undefined, { numeric: true }).compare;\n}\n", "export default function matchRegex(str: string, regex?: RegExp): boolean {\n if (regex) {\n const match = regex.test(str);\n\n regex.lastIndex = 0;\n\n return match;\n }\n\n return false;\n}\n", "import deepMerge from './deepMerge';\n\n/**\n * @deprecated Use `deepMerge` instead.\n *\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function mergeKeys(...args: Record<string, unknown>[]): Record<string, unknown> {\n return deepMerge(...args);\n}\n", "export default function minifyCSS(css?: string): string | undefined {\n return css\n ? css\n .replace(/\\/\\*(?:(?!\\*\\/)[\\s\\S])*\\*\\/|[\\r\\n\\t]+/g, '')\n .replace(/ {2,}/g, ' ')\n .replace(/ ([{:}]) /g, '$1')\n .replace(/([;,]) /g, '$1')\n .replace(/ !/g, '!')\n .replace(/: /g, ':')\n .trim()\n : css;\n}\n", "import isObject from './isObject';\n\nexport default function nestedKeys(obj: Record<string, any> = {}, parentKey: string = ''): string[] {\n return Object.entries(obj).reduce<string[]>((o, [key, value]) => {\n const currentKey = parentKey ? `${parentKey}.${key}` : key;\n\n isObject(value) ? (o = o.concat(nestedKeys(value, currentKey))) : o.push(currentKey);\n\n return o;\n }, []);\n}\n", "import isObject from './isObject';\n\nexport default function omit(obj: unknown, ...keys: string[]): unknown {\n if (!isObject(obj)) return obj;\n\n const copy = { ...(obj as Record<string, unknown>) };\n\n keys?.flat().forEach((key) => delete copy[key]);\n\n return copy;\n}\n", "export default function removeAccents(str: string): string {\n // Regular expression to check for any accented characters 'Latin-1 Supplement' and 'Latin Extended-A'\n const accentCheckRegex = /[\\xC0-\\xFF\\u0100-\\u017E]/;\n\n if (str && accentCheckRegex.test(str)) {\n const accentsMap: { [key: string]: RegExp } = {\n A: /[\\xC0-\\xC5\\u0100\\u0102\\u0104]/g,\n AE: /[\\xC6]/g,\n C: /[\\xC7\\u0106\\u0108\\u010A\\u010C]/g,\n D: /[\\xD0\\u010E\\u0110]/g,\n E: /[\\xC8-\\xCB\\u0112\\u0114\\u0116\\u0118\\u011A]/g,\n G: /[\\u011C\\u011E\\u0120\\u0122]/g,\n H: /[\\u0124\\u0126]/g,\n I: /[\\xCC-\\xCF\\u0128\\u012A\\u012C\\u012E\\u0130]/g,\n IJ: /[\\u0132]/g,\n J: /[\\u0134]/g,\n K: /[\\u0136]/g,\n L: /[\\u0139\\u013B\\u013D\\u013F\\u0141]/g,\n N: /[\\xD1\\u0143\\u0145\\u0147\\u014A]/g,\n O: /[\\xD2-\\xD6\\xD8\\u014C\\u014E\\u0150]/g,\n OE: /[\\u0152]/g,\n R: /[\\u0154\\u0156\\u0158]/g,\n S: /[\\u015A\\u015C\\u015E\\u0160]/g,\n T: /[\\u0162\\u0164\\u0166]/g,\n U: /[\\xD9-\\xDC\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172]/g,\n W: /[\\u0174]/g,\n Y: /[\\xDD\\u0176\\u0178]/g,\n Z: /[\\u0179\\u017B\\u017D]/g,\n\n a: /[\\xE0-\\xE5\\u0101\\u0103\\u0105]/g,\n ae: /[\\xE6]/g,\n c: /[\\xE7\\u0107\\u0109\\u010B\\u010D]/g,\n d: /[\\u010F\\u0111]/g,\n e: /[\\xE8-\\xEB\\u0113\\u0115\\u0117\\u0119\\u011B]/g,\n g: /[\\u011D\\u011F\\u0121\\u0123]/g,\n i: /[\\xEC-\\xEF\\u0129\\u012B\\u012D\\u012F\\u0131]/g,\n ij: /[\\u0133]/g,\n j: /[\\u0135]/g,\n k: /[\\u0137,\\u0138]/g,\n l: /[\\u013A\\u013C\\u013E\\u0140\\u0142]/g,\n n: /[\\xF1\\u0144\\u0146\\u0148\\u014B]/g,\n p: /[\\xFE]/g,\n o: /[\\xF2-\\xF6\\xF8\\u014D\\u014F\\u0151]/g,\n oe: /[\\u0153]/g,\n r: /[\\u0155\\u0157\\u0159]/g,\n s: /[\\u015B\\u015D\\u015F\\u0161]/g,\n t: /[\\u0163\\u0165\\u0167]/g,\n u: /[\\xF9-\\xFC\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173]/g,\n w: /[\\u0175]/g,\n y: /[\\xFD\\xFF\\u0177]/g,\n z: /[\\u017A\\u017C\\u017E]/g\n };\n\n for (const key in accentsMap) {\n str = str.replace(accentsMap[key], key);\n }\n }\n\n return str;\n}\n", "export default function reorderArray<T>(value: T[], from: number, to: number): void {\n if (value && from !== to) {\n if (to >= value.length) {\n to %= value.length;\n from %= value.length;\n }\n\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n}\n", "/**\n * Shallow equal for React/Vue props comparison\n * Ignores functions (common in props)\n */\nexport default function shallowEqualProps(propsA: Record<string, unknown>, propsB: Record<string, unknown>): boolean {\n if (propsA === propsB) return true;\n\n const keysA = Object.keys(propsA);\n const keysB = Object.keys(propsB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n const valueA = propsA[key];\n const valueB = propsB[key];\n\n // Skip function comparison (they rarely change)\n if (typeof valueA === 'function' && typeof valueB === 'function') {\n continue;\n }\n\n if (!Object.is(valueA, valueB)) {\n return false;\n }\n }\n\n return true;\n}\n", "/**\n * Checks if two values are shallowly equal\n * - Primitives: compared by value (===)\n * - Objects/Arrays: compared by reference and first-level properties\n *\n * @param objA - First value to compare\n * @param objB - Second value to compare\n * @returns True if values are shallowly equal, false otherwise\n *\n * @example\n * shallowEquals(1, 1) // true\n * shallowEquals('a', 'a') // true\n * shallowEquals({ a: 1 }, { a: 1 }) // true (shallow)\n * shallowEquals({ a: { b: 1 } }, { a: { b: 1 } }) // false (nested objects are different references)\n * shallowEquals([1, 2], [1, 2]) // true (shallow)\n * shallowEquals([1, [2]], [1, [2]]) // false (nested arrays are different references)\n */\nexport default function shallowEquals(objA: unknown, objB: unknown): boolean {\n // Fast path: same reference\n if (objA === objB) return true;\n\n // Fast path: different types or null\n if (typeof objA !== typeof objB || objA === null || objB === null) {\n return false;\n }\n\n // Fast path: primitives\n if (typeof objA !== 'object') {\n return objA === objB;\n }\n\n // Same reference (including null === null, undefined === undefined)\n if (Object.is(objA, objB)) {\n return true;\n }\n\n // If either is not an object or is null, they're not equal\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n // Compare arrays\n if (Array.isArray(objA) && Array.isArray(objB)) {\n if (objA.length !== objB.length) {\n return false;\n }\n\n for (let i = 0; i < objA.length; i++) {\n if (!Object.is(objA[i], objB[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n // If only one is array, they're not equal\n if (Array.isArray(objA) || Array.isArray(objB)) {\n return false;\n }\n\n // Compare object keys\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Check if all keys and values match\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, key) || !Object.is((objA as Record<string, unknown>)[key], (objB as Record<string, unknown>)[key])) {\n return false;\n }\n }\n\n return true;\n}\n", "import compare from './compare';\nimport isEmpty from './isEmpty';\n\nexport default function sort<T>(value1: T, value2: T, order: number = 1, comparator: (val1: T, val2: T) => number, nullSortOrder: number = 1): number {\n const result = compare(value1, value2, comparator, order);\n let finalSortOrder = order;\n\n // nullSortOrder == 1 means Excel like sort nulls at bottom\n if (isEmpty(value1) || isEmpty(value2)) {\n finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;\n }\n\n return finalSortOrder * result;\n}\n", "import isArray from './isArray';\nimport isDate from './isDate';\nimport isFunction from './isFunction';\nimport isObject from './isObject';\n\nexport default function stringify(value: unknown, indent: number = 2, currentIndent: number = 0): string {\n const currentIndentStr = ' '.repeat(currentIndent);\n const nextIndentStr = ' '.repeat(currentIndent + indent);\n\n if (isArray(value)) {\n return '[' + (value as unknown[]).map((v: unknown) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';\n } else if (isDate(value)) {\n return value.toISOString();\n } else if (isFunction(value)) {\n return value.toString();\n } else if (isObject(value)) {\n return (\n '{\\n' +\n Object.entries(value)\n .map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)\n .join(',\\n') +\n `\\n${currentIndentStr}` +\n '}'\n );\n } else {\n return JSON.stringify(value);\n }\n}\n", "import isString from './isString';\n\nexport default function toCamelCase(str: string): string {\n // convert snake, kebab and pascal cases to camel case\n return isString(str) ? str.replace(/[-_](\\w)/g, (_, c) => (c ? c.toUpperCase() : '')) : str;\n}\n", "import isString from './isString';\n\nexport default function toCapitalCase(str: string): string {\n return isString(str, false) ? str[0].toUpperCase() + str.slice(1) : str;\n}\n", "import isString from './isString';\n\nexport default function toKebabCase(str: string): string {\n // convert snake, camel and pascal cases to kebab case\n return isString(str)\n ? str\n .replace(/(_)/g, '-')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase()\n : str;\n}\n", "export default function toMs(value: string | number): number {\n if (value === 'auto') return 0;\n\n if (typeof value === 'number') return value;\n\n return Number(value.replace(/[^\\d.]/g, '').replace(',', '.')) * 1000;\n}\n", "import isString from './isString';\n\nexport default function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c, i) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n", "import resolve from './resolve';\n\ntype ReactRef = { current: unknown };\ntype VueRef = { value: unknown };\n\nexport default function toValue(value: unknown): unknown {\n if (value && typeof value === 'object') {\n if (Object.hasOwn(value, 'current')) {\n // For React\n return (value as ReactRef).current;\n } else if (Object.hasOwn(value, 'value')) {\n // For Vue\n return (value as VueRef).value;\n }\n }\n\n // For Angular signals and functions usage\n return resolve(value);\n}\n", "export type Handler = (evt: unknown) => void;\n\nexport interface EventBusOptions {\n on(type: string, handler: Handler): void;\n off(type: string, handler: Handler): void;\n emit(type: string, evt?: unknown): void;\n clear(): void;\n}\n\nexport function EventBus(): EventBusOptions {\n const allHandlers = new Map<string, Handler[]>();\n\n return {\n on(type: string, handler: Handler) {\n let handlers = allHandlers.get(type);\n\n if (!handlers) handlers = [handler];\n else handlers.push(handler);\n\n allHandlers.set(type, handlers);\n\n return this;\n },\n off(type: string, handler: Handler) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n\n return this;\n },\n emit(type: string, evt?: unknown) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.forEach((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\n", "const lastIds: { [key: string]: number } = {};\n\nexport function uuid(prefix: string = 'pui_id_'): string {\n if (!Object.hasOwn(lastIds, prefix)) {\n lastIds[prefix] = 0;\n }\n\n lastIds[prefix]++;\n\n return `${prefix}${lastIds[prefix]}`;\n}\n", "export interface ZIndexOptions {\n get(element?: HTMLElement): number;\n set(key: string, element: HTMLElement, baseZIndex?: number): void;\n clear(element: HTMLElement): void;\n getCurrent(key: string): number;\n}\n\nfunction handler(): ZIndexOptions {\n let zIndexes: { key: string; value: number }[] = [];\n\n const generateZIndex = (key: string, autoZIndex: boolean, baseZIndex: number = 999) => {\n const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);\n const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;\n\n zIndexes.push({ key, value: newZIndex });\n\n return newZIndex;\n };\n\n const revertZIndex = (zIndex: number) => {\n zIndexes = zIndexes.filter((obj) => obj.value !== zIndex);\n };\n\n const getCurrentZIndex = (key: string, autoZIndex: boolean) => {\n return getLastZIndex(key, autoZIndex).value;\n };\n\n const getLastZIndex = (key: string, autoZIndex: boolean, baseZIndex: number = 0) => {\n return [...zIndexes].reverse().find((obj) => (autoZIndex ? true : obj.key === key)) || { key, value: baseZIndex };\n };\n\n const getZIndex = (element?: HTMLElement): number => {\n return element ? parseInt(element.style.zIndex, 10) || 0 : 0;\n };\n\n return {\n get: getZIndex,\n set: (key: string, element?: HTMLElement, baseZIndex?: number) => {\n if (element) {\n element.style.zIndex = String(generateZIndex(key, true, baseZIndex));\n }\n },\n clear: (element?: HTMLElement) => {\n if (element) {\n revertZIndex(getZIndex(element));\n element.style.zIndex = '';\n }\n },\n getCurrent: (key: string) => getCurrentZIndex(key, true)\n };\n}\n\nexport const ZIndex: ZIndexOptions = handler();\n", "import { deepMerge } from '@primeuix/utils/object';\n\nexport default function definePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n return deepMerge(...presets) as T;\n}\n", "import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function updatePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(Theme.getPreset(), ...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n", "import { EventBus } from '@primeuix/utils/eventbus';\n\nconst ThemeService = EventBus();\n\nexport default ThemeService;\n", "import { getKeyValue, isArray, isNotEmpty, isNumber, isObject, isString, matchRegex, toKebabCase } from '@primeuix/utils/object';\n\nexport const EXPR_REGEX = /{([^}]*)}/g; // Exp: '{a}', '{a.b}', '{a.b.c}' etc.\nexport const CALC_REGEX = /(\\d+\\s+[\\+\\-\\*\\/]\\s+\\d+)/g;\nexport const VAR_REGEX = /var\\([^)]+\\)/g;\n\nexport function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c: string, i: number) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n\nexport function merge(value1: any, value2: any): void {\n if (isArray(value1)) {\n value1.push(...(value2 || []));\n } else if (isObject(value1)) {\n Object.assign(value1, value2);\n }\n}\n\nexport function toValue(value: any): any {\n // Check for Figma ($value-$type)\n return isObject(value) && value.hasOwnProperty('$value') && value.hasOwnProperty('$type') ? (value as any).$value : value;\n}\n\nexport function toUnit(value: string, variable: string = ''): string {\n const excludedProperties = ['opacity', 'z-index', 'line-height', 'font-weight', 'flex', 'flex-grow', 'flex-shrink', 'order'];\n\n if (!excludedProperties.some((property) => variable.endsWith(property))) {\n const val = `${value}`.trim();\n const valArr = val.split(' ');\n\n return valArr.map((v) => (isNumber(v) ? `${v}px` : v)).join(' ');\n }\n\n return value;\n}\n\nexport function toNormalizePrefix(prefix: string): string {\n return prefix.replaceAll(/ /g, '').replace(/[^\\w]/g, '-');\n}\n\nexport function toNormalizeVariable(prefix: string = '', variable: string = ''): string {\n return toNormalizePrefix(`${isString(prefix, false) && isString(variable, false) ? `${prefix}-` : prefix}${variable}`);\n}\n\nexport function getVariableName(prefix: string = '', variable: string = ''): string {\n return `--${toNormalizeVariable(prefix, variable)}`;\n}\n\nexport function hasOddBraces(str: string = ''): boolean {\n const openBraces = (str.match(/{/g) || []).length;\n const closeBraces = (str.match(/}/g) || []).length;\n\n return (openBraces + closeBraces) % 2 !== 0;\n}\n\nexport function getVariableValue(value: any, variable: string = '', prefix: string = '', excludedKeyRegexes: RegExp[] = [], fallback?: string): string | undefined {\n if (isString(value)) {\n const val = value.trim();\n\n if (hasOddBraces(val)) {\n return undefined;\n } else if (matchRegex(val, EXPR_REGEX)) {\n const _val = val.replaceAll(EXPR_REGEX, (v: string) => {\n const path = v.replace(/{|}/g, '');\n const keys = path.split('.').filter((_v: string) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));\n\n return `var(${getVariableName(prefix, toKebabCase(keys.join('-')))}${isNotEmpty(fallback) ? `, ${fallback}` : ''})`;\n });\n\n return matchRegex(_val.replace(VAR_REGEX, '0'), CALC_REGEX) ? `calc(${_val})` : _val;\n }\n\n return val; //toUnit(val, variable);\n } else if (isNumber(value)) {\n return value; //toUnit(value, variable);\n }\n\n return undefined;\n}\n\nexport function getComputedValue(obj = {}, value: any): any {\n if (isString(value)) {\n const val = value.trim();\n\n return matchRegex(val, EXPR_REGEX) ? val.replaceAll(EXPR_REGEX, (v: string) => getKeyValue(obj, v.replace(/{|}/g, '')) as string) : val;\n } else if (isNumber(value)) {\n return value;\n }\n\n return undefined;\n}\n\nexport function setProperty(properties: string[], key: string, value?: string) {\n if (isString(key, false)) {\n properties.push(`${key}:${value};`);\n }\n}\n\nexport function getRule(selector: string, properties: string): string {\n if (selector) {\n return `${selector}{${properties}}`;\n }\n\n return '';\n}\n\nexport function evaluateDtExpressions(input: string, fn: (...args: any[]) => string): string {\n if (input.indexOf('dt(') === -1) return input;\n\n function fastParseArgs(str: string, fn: (...args: (string | number)[]) => string): (string | number)[] {\n const args: (string | number)[] = [];\n let i = 0;\n let current = '';\n let quote: string | null = null;\n let depth = 0;\n\n while (i <= str.length) {\n const c = str[i];\n\n if ((c === '\"' || c === \"'\" || c === '`') && str[i - 1] !== '\\\\') {\n quote = quote === c ? null : c;\n }\n\n if (!quote) {\n if (c === '(') depth++;\n if (c === ')') depth--;\n\n if ((c === ',' || i === str.length) && depth === 0) {\n const arg = current.trim();\n\n if (arg.startsWith('dt(')) {\n args.push(evaluateDtExpressions(arg, fn));\n } else {\n args.push(parseArg(arg));\n }\n\n current = '';\n i++;\n continue;\n }\n }\n\n if (c !== undefined) current += c;\n i++;\n }\n\n return args;\n }\n\n function parseArg(arg: string): string | number {\n const q = arg[0];\n\n if ((q === '\"' || q === \"'\" || q === '`') && arg[arg.length - 1] === q) {\n return arg.slice(1, -1);\n }\n\n const num = Number(arg);\n\n return isNaN(num) ? arg : num;\n }\n\n const indices: [number, number][] = [];\n const stack: number[] = [];\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === 'd' && input.slice(i, i + 3) === 'dt(') {\n stack.push(i);\n i += 2;\n } else if (input[i] === ')' && stack.length > 0) {\n const start = stack.pop()!;\n\n if (stack.length === 0) {\n indices.push([start, i]);\n }\n }\n }\n\n if (!indices.length) return input;\n\n for (let i = indices.length - 1; i >= 0; i--) {\n const [start, end] = indices[i];\n const inner = input.slice(start + 3, end);\n const args = fastParseArgs(inner, fn);\n const resolved = fn(...args);\n\n input = input.slice(0, start) + resolved + input.slice(end + 1);\n }\n\n return input;\n}\n", "import { isEmpty, isNotEmpty, isObject, matchRegex, minifyCSS, resolve } from '@primeuix/utils/object';\nimport { dt, toVariables } from '../helpers/index';\nimport { CALC_REGEX, EXPR_REGEX, getRule, toTokenKey, VAR_REGEX } from './sharedUtils';\n\nexport default {\n regex: {\n rules: {\n class: {\n pattern: /^\\.([a-zA-Z][\\w-]*)$/,\n resolve(value: string) {\n return { type: 'class', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n attr: {\n pattern: /^\\[(.*)\\]$/,\n resolve(value: string) {\n return { type: 'attr', selector: `:root${value},:host${value}`, matched: this.pattern.test(value.trim()) };\n }\n },\n media: {\n pattern: /^@media (.*)$/,\n resolve(value: string) {\n return { type: 'media', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n system: {\n pattern: /^system$/,\n resolve(value: string) {\n return { type: 'system', selector: '@media (prefers-color-scheme: dark)', matched: this.pattern.test(value.trim()) };\n }\n },\n custom: {\n resolve(value: string) {\n return { type: 'custom', selector: value, matched: true };\n }\n }\n },\n resolve(value: any) {\n const rules = Object.keys(this.rules)\n .filter((k) => k !== 'custom')\n .map((r) => (this.rules as any)[r]);\n\n return [value].flat().map((v) => rules.map((r) => r.resolve(v)).find((rr) => rr.matched) ?? this.rules.custom.resolve(v));\n }\n },\n _toVariables(theme: any, options: any) {\n return toVariables(theme, { prefix: options?.prefix });\n },\n getCommon({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;\n\n // @todo - check if options is not empty\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const { primitive, semantic, extend } = preset;\n const { colorScheme, ...sRest } = semantic || {};\n const { colorScheme: eColorScheme, ...eRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: eDark, ...ecsRest } = eColorScheme || {};\n const prim_var: any = isNotEmpty(primitive) ? this._toVariables({ primitive }, options) : {};\n const sRest_var: any = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ dark }, options) : {};\n const eRest_var: any = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options) : {};\n const ecsRest_var: any = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};\n const ecsDark_var: any = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options) : {};\n\n const [prim_css, prim_tokens] = [prim_var.declarations ?? '', prim_var.tokens];\n const [sRest_css, sRest_tokens] = [sRest_var.declarations ?? '', sRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n const [eRest_css, eRest_tokens] = [eRest_var.declarations ?? '', eRest_var.tokens || []];\n const [ecsRest_css, ecsRest_tokens] = [ecsRest_var.declarations ?? '', ecsRest_var.tokens || []];\n const [ecsDark_css, ecsDark_tokens] = [ecsDark_var.declarations ?? '', ecsDark_var.tokens || []];\n\n primitive_css = this.transformCSS(name, prim_css, 'light', 'variable', options, set, defaults);\n primitive_tokens = prim_tokens;\n\n const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults);\n const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, 'dark', 'variable', options, set, defaults);\n\n semantic_css = `${semantic_light_css}${semantic_dark_css}`;\n semantic_tokens = [...new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults);\n const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, 'dark', 'variable', options, set, defaults);\n\n global_css = `${global_light_css}${global_dark_css}`;\n global_tokens = [...new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];\n\n style = resolve(preset.css, { dt }) as string;\n }\n\n return {\n primitive: {\n css: primitive_css,\n tokens: primitive_tokens\n },\n semantic: {\n css: semantic_css,\n tokens: semantic_tokens\n },\n global: {\n css: global_css,\n tokens: global_tokens\n },\n style\n };\n },\n getPreset({ name = '', preset = {}, options, params, set, defaults, selector }: any) {\n let p_css, p_tokens, p_style;\n\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const _name = name.replace('-directive', '');\n const { colorScheme, extend, css, ...vRest } = preset;\n const { colorScheme: eColorScheme, ...evRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: ecsDark, ...ecsRest } = eColorScheme || {};\n const vRest_var: any = isNotEmpty(vRest) ? this._toVariables({ [_name]: { ...vRest, ...evRest } }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ [_name]: { ...csRest, ...ecsRest } }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ [_name]: { ...dark, ...ecsDark } }, options) : {};\n\n const [vRest_css, vRest_tokens] = [vRest_var.declarations ?? '', vRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n\n const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults, selector);\n const dark_variable_css = this.transformCSS(_name, csDark_css, 'dark', 'variable', options, set, defaults, selector);\n\n p_css = `${light_variable_css}${dark_variable_css}`;\n p_tokens = [...new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n p_style = resolve(css, { dt }) as string;\n }\n\n return {\n css: p_css,\n tokens: p_tokens,\n style: p_style\n };\n },\n getPresetC({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n const cPreset = preset?.components?.[name];\n\n return this.getPreset({ name, preset: cPreset, options, params, set, defaults });\n },\n // @deprecated - use getPresetC instead\n getPresetD({ name = '', theme = {}, params, set, defaults }: any) {\n const dName = name.replace('-directive', '');\n const { preset, options } = theme;\n const dPreset = preset?.components?.[dName] || preset?.directives?.[dName];\n\n return this.getPreset({ name: dName, preset: dPreset, options, params, set, defaults });\n },\n applyDarkColorScheme(options: any) {\n return !(options.darkModeSelector === 'none' || options.darkModeSelector === false);\n },\n getColorSchemeOption(options: any, defaults: any) {\n return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults.options.darkModeSelector : (options.darkModeSelector ?? defaults.options.darkModeSelector)) : [];\n },\n getLayerOrder(name: string, options: any = {}, params: any, defaults: any) {\n const { cssLayer } = options;\n\n if (cssLayer) {\n const order = resolve(cssLayer.order || cssLayer.name || 'primeui', params);\n\n return `@layer ${order}`;\n }\n\n return '';\n },\n getCommonStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const common = this.getCommon({ name, theme, params, set, defaults });\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return Object.entries(common || {})\n .reduce((acc: any, [key, value]) => {\n if (isObject(value) && Object.hasOwn(value, 'css')) {\n const _css = minifyCSS((value as any).css);\n const id = `${key}-variables`;\n\n acc.push(`<style type=\"text/css\" data-primevue-style-id=\"${id}\" ${_props}>${_css}</style>`); // @todo data-primevue -> data-primeui check in primevue usestyle\n }\n\n return acc;\n }, [])\n .join('');\n },\n getStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const options = { name, theme, params, set, defaults };\n const preset_css = (name.includes('-directive') ? this.getPresetD(options) : this.getPresetC(options))?.css;\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return preset_css ? `<style type=\"text/css\" data-primevue-style-id=\"${name}-variables\" ${_props}>${minifyCSS(preset_css)}</style>` : ''; // @todo check\n },\n createTokens(obj: any = {}, defaults: any, parentKey: string = '', parentPath: string = '', tokens: any = {}) {\n const computedFn = function (this: any, colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) {\n if (stack.includes(this.path)) {\n console.warn(`Circular reference detected at ${this.path}`);\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: undefined\n };\n }\n\n stack.push(this.path);\n tokenPathMap['name'] = this.path;\n tokenPathMap['binding'] ||= {};\n\n let computedValue: any = this.value;\n\n if (typeof this.value === 'string' && EXPR_REGEX.test(this.value)) {\n const val = this.value.trim();\n const _val = val.replace(EXPR_REGEX, (v: any) => {\n const refPath = v.slice(1, -1);\n const refToken = this.tokens[refPath];\n\n if (!refToken) {\n console.warn(`Token not found for path: ${refPath}`);\n\n return `__UNRESOLVED__`;\n }\n\n const computed = refToken.computed(colorScheme, tokenPathMap, stack);\n\n if (Array.isArray(computed) && computed.length === 2) {\n return `light-dark(${computed[0].value},${computed[1].value})`;\n } else {\n return computed?.value ?? `__UNRESOLVED__`;\n }\n });\n\n computedValue = CALC_REGEX.test(_val.replace(VAR_REGEX, '0')) ? `calc(${_val})` : _val;\n }\n\n if (isEmpty(tokenPathMap['binding'])) {\n delete tokenPathMap['binding'];\n }\n\n stack.pop();\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: computedValue.includes('__UNRESOLVED__') ? undefined : computedValue\n };\n };\n\n const traverse = (obj: any, parentKey: string, parentPath: string) => {\n Object.entries(obj).forEach(([key, value]) => {\n const currentKey = matchRegex(key, defaults.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey(key)}` : toTokenKey(key);\n\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n\n if (isObject(value)) {\n traverse(value, currentKey, currentPath);\n } else {\n if (!tokens[currentKey]) {\n tokens[currentKey] = {\n paths: [],\n computed: (colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) => {\n if (tokens[currentKey].paths.length === 1) {\n return tokens[currentKey].paths[0].computed(tokens[currentKey].paths[0].scheme, tokenPathMap['binding'], stack);\n } else if (colorScheme && colorScheme !== 'none') {\n for (let i = 0; i < tokens[currentKey].paths.length; i++) {\n const p = tokens[currentKey].paths[i];\n\n if (p.scheme === colorScheme) {\n return p.computed(colorScheme, tokenPathMap['binding'], stack);\n }\n }\n }\n\n return tokens[currentKey].paths.map((p: any) => p.computed(p.scheme, tokenPathMap[p.scheme], stack));\n }\n };\n }\n\n tokens[currentKey].paths.push({\n path: currentPath,\n value,\n scheme: currentPath.includes('colorScheme.light') ? 'light' : currentPath.includes('colorScheme.dark') ? 'dark' : 'none',\n computed: computedFn,\n tokens\n });\n }\n });\n };\n\n traverse(obj, parentKey, parentPath);\n\n return tokens;\n },\n getTokenValue(tokens: any, path: string, defaults: any) {\n const normalizePath = (str: string) => {\n const strArr = str.split('.');\n\n return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults.variable.excludedKeyRegex)).join('.');\n };\n\n const token = normalizePath(path);\n const colorScheme = path.includes('colorScheme.light') ? 'light' : path.includes('colorScheme.dark') ? 'dark' : undefined;\n const computedValues = [tokens[token as any]?.computed(colorScheme)].flat().filter((computed) => computed);\n\n return computedValues.length === 1\n ? computedValues[0].value\n : computedValues.reduce((acc = {}, computed) => {\n const { colorScheme: cs, ...rest } = computed;\n\n acc[cs] = rest;\n\n return acc;\n }, undefined);\n },\n getSelectorRule(selector1: any, selector2: any, type: string, css: string) {\n return type === 'class' || type === 'attr' ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css) : getRule(selector1, getRule(selector2 ?? ':root,:host', css));\n },\n transformCSS(name: string, css: string, mode?: string, type?: string, options: any = {}, set?: any, defaults?: any, selector?: string) {\n if (isNotEmpty(css)) {\n const { cssLayer } = options;\n\n if (type !== 'style') {\n const colorSchemeOption = this.getColorSchemeOption(options, defaults);\n\n css =\n mode === 'dark'\n ? colorSchemeOption.reduce((acc, { type, selector: _selector }) => {\n if (isNotEmpty(_selector)) {\n acc += _selector.includes('[CSS]') ? _selector.replace('[CSS]', css) : this.getSelectorRule(_selector, selector, type, css);\n }\n\n return acc;\n }, '')\n : getRule(selector ?? ':root,:host', css);\n }\n\n if (cssLayer) {\n const layerOptions = {\n name: 'primeui',\n order: 'primeui'\n };\n\n isObject(cssLayer) && (layerOptions.name = resolve((cssLayer as any).name, { name, type }));\n\n if (isNotEmpty(layerOptions.name)) {\n css = getRule(`@layer ${layerOptions.name}`, css);\n set?.layerNames(layerOptions.name);\n }\n }\n\n return css;\n }\n\n return '';\n }\n};\n", "function normalizeColor(color: string): string {\n if (color.length === 4) {\n return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n\n return color;\n}\n\nfunction hexToRgb(hex: string) {\n const bigint = parseInt(hex.substring(1), 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return { r, g, b };\n}\n\nfunction rgbToHex(r: number, g: number, b: number) {\n return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;\n}\n\nexport default (color1: string, color2: string, weight: number): string => {\n color1 = normalizeColor(color1);\n color2 = normalizeColor(color2);\n\n const p = weight / 100;\n const w = p * 2 - 1;\n const w1 = (w + 1) / 2.0;\n const w2 = 1 - w1;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * w1 + rgb2.r * w2);\n const g = Math.round(rgb1.g * w1 + rgb2.g * w2);\n const b = Math.round(rgb1.b * w1 + rgb2.b * w2);\n\n return rgbToHex(r, g, b);\n};\n", "import { matchRegex } from '@primeuix/utils';\nimport type { ColorScale } from '../..';\nimport { EXPR_REGEX } from '../../utils/index';\nimport shade from './shade';\nimport tint from './tint';\n\nconst scales: number[] = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\nexport default (color: string): string | ColorScale => {\n if (matchRegex(color, EXPR_REGEX)) {\n const token = color.replace(/{|}/g, '');\n\n return scales.reduce<ColorScale>((acc, scale) => {\n acc[scale as keyof ColorScale] = `{${token}.${scale}}`;\n\n return acc;\n }, {});\n }\n\n return typeof color === 'string'\n ? scales.reduce<ColorScale>((acc, scale, i) => {\n acc[scale as keyof ColorScale] = i <= 5 ? tint(color, (5 - i) * 19) : shade(color, (i - 5) * 15);\n\n return acc;\n }, {})\n : color;\n};\n", "import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#000000', color, percent);\n", "import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#ffffff', color, percent);\n", "import { resolve } from '@primeuix/utils';\nimport { evaluateDtExpressions, type StyleType } from '..';\nimport { dt } from './dt';\n\nexport function css(strings: TemplateStringsArray | StyleType, ...exprs: unknown[]): string | undefined {\n if (strings instanceof Array) {\n const raw = strings.reduce((acc, str, i) => acc + str + (resolve(exprs[i], { dt }) ?? ''), '');\n\n return evaluateDtExpressions(raw, dt);\n }\n\n return resolve(strings as unknown, { dt }) as string | undefined;\n}\n", "import { isEmpty, matchRegex } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { EXPR_REGEX, getVariableValue } from '../utils/index';\n\nexport const $dt = (tokenPath: string): { name: string; variable: string; value: unknown } => {\n const theme = Theme.getTheme();\n\n const variable = dtwt(theme, tokenPath, undefined, 'variable');\n const name = variable?.match(/--[\\w-]+/g)?.[0];\n const value = dtwt(theme, tokenPath, undefined, 'value');\n\n return {\n name,\n variable,\n value\n };\n};\n\nexport const dt = (...args: Parameters<typeof dtwt> extends [unknown, ...infer Rest] ? Rest : never) => {\n return dtwt(Theme.getTheme(), ...args);\n};\n\nexport const dtwt = (theme: any = {}, tokenPath: string, fallback?: string, type?: string) => {\n if (tokenPath) {\n const { variable: VARIABLE, options: OPTIONS } = Theme.defaults || {};\n const { prefix, transform } = theme?.options || OPTIONS || {};\n const token = matchRegex(tokenPath, EXPR_REGEX) ? tokenPath : `{${tokenPath}}`;\n const isStrictTransform = type === 'value' || (isEmpty(type) && transform === 'strict'); // @todo - TRANSFORM: strict | lenient(default)\n\n return isStrictTransform ? Theme.getTokenValue(tokenPath) : getVariableValue(token, undefined, prefix, [VARIABLE.excludedKeyRegex], fallback);\n }\n\n return '';\n};\n", "import { mergeKeys } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport const $t = (theme: any = {}) => {\n let { preset: _preset, options: _options } = theme;\n\n return {\n preset(value: any) {\n _preset = _preset ? mergeKeys(_preset, value) : value;\n\n return this;\n },\n options(value: any) {\n _options = _options ? { ..._options, ...value } : value;\n\n return this;\n },\n // features\n primaryPalette(primary: any) {\n const { semantic } = _preset || {};\n\n _preset = { ..._preset, semantic: { ...semantic, primary } };\n\n return this;\n },\n surfacePalette(surface: any) {\n const { semantic } = _preset || {};\n const lightSurface = surface && Object.hasOwn(surface, 'light') ? surface.light : surface;\n const darkSurface = surface && Object.hasOwn(surface, 'dark') ? surface.dark : surface;\n const newColorScheme = {\n colorScheme: {\n light: { ...semantic?.colorScheme?.light, ...(!!lightSurface && { surface: lightSurface }) },\n dark: { ...semantic?.colorScheme?.dark, ...(!!darkSurface && { surface: darkSurface }) }\n }\n };\n\n _preset = { ..._preset, semantic: { ...semantic, ...newColorScheme } };\n\n return this;\n },\n // actions\n define({ useDefaultPreset = false, useDefaultOptions = false } = {}) {\n return {\n preset: useDefaultPreset ? Theme.getPreset() : _preset,\n options: useDefaultOptions ? Theme.getOptions() : _options\n };\n },\n update({ mergePresets = true, mergeOptions = true } = {}) {\n const newTheme = {\n preset: mergePresets ? mergeKeys(Theme.getPreset(), _preset) : _preset,\n options: mergeOptions ? { ...Theme.getOptions(), ..._options } : _options\n };\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n },\n use(options: any) {\n const newTheme = this.define(options);\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n }\n };\n};\n", "import { isObject, matchRegex, toKebabCase } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { getRule, getVariableName, getVariableValue, setProperty, toNormalizeVariable, toValue } from '../utils/index';\n\nexport interface toVariableOptions {\n prefix?: string;\n selector?: string;\n excludedKeyRegex?: RegExp;\n}\n\nexport interface toVariableOutput {\n value: string[];\n tokens: string[];\n declarations: string;\n css: string;\n}\n\nexport default function (theme: any, options: toVariableOptions = {}): toVariableOutput {\n const VARIABLE = Theme.defaults.variable;\n const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;\n\n const tokens: string[] = [];\n const variables: string[] = [];\n\n const stack = [{ node: theme, path: prefix }];\n\n while (stack.length) {\n const { node, path } = stack.pop()!;\n\n for (const key in node) {\n const raw = node[key];\n const val = toValue(raw);\n\n const skipNormalize = matchRegex(key, excludedKeyRegex);\n const variablePath = skipNormalize ? toNormalizeVariable(path) : toNormalizeVariable(path, toKebabCase(key));\n\n if (isObject(val)) {\n stack.push({ node: val, path: variablePath });\n } else {\n const varName = getVariableName(variablePath);\n const varValue = getVariableValue(val, variablePath, prefix, [excludedKeyRegex]);\n\n setProperty(variables, varName, varValue);\n\n let token = variablePath;\n\n if (prefix && token.startsWith(prefix + '-')) {\n token = token.slice(prefix.length + 1);\n }\n\n tokens.push(token.replace(/-/g, '.'));\n }\n }\n }\n\n const declarations = variables.join('');\n\n return {\n value: variables,\n tokens,\n declarations,\n css: getRule(selector, declarations)\n };\n}\n", "import ThemeService from '../service/index';\nimport { ThemeUtils } from '../utils/index';\n\nexport default {\n defaults: {\n variable: {\n prefix: 'p',\n selector: ':root,:host',\n excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi\n },\n options: {\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false\n }\n },\n _theme: undefined,\n _layerNames: new Set(),\n _loadedStyleNames: new Set(),\n _loadingStyles: new Set(),\n _tokens: {},\n update(newValues: any = {}) {\n const { theme } = newValues;\n\n if (theme) {\n this._theme = {\n ...theme,\n options: {\n ...this.defaults.options,\n ...theme.options\n }\n };\n this._tokens = ThemeUtils.createTokens(this.preset, this.defaults);\n this.clearLoadedStyleNames();\n }\n },\n get theme(): any {\n return this._theme;\n },\n get preset() {\n return this.theme?.preset || {};\n },\n get options() {\n return this.theme?.options || {};\n },\n get tokens() {\n return this._tokens;\n },\n getTheme() {\n return this.theme;\n },\n setTheme(newValue: any) {\n this.update({ theme: newValue });\n ThemeService.emit('theme:change', newValue);\n },\n getPreset() {\n return this.preset;\n },\n setPreset(newValue: any) {\n this._theme = { ...this.theme, preset: newValue };\n this._tokens = ThemeUtils.createTokens(newValue, this.defaults);\n\n this.clearLoadedStyleNames();\n ThemeService.emit('preset:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getOptions() {\n return this.options;\n },\n setOptions(newValue: any) {\n this._theme = { ...this.theme, options: newValue };\n\n this.clearLoadedStyleNames();\n ThemeService.emit('options:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getLayerNames() {\n return [...this._layerNames];\n },\n setLayerNames(layerName: any) {\n this._layerNames.add(layerName);\n },\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n },\n getTokenValue(tokenPath: string) {\n return ThemeUtils.getTokenValue(this.tokens, tokenPath, this.defaults);\n },\n getCommon(name = '', params: any) {\n return ThemeUtils.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getComponent(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetC(options);\n },\n // @deprecated - use getComponent instead\n getDirective(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetD(options);\n },\n getCustomPreset(name = '', preset: any, selector: string, params: any) {\n const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPreset(options);\n },\n getLayerOrderCSS(name = '') {\n return ThemeUtils.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);\n },\n transformCSS(name = '', css: string, type: string = 'style', mode?: string) {\n return ThemeUtils.transformCSS(name, css, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);\n },\n getCommonStyleSheet(name = '', params: any, props = {}) {\n return ThemeUtils.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getStyleSheet(name: string, params: any, props = {}) {\n return ThemeUtils.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n onStyleMounted(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleUpdated(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleLoaded(event: any, { name }: { name: any }) {\n if (this._loadingStyles.size) {\n this._loadingStyles.delete(name);\n\n ThemeService.emit(`theme:${name}:load`, event); // Exp: ThemeService.emit('theme:panel-style:load', event)\n !this._loadingStyles.size && ThemeService.emit('theme:load');\n }\n }\n};\n", "import { $t } from '../helpers/index';\n\nexport default function updatePrimaryPalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().primaryPalette(palette).update().preset as P;\n}\n", "import { $t } from '../helpers/index';\n\nexport default function updateSurfacePalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().surfacePalette(palette).update().preset as P;\n}\n", "import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function usePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n", "import { $t } from '../helpers/index';\n\nexport default function useTheme<T = unknown>(theme: T): T {\n return $t(theme).update({ mergePresets: false }) as T;\n}\n", "import { createStyleMarkup, isNotEmpty } from '@primeuix/utils';\n\nexport interface StyleSheetProps {\n attrs?: Record<string, unknown>;\n}\n\nexport interface StyleMeta<E = HTMLStyleElement> {\n name?: string;\n css?: string;\n attrs?: Record<string, unknown>;\n markup?: string;\n element?: E;\n}\n\nclass StyleSheet<E = HTMLStyleElement> {\n _styles: Map<string, StyleMeta<E>>;\n _attrs: Record<string, unknown>;\n constructor({ attrs }: StyleSheetProps = {}) {\n this._styles = new Map();\n this._attrs = attrs || {};\n }\n get(key: string) {\n return this._styles.get(key);\n }\n has(key: string) {\n return this._styles.has(key);\n }\n delete(key: string) {\n this._styles.delete(key);\n }\n clear() {\n this._styles.clear();\n }\n add(key: string, css?: string) {\n if (isNotEmpty(css)) {\n const meta = {\n name: key,\n css,\n attrs: this._attrs,\n markup: createStyleMarkup(css, this._attrs)\n } satisfies StyleMeta<E>;\n\n this._styles.set(key, {\n ...meta,\n element: this.createStyleElement(meta)\n });\n }\n }\n update() {\n // @todo\n }\n getStyles() {\n return this._styles;\n }\n getAllCSS() {\n return [...this._styles.values()].map((style) => style.css).filter(String);\n }\n getAllMarkup() {\n return [...this._styles.values()].map((style) => style.markup).filter(String);\n }\n getAllElements() {\n return [...this._styles.values()].map((style) => style.element);\n }\n /**\n * Used to create a style element.\n *\n * @param {StyleMeta} meta\n * @returns {HTMLStyleElement | undefined}\n */\n // eslint-disable-next-line\n createStyleElement(meta: StyleMeta = {}): E | undefined {\n return undefined;\n }\n}\n\nexport default StyleSheet;\n", "export default {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n", "/*\n * Ported from useStyleTag in @vueuse/core\n * https://github.com/vueuse\n */\nimport { isClient, isExist, setAttribute, setAttributes } from '@primeuix/utils/dom';\nimport { getCurrentInstance, nextTick, onMounted, readonly, ref, watch } from 'vue';\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance() && getCurrentInstance().components) onMounted(fn);\n else if (sync) fn();\n else nextTick(fn);\n}\n\nlet _id = 0;\n\nexport function useStyle(css, options = {}) {\n const isLoaded = ref(false);\n const cssRef = ref(css);\n const styleRef = ref(null);\n\n const defaultDocument = isClient() ? window.document : undefined;\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n name = `style_${++_id}`,\n id = undefined,\n media = undefined,\n nonce = undefined,\n first = false,\n onMounted: onStyleMounted = undefined,\n onUpdated: onStyleUpdated = undefined,\n onLoad: onStyleLoaded = undefined,\n props = {}\n } = options;\n\n let stop = () => {};\n\n /* @todo: Improve _options params */\n const load = (_css, _props = {}) => {\n if (!document) return;\n\n const _styleProps = { ...props, ..._props };\n const [_name, _id, _nonce] = [_styleProps.name || name, _styleProps.id || id, _styleProps.nonce || nonce];\n\n styleRef.value = document.querySelector(`style[data-primevue-style-id=\"${_name}\"]`) || document.getElementById(_id) || document.createElement('style');\n\n if (!styleRef.value.isConnected) {\n cssRef.value = _css || css;\n\n setAttributes(styleRef.value, {\n type: 'text/css',\n id: _id,\n media,\n nonce: _nonce\n });\n first ? document.head.prepend(styleRef.value) : document.head.appendChild(styleRef.value);\n setAttribute(styleRef.value, 'data-primevue-style-id', _name);\n setAttributes(styleRef.value, _styleProps);\n styleRef.value.onload = (event) => onStyleLoaded?.(event, { name: _name });\n onStyleMounted?.(_name);\n }\n\n if (isLoaded.value) return;\n\n stop = watch(\n cssRef,\n (value) => {\n styleRef.value.textContent = value;\n onStyleUpdated?.(_name);\n },\n { immediate: true }\n );\n\n isLoaded.value = true;\n };\n\n const unload = () => {\n if (!document || !isLoaded.value) return;\n stop();\n isExist(styleRef.value) && document.head.removeChild(styleRef.value);\n isLoaded.value = false;\n styleRef.value = null;\n };\n\n if (immediate && !manual) tryOnMounted(load);\n\n /*if (!manual)\n tryOnScopeDispose(unload)*/\n\n return {\n id,\n name,\n el: styleRef,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n", "import { css as Css, Theme, dt } from '@primeuix/styled';\nimport { style } from '@primeuix/styles/base';\nimport { isNotEmpty, minifyCSS, resolve } from '@primeuix/utils/object';\nimport { useStyle } from '@primevue/core/usestyle';\n\nconst css = ({ dt }) => `\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0;\n pointer-events: none;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: ${dt('scrollbar.width')};\n}\n`;\n\nconst classes = {};\n\nconst inlineStyles = {};\n\nexport default {\n name: 'base',\n css,\n style,\n classes,\n inlineStyles,\n load(style, options = {}, transform = (cs) => cs) {\n const computedStyle = transform(Css`${style}`);\n\n return isNotEmpty(computedStyle) ? useStyle(minifyCSS(computedStyle), { name: this.name, ...options }) : {};\n },\n loadCSS(options = {}) {\n return this.load(this.css, options);\n },\n loadStyle(options = {}, style = '') {\n return this.load(this.style, options, (computedStyle = '') => Theme.transformCSS(options.name || this.name, `${computedStyle}${Css`${style}`}`));\n },\n getCommonTheme(params) {\n return Theme.getCommon(this.name, params);\n },\n getComponentTheme(params) {\n return Theme.getComponent(this.name, params);\n },\n getDirectiveTheme(params) {\n return Theme.getDirective(this.name, params);\n },\n getPresetTheme(preset, selector, params) {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n },\n getLayerOrderThemeCSS() {\n return Theme.getLayerOrderCSS(this.name);\n },\n getStyleSheet(extendedCSS = '', props = {}) {\n if (this.css) {\n const _css = resolve(this.css, { dt }) || '';\n const _style = minifyCSS(Css`${_css}${extendedCSS}`);\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return isNotEmpty(_style) ? `<style type=\"text/css\" data-primevue-style-id=\"${this.name}\" ${_props}>${_style}</style>` : '';\n }\n\n return '';\n },\n getCommonThemeStyleSheet(params, props = {}) {\n return Theme.getCommonStyleSheet(this.name, params, props);\n },\n getThemeStyleSheet(params, props = {}) {\n let css = [Theme.getStyleSheet(this.name, params, props)];\n\n if (this.style) {\n const name = this.name === 'base' ? 'global-style' : `${this.name}-style`;\n const _css = Css`${resolve(this.style, { dt })}`;\n const _style = minifyCSS(Theme.transformCSS(name, _css));\n const _props = Object.entries(props)\n .reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n isNotEmpty(_style) && css.push(`<style type=\"text/css\" data-primevue-style-id=\"${name}\" ${_props}>${_style}</style>`);\n }\n\n return css.join('');\n },\n extend(inStyle) {\n return { ...this, css: undefined, style: undefined, ...inStyle };\n }\n};\n", "import { useId } from 'vue';\n\nexport function useAttrSelector(prefix = 'pc') {\n const idx = useId();\n\n return `${prefix}${idx.replace('v-', '').replaceAll('-', '_')}`;\n}\n", "import BaseStyle from '@primevue/core/base/style';\n\nexport default BaseStyle.extend({\n name: 'common'\n});\n", "<script>\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { findSingle, isElement } from '@primeuix/utils/dom';\nimport { getKeyValue, isArray, isFunction, isNotEmpty, isString, resolve, toFlatCase } from '@primeuix/utils/object';\nimport Base from '@primevue/core/base';\nimport BaseStyle from '@primevue/core/base/style';\nimport { useAttrSelector } from '@primevue/core/useattrselector';\nimport { mergeProps } from 'vue';\nimport BaseComponentStyle from './style/BaseComponentStyle';\n\nexport default {\n name: 'BaseComponent',\n props: {\n pt: {\n type: Object,\n default: undefined\n },\n ptOptions: {\n type: Object,\n default: undefined\n },\n unstyled: {\n type: Boolean,\n default: undefined\n },\n dt: {\n type: Object,\n default: undefined\n }\n },\n inject: {\n $parentInstance: {\n default: undefined\n }\n },\n watch: {\n isUnstyled: {\n immediate: true,\n handler(newValue) {\n ThemeService.off('theme:change', this._loadCoreStyles);\n\n if (!newValue) {\n this._loadCoreStyles();\n this._themeChangeListener(this._loadCoreStyles); // update styles with theme settings\n }\n }\n },\n dt: {\n immediate: true,\n handler(newValue, oldValue) {\n ThemeService.off('theme:change', this._themeScopedListener);\n\n if (newValue) {\n this._loadScopedThemeStyles(newValue);\n this._themeScopedListener = () => this._loadScopedThemeStyles(newValue);\n this._themeChangeListener(this._themeScopedListener);\n } else {\n this._unloadScopedThemeStyles();\n }\n }\n }\n },\n scopedStyleEl: undefined,\n rootEl: undefined,\n uid: undefined,\n $attrSelector: undefined,\n beforeCreate() {\n const _usept = this.pt?.['_usept'];\n const originalValue = _usept ? this.pt?.originalValue?.[this.$.type.name] : undefined;\n const value = _usept ? this.pt?.value?.[this.$.type.name] : this.pt;\n\n (value || originalValue)?.hooks?.['onBeforeCreate']?.();\n\n const _useptInConfig = this.$primevueConfig?.pt?.['_usept'];\n const originalValueInConfig = _useptInConfig ? this.$primevue?.config?.pt?.originalValue : undefined;\n const valueInConfig = _useptInConfig ? this.$primevue?.config?.pt?.value : this.$primevue?.config?.pt;\n\n (valueInConfig || originalValueInConfig)?.[this.$.type.name]?.hooks?.['onBeforeCreate']?.();\n\n this.$attrSelector = useAttrSelector();\n this.uid = this.$attrs.id || this.$attrSelector.replace('pc', 'pv_id_');\n },\n created() {\n this._hook('onCreated');\n },\n beforeMount() {\n // @deprecated - remove in v5\n this.rootEl = findSingle(isElement(this.$el) ? this.$el : this.$el?.parentElement, `[${this.$attrSelector}]`);\n\n if (this.rootEl) {\n this.rootEl.$pc = { name: this.$.type.name, attrSelector: this.$attrSelector, ...this.$params };\n }\n\n this._loadStyles();\n this._hook('onBeforeMount');\n },\n mounted() {\n this._hook('onMounted');\n },\n beforeUpdate() {\n this._hook('onBeforeUpdate');\n },\n updated() {\n this._hook('onUpdated');\n },\n beforeUnmount() {\n this._hook('onBeforeUnmount');\n },\n unmounted() {\n this._removeThemeListeners();\n this._unloadScopedThemeStyles();\n this._hook('onUnmounted');\n },\n methods: {\n _hook(hookName) {\n if (!this.$options.hostName) {\n const selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, `hooks.${hookName}`);\n const defaultHook = this._useDefaultPT(this._getOptionValue, `hooks.${hookName}`);\n\n selfHook?.();\n defaultHook?.();\n }\n },\n _mergeProps(fn, ...args) {\n return isFunction(fn) ? fn(...args) : mergeProps(...args);\n },\n _load() {\n // @todo\n if (!Base.isStyleNameLoaded('base')) {\n BaseStyle.loadCSS(this.$styleOptions);\n this._loadGlobalStyles();\n\n Base.setLoadedStyleName('base');\n }\n\n this._loadThemeStyles();\n },\n _loadStyles() {\n this._load();\n this._themeChangeListener(this._load);\n },\n _loadCoreStyles() {\n if (!Base.isStyleNameLoaded(this.$style?.name) && this.$style?.name) {\n BaseComponentStyle.loadCSS(this.$styleOptions);\n this.$options.style && this.$style.loadCSS(this.$styleOptions);\n\n Base.setLoadedStyleName(this.$style.name);\n }\n },\n _loadGlobalStyles() {\n /*\n * @todo Add self custom css support;\n * <Panel :pt=\"{ css: `...` }\" .../>\n *\n * const selfCSS = this._getPTClassValue(this.pt, 'css', this.$params);\n * const defaultCSS = this._getPTClassValue(this.defaultPT, 'css', this.$params);\n * const mergedCSS = mergeProps(selfCSS, defaultCSS);\n * isNotEmpty(mergedCSS?.class) && this.$css.loadCustomStyle(mergedCSS?.class);\n */\n\n const globalCSS = this._useGlobalPT(this._getOptionValue, 'global.css', this.$params);\n\n isNotEmpty(globalCSS) && BaseStyle.load(globalCSS, { name: 'global', ...this.$styleOptions });\n },\n _loadThemeStyles() {\n if (this.isUnstyled || this.$theme === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = this.$style?.getCommonTheme?.() || {};\n\n BaseStyle.load(primitive?.css, { name: 'primitive-variables', ...this.$styleOptions });\n BaseStyle.load(semantic?.css, { name: 'semantic-variables', ...this.$styleOptions });\n BaseStyle.load(global?.css, { name: 'global-variables', ...this.$styleOptions });\n BaseStyle.loadStyle({ name: 'global-style', ...this.$styleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n\n // component\n if (!Theme.isStyleNameLoaded(this.$style?.name) && this.$style?.name) {\n const { css, style } = this.$style?.getComponentTheme?.() || {};\n\n this.$style?.load(css, { name: `${this.$style.name}-variables`, ...this.$styleOptions });\n this.$style?.loadStyle({ name: `${this.$style.name}-style`, ...this.$styleOptions }, style);\n\n Theme.setLoadedStyleName(this.$style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = this.$style?.getLayerOrderThemeCSS?.();\n\n BaseStyle.load(layerOrder, { name: 'layer-order', first: true, ...this.$styleOptions });\n\n Theme.setLoadedStyleName('layer-order');\n }\n },\n _loadScopedThemeStyles(preset) {\n const { css } = this.$style?.getPresetTheme?.(preset, `[${this.$attrSelector}]`) || {};\n const scopedStyle = this.$style?.load(css, { name: `${this.$attrSelector}-${this.$style.name}`, ...this.$styleOptions });\n\n this.scopedStyleEl = scopedStyle.el;\n },\n _unloadScopedThemeStyles() {\n this.scopedStyleEl?.value?.remove();\n },\n _themeChangeListener(callback = () => {}) {\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n },\n _removeThemeListeners() {\n ThemeService.off('theme:change', this._loadCoreStyles);\n ThemeService.off('theme:change', this._load);\n ThemeService.off('theme:change', this._themeScopedListener);\n },\n _getHostInstance(instance) {\n return instance ? (this.$options.hostName ? (instance.$.type.name === this.$options.hostName ? instance : this._getHostInstance(instance.$parentInstance)) : instance.$parentInstance) : undefined;\n },\n _getPropValue(name) {\n return this[name] || this._getHostInstance(this)?.[name];\n },\n _getOptionValue(options, key = '', params = {}) {\n return getKeyValue(options, key, params);\n },\n _getPTValue(obj = {}, key = '', params = {}, searchInDefaultPT = true) {\n const searchOut = /./g.test(key) && !!params[key.split('.')[0]];\n const { mergeSections = true, mergeProps: useMergeProps = false } = this._getPropValue('ptOptions') || this.$primevueConfig?.ptOptions || {};\n const global = searchInDefaultPT ? (searchOut ? this._useGlobalPT(this._getPTClassValue, key, params) : this._useDefaultPT(this._getPTClassValue, key, params)) : undefined;\n const self = searchOut ? undefined : this._getPTSelf(obj, this._getPTClassValue, key, { ...params, global: global || {} });\n const datasets = this._getPTDatasets(key);\n\n return mergeSections || (!mergeSections && self) ? (useMergeProps ? this._mergeProps(useMergeProps, global, self, datasets) : { ...global, ...self, ...datasets }) : { ...self, ...datasets };\n },\n _getPTSelf(obj = {}, ...args) {\n return mergeProps(\n this._usePT(this._getPT(obj, this.$name), ...args), // Exp; <component :pt=\"{}\"\n this._usePT(this.$_attrsPT, ...args) // Exp; <component :pt:[passthrough_key]:[attribute]=\"{value}\" or <component :pt:[passthrough_key]=\"() =>{value}\"\n );\n },\n _getPTDatasets(key = '') {\n const datasetPrefix = 'data-pc-';\n const isExtended = key === 'root' && isNotEmpty(this.pt?.['data-pc-section']);\n\n return (\n key !== 'transition' && {\n ...(key === 'root' && {\n [`${datasetPrefix}name`]: toFlatCase(isExtended ? this.pt?.['data-pc-section'] : this.$.type.name),\n ...(isExtended && { [`${datasetPrefix}extend`]: toFlatCase(this.$.type.name) }),\n [`${this.$attrSelector}`]: ''\n }),\n [`${datasetPrefix}section`]: toFlatCase(key)\n }\n );\n },\n _getPTClassValue(...args) {\n const value = this._getOptionValue(...args);\n\n return isString(value) || isArray(value) ? { class: value } : value;\n },\n _getPT(pt, key = '', callback) {\n const getValue = (value, checkSameKey = false) => {\n const computedValue = callback ? callback(value) : value;\n const _key = toFlatCase(key);\n const _cKey = toFlatCase(this.$name);\n\n return (checkSameKey ? (_key !== _cKey ? computedValue?.[_key] : undefined) : computedValue?.[_key]) ?? computedValue;\n };\n\n return pt?.hasOwnProperty('_usept')\n ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n }\n : getValue(pt, true);\n },\n _usePT(pt, callback, key, params) {\n const fn = (value) => callback(value, key, params);\n\n if (pt?.hasOwnProperty('_usept')) {\n const { mergeSections = true, mergeProps: useMergeProps = false } = pt['_usept'] || this.$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 ? this._mergeProps(useMergeProps, originalValue, value) : { ...originalValue, ...value }) : value;\n }\n\n return fn(pt);\n },\n _useGlobalPT(callback, key, params) {\n return this._usePT(this.globalPT, callback, key, params);\n },\n _useDefaultPT(callback, key, params) {\n return this._usePT(this.defaultPT, callback, key, params);\n },\n ptm(key = '', params = {}) {\n return this._getPTValue(this.pt, key, { ...this.$params, ...params });\n },\n ptmi(key = '', params = {}) {\n // inheritAttrs:true\n const attrs = mergeProps(this.$_attrsWithoutPT, this.ptm(key, params));\n\n attrs?.hasOwnProperty('id') && (attrs.id ??= this.$id);\n\n return attrs;\n },\n ptmo(obj = {}, key = '', params = {}) {\n return this._getPTValue(obj, key, { instance: this, ...params }, false);\n },\n cx(key = '', params = {}) {\n return !this.isUnstyled ? this._getOptionValue(this.$style.classes, key, { ...this.$params, ...params }) : undefined;\n },\n sx(key = '', when = true, params = {}) {\n if (when) {\n const self = this._getOptionValue(this.$style.inlineStyles, key, { ...this.$params, ...params });\n const base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, { ...this.$params, ...params });\n\n return [base, self];\n }\n\n return undefined;\n }\n },\n computed: {\n globalPT() {\n return this._getPT(this.$primevueConfig?.pt, undefined, (value) => resolve(value, { instance: this }));\n },\n defaultPT() {\n return this._getPT(this.$primevueConfig?.pt, undefined, (value) => this._getOptionValue(value, this.$name, { ...this.$params }) || resolve(value, { ...this.$params }));\n },\n isUnstyled() {\n return this.unstyled !== undefined ? this.unstyled : this.$primevueConfig?.unstyled;\n },\n $id() {\n return this.$attrs.id || this.uid;\n },\n $inProps() {\n const nodePropKeys = Object.keys(this.$.vnode?.props || {});\n\n return Object.fromEntries(Object.entries(this.$props).filter(([k]) => nodePropKeys?.includes(k)));\n },\n $theme() {\n return this.$primevueConfig?.theme;\n },\n $style() {\n return { classes: undefined, inlineStyles: undefined, load: () => {}, loadCSS: () => {}, loadStyle: () => {}, ...(this._getHostInstance(this) || {}).$style, ...this.$options.style };\n },\n $styleOptions() {\n return { nonce: this.$primevueConfig?.csp?.nonce };\n },\n $primevueConfig() {\n return this.$primevue?.config;\n },\n $name() {\n return this.$options.hostName || this.$.type.name;\n },\n $params() {\n const parentInstance = this._getHostInstance(this) || this.$parent;\n\n return {\n instance: this,\n props: this.$props,\n state: this.$data,\n attrs: this.$attrs,\n parent: {\n instance: parentInstance,\n props: parentInstance?.$props,\n state: parentInstance?.$data,\n attrs: parentInstance?.$attrs\n }\n };\n },\n $_attrsPT() {\n return Object.entries(this.$attrs || {})\n .filter(([key]) => key?.startsWith('pt:'))\n .reduce((result, [key, value]) => {\n const [, ...rest] = key.split(':');\n\n rest?.reduce((currentObj, nestedKey, index, array) => {\n !currentObj[nestedKey] && (currentObj[nestedKey] = index === array.length - 1 ? value : {});\n\n return currentObj[nestedKey];\n }, result);\n\n return result;\n }, {});\n },\n $_attrsWithoutPT() {\n return Object.entries(this.$attrs || {})\n .filter(([key]) => !key?.startsWith('pt:'))\n .reduce((acc, [key, value]) => {\n acc[key] = value;\n\n return acc;\n }, {});\n }\n }\n};\n</script>\n", "import { EventBus } from '@primeuix/utils/eventbus';\n\nexport default EventBus();\n", "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 $<directive_name>\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", "import { style } from '@primeuix/styles/ripple';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: 'p-ink'\n};\n\nexport default BaseStyle.extend({\n name: 'ripple-directive',\n style,\n classes\n});\n", "import BaseDirective from '@primevue/core/basedirective';\nimport RippleStyle from 'primevue/ripple/style';\n\nconst BaseRipple = BaseDirective.extend({\n style: RippleStyle\n});\n\nexport default BaseRipple;\n", "import { addClass, createElement, getAttribute, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, removeClass } from '@primeuix/utils/dom';\nimport BaseRipple from './BaseRipple';\n\nconst Ripple = BaseRipple.extend('ripple', {\n watch: {\n 'config.ripple'(newValue) {\n if (newValue) {\n this.createRipple(this.$host);\n this.bindEvents(this.$host);\n\n this.$host.setAttribute('data-pd-ripple', true);\n this.$host.style['overflow'] = 'hidden';\n this.$host.style['position'] = 'relative';\n } else {\n this.remove(this.$host);\n this.$host.removeAttribute('data-pd-ripple');\n }\n }\n },\n unmounted(el) {\n this.remove(el);\n },\n timeout: undefined,\n methods: {\n bindEvents(el) {\n el.addEventListener('mousedown', this.onMouseDown.bind(this));\n },\n unbindEvents(el) {\n el.removeEventListener('mousedown', this.onMouseDown.bind(this));\n },\n createRipple(el) {\n let ink = this.getInk(el);\n\n if (!ink) {\n ink = createElement('span', {\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-ink': true,\n 'data-p-ink-active': false,\n class: !this.isUnstyled() && this.cx('root'),\n onAnimationEnd: this.onAnimationEnd.bind(this),\n [this.$attrSelector]: '',\n 'p-bind': this.ptm('root')\n });\n\n el.appendChild(ink);\n\n this.$el = ink;\n }\n },\n remove(el) {\n let ink = this.getInk(el);\n\n if (ink) {\n this.$host.style['overflow'] = '';\n this.$host.style['position'] = '';\n\n this.unbindEvents(el);\n ink.removeEventListener('animationend', this.onAnimationEnd);\n ink.remove();\n }\n },\n onMouseDown(event) {\n let target = event.currentTarget;\n let ink = this.getInk(target);\n\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n !this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n\n if (!getHeight(ink) && !getWidth(ink)) {\n let d = Math.max(getOuterWidth(target), getOuterHeight(target));\n\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = getOffset(target);\n let x = event.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2;\n let y = event.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2;\n\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n\n !this.isUnstyled() && addClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'true');\n\n this.timeout = setTimeout(() => {\n if (ink) {\n !this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n }\n }, 401);\n },\n onAnimationEnd(event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n !this.isUnstyled() && removeClass(event.currentTarget, 'p-ink-active');\n event.currentTarget.setAttribute('data-p-ink-active', 'false');\n },\n getInk(el) {\n return el && el.children ? [...el.children].find((child) => getAttribute(child, 'data-pc-name') === 'ripple') : undefined;\n }\n }\n});\n\nexport default Ripple;\n"],
5
+ "mappings": "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",
6
+ "names": ["cn", "args", "classes", "i", "className", "type", "_classes", "key", "value", "c", "hasClass", "element", "className", "addClass", "fn", "_className", "_classNames", "removeClass", "element", "className", "fn", "_className", "_classNames", "getViewport", "win", "d", "e", "g", "w", "h", "getScrollLeft", "element", "getWindowScrollLeft", "doc", "getWindowScrollTop", "getOuterWidth", "element", "margin", "width", "style", "getParentNode", "element", "parent", "isExist", "isElement", "setAttributes", "element", "attributes", "isElement", "computedStyles", "rule", "value", "_a", "_b", "styles", "cv", "v", "type", "_cv", "_k", "_v", "c", "key", "matchedEvent", "createElement", "children", "fadeIn", "element", "duration", "last", "opacity", "tick", "find", "element", "selector", "isElement", "findSingle", "getAttribute", "element", "name", "isElement", "value", "getHeight", "element", "height", "style", "getOffset", "element", "rect", "getScrollLeft", "getOuterHeight", "margin", "height", "style", "getParents", "parents", "parent", "getParentNode", "getScrollableParents", "element", "scrollableParents", "parents", "getParents", "overflowRegex", "overflowCheck", "node", "styleDeclaration", "e", "parent", "scrollSelectors", "selectors", "selector", "el", "findSingle", "getWidth", "element", "width", "style", "isClient", "isTouchDevice", "setAttribute", "element", "attribute", "value", "isElement", "isEmpty", "value", "isFunction", "value", "isNotEmpty", "isEmpty", "isObject", "value", "empty", "resolve", "obj", "params", "isFunction", "isString", "value", "empty", "toFlatCase", "str", "getKeyValue", "key", "fKeys", "fKey", "isObject", "matchedKey", "k", "isArray", "value", "empty", "isNumber", "value", "isNotEmpty", "matchRegex", "str", "regex", "match", "minifyCSS", "css", "toCapitalCase", "str", "isString", "toKebabCase", "EventBus", "allHandlers", "type", "handler", "handlers", "evt", "lastIds", "uuid", "prefix", "handler", "zIndexes", "generateZIndex", "key", "autoZIndex", "baseZIndex", "lastZIndex", "getLastZIndex", "newZIndex", "revertZIndex", "zIndex", "obj", "getCurrentZIndex", "getZIndex", "element", "ZIndex", "ThemeService", "EventBus", "service_default", "EXPR_REGEX", "CALC_REGEX", "VAR_REGEX", "toTokenKey", "str", "isString", "c", "i", "toValue", "value", "isObject", "toNormalizePrefix", "prefix", "toNormalizeVariable", "variable", "isString", "getVariableName", "hasOddBraces", "str", "openBraces", "closeBraces", "getVariableValue", "value", "excludedKeyRegexes", "fallback", "val", "matchRegex", "EXPR_REGEX", "_val", "v", "keys", "_v", "_r", "toKebabCase", "isNotEmpty", "VAR_REGEX", "CALC_REGEX", "isNumber", "setProperty", "properties", "key", "value", "isString", "getRule", "selector", "evaluateDtExpressions", "input", "fn", "fastParseArgs", "str", "args", "i", "current", "quote", "depth", "c", "arg", "parseArg", "q", "num", "indices", "stack", "start", "end", "inner", "resolved", "dt", "args", "dtwt", "config_default", "theme", "tokenPath", "fallback", "type", "VARIABLE", "OPTIONS", "prefix", "transform", "token", "matchRegex", "EXPR_REGEX", "isEmpty", "getVariableValue", "css", "strings", "exprs", "raw", "acc", "str", "i", "_a", "resolve", "evaluateDtExpressions", "toVariables_default", "theme", "options", "VARIABLE", "config_default", "prefix", "selector", "excludedKeyRegex", "tokens", "variables", "stack", "node", "path", "key", "raw", "val", "toValue", "variablePath", "matchRegex", "toNormalizeVariable", "toKebabCase", "isObject", "varName", "getVariableName", "varValue", "getVariableValue", "setProperty", "token", "declarations", "getRule", "themeUtils_default", "value", "rules", "k", "v", "_a", "r", "rr", "name", "params", "set", "defaults", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "preset", "primitive_css", "primitive_tokens", "semantic_css", "semantic_tokens", "global_css", "global_tokens", "style", "isNotEmpty", "primitive", "semantic", "extend", "colorScheme", "sRest", "__objRest", "_b", "eColorScheme", "eRest", "_c", "dark", "csRest", "_d", "eDark", "ecsRest", "prim_var", "sRest_var", "csRest_var", "csDark_var", "eRest_var", "ecsRest_var", "ecsDark_var", "prim_css", "prim_tokens", "sRest_css", "sRest_tokens", "csRest_css", "csRest_tokens", "csDark_css", "csDark_tokens", "eRest_css", "eRest_tokens", "ecsRest_css", "ecsRest_tokens", "ecsDark_css", "ecsDark_tokens", "semantic_light_css", "semantic_dark_css", "global_light_css", "global_dark_css", "resolve", "dt", "p_css", "p_tokens", "p_style", "_name", "css", "vRest", "evRest", "ecsDark", "vRest_var", "__spreadValues", "vRest_css", "vRest_tokens", "light_variable_css", "dark_variable_css", "cPreset", "dName", "dPreset", "cssLayer", "props", "common", "_props", "acc", "_css", "minifyCSS", "id", "preset_css", "obj", "parentKey", "parentPath", "computedFn", "tokenPathMap", "computedValue", "EXPR_REGEX", "_val", "refPath", "refToken", "computed", "CALC_REGEX", "VAR_REGEX", "isEmpty", "traverse", "currentKey", "toTokenKey", "currentPath", "i", "p", "str", "s", "computedValues", "cs", "rest", "selector1", "selector2", "type", "mode", "colorSchemeOption", "_selector", "layerOptions", "newValues", "__spreadProps", "newValue", "service_default", "layerName", "tokenPath", "event", "_loadedStyleNames", "Set", "getLoadedStyleNames", "isStyleNameLoaded", "name", "has", "setLoadedStyleName", "add", "deleteLoadedStyleName", "clearLoadedStyleNames", "clear", "tryOnMounted", "fn", "sync", "arguments", "length", "undefined", "getCurrentInstance", "components", "onMounted", "nextTick", "_id", "useStyle", "css", "options", "isLoaded", "ref", "cssRef", "styleRef", "defaultDocument", "isClient", "window", "document", "_options$document", "_options$immediate", "immediate", "_options$manual", "manual", "_options$name", "name", "concat", "_options$id", "id", "_options$media", "media", "_options$nonce", "nonce", "_options$first", "first", "_options$onMounted", "onStyleMounted", "_options$onUpdated", "onUpdated", "onStyleUpdated", "_options$onLoad", "onLoad", "onStyleLoaded", "_options$props", "props", "stop", "load", "_css", "_props", "_styleProps", "_objectSpread", "_name", "_nonce", "value", "querySelector", "getElementById", "createElement", "isConnected", "setAttributes", "type", "head", "prepend", "appendChild", "setAttribute", "onload", "event", "watch", "textContent", "unload", "isExist", "removeChild", "el", "readonly", "css", "_ref", "dt", "concat", "classes", "inlineStyles", "name", "style", "load", "options", "arguments", "length", "undefined", "transform", "cs", "computedStyle", "Css", "_templateObject", "_taggedTemplateLiteral", "isNotEmpty", "useStyle", "minifyCSS", "_objectSpread", "loadCSS", "loadStyle", "_this", "Theme", "transformCSS", "_templateObject2", "getCommonTheme", "params", "getCommon", "getComponentTheme", "getComponent", "getDirectiveTheme", "getDirective", "getPresetTheme", "preset", "selector", "getCustomPreset", "getLayerOrderThemeCSS", "getLayerOrderCSS", "getStyleSheet", "extendedCSS", "props", "_css", "resolve", "_style", "_templateObject3", "_props", "Object", "entries", "reduce", "acc", "_ref2", "_ref3", "_slicedToArray", "k", "v", "push", "join", "getCommonThemeStyleSheet", "getCommonStyleSheet", "getThemeStyleSheet", "_templateObject4", "_ref4", "_ref5", "extend", "inStyle", "useAttrSelector", "prefix", "arguments", "length", "undefined", "idx", "useId", "concat", "replace", "replaceAll", "BaseStyle", "extend", "name", "props", "pt", "type", "Object", "undefined", "ptOptions", "unstyled", "Boolean", "dt", "inject", "$parentInstance", "watch", "isUnstyled", "immediate", "handler", "newValue", "ThemeService", "off", "_loadCoreStyles", "_themeChangeListener", "oldValue", "_this", "_themeScopedListener", "_loadScopedThemeStyles", "_unloadScopedThemeStyles", "scopedStyleEl", "rootEl", "uid", "$attrSelector", "beforeCreate", "_this$pt", "_this$pt2", "_this$pt3", "_ref", "_ref$onBeforeCreate", "_this$$primevueConfig", "_this$$primevue", "_this$$primevue2", "_this$$primevue3", "_ref2", "_ref2$onBeforeCreate", "_usept", "originalValue", "$", "value", "hooks", "call", "_useptInConfig", "$primevueConfig", "originalValueInConfig", "$primevue", "config", "valueInConfig", "useAttrSelector", "$attrs", "id", "replace", "created", "_hook", "beforeMount", "_this$$el", "findSingle", "isElement", "$el", "parentElement", "concat", "$pc", "_objectSpread", "attrSelector", "$params", "_loadStyles", "mounted", "beforeUpdate", "updated", "beforeUnmount", "unmounted", "_removeThemeListeners", "methods", "hookName", "$options", "hostName", "selfHook", "_usePT", "_getPT", "_getOptionValue", "defaultHook", "_useDefaultPT", "_mergeProps", "fn", "_len", "arguments", "length", "args", "Array", "_key2", "isFunction", "apply", "mergeProps", "_load", "Base", "isStyleNameLoaded", "loadCSS", "$styleOptions", "_loadGlobalStyles", "setLoadedStyleName", "_loadThemeStyles", "_this$$style", "_this$$style2", "$style", "BaseComponentStyle", "style", "globalCSS", "_useGlobalPT", "isNotEmpty", "load", "_this$$style4", "_this$$style5", "$theme", "Theme", "_this$$style3", "_this$$style3$getComm", "_ref3", "getCommonTheme", "primitive", "semantic", "global", "css", "loadStyle", "_this$$style6", "_this$$style6$getComp", "_this$$style7", "_this$$style8", "_ref4", "getComponentTheme", "_this$$style9", "_this$$style9$getLaye", "layerOrder", "getLayerOrderThemeCSS", "first", "preset", "_this$$style0", "_this$$style0$getPres", "_this$$style1", "_ref5", "getPresetTheme", "scopedStyle", "el", "_this$scopedStyleEl", "remove", "callback", "clearLoadedStyleNames", "on", "_getHostInstance", "instance", "_getPropValue", "_this$_getHostInstanc", "options", "key", "params", "getKeyValue", "_getPTValue", "_this$$primevueConfig2", "obj", "searchInDefaultPT", "searchOut", "test", "split", "_ref6", "_ref6$mergeSections", "mergeSections", "_ref6$mergeProps", "useMergeProps", "_getPTClassValue", "self", "_getPTSelf", "datasets", "_getPTDatasets", "_len2", "_key3", "$name", "$_attrsPT", "_this$pt4", "_this$pt5", "datasetPrefix", "isExtended", "_defineProperty", "toFlatCase", "isString", "isArray", "_this2", "getValue", "_ref8", "checkSameKey", "computedValue", "_key", "_cKey", "hasOwnProperty", "_this$$primevueConfig3", "_ref9", "_ref9$mergeSections", "_ref9$mergeProps", "globalPT", "defaultPT", "ptm", "ptmi", "_attrs$id", "attrs", "$_attrsWithoutPT", "$id", "ptmo", "cx", "classes", "sx", "when", "inlineStyles", "base", "computed", "_this$$primevueConfig4", "_this3", "resolve", "_this$$primevueConfig5", "_this4", "_this$$primevueConfig6", "$inProps", "_this$$$vnode", "nodePropKeys", "keys", "vnode", "fromEntries", "entries", "$props", "filter", "_ref0", "_ref1", "_slicedToArray", "k", "includes", "_this$$primevueConfig7", "theme", "_this$$primevueConfig8", "nonce", "csp", "_this$$primevue4", "parentInstance", "$parent", "state", "$data", "parent", "_ref10", "_ref11", "startsWith", "reduce", "result", "_ref12", "_ref13", "_key$split", "_key$split2", "_toArray", "rest", "_arrayLikeToArray", "slice", "currentObj", "nestedKey", "index", "array", "_ref14", "_ref15", "acc", "_ref16", "_ref17", "EventBus", "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$$style0", "_instance$$style0$get", "layerOrder", "getLayerOrderThemeCSS", "first", "preset", "$attrSelector", "_instance$$style1", "_instance$$style1$get", "_instance$$style10", "_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", "classes", "root", "BaseStyle", "extend", "name", "style", "BaseRipple", "BaseDirective", "extend", "style", "RippleStyle", "Ripple", "watch", "configRipple", "newValue", "createRipple", "$host", "bindEvents", "setAttribute", "remove", "removeAttribute", "unmounted", "el", "timeout", "undefined", "methods", "addEventListener", "onMouseDown", "bind", "unbindEvents", "removeEventListener", "ink", "getInk", "createElement", "_defineProperty", "role", "isUnstyled", "cx", "onAnimationEnd", "$attrSelector", "ptm", "appendChild", "$el", "event", "_this", "target", "currentTarget", "getComputedStyle", "display", "removeClass", "getHeight", "getWidth", "d", "Math", "max", "getOuterWidth", "getOuterHeight", "height", "width", "offset", "getOffset", "x", "pageX", "left", "document", "body", "scrollTop", "y", "pageY", "top", "scrollLeft", "addClass", "setTimeout", "clearTimeout", "children", "_toConsumableArray", "find", "child", "getAttribute"]
7
+ }