@contember/utilities 1.3.0-alpha.9 → 2.0.0-alpha.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/deprecate/deprecate.cjs +11 -0
- package/dist/development/deprecate/deprecate.cjs.map +1 -1
- package/dist/development/deprecate/deprecate.js +11 -0
- package/dist/development/deprecate/deprecate.js.map +1 -1
- package/dist/development/events/isSpecialLinkClick.cjs +5 -0
- package/dist/development/events/isSpecialLinkClick.cjs.map +1 -0
- package/dist/development/events/isSpecialLinkClick.js +5 -0
- package/dist/development/events/isSpecialLinkClick.js.map +1 -0
- package/dist/development/index.cjs +2 -18
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -18
- package/dist/development/index.js.map +1 -1
- package/dist/production/events/isSpecialLinkClick.cjs +5 -0
- package/dist/production/events/isSpecialLinkClick.cjs.map +1 -0
- package/dist/production/events/isSpecialLinkClick.js +5 -0
- package/dist/production/events/isSpecialLinkClick.js.map +1 -0
- package/dist/production/index.cjs +2 -18
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -18
- package/dist/production/index.js.map +1 -1
- package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts +1 -1
- package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts.map +1 -1
- package/dist/types/events/index.d.ts +2 -0
- package/dist/types/events/index.d.ts.map +1 -0
- package/dist/types/events/isSpecialLinkClick.d.ts +2 -0
- package/dist/types/events/isSpecialLinkClick.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/Partial.d.ts +3 -0
- package/dist/types/types/Partial.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/events/index.ts +1 -0
- package/src/events/isSpecialLinkClick.ts +1 -0
- package/src/index.ts +1 -1
- package/src/types/Partial.ts +2 -0
- package/src/types/index.ts +1 -0
- package/dist/development/class-name/colorSchemeClassName.cjs +0 -12
- package/dist/development/class-name/colorSchemeClassName.cjs.map +0 -1
- package/dist/development/class-name/colorSchemeClassName.js +0 -12
- package/dist/development/class-name/colorSchemeClassName.js.map +0 -1
- package/dist/development/class-name/constants.cjs +0 -7
- package/dist/development/class-name/constants.cjs.map +0 -1
- package/dist/development/class-name/constants.js +0 -7
- package/dist/development/class-name/constants.js.map +0 -1
- package/dist/development/class-name/deduplicateClassName.cjs +0 -7
- package/dist/development/class-name/deduplicateClassName.cjs.map +0 -1
- package/dist/development/class-name/deduplicateClassName.js +0 -7
- package/dist/development/class-name/deduplicateClassName.js.map +0 -1
- package/dist/development/class-name/filterThemedClassName.cjs +0 -46
- package/dist/development/class-name/filterThemedClassName.cjs.map +0 -1
- package/dist/development/class-name/filterThemedClassName.js +0 -46
- package/dist/development/class-name/filterThemedClassName.js.map +0 -1
- package/dist/development/class-name/flatClassNameList.cjs +0 -16
- package/dist/development/class-name/flatClassNameList.cjs.map +0 -1
- package/dist/development/class-name/flatClassNameList.js +0 -16
- package/dist/development/class-name/flatClassNameList.js.map +0 -1
- package/dist/development/class-name/listClassName.cjs +0 -9
- package/dist/development/class-name/listClassName.cjs.map +0 -1
- package/dist/development/class-name/listClassName.js +0 -9
- package/dist/development/class-name/listClassName.js.map +0 -1
- package/dist/development/class-name/themeClassName.cjs +0 -18
- package/dist/development/class-name/themeClassName.cjs.map +0 -1
- package/dist/development/class-name/themeClassName.js +0 -18
- package/dist/development/class-name/themeClassName.js.map +0 -1
- package/dist/production/class-name/colorSchemeClassName.cjs +0 -12
- package/dist/production/class-name/colorSchemeClassName.cjs.map +0 -1
- package/dist/production/class-name/colorSchemeClassName.js +0 -12
- package/dist/production/class-name/colorSchemeClassName.js.map +0 -1
- package/dist/production/class-name/constants.cjs +0 -7
- package/dist/production/class-name/constants.cjs.map +0 -1
- package/dist/production/class-name/constants.js +0 -7
- package/dist/production/class-name/constants.js.map +0 -1
- package/dist/production/class-name/deduplicateClassName.cjs +0 -7
- package/dist/production/class-name/deduplicateClassName.cjs.map +0 -1
- package/dist/production/class-name/deduplicateClassName.js +0 -7
- package/dist/production/class-name/deduplicateClassName.js.map +0 -1
- package/dist/production/class-name/filterThemedClassName.cjs +0 -46
- package/dist/production/class-name/filterThemedClassName.cjs.map +0 -1
- package/dist/production/class-name/filterThemedClassName.js +0 -46
- package/dist/production/class-name/filterThemedClassName.js.map +0 -1
- package/dist/production/class-name/flatClassNameList.cjs +0 -16
- package/dist/production/class-name/flatClassNameList.cjs.map +0 -1
- package/dist/production/class-name/flatClassNameList.js +0 -16
- package/dist/production/class-name/flatClassNameList.js.map +0 -1
- package/dist/production/class-name/listClassName.cjs +0 -9
- package/dist/production/class-name/listClassName.cjs.map +0 -1
- package/dist/production/class-name/listClassName.js +0 -9
- package/dist/production/class-name/listClassName.js.map +0 -1
- package/dist/production/class-name/themeClassName.cjs +0 -18
- package/dist/production/class-name/themeClassName.cjs.map +0 -1
- package/dist/production/class-name/themeClassName.js +0 -18
- package/dist/production/class-name/themeClassName.js.map +0 -1
- package/dist/types/class-name/colorSchemeClassName.d.ts +0 -32
- package/dist/types/class-name/colorSchemeClassName.d.ts.map +0 -1
- package/dist/types/class-name/constants.d.ts +0 -24
- package/dist/types/class-name/constants.d.ts.map +0 -1
- package/dist/types/class-name/deduplicateClassName.d.ts +0 -2
- package/dist/types/class-name/deduplicateClassName.d.ts.map +0 -1
- package/dist/types/class-name/filterThemedClassName.d.ts +0 -7
- package/dist/types/class-name/filterThemedClassName.d.ts.map +0 -1
- package/dist/types/class-name/flatClassNameList.d.ts +0 -3
- package/dist/types/class-name/flatClassNameList.d.ts.map +0 -1
- package/dist/types/class-name/index.d.ts +0 -9
- package/dist/types/class-name/index.d.ts.map +0 -1
- package/dist/types/class-name/listClassName.d.ts +0 -9
- package/dist/types/class-name/listClassName.d.ts.map +0 -1
- package/dist/types/class-name/themeClassName.d.ts +0 -78
- package/dist/types/class-name/themeClassName.d.ts.map +0 -1
- package/dist/types/class-name/types.d.ts +0 -9
- package/dist/types/class-name/types.d.ts.map +0 -1
- package/src/class-name/colorSchemeClassName.ts +0 -39
- package/src/class-name/constants.ts +0 -25
- package/src/class-name/deduplicateClassName.ts +0 -3
- package/src/class-name/filterThemedClassName.ts +0 -59
- package/src/class-name/flatClassNameList.ts +0 -18
- package/src/class-name/index.ts +0 -8
- package/src/class-name/listClassName.ts +0 -13
- package/src/class-name/themeClassName.ts +0 -90
- package/src/class-name/types.ts +0 -7
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function contentThemeClassName(theme) {
|
|
4
|
-
return theme ? `theme-${theme}-content` : void 0;
|
|
5
|
-
}
|
|
6
|
-
function controlsThemeClassName(theme) {
|
|
7
|
-
return theme ? `theme-${theme}-controls` : void 0;
|
|
8
|
-
}
|
|
9
|
-
function themeClassName(theme) {
|
|
10
|
-
return [
|
|
11
|
-
contentThemeClassName(theme),
|
|
12
|
-
controlsThemeClassName(theme)
|
|
13
|
-
];
|
|
14
|
-
}
|
|
15
|
-
exports.contentThemeClassName = contentThemeClassName;
|
|
16
|
-
exports.controlsThemeClassName = controlsThemeClassName;
|
|
17
|
-
exports.themeClassName = themeClassName;
|
|
18
|
-
//# sourceMappingURL=themeClassName.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themeClassName.cjs","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["/**\n * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content\n * @returns A content theme class name\n *\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function contentThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-content` : undefined\n}\n\n/**\n * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for controls\n * @returns A controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function controlsThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-controls` : undefined\n}\n\n/**\n * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content and controls\n * @returns A tuple with a content theme class name and a controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const errorTheme = themeClassName('danger').join(' ')\n * // ^ 'theme-danger-content theme-danger-controls'\n *\n * return (\n * \t<div className={`${colorScheme} ${errorTheme}`}>File not found</div>\n * )\n * ```\n */\nexport function themeClassName(\n\ttheme: string | null | undefined,\n) {\n\treturn [\n\t\tcontentThemeClassName(theme),\n\t\tcontrolsThemeClassName(theme),\n\t] as const\n}\n"],"names":[],"mappings":";;AAyBO,SAAS,sBAAsB,OAAsD;AACpF,SAAA,QAAQ,SAAS,KAAK,aAAa;AAC3C;AA2BO,SAAS,uBAAuB,OAAsD;AACrF,SAAA,QAAQ,SAAS,KAAK,cAAc;AAC5C;AA0BO,SAAS,eACf,OACC;AACM,SAAA;AAAA,IACN,sBAAsB,KAAK;AAAA,IAC3B,uBAAuB,KAAK;AAAA,EAAA;AAE9B;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function contentThemeClassName(theme) {
|
|
2
|
-
return theme ? `theme-${theme}-content` : void 0;
|
|
3
|
-
}
|
|
4
|
-
function controlsThemeClassName(theme) {
|
|
5
|
-
return theme ? `theme-${theme}-controls` : void 0;
|
|
6
|
-
}
|
|
7
|
-
function themeClassName(theme) {
|
|
8
|
-
return [
|
|
9
|
-
contentThemeClassName(theme),
|
|
10
|
-
controlsThemeClassName(theme)
|
|
11
|
-
];
|
|
12
|
-
}
|
|
13
|
-
export {
|
|
14
|
-
contentThemeClassName,
|
|
15
|
-
controlsThemeClassName,
|
|
16
|
-
themeClassName
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=themeClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themeClassName.js","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["/**\n * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content\n * @returns A content theme class name\n *\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function contentThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-content` : undefined\n}\n\n/**\n * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for controls\n * @returns A controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function controlsThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-controls` : undefined\n}\n\n/**\n * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content and controls\n * @returns A tuple with a content theme class name and a controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const errorTheme = themeClassName('danger').join(' ')\n * // ^ 'theme-danger-content theme-danger-controls'\n *\n * return (\n * \t<div className={`${colorScheme} ${errorTheme}`}>File not found</div>\n * )\n * ```\n */\nexport function themeClassName(\n\ttheme: string | null | undefined,\n) {\n\treturn [\n\t\tcontentThemeClassName(theme),\n\t\tcontrolsThemeClassName(theme),\n\t] as const\n}\n"],"names":[],"mappings":"AAyBO,SAAS,sBAAsB,OAAsD;AACpF,SAAA,QAAQ,SAAS,KAAK,aAAa;AAC3C;AA2BO,SAAS,uBAAuB,OAAsD;AACrF,SAAA,QAAQ,SAAS,KAAK,cAAc;AAC5C;AA0BO,SAAS,eACf,OACC;AACM,SAAA;AAAA,IACN,sBAAsB,KAAK;AAAA,IAC3B,uBAAuB,KAAK;AAAA,EAAA;AAE9B;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a string with a color scheme class name, prefixed with `scheme-`
|
|
3
|
-
*
|
|
4
|
-
* @param scheme - Color scheme name
|
|
5
|
-
* @returns A color scheme class name
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```tsx
|
|
9
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
10
|
-
* // ^ 'scheme-system'
|
|
11
|
-
*
|
|
12
|
-
* return (
|
|
13
|
-
* <div className={colorScheme}>
|
|
14
|
-
* <button className={controlsThemeClassName}>Click me</button>
|
|
15
|
-
* </div>
|
|
16
|
-
*
|
|
17
|
-
* // renders:
|
|
18
|
-
* // <div class="scheme-system">
|
|
19
|
-
* // <button class="scheme-system theme-default-controls theme-danger-controls:hover">Click me</button>
|
|
20
|
-
* // </div>
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare function colorSchemeClassName(scheme: string): string;
|
|
24
|
-
export declare function colorSchemeClassName(scheme: string | null | undefined): string | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Tests if a string is a color scheme CSS class
|
|
27
|
-
* @param value - String to test
|
|
28
|
-
* @returns `true` if the string is a color scheme CSS class
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
export declare function isColorSchemeClassName(value: string): boolean;
|
|
32
|
-
//# sourceMappingURL=colorSchemeClassName.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colorSchemeClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/colorSchemeClassName.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;AAC5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAK3F;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,WAEnD"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RegExp that matches theme class names
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* If theme is `default` then it will match:
|
|
7
|
-
*
|
|
8
|
-
* - theme-default
|
|
9
|
-
* - theme-default-content
|
|
10
|
-
* - theme-default-controls
|
|
11
|
-
*
|
|
12
|
-
* If theme is `brand-color` then it will match:
|
|
13
|
-
*
|
|
14
|
-
* - theme-brand-color
|
|
15
|
-
* - theme-brand-color-content
|
|
16
|
-
* - theme-brand-color-controls
|
|
17
|
-
*/
|
|
18
|
-
export declare const THEME_CLASS_NAME_REG_EXP: RegExp;
|
|
19
|
-
/**
|
|
20
|
-
* Regular expression for testing if a string is a color scheme CSS class
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export declare const COLOR_SCHEME_CLASS_NAME_REG_EXP: RegExp;
|
|
24
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/class-name/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,wBAAwB,QAA6D,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,+BAA+B,QAA4D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deduplicateClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/deduplicateClassName.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { NestedClassName } from './types';
|
|
2
|
-
export type ThemeConfig = {
|
|
3
|
-
content: string | undefined;
|
|
4
|
-
controls: string | undefined;
|
|
5
|
-
};
|
|
6
|
-
export declare function filterThemedClassName(nestedClassName: NestedClassName, defaultColorSchemeContext: string): string[];
|
|
7
|
-
//# sourceMappingURL=filterThemedClassName.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterThemedClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/filterThemedClassName.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvF,wBAAgB,qBAAqB,CACpC,eAAe,EAAE,eAAe,EAChC,yBAAyB,EAAE,MAAM,YAgDjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.d.ts","sourceRoot":"","sources":["../../../src/class-name/flatClassNameList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,EAAE,CActE"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './colorSchemeClassName';
|
|
2
|
-
export * from './constants';
|
|
3
|
-
export * from './deduplicateClassName';
|
|
4
|
-
export * from './filterThemedClassName';
|
|
5
|
-
export * from './flatClassNameList';
|
|
6
|
-
export * from './listClassName';
|
|
7
|
-
export * from './themeClassName';
|
|
8
|
-
export * from './types';
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/class-name/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { NestedClassName } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Combines a list of class names into a single string, even nested
|
|
4
|
-
*
|
|
5
|
-
* @param list - List of class names
|
|
6
|
-
* @returns Combined class names as string
|
|
7
|
-
*/
|
|
8
|
-
export declare function listClassName(list: NestedClassName): string;
|
|
9
|
-
//# sourceMappingURL=listClassName.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/listClassName.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,UAElD"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`
|
|
3
|
-
*
|
|
4
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
5
|
-
*
|
|
6
|
-
* @param theme - Theme name basis for content
|
|
7
|
-
* @returns A content theme class name
|
|
8
|
-
*
|
|
9
|
-
* @see {@link controlsThemeClassName}
|
|
10
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```tsx
|
|
14
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
15
|
-
* // ^ 'scheme-system'
|
|
16
|
-
* const contentThemeClassName = contentThemeClassName('default')
|
|
17
|
-
* // ^ 'theme-default-content'
|
|
18
|
-
*
|
|
19
|
-
* return (
|
|
20
|
-
* <div className={`${colorScheme} ${contentThemeClassName}`}>
|
|
21
|
-
* <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
|
|
22
|
-
* </div>
|
|
23
|
-
* )
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare function contentThemeClassName(theme: string | null | undefined): string | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`
|
|
29
|
-
*
|
|
30
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
31
|
-
*
|
|
32
|
-
* @param theme - Theme name basis for controls
|
|
33
|
-
* @returns A controls theme class name
|
|
34
|
-
*
|
|
35
|
-
* @see {@link contentThemeClassName}
|
|
36
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```tsx
|
|
40
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
41
|
-
* // ^ 'scheme-system'
|
|
42
|
-
* const contentThemeClassName = contentThemeClassName('default')
|
|
43
|
-
* // ^ 'theme-default-content'
|
|
44
|
-
*
|
|
45
|
-
* return (
|
|
46
|
-
* <div className={`${colorScheme} ${contentThemeClassName}`}>
|
|
47
|
-
* <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
|
|
48
|
-
* </div>
|
|
49
|
-
* )
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export declare function controlsThemeClassName(theme: string | null | undefined): string | undefined;
|
|
53
|
-
/**
|
|
54
|
-
* Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively
|
|
55
|
-
*
|
|
56
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
57
|
-
*
|
|
58
|
-
* @param theme - Theme name basis for content and controls
|
|
59
|
-
* @returns A tuple with a content theme class name and a controls theme class name
|
|
60
|
-
*
|
|
61
|
-
* @see {@link contentThemeClassName}
|
|
62
|
-
* @see {@link controlsThemeClassName}
|
|
63
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```tsx
|
|
67
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
68
|
-
* // ^ 'scheme-system'
|
|
69
|
-
* const errorTheme = themeClassName('danger').join(' ')
|
|
70
|
-
* // ^ 'theme-danger-content theme-danger-controls'
|
|
71
|
-
*
|
|
72
|
-
* return (
|
|
73
|
-
* <div className={`${colorScheme} ${errorTheme}`}>File not found</div>
|
|
74
|
-
* )
|
|
75
|
-
* ```
|
|
76
|
-
*/
|
|
77
|
-
export declare function themeClassName(theme: string | null | undefined): readonly [string | undefined, string | undefined];
|
|
78
|
-
//# sourceMappingURL=themeClassName.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themeClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/themeClassName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,qDAMhC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[];
|
|
2
|
-
export type ClassNameStateMap = {
|
|
3
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
4
|
-
};
|
|
5
|
-
export interface ComponentClassNameProps {
|
|
6
|
-
className?: NestedClassName;
|
|
7
|
-
componentClassName?: string | string[];
|
|
8
|
-
}
|
|
9
|
-
//# 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,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,WAAW,uBAAuB;IACvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACvC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { COLOR_SCHEME_CLASS_NAME_REG_EXP } from './constants'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Returns a string with a color scheme class name, prefixed with `scheme-`
|
|
5
|
-
*
|
|
6
|
-
* @param scheme - Color scheme name
|
|
7
|
-
* @returns A color scheme class name
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
12
|
-
* // ^ 'scheme-system'
|
|
13
|
-
*
|
|
14
|
-
* return (
|
|
15
|
-
* <div className={colorScheme}>
|
|
16
|
-
* <button className={controlsThemeClassName}>Click me</button>
|
|
17
|
-
* </div>
|
|
18
|
-
*
|
|
19
|
-
* // renders:
|
|
20
|
-
* // <div class="scheme-system">
|
|
21
|
-
* // <button class="scheme-system theme-default-controls theme-danger-controls:hover">Click me</button>
|
|
22
|
-
* // </div>
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export function colorSchemeClassName(scheme: string): string
|
|
26
|
-
export function colorSchemeClassName(scheme: string | null | undefined): string | undefined
|
|
27
|
-
export function colorSchemeClassName(scheme: string | null | undefined): string | undefined {
|
|
28
|
-
return typeof scheme === 'string' ? `scheme-${scheme}` : undefined
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Tests if a string is a color scheme CSS class
|
|
33
|
-
* @param value - String to test
|
|
34
|
-
* @returns `true` if the string is a color scheme CSS class
|
|
35
|
-
* @internal
|
|
36
|
-
*/
|
|
37
|
-
export function isColorSchemeClassName(value: string) {
|
|
38
|
-
return COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value)
|
|
39
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RegExp that matches theme class names
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* If theme is `default` then it will match:
|
|
7
|
-
*
|
|
8
|
-
* - theme-default
|
|
9
|
-
* - theme-default-content
|
|
10
|
-
* - theme-default-controls
|
|
11
|
-
*
|
|
12
|
-
* If theme is `brand-color` then it will match:
|
|
13
|
-
*
|
|
14
|
-
* - theme-brand-color
|
|
15
|
-
* - theme-brand-color-content
|
|
16
|
-
* - theme-brand-color-controls
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
export const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))?$/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Regular expression for testing if a string is a color scheme CSS class
|
|
23
|
-
* @internal
|
|
24
|
-
*/
|
|
25
|
-
export const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { isColorSchemeClassName } from './colorSchemeClassName'
|
|
2
|
-
import { THEME_CLASS_NAME_REG_EXP } from './constants'
|
|
3
|
-
import { flatClassNameList } from './flatClassNameList'
|
|
4
|
-
import { contentThemeClassName, controlsThemeClassName } from './themeClassName'
|
|
5
|
-
import { NestedClassName } from './types'
|
|
6
|
-
|
|
7
|
-
export type ThemeConfig = { content: string | undefined, controls: string | undefined }
|
|
8
|
-
|
|
9
|
-
export function filterThemedClassName(
|
|
10
|
-
nestedClassName: NestedClassName,
|
|
11
|
-
defaultColorSchemeContext: string,
|
|
12
|
-
) {
|
|
13
|
-
const theme: ThemeConfig = { content: undefined, controls: undefined }
|
|
14
|
-
let colorScheme: string | undefined = undefined
|
|
15
|
-
|
|
16
|
-
const flatClassName = flatClassNameList(nestedClassName).map(className => {
|
|
17
|
-
if (isColorSchemeClassName(className)) {
|
|
18
|
-
colorScheme = className
|
|
19
|
-
return undefined
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const match = className.match(THEME_CLASS_NAME_REG_EXP)
|
|
23
|
-
|
|
24
|
-
if (match) {
|
|
25
|
-
const name = match.groups!.name
|
|
26
|
-
const scope = match.groups!.scope
|
|
27
|
-
|
|
28
|
-
if (!scope) {
|
|
29
|
-
theme.content = name
|
|
30
|
-
theme.controls = name
|
|
31
|
-
} else if (scope === 'content') {
|
|
32
|
-
theme.content = name
|
|
33
|
-
} else if (scope === 'controls') {
|
|
34
|
-
theme.controls = name
|
|
35
|
-
} else {
|
|
36
|
-
throw new Error(`Unknown theme scope: ${scope}`)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return undefined
|
|
40
|
-
} else {
|
|
41
|
-
return className
|
|
42
|
-
}
|
|
43
|
-
}).filter(Boolean) as string[]
|
|
44
|
-
|
|
45
|
-
const themeClassNames: (string | undefined)[] = []
|
|
46
|
-
|
|
47
|
-
const content = contentThemeClassName(theme.content)
|
|
48
|
-
const controls = controlsThemeClassName(theme.controls)
|
|
49
|
-
|
|
50
|
-
themeClassNames.push(content, controls)
|
|
51
|
-
|
|
52
|
-
const flatThemedClassName = flatClassNameList(themeClassNames)
|
|
53
|
-
|
|
54
|
-
if (flatThemedClassName.length > 0 || colorScheme) {
|
|
55
|
-
return [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName]
|
|
56
|
-
} else {
|
|
57
|
-
return flatClassName
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { assertNever } from '../assert-types'
|
|
2
|
-
import { NestedClassName } from './types'
|
|
3
|
-
|
|
4
|
-
export function flatClassNameList(className: NestedClassName): string[] {
|
|
5
|
-
if (!className) {
|
|
6
|
-
return []
|
|
7
|
-
} else if (typeof className === 'string') {
|
|
8
|
-
return className.split(' ').filter(Boolean)
|
|
9
|
-
} else if (Array.isArray(className)) {
|
|
10
|
-
return className.flatMap(flatClassNameList)
|
|
11
|
-
} else {
|
|
12
|
-
if (import.meta.env.DEV) {
|
|
13
|
-
console.error(`Unexpected className: ${JSON.stringify(className)}`)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
assertNever(className)
|
|
17
|
-
}
|
|
18
|
-
}
|
package/src/class-name/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './colorSchemeClassName'
|
|
2
|
-
export * from './constants'
|
|
3
|
-
export * from './deduplicateClassName'
|
|
4
|
-
export * from './filterThemedClassName'
|
|
5
|
-
export * from './flatClassNameList'
|
|
6
|
-
export * from './listClassName'
|
|
7
|
-
export * from './themeClassName'
|
|
8
|
-
export * from './types'
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { deduplicateClassName } from './deduplicateClassName'
|
|
2
|
-
import { flatClassNameList } from './flatClassNameList'
|
|
3
|
-
import { NestedClassName } from './types'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Combines a list of class names into a single string, even nested
|
|
7
|
-
*
|
|
8
|
-
* @param list - List of class names
|
|
9
|
-
* @returns Combined class names as string
|
|
10
|
-
*/
|
|
11
|
-
export function listClassName(list: NestedClassName) {
|
|
12
|
-
return deduplicateClassName(flatClassNameList(list)).join(' ')
|
|
13
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`
|
|
3
|
-
*
|
|
4
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
5
|
-
*
|
|
6
|
-
* @param theme - Theme name basis for content
|
|
7
|
-
* @returns A content theme class name
|
|
8
|
-
*
|
|
9
|
-
* @see {@link controlsThemeClassName}
|
|
10
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```tsx
|
|
14
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
15
|
-
* // ^ 'scheme-system'
|
|
16
|
-
* const contentThemeClassName = contentThemeClassName('default')
|
|
17
|
-
* // ^ 'theme-default-content'
|
|
18
|
-
*
|
|
19
|
-
* return (
|
|
20
|
-
* <div className={`${colorScheme} ${contentThemeClassName}`}>
|
|
21
|
-
* <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
|
|
22
|
-
* </div>
|
|
23
|
-
* )
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export function contentThemeClassName(theme: string | null | undefined): string | undefined {
|
|
27
|
-
return theme ? `theme-${theme}-content` : undefined
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`
|
|
32
|
-
*
|
|
33
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
34
|
-
*
|
|
35
|
-
* @param theme - Theme name basis for controls
|
|
36
|
-
* @returns A controls theme class name
|
|
37
|
-
*
|
|
38
|
-
* @see {@link contentThemeClassName}
|
|
39
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```tsx
|
|
43
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
44
|
-
* // ^ 'scheme-system'
|
|
45
|
-
* const contentThemeClassName = contentThemeClassName('default')
|
|
46
|
-
* // ^ 'theme-default-content'
|
|
47
|
-
*
|
|
48
|
-
* return (
|
|
49
|
-
* <div className={`${colorScheme} ${contentThemeClassName}`}>
|
|
50
|
-
* <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
|
|
51
|
-
* </div>
|
|
52
|
-
* )
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
export function controlsThemeClassName(theme: string | null | undefined): string | undefined {
|
|
56
|
-
return theme ? `theme-${theme}-controls` : undefined
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively
|
|
61
|
-
*
|
|
62
|
-
* IMPORTANT: Make sure to use color scheme class in combination with theme class names.
|
|
63
|
-
*
|
|
64
|
-
* @param theme - Theme name basis for content and controls
|
|
65
|
-
* @returns A tuple with a content theme class name and a controls theme class name
|
|
66
|
-
*
|
|
67
|
-
* @see {@link contentThemeClassName}
|
|
68
|
-
* @see {@link controlsThemeClassName}
|
|
69
|
-
* @see {@link (colorSchemeClassName:3)}
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```tsx
|
|
73
|
-
* const colorScheme = colorSchemeClassName('system')
|
|
74
|
-
* // ^ 'scheme-system'
|
|
75
|
-
* const errorTheme = themeClassName('danger').join(' ')
|
|
76
|
-
* // ^ 'theme-danger-content theme-danger-controls'
|
|
77
|
-
*
|
|
78
|
-
* return (
|
|
79
|
-
* <div className={`${colorScheme} ${errorTheme}`}>File not found</div>
|
|
80
|
-
* )
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
export function themeClassName(
|
|
84
|
-
theme: string | null | undefined,
|
|
85
|
-
) {
|
|
86
|
-
return [
|
|
87
|
-
contentThemeClassName(theme),
|
|
88
|
-
controlsThemeClassName(theme),
|
|
89
|
-
] as const
|
|
90
|
-
}
|
package/src/class-name/types.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[]
|
|
2
|
-
export type ClassNameStateMap = { [key: string]: string | number | boolean | null | undefined }
|
|
3
|
-
|
|
4
|
-
export interface ComponentClassNameProps {
|
|
5
|
-
className?: NestedClassName;
|
|
6
|
-
componentClassName?: string | string[];
|
|
7
|
-
}
|