@contember/utilities 1.2.0-rc.0 → 1.2.0-rc.2
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.
- package/dist/development/assert-types/Predicates.js.map +1 -1
- package/dist/development/class-name/colorSchemeClassName.js +16 -0
- package/dist/development/class-name/colorSchemeClassName.js.map +1 -0
- package/dist/development/class-name/constants.js +7 -0
- package/dist/development/class-name/constants.js.map +1 -0
- package/dist/development/class-name/deduplicateClassName.js.map +1 -0
- package/dist/development/class-name/filterThemedClassName.js +68 -0
- package/dist/development/class-name/filterThemedClassName.js.map +1 -0
- package/dist/development/class-name/{Internal/flatClassNameList.js → flatClassNameList.js} +1 -1
- package/dist/development/class-name/flatClassNameList.js.map +1 -0
- package/dist/development/class-name/listClassName.js +2 -2
- package/dist/development/class-name/listClassName.js.map +1 -1
- package/dist/development/class-name/stateClassName.js.map +1 -1
- package/dist/development/class-name/themeClassName.js +18 -0
- package/dist/development/class-name/themeClassName.js.map +1 -0
- package/dist/development/deprecate/currentOrDeprecated.js +20 -0
- package/dist/development/deprecate/currentOrDeprecated.js.map +1 -0
- package/dist/development/deprecate/deprecate.js +6 -0
- package/dist/development/deprecate/deprecate.js.map +1 -0
- package/dist/development/index.js +21 -7
- package/dist/development/index.js.map +1 -1
- package/dist/production/assert-types/Predicates.js.map +1 -1
- package/dist/production/class-name/colorSchemeClassName.js +16 -0
- package/dist/production/class-name/colorSchemeClassName.js.map +1 -0
- package/dist/production/class-name/constants.js +7 -0
- package/dist/production/class-name/constants.js.map +1 -0
- package/dist/production/class-name/deduplicateClassName.js.map +1 -0
- package/dist/production/class-name/filterThemedClassName.js +68 -0
- package/dist/production/class-name/filterThemedClassName.js.map +1 -0
- package/dist/production/class-name/{Internal/flatClassNameList.js → flatClassNameList.js} +1 -1
- package/dist/production/class-name/flatClassNameList.js.map +1 -0
- package/dist/production/class-name/listClassName.js +2 -2
- package/dist/production/class-name/listClassName.js.map +1 -1
- package/dist/production/class-name/stateClassName.js.map +1 -1
- package/dist/production/class-name/themeClassName.js +18 -0
- package/dist/production/class-name/themeClassName.js.map +1 -0
- package/dist/production/deprecate/currentOrDeprecated.js +20 -0
- package/dist/production/deprecate/currentOrDeprecated.js.map +1 -0
- package/dist/production/deprecate/deprecate.js +6 -0
- package/dist/production/deprecate/deprecate.js.map +1 -0
- package/dist/production/index.js +21 -7
- package/dist/production/index.js.map +1 -1
- package/dist/types/assert-types/Predicates.d.ts +1 -1
- package/dist/types/assert-types/Predicates.d.ts.map +1 -1
- package/dist/types/class-name/colorSchemeClassName.d.ts +35 -0
- package/dist/types/class-name/colorSchemeClassName.d.ts.map +1 -0
- package/dist/types/class-name/constants.d.ts +42 -0
- package/dist/types/class-name/constants.d.ts.map +1 -0
- package/dist/types/class-name/deduplicateClassName.d.ts.map +1 -0
- package/dist/types/class-name/filterThemedClassName.d.ts +7 -0
- package/dist/types/class-name/filterThemedClassName.d.ts.map +1 -0
- package/dist/types/class-name/flatClassNameList.d.ts +3 -0
- package/dist/types/class-name/flatClassNameList.d.ts.map +1 -0
- package/dist/types/class-name/index.d.ts +7 -4
- package/dist/types/class-name/index.d.ts.map +1 -1
- package/dist/types/class-name/stateClassName.d.ts +1 -1
- package/dist/types/class-name/themeClassName.d.ts +87 -0
- package/dist/types/class-name/themeClassName.d.ts.map +1 -0
- package/dist/types/class-name/types.d.ts +14 -0
- package/dist/types/class-name/types.d.ts.map +1 -0
- package/dist/types/deprecate/currentOrDeprecated.d.ts +35 -0
- package/dist/types/deprecate/currentOrDeprecated.d.ts.map +1 -0
- package/dist/types/deprecate/deprecate.d.ts +19 -0
- package/dist/types/deprecate/deprecate.d.ts.map +1 -0
- package/dist/types/deprecate/index.d.ts +4 -0
- package/dist/types/deprecate/index.d.ts.map +1 -0
- package/dist/types/deprecate/types.d.ts +2 -0
- package/dist/types/deprecate/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assert-types/Predicates.ts +1 -1
- package/src/class-name/colorSchemeClassName.ts +46 -0
- package/src/class-name/constants.ts +43 -0
- package/src/class-name/filterThemedClassName.ts +86 -0
- package/src/class-name/{Internal/flatClassNameList.ts → flatClassNameList.ts} +2 -2
- package/src/class-name/index.ts +7 -4
- package/src/class-name/listClassName.ts +2 -2
- package/src/class-name/stateClassName.ts +1 -1
- package/src/class-name/themeClassName.ts +117 -0
- package/src/class-name/types.ts +18 -0
- package/src/deprecate/currentOrDeprecated.ts +51 -0
- package/src/deprecate/deprecate.ts +31 -0
- package/src/deprecate/index.ts +3 -0
- package/src/deprecate/types.ts +2 -0
- package/src/index.ts +1 -0
- package/src/types/index.ts +2 -0
- package/dist/development/class-name/GlobalClassNamePrefixContext.js +0 -6
- package/dist/development/class-name/GlobalClassNamePrefixContext.js.map +0 -1
- package/dist/development/class-name/Internal/deduplicateClassName.js.map +0 -1
- package/dist/development/class-name/Internal/flatClassNameList.js.map +0 -1
- package/dist/development/class-name/useClassName.js +0 -18
- package/dist/development/class-name/useClassName.js.map +0 -1
- package/dist/development/class-name/useClassNameFactory.js +0 -21
- package/dist/development/class-name/useClassNameFactory.js.map +0 -1
- package/dist/production/class-name/GlobalClassNamePrefixContext.js +0 -6
- package/dist/production/class-name/GlobalClassNamePrefixContext.js.map +0 -1
- package/dist/production/class-name/Internal/deduplicateClassName.js.map +0 -1
- package/dist/production/class-name/Internal/flatClassNameList.js.map +0 -1
- package/dist/production/class-name/useClassName.js +0 -18
- package/dist/production/class-name/useClassName.js.map +0 -1
- package/dist/production/class-name/useClassNameFactory.js +0 -21
- package/dist/production/class-name/useClassNameFactory.js.map +0 -1
- package/dist/types/class-name/GlobalClassNamePrefixContext.d.ts +0 -2
- package/dist/types/class-name/GlobalClassNamePrefixContext.d.ts.map +0 -1
- package/dist/types/class-name/Internal/deduplicateClassName.d.ts.map +0 -1
- package/dist/types/class-name/Internal/flatClassNameList.d.ts +0 -3
- package/dist/types/class-name/Internal/flatClassNameList.d.ts.map +0 -1
- package/dist/types/class-name/Types.d.ts +0 -10
- package/dist/types/class-name/Types.d.ts.map +0 -1
- package/dist/types/class-name/useClassName.d.ts +0 -10
- package/dist/types/class-name/useClassName.d.ts.map +0 -1
- package/dist/types/class-name/useClassNameFactory.d.ts +0 -3
- package/dist/types/class-name/useClassNameFactory.d.ts.map +0 -1
- package/src/class-name/GlobalClassNamePrefixContext.ts +0 -3
- package/src/class-name/Types.ts +0 -9
- package/src/class-name/useClassName.ts +0 -29
- package/src/class-name/useClassNameFactory.ts +0 -31
- /package/dist/development/class-name/{Internal/deduplicateClassName.js → deduplicateClassName.js} +0 -0
- /package/dist/production/class-name/{Internal/deduplicateClassName.js → deduplicateClassName.js} +0 -0
- /package/dist/types/class-name/{Internal/deduplicateClassName.d.ts → deduplicateClassName.d.ts} +0 -0
- /package/src/class-name/{Internal/deduplicateClassName.ts → deduplicateClassName.ts} +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves current or deprecated value. If both are defined, it will throw an error in development mode.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
5
|
+
*
|
|
6
|
+
* Errors are thrown only in development mode. In production mode, the deprecated value is returned.
|
|
7
|
+
*
|
|
8
|
+
* @param current - Current value that replaces deprecated value
|
|
9
|
+
* @param deprecated - Deprecated value that will be removed in the next release
|
|
10
|
+
* @param shouldThrow - Whether to throw an error if both current and deprecated are defined
|
|
11
|
+
* @returns Deprecated value if it is defined, otherwise current value
|
|
12
|
+
* @throws Error if both current and deprecated are defined
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const current = 'current'
|
|
17
|
+
* const deprecated = 'deprecated'
|
|
18
|
+
*
|
|
19
|
+
* const value = currentOrDeprecated(current, deprecated)
|
|
20
|
+
*
|
|
21
|
+
* console.log(value) // 'deprecated'
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const current = 'current'
|
|
27
|
+
* const deprecated = undefined
|
|
28
|
+
*
|
|
29
|
+
* const value = currentOrDeprecated(current, deprecated)
|
|
30
|
+
*
|
|
31
|
+
* console.log(value) // 'current'
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function currentOrDeprecated<R, D>(current: R, deprecated: D, shouldThrow: boolean = false): R | D {
|
|
35
|
+
if (deprecated !== undefined) {
|
|
36
|
+
if (current !== undefined && import.meta.env.DEV) {
|
|
37
|
+
console.error('Current value:', current)
|
|
38
|
+
console.error('Deprecated value:', deprecated)
|
|
39
|
+
|
|
40
|
+
if (shouldThrow) {
|
|
41
|
+
throw new Error(`You are using deprecated together with current value which is mutually exclusive. Use only one of them.`)
|
|
42
|
+
} else {
|
|
43
|
+
console.error(`You are using deprecated together with current value which is mutually exclusive. Use only one of them.`)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return deprecated
|
|
48
|
+
} else {
|
|
49
|
+
return current
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SemverString } from './types'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Logs a deprecation warning if the assertion is `false`.
|
|
5
|
+
* @internal
|
|
6
|
+
*
|
|
7
|
+
* @param removal - Version when the deprecated feature will be removed
|
|
8
|
+
* @param assertion - Condition that must be true to avoid the deprecation warning
|
|
9
|
+
* @param deprecated - Name of the deprecated feature
|
|
10
|
+
* @param replacement - Name of the feature that replaces the deprecated feature
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const { visible } = props
|
|
15
|
+
* deprecate(visible !== 'default', '1.3.0', '"default"', '"hidden"')
|
|
16
|
+
* // Logs: Use of "default" is deprecated and might be removed in the next release. Use "hidden" instead.
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function deprecate(removal: SemverString, assertion: boolean, deprecated: string, replacement: string): void {
|
|
20
|
+
if (assertion === false) {
|
|
21
|
+
if (import.meta.env.DEV) {
|
|
22
|
+
const shouldThrow = Boolean(import.meta.env.VITE_CONTEMBER_ADMIN_STRICT_DEPRECATIONS)
|
|
23
|
+
|
|
24
|
+
if (shouldThrow) {
|
|
25
|
+
throw new Error(`Support for ${deprecated} was planned to be removed in the ${removal} release. Replace it with ${replacement} instead.`)
|
|
26
|
+
} else {
|
|
27
|
+
console.warn(`Use of ${deprecated} is deprecated and might be removed in the next release. Use ${replacement} instead.`)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/index.ts
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalClassNamePrefixContext.js","sources":["../../../src/class-name/GlobalClassNamePrefixContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const GlobalClassNamePrefixContext = createContext<string>('cui-')\n"],"names":[],"mappings":";AAEa,MAAA,+BAA+B,cAAsB,MAAM;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deduplicateClassName.js","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"sourcesContent":["export function deduplicateClassName(classNameArray: string[]): string[] {\n\treturn [...new Set(classNameArray)]\n}\n"],"names":[],"mappings":"AAAO,SAAS,qBAAqB,gBAAoC;AACxE,SAAO,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC;AACnC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.js","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"sourcesContent":["import { assertNever } from '../../assert-types'\nimport { NestedClassName } from '../Types'\n\nexport function flatClassNameList(className: NestedClassName): string[] {\n\tif (!className) {\n\t\treturn []\n\t} else if (typeof className === 'string') {\n\t\treturn className.split(' ').filter(Boolean)\n\t} else if (Array.isArray(className)) {\n\t\treturn className.flatMap(flatClassNameList)\n\t} else {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error(`Unexpected className: ${JSON.stringify(className)}`)\n\t\t}\n\n\t\tassertNever(className)\n\t}\n}\n"],"names":[],"mappings":";AAGO,SAAS,kBAAkB,WAAsC;AACvE,MAAI,CAAC,WAAW;AACf,WAAO;EAAC,WACE,OAAO,cAAc,UAAU;AACzC,WAAO,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,EAChC,WAAA,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAA,UAAU,QAAQ,iBAAiB;AAAA,EAAA,OACpC;AAKN,gBAAqB;AAAA,EACtB;AACD;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useContext } from "react";
|
|
2
|
-
import { GlobalClassNamePrefixContext } from "./GlobalClassNamePrefixContext.js";
|
|
3
|
-
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
4
|
-
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
5
|
-
const useClassName = (componentClassName, additionalClassName = null, prefixOverride) => {
|
|
6
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext);
|
|
7
|
-
const classNamePrefix = prefixOverride === null || prefixOverride === "" ? "" : prefixOverride || contextPrefix;
|
|
8
|
-
const componentClassNameList = flatClassNameList(componentClassName).map(
|
|
9
|
-
(componentClassName2) => `${classNamePrefix}${componentClassName2}`
|
|
10
|
-
);
|
|
11
|
-
return deduplicateClassName(componentClassNameList.concat(
|
|
12
|
-
flatClassNameList(additionalClassName)
|
|
13
|
-
)).join(" ");
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
useClassName
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=useClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassName.js","sources":["../../../src/class-name/useClassName.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'\nimport { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { NestedClassName } from './Types'\n\n/**\n * Prefixes leaf component class name\n *\n * @param componentClassName - Component class name.\n * @param additionalClassName - Additional class name.\n * @returns Prefixed component class name.\n */\nexport const useClassName = (\n\tcomponentClassName: NestedClassName,\n\tadditionalClassName: NestedClassName = null,\n\tprefixOverride?: string | null | undefined,\n) => {\n\tconst contextPrefix = useContext(GlobalClassNamePrefixContext)\n\tconst classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix\n\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName).map(\n\t\tcomponentClassName => `${classNamePrefix}${componentClassName}`,\n\t)\n\n\treturn deduplicateClassName(componentClassNameList.concat(\n\t\tflatClassNameList(additionalClassName),\n\t)).join(' ')\n}\n"],"names":["componentClassName"],"mappings":";;;;AAaO,MAAM,eAAe,CAC3B,oBACA,sBAAuC,MACvC,mBACI;AACE,QAAA,gBAAgB,WAAW,4BAA4B;AAC7D,QAAM,kBAA0B,mBAAmB,QAAQ,mBAAmB,KAAK,KAAK,kBAAkB;AAEpG,QAAA,yBAAmC,kBAAkB,kBAAkB,EAAE;AAAA,IAC9E,CAAAA,wBAAsB,GAAG,kBAAkBA;AAAAA,EAAA;AAG5C,SAAO,qBAAqB,uBAAuB;AAAA,IAClD,kBAAkB,mBAAmB;AAAA,EAAA,CACrC,EAAE,KAAK,GAAG;AACZ;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { useContext } from "react";
|
|
2
|
-
import { GlobalClassNamePrefixContext } from "./GlobalClassNamePrefixContext.js";
|
|
3
|
-
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
4
|
-
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
5
|
-
function useClassNameFactory(componentClassName, glue = "-", prefixOverride) {
|
|
6
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext);
|
|
7
|
-
const classNamePrefix = prefixOverride === null || prefixOverride === "" ? "" : prefixOverride || contextPrefix;
|
|
8
|
-
const componentClassNameList = flatClassNameList(componentClassName).map(
|
|
9
|
-
(componentClassName2) => `${classNamePrefix}${componentClassName2}`
|
|
10
|
-
);
|
|
11
|
-
return function componentClassNameFor(suffix = null, additionalClassName = null) {
|
|
12
|
-
const classNameSuffix = !suffix ? "" : suffix || contextPrefix;
|
|
13
|
-
return deduplicateClassName((classNameSuffix ? classNameSuffix.match(/^[a-zA-Z0-9]/) ? componentClassNameList.map((componentClassName2) => `${componentClassName2}${glue}${classNameSuffix}`) : componentClassNameList.map((componentClassName2) => `${componentClassName2}${classNameSuffix}`) : componentClassNameList).concat(
|
|
14
|
-
flatClassNameList(additionalClassName)
|
|
15
|
-
)).join(" ");
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
useClassNameFactory
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=useClassNameFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassNameFactory.js","sources":["../../../src/class-name/useClassNameFactory.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'\nimport { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { NestedClassName } from './Types'\n\nexport function useClassNameFactory(componentClassName: NestedClassName, glue: string | null = '-', prefixOverride?: string | null | undefined) {\n\tconst contextPrefix = useContext(GlobalClassNamePrefixContext)\n\tconst classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix\n\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName).map(\n\t\tcomponentClassName => `${classNamePrefix}${componentClassName}`,\n\t)\n\n\treturn function componentClassNameFor(\n\t\tsuffix: string | null | undefined = null,\n\t\tadditionalClassName: NestedClassName = null,\n\t): string {\n\t\tconst classNameSuffix: string = !suffix ? '' : (suffix || contextPrefix)\n\n\t\treturn deduplicateClassName((classNameSuffix\n\t\t\t? (classNameSuffix.match(/^[a-zA-Z0-9]/)\n\t\t\t\t? componentClassNameList.map(componentClassName => `${componentClassName}${glue}${classNameSuffix}`)\n\t\t\t\t: componentClassNameList.map(componentClassName => `${componentClassName}${classNameSuffix}`)\n\t\t\t)\n\t\t\t: componentClassNameList\n\t\t).concat(\n\t\t\tflatClassNameList(additionalClassName),\n\t\t)).join(' ')\n\t}\n}\n"],"names":["componentClassName"],"mappings":";;;;AAMO,SAAS,oBAAoB,oBAAqC,OAAsB,KAAK,gBAA4C;AACzI,QAAA,gBAAgB,WAAW,4BAA4B;AAC7D,QAAM,kBAA0B,mBAAmB,QAAQ,mBAAmB,KAAK,KAAK,kBAAkB;AAEpG,QAAA,yBAAmC,kBAAkB,kBAAkB,EAAE;AAAA,IAC9E,CAAAA,wBAAsB,GAAG,kBAAkBA;AAAAA,EAAA;AAG5C,SAAO,SAAS,sBACf,SAAoC,MACpC,sBAAuC,MAC9B;AACT,UAAM,kBAA0B,CAAC,SAAS,KAAM,UAAU;AAEnD,WAAA,sBAAsB,kBACzB,gBAAgB,MAAM,cAAc,IACpC,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,OAAO,iBAAiB,IACjG,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,iBAAiB,IAE3F,wBACD;AAAA,MACD,kBAAkB,mBAAmB;AAAA,IAAA,CACrC,EAAE,KAAK,GAAG;AAAA,EAAA;AAEb;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalClassNamePrefixContext.js","sources":["../../../src/class-name/GlobalClassNamePrefixContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const GlobalClassNamePrefixContext = createContext<string>('cui-')\n"],"names":[],"mappings":";AAEa,MAAA,+BAA+B,cAAsB,MAAM;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deduplicateClassName.js","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"sourcesContent":["export function deduplicateClassName(classNameArray: string[]): string[] {\n\treturn [...new Set(classNameArray)]\n}\n"],"names":[],"mappings":"AAAO,SAAS,qBAAqB,gBAAoC;AACxE,SAAO,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC;AACnC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.js","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"sourcesContent":["import { assertNever } from '../../assert-types'\nimport { NestedClassName } from '../Types'\n\nexport function flatClassNameList(className: NestedClassName): string[] {\n\tif (!className) {\n\t\treturn []\n\t} else if (typeof className === 'string') {\n\t\treturn className.split(' ').filter(Boolean)\n\t} else if (Array.isArray(className)) {\n\t\treturn className.flatMap(flatClassNameList)\n\t} else {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error(`Unexpected className: ${JSON.stringify(className)}`)\n\t\t}\n\n\t\tassertNever(className)\n\t}\n}\n"],"names":[],"mappings":";AAGO,SAAS,kBAAkB,WAAsC;AACvE,MAAI,CAAC,WAAW;AACf,WAAO;EAAC,WACE,OAAO,cAAc,UAAU;AACzC,WAAO,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,EAChC,WAAA,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAA,UAAU,QAAQ,iBAAiB;AAAA,EAAA,OACpC;AAKN,gBAAqB;AAAA,EACtB;AACD;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useContext } from "react";
|
|
2
|
-
import { GlobalClassNamePrefixContext } from "./GlobalClassNamePrefixContext.js";
|
|
3
|
-
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
4
|
-
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
5
|
-
const useClassName = (componentClassName, additionalClassName = null, prefixOverride) => {
|
|
6
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext);
|
|
7
|
-
const classNamePrefix = prefixOverride === null || prefixOverride === "" ? "" : prefixOverride || contextPrefix;
|
|
8
|
-
const componentClassNameList = flatClassNameList(componentClassName).map(
|
|
9
|
-
(componentClassName2) => `${classNamePrefix}${componentClassName2}`
|
|
10
|
-
);
|
|
11
|
-
return deduplicateClassName(componentClassNameList.concat(
|
|
12
|
-
flatClassNameList(additionalClassName)
|
|
13
|
-
)).join(" ");
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
useClassName
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=useClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassName.js","sources":["../../../src/class-name/useClassName.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'\nimport { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { NestedClassName } from './Types'\n\n/**\n * Prefixes leaf component class name\n *\n * @param componentClassName - Component class name.\n * @param additionalClassName - Additional class name.\n * @returns Prefixed component class name.\n */\nexport const useClassName = (\n\tcomponentClassName: NestedClassName,\n\tadditionalClassName: NestedClassName = null,\n\tprefixOverride?: string | null | undefined,\n) => {\n\tconst contextPrefix = useContext(GlobalClassNamePrefixContext)\n\tconst classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix\n\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName).map(\n\t\tcomponentClassName => `${classNamePrefix}${componentClassName}`,\n\t)\n\n\treturn deduplicateClassName(componentClassNameList.concat(\n\t\tflatClassNameList(additionalClassName),\n\t)).join(' ')\n}\n"],"names":["componentClassName"],"mappings":";;;;AAaO,MAAM,eAAe,CAC3B,oBACA,sBAAuC,MACvC,mBACI;AACE,QAAA,gBAAgB,WAAW,4BAA4B;AAC7D,QAAM,kBAA0B,mBAAmB,QAAQ,mBAAmB,KAAK,KAAK,kBAAkB;AAEpG,QAAA,yBAAmC,kBAAkB,kBAAkB,EAAE;AAAA,IAC9E,CAAAA,wBAAsB,GAAG,kBAAkBA;AAAAA,EAAA;AAG5C,SAAO,qBAAqB,uBAAuB;AAAA,IAClD,kBAAkB,mBAAmB;AAAA,EAAA,CACrC,EAAE,KAAK,GAAG;AACZ;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { useContext } from "react";
|
|
2
|
-
import { GlobalClassNamePrefixContext } from "./GlobalClassNamePrefixContext.js";
|
|
3
|
-
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
4
|
-
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
5
|
-
function useClassNameFactory(componentClassName, glue = "-", prefixOverride) {
|
|
6
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext);
|
|
7
|
-
const classNamePrefix = prefixOverride === null || prefixOverride === "" ? "" : prefixOverride || contextPrefix;
|
|
8
|
-
const componentClassNameList = flatClassNameList(componentClassName).map(
|
|
9
|
-
(componentClassName2) => `${classNamePrefix}${componentClassName2}`
|
|
10
|
-
);
|
|
11
|
-
return function componentClassNameFor(suffix = null, additionalClassName = null) {
|
|
12
|
-
const classNameSuffix = !suffix ? "" : suffix || contextPrefix;
|
|
13
|
-
return deduplicateClassName((classNameSuffix ? classNameSuffix.match(/^[a-zA-Z0-9]/) ? componentClassNameList.map((componentClassName2) => `${componentClassName2}${glue}${classNameSuffix}`) : componentClassNameList.map((componentClassName2) => `${componentClassName2}${classNameSuffix}`) : componentClassNameList).concat(
|
|
14
|
-
flatClassNameList(additionalClassName)
|
|
15
|
-
)).join(" ");
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
useClassNameFactory
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=useClassNameFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassNameFactory.js","sources":["../../../src/class-name/useClassNameFactory.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'\nimport { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { NestedClassName } from './Types'\n\nexport function useClassNameFactory(componentClassName: NestedClassName, glue: string | null = '-', prefixOverride?: string | null | undefined) {\n\tconst contextPrefix = useContext(GlobalClassNamePrefixContext)\n\tconst classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix\n\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName).map(\n\t\tcomponentClassName => `${classNamePrefix}${componentClassName}`,\n\t)\n\n\treturn function componentClassNameFor(\n\t\tsuffix: string | null | undefined = null,\n\t\tadditionalClassName: NestedClassName = null,\n\t): string {\n\t\tconst classNameSuffix: string = !suffix ? '' : (suffix || contextPrefix)\n\n\t\treturn deduplicateClassName((classNameSuffix\n\t\t\t? (classNameSuffix.match(/^[a-zA-Z0-9]/)\n\t\t\t\t? componentClassNameList.map(componentClassName => `${componentClassName}${glue}${classNameSuffix}`)\n\t\t\t\t: componentClassNameList.map(componentClassName => `${componentClassName}${classNameSuffix}`)\n\t\t\t)\n\t\t\t: componentClassNameList\n\t\t).concat(\n\t\t\tflatClassNameList(additionalClassName),\n\t\t)).join(' ')\n\t}\n}\n"],"names":["componentClassName"],"mappings":";;;;AAMO,SAAS,oBAAoB,oBAAqC,OAAsB,KAAK,gBAA4C;AACzI,QAAA,gBAAgB,WAAW,4BAA4B;AAC7D,QAAM,kBAA0B,mBAAmB,QAAQ,mBAAmB,KAAK,KAAK,kBAAkB;AAEpG,QAAA,yBAAmC,kBAAkB,kBAAkB,EAAE;AAAA,IAC9E,CAAAA,wBAAsB,GAAG,kBAAkBA;AAAAA,EAAA;AAG5C,SAAO,SAAS,sBACf,SAAoC,MACpC,sBAAuC,MAC9B;AACT,UAAM,kBAA0B,CAAC,SAAS,KAAM,UAAU;AAEnD,WAAA,sBAAsB,kBACzB,gBAAgB,MAAM,cAAc,IACpC,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,OAAO,iBAAiB,IACjG,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,iBAAiB,IAE3F,wBACD;AAAA,MACD,kBAAkB,mBAAmB;AAAA,IAAA,CACrC,EAAE,KAAK,GAAG;AAAA,EAAA;AAEb;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalClassNamePrefixContext.d.ts","sourceRoot":"","sources":["../../../src/class-name/GlobalClassNamePrefixContext.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,iCAAgC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deduplicateClassName.d.ts","sourceRoot":"","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.d.ts","sourceRoot":"","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,EAAE,CActE"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[];
|
|
3
|
-
export type ClassNameStateMap = {
|
|
4
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
5
|
-
};
|
|
6
|
-
export type ComponentClassNameProps = PropsWithChildren<{
|
|
7
|
-
className?: NestedClassName;
|
|
8
|
-
componentClassName?: string | string[];
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=Types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/class-name/Types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,eAAe,EAAE,CAAA;AAC3H,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAA;AAE/F,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACvC,CAAC,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NestedClassName } from './Types';
|
|
2
|
-
/**
|
|
3
|
-
* Prefixes leaf component class name
|
|
4
|
-
*
|
|
5
|
-
* @param componentClassName - Component class name.
|
|
6
|
-
* @param additionalClassName - Additional class name.
|
|
7
|
-
* @returns Prefixed component class name.
|
|
8
|
-
*/
|
|
9
|
-
export declare const useClassName: (componentClassName: NestedClassName, additionalClassName?: NestedClassName, prefixOverride?: string | null | undefined) => string;
|
|
10
|
-
//# sourceMappingURL=useClassName.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/useClassName.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,uBACJ,eAAe,wBACd,eAAe,mBACnB,MAAM,GAAG,IAAI,GAAG,SAAS,WAY1C,CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { NestedClassName } from './Types';
|
|
2
|
-
export declare function useClassNameFactory(componentClassName: NestedClassName, glue?: string | null, prefixOverride?: string | null | undefined): (suffix?: string | null | undefined, additionalClassName?: NestedClassName) => string;
|
|
3
|
-
//# sourceMappingURL=useClassNameFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClassNameFactory.d.ts","sourceRoot":"","sources":["../../../src/class-name/useClassNameFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,GAAE,MAAM,GAAG,IAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,aASpI,MAAM,GAAG,IAAI,GAAG,SAAS,wBACZ,eAAe,KAClC,MAAM,CAaT"}
|
package/src/class-name/Types.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react'
|
|
2
|
-
|
|
3
|
-
export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[]
|
|
4
|
-
export type ClassNameStateMap = { [key: string]: string | number | boolean | null | undefined }
|
|
5
|
-
|
|
6
|
-
export type ComponentClassNameProps = PropsWithChildren<{
|
|
7
|
-
className?: NestedClassName;
|
|
8
|
-
componentClassName?: string | string[];
|
|
9
|
-
}>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react'
|
|
2
|
-
import { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'
|
|
3
|
-
import { deduplicateClassName } from './Internal/deduplicateClassName'
|
|
4
|
-
import { flatClassNameList } from './Internal/flatClassNameList'
|
|
5
|
-
import { NestedClassName } from './Types'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Prefixes leaf component class name
|
|
9
|
-
*
|
|
10
|
-
* @param componentClassName - Component class name.
|
|
11
|
-
* @param additionalClassName - Additional class name.
|
|
12
|
-
* @returns Prefixed component class name.
|
|
13
|
-
*/
|
|
14
|
-
export const useClassName = (
|
|
15
|
-
componentClassName: NestedClassName,
|
|
16
|
-
additionalClassName: NestedClassName = null,
|
|
17
|
-
prefixOverride?: string | null | undefined,
|
|
18
|
-
) => {
|
|
19
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext)
|
|
20
|
-
const classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix
|
|
21
|
-
|
|
22
|
-
const componentClassNameList: string[] = flatClassNameList(componentClassName).map(
|
|
23
|
-
componentClassName => `${classNamePrefix}${componentClassName}`,
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
return deduplicateClassName(componentClassNameList.concat(
|
|
27
|
-
flatClassNameList(additionalClassName),
|
|
28
|
-
)).join(' ')
|
|
29
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react'
|
|
2
|
-
import { GlobalClassNamePrefixContext } from './GlobalClassNamePrefixContext'
|
|
3
|
-
import { deduplicateClassName } from './Internal/deduplicateClassName'
|
|
4
|
-
import { flatClassNameList } from './Internal/flatClassNameList'
|
|
5
|
-
import { NestedClassName } from './Types'
|
|
6
|
-
|
|
7
|
-
export function useClassNameFactory(componentClassName: NestedClassName, glue: string | null = '-', prefixOverride?: string | null | undefined) {
|
|
8
|
-
const contextPrefix = useContext(GlobalClassNamePrefixContext)
|
|
9
|
-
const classNamePrefix: string = prefixOverride === null || prefixOverride === '' ? '' : prefixOverride || contextPrefix
|
|
10
|
-
|
|
11
|
-
const componentClassNameList: string[] = flatClassNameList(componentClassName).map(
|
|
12
|
-
componentClassName => `${classNamePrefix}${componentClassName}`,
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
return function componentClassNameFor(
|
|
16
|
-
suffix: string | null | undefined = null,
|
|
17
|
-
additionalClassName: NestedClassName = null,
|
|
18
|
-
): string {
|
|
19
|
-
const classNameSuffix: string = !suffix ? '' : (suffix || contextPrefix)
|
|
20
|
-
|
|
21
|
-
return deduplicateClassName((classNameSuffix
|
|
22
|
-
? (classNameSuffix.match(/^[a-zA-Z0-9]/)
|
|
23
|
-
? componentClassNameList.map(componentClassName => `${componentClassName}${glue}${classNameSuffix}`)
|
|
24
|
-
: componentClassNameList.map(componentClassName => `${componentClassName}${classNameSuffix}`)
|
|
25
|
-
)
|
|
26
|
-
: componentClassNameList
|
|
27
|
-
).concat(
|
|
28
|
-
flatClassNameList(additionalClassName),
|
|
29
|
-
)).join(' ')
|
|
30
|
-
}
|
|
31
|
-
}
|
/package/dist/development/class-name/{Internal/deduplicateClassName.js → deduplicateClassName.js}
RENAMED
|
File without changes
|
/package/dist/production/class-name/{Internal/deduplicateClassName.js → deduplicateClassName.js}
RENAMED
|
File without changes
|
/package/dist/types/class-name/{Internal/deduplicateClassName.d.ts → deduplicateClassName.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|