UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 5.09 kB
{"version":3,"file":"useNamespace.cjs","sources":["../../../packages/hooks/useNamespace.ts"],"sourcesContent":["export const defaultNamespace = 'z'\nconst statePrefix = 'is-'\n\nconst _bem = (\n namespace: string,\n block: string,\n blockSuffix: string,\n element: string,\n modifier: string,\n) => {\n let cls = `${namespace}-${block}`\n if (blockSuffix)\n cls += `-${blockSuffix}`\n\n if (element)\n cls += `__${element}`\n\n if (modifier)\n cls += `--${modifier}`\n\n return cls\n}\n\nexport const namespaceContextKey = 'namespaceContextKey'\n\nexport const useGetDerivedNamespace = (\n namespaceOverrides?: Ref<string | undefined>,\n) => {\n const derivedNamespace\n = namespaceOverrides || inject(namespaceContextKey, ref(defaultNamespace))\n const namespace = computed(() => {\n return unref(derivedNamespace) || defaultNamespace\n })\n return namespace\n}\n\nexport const useNamespace = (\n block: string,\n namespaceOverrides?: Ref<string | undefined>,\n) => {\n const namespace = useGetDerivedNamespace(namespaceOverrides)\n const b = (blockSuffix = '') =>\n _bem(namespace.value, block, blockSuffix, '', '')\n const e = (element?: string) =>\n element ? _bem(namespace.value, block, '', element, '') : ''\n const m = (modifier?: string) =>\n modifier ? _bem(namespace.value, block, '', '', modifier) : ''\n const be = (blockSuffix?: string, element?: string) =>\n blockSuffix && element\n ? _bem(namespace.value, block, blockSuffix, element, '')\n : ''\n const em = (element?: string, modifier?: string) =>\n element && modifier\n ? _bem(namespace.value, block, '', element, modifier)\n : ''\n const bm = (blockSuffix?: string, modifier?: string) =>\n blockSuffix && modifier\n ? _bem(namespace.value, block, blockSuffix, '', modifier)\n : ''\n const bem = (blockSuffix?: string, element?: string, modifier?: string) =>\n blockSuffix && element && modifier\n ? _bem(namespace.value, block, blockSuffix, element, modifier)\n : ''\n const is: {\n (name: string, state: boolean | undefined): string\n (name: string): string\n } = (name: string, ...args: [boolean | undefined] | []) => {\n const state = args.length >= 1 ? args[0]! : true\n return name && state ? `${statePrefix}${name}` : ''\n }\n\n // for css var\n // --el-xxx: value;\n const cssVar = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key])\n styles[`--${namespace.value}-${key}`] = object[key]\n }\n return styles\n }\n // with block\n const cssVarBlock = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key])\n styles[`--${namespace.value}-${block}-${key}`] = object[key]\n }\n return styles\n }\n\n const cssVarName = (name: string) => `--${namespace.value}-${name}`\n const cssVarBlockName = (name: string) =>\n `--${namespace.value}-${block}-${name}`\n\n return {\n namespace,\n b,\n e,\n m,\n be,\n em,\n bm,\n bem,\n is,\n // css\n cssVar,\n cssVarName,\n cssVarBlock,\n cssVarBlockName,\n }\n}\n"],"names":["defaultNamespace","statePrefix","_bem","namespace","block","blockSuffix","element","modifier","cls","namespaceContextKey","useGetDerivedNamespace","namespaceOverrides","derivedNamespace","vue","useNamespace","name","args","state","object","styles","key"],"mappings":"uGAAOA,EAAA,IACPC,EAAA,MAEAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,EAAAC,IAAA,CAOE,IAAAC,EAAA,GAAAL,CAAA,IAAAC,CAAA,GACA,OAAAC,IACEG,GAAA,IAAAH,CAAA,IAEFC,IACEE,GAAA,KAAAF,CAAA,IAEFC,IACEC,GAAA,KAAAD,CAAA,IAEFC,CACF,EAEOC,EAAA,sBAEMC,EAAAC,GAAA,CAGX,MAAAC,EAAAD,GAAAE,EAAA,OAAAJ,EAAAI,EAAA,IAAAb,CAAA,CAAA,EAKA,OAHAa,EAAA,SAAA,IACEA,EAAA,MAAAD,CAAA,GAAAZ,CAAkC,CAGtC,EAEac,EAAA,CAAAV,EAAAO,IAAA,CAIX,MAAAR,EAAAO,EAAAC,CAAA,EAuDA,MAAA,CAAO,UAAAR,EACL,EAvDF,CAAAE,EAAA,KAAAH,EAAAC,EAAA,MAAAC,EAAAC,EAAA,GAAA,EAAA,EAwDE,EAtDFC,GAAAA,EAAAJ,EAAAC,EAAA,MAAAC,EAAA,GAAAE,EAAA,EAAA,EAAA,GAuDE,EArDFC,GAAAA,EAAAL,EAAAC,EAAA,MAAAC,EAAA,GAAA,GAAAG,CAAA,EAAA,GAsDE,GApDF,CAAAF,EAAAC,IAAAD,GAAAC,EAAAJ,EAAAC,EAAA,MAAAC,EAAAC,EAAAC,EAAA,EAAA,EAAA,GAqDE,GAjDF,CAAAA,EAAAC,IAAAD,GAAAC,EAAAL,EAAAC,EAAA,MAAAC,EAAA,GAAAE,EAAAC,CAAA,EAAA,GAkDE,GA9CF,CAAAF,EAAAE,IAAAF,GAAAE,EAAAL,EAAAC,EAAA,MAAAC,EAAAC,EAAA,GAAAE,CAAA,EAAA,GA+CE,IA3CF,CAAAF,EAAAC,EAAAC,IAAAF,GAAAC,GAAAC,EAAAL,EAAAC,EAAA,MAAAC,EAAAC,EAAAC,EAAAC,CAAA,EAAA,GA4CE,GAxCF,CAAAQ,KAAAC,IAAA,CAIE,MAAAC,EAAAD,EAAA,QAAA,EAAAA,EAAA,CAAA,EAAA,GACA,OAAAD,GAAAE,EAAA,GAAAhB,CAAA,GAAAc,CAAA,GAAA,EAAiD,EAoCjD,OA/BFG,GAAA,CACE,MAAAC,EAAA,CAAA,EACA,UAAAC,KAAAF,EACEA,EAAAE,CAAA,IACED,EAAA,KAAAhB,EAAA,KAAA,IAAAiB,CAAA,EAAA,EAAAF,EAAAE,CAAA,GAEJ,OAAAD,CAAO,EA2BP,WAfFJ,GAAA,KAAAZ,EAAA,KAAA,IAAAY,CAAA,GAgBE,YAzBFG,GAAA,CACE,MAAAC,EAAA,CAAA,EACA,UAAAC,KAAAF,EACEA,EAAAE,CAAA,IACED,EAAA,KAAAhB,EAAA,KAAA,IAAAC,CAAA,IAAAgB,CAAA,EAAA,EAAAF,EAAAE,CAAA,GAEJ,OAAAD,CAAO,EAoBP,gBAhBFJ,GAAA,KAAAZ,EAAA,KAAA,IAAAC,CAAA,IAAAW,CAAA,EAiBE,CAEJ"}