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.24 kB
Source Map (JSON)
{"version":3,"file":"useNamespace.mjs","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","inject","ref","computed","unref","useNamespace","name","args","state","object","styles","key"],"mappings":";AAAO,MAAAA,IAAA,KACPC,IAAA,OAEAC,IAAA,CAAAC,GAAAC,GAAAC,GAAAC,GAAAC,MAAA;AAOE,MAAAC,IAAA,GAAAL,CAAA,IAAAC,CAAA;AACA,SAAAC,MACEG,KAAA,IAAAH,CAAA,KAEFC,MACEE,KAAA,KAAAF,CAAA,KAEFC,MACEC,KAAA,KAAAD,CAAA,KAEFC;AACF,GAEOC,IAAA,uBAEMC,IAAA,CAAAC,MAAA;AAGX,QAAAC,IAAAD,KAAAE,EAAAJ,GAAAK,EAAAd,CAAA,CAAA;AAKA,SAHAe,EAAA,MACEC,EAAAJ,CAAA,KAAAZ,CAAkC;AAGtC,GAEaiB,IAAA,CAAAb,GAAAO,MAAA;AAIX,QAAAR,IAAAO,EAAAC,CAAA;AAuDA,SAAA;AAAA,IAAO,WAAAR;AAAA,IACL,GAvDF,CAAAE,IAAA,OAAAH,EAAAC,EAAA,OAAAC,GAAAC,GAAA,IAAA,EAAA;AAAA,IAwDE,GAtDF,CAAAC,MAAAA,IAAAJ,EAAAC,EAAA,OAAAC,GAAA,IAAAE,GAAA,EAAA,IAAA;AAAA,IAuDE,GArDF,CAAAC,MAAAA,IAAAL,EAAAC,EAAA,OAAAC,GAAA,IAAA,IAAAG,CAAA,IAAA;AAAA,IAsDE,IApDF,CAAAF,GAAAC,MAAAD,KAAAC,IAAAJ,EAAAC,EAAA,OAAAC,GAAAC,GAAAC,GAAA,EAAA,IAAA;AAAA,IAqDE,IAjDF,CAAAA,GAAAC,MAAAD,KAAAC,IAAAL,EAAAC,EAAA,OAAAC,GAAA,IAAAE,GAAAC,CAAA,IAAA;AAAA,IAkDE,IA9CF,CAAAF,GAAAE,MAAAF,KAAAE,IAAAL,EAAAC,EAAA,OAAAC,GAAAC,GAAA,IAAAE,CAAA,IAAA;AAAA,IA+CE,KA3CF,CAAAF,GAAAC,GAAAC,MAAAF,KAAAC,KAAAC,IAAAL,EAAAC,EAAA,OAAAC,GAAAC,GAAAC,GAAAC,CAAA,IAAA;AAAA,IA4CE,IAxCF,CAAAW,MAAAC,MAAA;AAIE,YAAAC,IAAAD,EAAA,UAAA,IAAAA,EAAA,CAAA,IAAA;AACA,aAAAD,KAAAE,IAAA,GAAAnB,CAAA,GAAAiB,CAAA,KAAA;AAAA,IAAiD;AAAA;AAAA,IAoCjD,QA/BF,CAAAG,MAAA;AACE,YAAAC,IAAA,CAAA;AACA,iBAAAC,KAAAF;AACE,QAAAA,EAAAE,CAAA,MACED,EAAA,KAAAnB,EAAA,KAAA,IAAAoB,CAAA,EAAA,IAAAF,EAAAE,CAAA;AAEJ,aAAAD;AAAA,IAAO;AAAA,IA2BP,YAfF,CAAAJ,MAAA,KAAAf,EAAA,KAAA,IAAAe,CAAA;AAAA,IAgBE,aAzBF,CAAAG,MAAA;AACE,YAAAC,IAAA,CAAA;AACA,iBAAAC,KAAAF;AACE,QAAAA,EAAAE,CAAA,MACED,EAAA,KAAAnB,EAAA,KAAA,IAAAC,CAAA,IAAAmB,CAAA,EAAA,IAAAF,EAAAE,CAAA;AAEJ,aAAAD;AAAA,IAAO;AAAA,IAoBP,iBAhBF,CAAAJ,MAAA,KAAAf,EAAA,KAAA,IAAAC,CAAA,IAAAc,CAAA;AAAA,EAiBE;AAEJ;"}