@lumx/core 3.20.1-alpha.47 → 3.20.1-alpha.49
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/js/utils/classNames/bem/block.d.ts +1 -2
- package/js/utils/classNames/bem/block.js +1 -4
- package/js/utils/classNames/bem/element.d.ts +1 -2
- package/js/utils/classNames/bem/element.js +1 -5
- package/js/utils/classNames/bem/generateBEMClass.d.ts +3 -4
- package/js/utils/classNames/bem/generateBEMClass.js +19 -19
- package/js/utils/classNames/color/index.d.ts +5 -5
- package/js/utils/classNames/color/index.js +3 -3
- package/js/utils/classNames/typography/index.d.ts +1 -1
- package/js/utils/classNames/typography/index.js +0 -2
- package/package.json +1 -1
|
@@ -9,7 +9,6 @@ import { type Modifier, type RawModifier } from './generateBEMClass';
|
|
|
9
9
|
* @returns A function that accepts:
|
|
10
10
|
* - modifier - Optional BEM modifier (string, object, or array)
|
|
11
11
|
* - additionalClasses - Optional additional classes to include
|
|
12
|
-
* - modifierLast - Whether to append modifier classes last (default: false)
|
|
13
12
|
*
|
|
14
13
|
* @example
|
|
15
14
|
* const button = block('my-button');
|
|
@@ -17,4 +16,4 @@ import { type Modifier, type RawModifier } from './generateBEMClass';
|
|
|
17
16
|
* button('primary'); // 'my-button my-button--primary'
|
|
18
17
|
* button({ active: true }); // 'my-button my-button--active'
|
|
19
18
|
*/
|
|
20
|
-
export declare const block: <B extends string>(baseClass: KebabCase<B>) => <M extends RawModifier>(modifier?: Modifier<M>, additionalClasses?: ClassValue | ClassValue[]
|
|
19
|
+
export declare const block: <B extends string>(baseClass: KebabCase<B>) => <M extends RawModifier>(modifier?: Modifier<M>, additionalClasses?: ClassValue | ClassValue[]) => string;
|
|
@@ -8,7 +8,6 @@ import { generateBEMClass } from './generateBEMClass.js';
|
|
|
8
8
|
* @returns A function that accepts:
|
|
9
9
|
* - modifier - Optional BEM modifier (string, object, or array)
|
|
10
10
|
* - additionalClasses - Optional additional classes to include
|
|
11
|
-
* - modifierLast - Whether to append modifier classes last (default: false)
|
|
12
11
|
*
|
|
13
12
|
* @example
|
|
14
13
|
* const button = block('my-button');
|
|
@@ -16,8 +15,6 @@ import { generateBEMClass } from './generateBEMClass.js';
|
|
|
16
15
|
* button('primary'); // 'my-button my-button--primary'
|
|
17
16
|
* button({ active: true }); // 'my-button my-button--active'
|
|
18
17
|
*/
|
|
19
|
-
const block = (baseClass) => (modifier, additionalClasses
|
|
20
|
-
return generateBEMClass(baseClass, modifier, additionalClasses, modifierLast);
|
|
21
|
-
};
|
|
18
|
+
const block = (baseClass) => (modifier, additionalClasses) => generateBEMClass(baseClass, modifier, additionalClasses);
|
|
22
19
|
|
|
23
20
|
export { block };
|
|
@@ -10,7 +10,6 @@ import { type Modifier, type RawModifier } from './generateBEMClass';
|
|
|
10
10
|
* - elem - The BEM element name (e.g., 'icon', 'title')
|
|
11
11
|
* - modifier - Optional BEM modifier (string, object, or array)
|
|
12
12
|
* - additionalClasses - Optional additional classes to include
|
|
13
|
-
* - modifierLast - Whether to append modifier classes last (default: false)
|
|
14
13
|
*
|
|
15
14
|
* @example
|
|
16
15
|
* const button = element('my-button');
|
|
@@ -18,4 +17,4 @@ import { type Modifier, type RawModifier } from './generateBEMClass';
|
|
|
18
17
|
* button('icon', 'large'); // 'my-button__icon my-button__icon--large'
|
|
19
18
|
* button('icon', { active: true }); // 'my-button__icon my-button__icon--active'
|
|
20
19
|
*/
|
|
21
|
-
export declare const element: <B extends string>(baseClass: KebabCase<B>) => <E extends string, M extends RawModifier>(elem: KebabCase<E>, modifier?: Modifier<M>, additionalClasses?: ClassValue | ClassValue[]
|
|
20
|
+
export declare const element: <B extends string>(baseClass: KebabCase<B>) => <E extends string, M extends RawModifier>(elem: KebabCase<E>, modifier?: Modifier<M>, additionalClasses?: ClassValue | ClassValue[]) => string;
|
|
@@ -9,7 +9,6 @@ import { generateBEMClass } from './generateBEMClass.js';
|
|
|
9
9
|
* - elem - The BEM element name (e.g., 'icon', 'title')
|
|
10
10
|
* - modifier - Optional BEM modifier (string, object, or array)
|
|
11
11
|
* - additionalClasses - Optional additional classes to include
|
|
12
|
-
* - modifierLast - Whether to append modifier classes last (default: false)
|
|
13
12
|
*
|
|
14
13
|
* @example
|
|
15
14
|
* const button = element('my-button');
|
|
@@ -17,9 +16,6 @@ import { generateBEMClass } from './generateBEMClass.js';
|
|
|
17
16
|
* button('icon', 'large'); // 'my-button__icon my-button__icon--large'
|
|
18
17
|
* button('icon', { active: true }); // 'my-button__icon my-button__icon--active'
|
|
19
18
|
*/
|
|
20
|
-
const element = (baseClass) => (elem, modifier, additionalClasses
|
|
21
|
-
const elementClassname = `${baseClass}__${elem}`;
|
|
22
|
-
return generateBEMClass(elementClassname, modifier, additionalClasses, modifierLast);
|
|
23
|
-
};
|
|
19
|
+
const element = (baseClass) => (elem, modifier, additionalClasses) => generateBEMClass(`${baseClass}__${elem}`, modifier, additionalClasses);
|
|
24
20
|
|
|
25
21
|
export { element };
|
|
@@ -7,9 +7,9 @@ export type RawModifier = string | Record<string, boolean> | ClassValue[];
|
|
|
7
7
|
* @example { 'is-disabled': true, 'is-selected': false }
|
|
8
8
|
* @example ['another-class'] // => Added as-is, not as a BEM modifier suffix
|
|
9
9
|
*/
|
|
10
|
-
export type Modifier<T extends RawModifier> = T extends string ? KebabCase<T> : T extends
|
|
10
|
+
export type Modifier<T extends RawModifier> = T extends string ? KebabCase<T> : T extends Record<string, boolean> ? {
|
|
11
11
|
[K in keyof T as KebabCase<K>]?: boolean;
|
|
12
|
-
};
|
|
12
|
+
} : T;
|
|
13
13
|
/**
|
|
14
14
|
* Generates a BEM (Block Element Modifier) class name string.
|
|
15
15
|
* Combines a base class with optional modifiers and additional classes.
|
|
@@ -20,7 +20,6 @@ export type Modifier<T extends RawModifier> = T extends string ? KebabCase<T> :
|
|
|
20
20
|
* - object: creates `baseClass--key` for each truthy value
|
|
21
21
|
* - array: passes through as additional classes
|
|
22
22
|
* @param additionalClasses - Optional additional classes to include
|
|
23
|
-
* @param modifierLast - If true, appends modifier classes after additional classes (default: false)
|
|
24
23
|
* @returns Combined class name string
|
|
25
24
|
*
|
|
26
25
|
* @example
|
|
@@ -29,4 +28,4 @@ export type Modifier<T extends RawModifier> = T extends string ? KebabCase<T> :
|
|
|
29
28
|
* generateBEMClass('button', { active: true, disabled: false }); // 'button button--active'
|
|
30
29
|
* generateBEMClass('button', 'primary', 'my-class'); // 'button button--primary my-class'
|
|
31
30
|
*/
|
|
32
|
-
export declare function generateBEMClass<
|
|
31
|
+
export declare function generateBEMClass<M extends RawModifier>(baseClass: string, modifier?: Modifier<M>, additionalClasses?: ClassValue | ClassValue[]): string;
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import classnames from 'classnames';
|
|
2
2
|
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
classes.push(`${baseClass}--${modifier}`);
|
|
3
|
+
function generateModifierClasses(baseClass, modifier) {
|
|
4
|
+
if (!modifier) {
|
|
5
|
+
return undefined;
|
|
7
6
|
}
|
|
8
|
-
|
|
7
|
+
if (Array.isArray(modifier)) {
|
|
9
8
|
return modifier;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
if (typeof modifier === 'string') {
|
|
11
|
+
return `${baseClass}--${modifier}`;
|
|
12
|
+
}
|
|
13
|
+
const classes = [];
|
|
14
|
+
for (const [key, value] of Object.entries(modifier)) {
|
|
15
|
+
if (value)
|
|
16
|
+
classes.push(`${baseClass}--${key}`);
|
|
16
17
|
}
|
|
17
18
|
return classes;
|
|
18
19
|
}
|
|
@@ -26,7 +27,6 @@ function parseModifier(baseClass, modifier) {
|
|
|
26
27
|
* - object: creates `baseClass--key` for each truthy value
|
|
27
28
|
* - array: passes through as additional classes
|
|
28
29
|
* @param additionalClasses - Optional additional classes to include
|
|
29
|
-
* @param modifierLast - If true, appends modifier classes after additional classes (default: false)
|
|
30
30
|
* @returns Combined class name string
|
|
31
31
|
*
|
|
32
32
|
* @example
|
|
@@ -35,14 +35,14 @@ function parseModifier(baseClass, modifier) {
|
|
|
35
35
|
* generateBEMClass('button', { active: true, disabled: false }); // 'button button--active'
|
|
36
36
|
* generateBEMClass('button', 'primary', 'my-class'); // 'button button--primary my-class'
|
|
37
37
|
*/
|
|
38
|
-
function generateBEMClass(baseClass, modifier, additionalClasses
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
function generateBEMClass(baseClass, modifier, additionalClasses) {
|
|
39
|
+
return classnames(
|
|
40
|
+
// Base class
|
|
41
|
+
baseClass,
|
|
42
|
+
// Modifier(s)
|
|
43
|
+
generateModifierClasses(baseClass, modifier),
|
|
44
|
+
// Additional classes
|
|
45
|
+
additionalClasses);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export { generateBEMClass };
|
|
@@ -14,19 +14,19 @@ import { ColorVariant, ColorWithVariants } from '@lumx/core/js/constants';
|
|
|
14
14
|
* color('font', 'primary-L2'); // 'lumx-color-font-primary-L2'
|
|
15
15
|
* color('font', undefined); // undefined
|
|
16
16
|
*/
|
|
17
|
-
export declare function color(type: 'font' | 'background', propColor
|
|
17
|
+
export declare function color(type: 'font' | 'background', propColor: ColorWithVariants, propColorVariant?: ColorVariant): string | undefined;
|
|
18
18
|
/**
|
|
19
19
|
* Generates a Lumx background color class name for the given color and variant.
|
|
20
20
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
21
|
+
* @param propColor - The color palette name (e.g., 'primary', 'dark', 'light')
|
|
22
|
+
* @param propColorVariant - The color variant (e.g., 'L1', 'L2', 'D1', 'N')
|
|
23
23
|
* @returns The Lumx background color class name
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* background('dark', 'L2'); // 'lumx-color-background-dark-L2'
|
|
27
27
|
* background('primary', 'N'); // 'lumx-color-background-primary-N'
|
|
28
28
|
*/
|
|
29
|
-
export declare const background: (
|
|
29
|
+
export declare const background: (propColor: ColorWithVariants, propColorVariant?: ColorVariant) => string | undefined;
|
|
30
30
|
/**
|
|
31
31
|
* Generates a Lumx font color class name for the given color and variant.
|
|
32
32
|
*
|
|
@@ -40,4 +40,4 @@ export declare const background: (col?: ColorWithVariants, variant?: ColorVarian
|
|
|
40
40
|
* font('primary'); // 'lumx-color-font-primary-N'
|
|
41
41
|
* font(undefined); // undefined
|
|
42
42
|
*/
|
|
43
|
-
export declare const font: (propColor
|
|
43
|
+
export declare const font: (propColor: ColorWithVariants, propColorVariant?: ColorVariant) => string | undefined;
|
|
@@ -25,15 +25,15 @@ function color(type, propColor, propColorVariant) {
|
|
|
25
25
|
/**
|
|
26
26
|
* Generates a Lumx background color class name for the given color and variant.
|
|
27
27
|
*
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
28
|
+
* @param propColor - The color palette name (e.g., 'primary', 'dark', 'light')
|
|
29
|
+
* @param propColorVariant - The color variant (e.g., 'L1', 'L2', 'D1', 'N')
|
|
30
30
|
* @returns The Lumx background color class name
|
|
31
31
|
*
|
|
32
32
|
* @example
|
|
33
33
|
* background('dark', 'L2'); // 'lumx-color-background-dark-L2'
|
|
34
34
|
* background('primary', 'N'); // 'lumx-color-background-primary-N'
|
|
35
35
|
*/
|
|
36
|
-
const background = (
|
|
36
|
+
const background = (propColor, propColorVariant) => color('background', propColor, propColorVariant);
|
|
37
37
|
/**
|
|
38
38
|
* Generates a Lumx font color class name for the given color and variant.
|
|
39
39
|
*
|
|
@@ -3,4 +3,4 @@ import type { Typography } from '@lumx/core/js/constants';
|
|
|
3
3
|
* Returns the classname associated to the given typography. For example, for Typography.title it returns
|
|
4
4
|
* lumx-typography-title
|
|
5
5
|
*/
|
|
6
|
-
export declare function typography(typo
|
|
6
|
+
export declare function typography(typo: Typography): string;
|
package/package.json
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"update-version-changelog": "yarn version-changelog ../../CHANGELOG.md"
|
|
36
36
|
},
|
|
37
37
|
"sideEffects": false,
|
|
38
|
-
"version": "3.20.1-alpha.
|
|
38
|
+
"version": "3.20.1-alpha.49",
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
41
41
|
"@types/react": "^17.0.2",
|