index.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  2. const require_runtime = require('../../_virtual/_rolldown/runtime.js');
  3. let vue = require("vue");
  4. //#region ../../packages/hooks/use-namespace/index.ts
  5. const defaultNamespace = "el";
  6. const statePrefix = "is-";
  7. const _bem = (namespace, block, blockSuffix, element, modifier) => {
  8. let cls = `${namespace}-${block}`;
  9. if (blockSuffix) cls += `-${blockSuffix}`;
  10. if (element) cls += `__${element}`;
  11. if (modifier) cls += `--${modifier}`;
  12. return cls;
  13. };
  14. const namespaceContextKey = Symbol("namespaceContextKey");
  15. const useGetDerivedNamespace = (namespaceOverrides) => {
  16. const derivedNamespace = namespaceOverrides || ((0, vue.getCurrentInstance)() ? (0, vue.inject)(namespaceContextKey, (0, vue.ref)(defaultNamespace)) : (0, vue.ref)(defaultNamespace));
  17. return (0, vue.computed)(() => {
  18. return (0, vue.unref)(derivedNamespace) || defaultNamespace;
  19. });
  20. };
  21. const useNamespace = (block, namespaceOverrides) => {
  22. const namespace = useGetDerivedNamespace(namespaceOverrides);
  23. const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", "");
  24. const e = (element) => element ? _bem(namespace.value, block, "", element, "") : "";
  25. const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : "";
  26. const be = (blockSuffix, element) => blockSuffix && element ? _bem(namespace.value, block, blockSuffix, element, "") : "";
  27. const em = (element, modifier) => element && modifier ? _bem(namespace.value, block, "", element, modifier) : "";
  28. const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(namespace.value, block, blockSuffix, "", modifier) : "";
  29. const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(namespace.value, block, blockSuffix, element, modifier) : "";
  30. const is = (name, ...args) => {
  31. const state = args.length >= 1 ? args[0] : true;
  32. return name && state ? `${statePrefix}${name}` : "";
  33. };
  34. const cssVar = (object) => {
  35. const styles = {};
  36. for (const key in object) if (object[key]) styles[`--${namespace.value}-${key}`] = object[key];
  37. return styles;
  38. };
  39. const cssVarBlock = (object) => {
  40. const styles = {};
  41. for (const key in object) if (object[key]) styles[`--${namespace.value}-${block}-${key}`] = object[key];
  42. return styles;
  43. };
  44. const cssVarName = (name) => `--${namespace.value}-${name}`;
  45. const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`;
  46. return {
  47. namespace,
  48. b,
  49. e,
  50. m,
  51. be,
  52. em,
  53. bm,
  54. bem,
  55. is,
  56. cssVar,
  57. cssVarName,
  58. cssVarBlock,
  59. cssVarBlockName
  60. };
  61. };
  62. //#endregion
  63. exports.defaultNamespace = defaultNamespace;
  64. exports.namespaceContextKey = namespaceContextKey;
  65. exports.useGetDerivedNamespace = useGetDerivedNamespace;
  66. exports.useNamespace = useNamespace;
  67. //# sourceMappingURL=index.js.map