@contember/utilities 1.3.0-alpha.2 → 1.3.0-alpha.20
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/AssertionError.cjs.map +1 -1
- package/dist/development/assert-types/AssertionError.js.map +1 -1
- package/dist/development/assert-types/Predicates.cjs +1 -102
- package/dist/development/assert-types/Predicates.cjs.map +1 -1
- package/dist/development/assert-types/Predicates.js +2 -103
- package/dist/development/assert-types/Predicates.js.map +1 -1
- package/dist/development/class-name/colorSchemeClassName.cjs +1 -5
- package/dist/development/class-name/colorSchemeClassName.cjs.map +1 -1
- package/dist/development/class-name/colorSchemeClassName.js +1 -5
- package/dist/development/class-name/colorSchemeClassName.js.map +1 -1
- package/dist/development/class-name/constants.cjs +1 -1
- package/dist/development/class-name/constants.cjs.map +1 -1
- package/dist/development/class-name/constants.js +1 -1
- package/dist/development/class-name/constants.js.map +1 -1
- package/dist/development/class-name/filterThemedClassName.cjs +8 -30
- package/dist/development/class-name/filterThemedClassName.cjs.map +1 -1
- package/dist/development/class-name/filterThemedClassName.js +8 -30
- package/dist/development/class-name/filterThemedClassName.js.map +1 -1
- package/dist/development/class-name/flatClassNameList.cjs +3 -0
- package/dist/development/class-name/flatClassNameList.cjs.map +1 -1
- package/dist/development/class-name/flatClassNameList.js +3 -0
- package/dist/development/class-name/flatClassNameList.js.map +1 -1
- package/dist/development/class-name/themeClassName.cjs +7 -7
- package/dist/development/class-name/themeClassName.cjs.map +1 -1
- package/dist/development/class-name/themeClassName.js +7 -7
- package/dist/development/class-name/themeClassName.js.map +1 -1
- package/dist/development/css-utilities/px.cjs.map +1 -1
- package/dist/development/css-utilities/px.js.map +1 -1
- package/dist/development/data-utilities/dateToStringWithoutTimezone.cjs.map +1 -1
- package/dist/development/data-utilities/dateToStringWithoutTimezone.js.map +1 -1
- 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/dom/stateDataAttributes.cjs.map +1 -1
- package/dist/development/dom/stateDataAttributes.js.map +1 -1
- package/dist/development/dom/svgSizeProps.cjs.map +1 -1
- package/dist/development/dom/svgSizeProps.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/functional/omit.cjs.map +1 -1
- package/dist/development/functional/omit.js.map +1 -1
- package/dist/development/functional/pick.cjs.map +1 -1
- package/dist/development/functional/pick.js.map +1 -1
- package/dist/development/index.cjs +2 -42
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +4 -44
- package/dist/development/index.js.map +1 -1
- package/dist/production/assert-types/AssertionError.cjs.map +1 -1
- package/dist/production/assert-types/AssertionError.js.map +1 -1
- package/dist/production/assert-types/Predicates.cjs +1 -102
- package/dist/production/assert-types/Predicates.cjs.map +1 -1
- package/dist/production/assert-types/Predicates.js +2 -103
- package/dist/production/assert-types/Predicates.js.map +1 -1
- package/dist/production/class-name/colorSchemeClassName.cjs +1 -5
- package/dist/production/class-name/colorSchemeClassName.cjs.map +1 -1
- package/dist/production/class-name/colorSchemeClassName.js +1 -5
- package/dist/production/class-name/colorSchemeClassName.js.map +1 -1
- package/dist/production/class-name/constants.cjs +1 -1
- package/dist/production/class-name/constants.cjs.map +1 -1
- package/dist/production/class-name/constants.js +1 -1
- package/dist/production/class-name/constants.js.map +1 -1
- package/dist/production/class-name/filterThemedClassName.cjs +8 -30
- package/dist/production/class-name/filterThemedClassName.cjs.map +1 -1
- package/dist/production/class-name/filterThemedClassName.js +8 -30
- package/dist/production/class-name/filterThemedClassName.js.map +1 -1
- package/dist/production/class-name/themeClassName.cjs +7 -7
- package/dist/production/class-name/themeClassName.cjs.map +1 -1
- package/dist/production/class-name/themeClassName.js +7 -7
- package/dist/production/class-name/themeClassName.js.map +1 -1
- package/dist/production/css-utilities/px.cjs.map +1 -1
- package/dist/production/css-utilities/px.js.map +1 -1
- package/dist/production/data-utilities/dateToStringWithoutTimezone.cjs.map +1 -1
- package/dist/production/data-utilities/dateToStringWithoutTimezone.js.map +1 -1
- package/dist/production/dom/stateDataAttributes.cjs.map +1 -1
- package/dist/production/dom/stateDataAttributes.js.map +1 -1
- package/dist/production/dom/svgSizeProps.cjs.map +1 -1
- package/dist/production/dom/svgSizeProps.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/functional/omit.cjs.map +1 -1
- package/dist/production/functional/omit.js.map +1 -1
- package/dist/production/functional/pick.cjs.map +1 -1
- package/dist/production/functional/pick.js.map +1 -1
- package/dist/production/index.cjs +2 -42
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +4 -44
- package/dist/production/index.js.map +1 -1
- package/dist/types/assert-types/Predicates.d.ts +0 -25
- package/dist/types/assert-types/Predicates.d.ts.map +1 -1
- package/dist/types/assert-types/types.d.ts +0 -3
- package/dist/types/assert-types/types.d.ts.map +1 -1
- package/dist/types/class-name/colorSchemeClassName.d.ts +3 -6
- package/dist/types/class-name/colorSchemeClassName.d.ts.map +1 -1
- package/dist/types/class-name/constants.d.ts.map +1 -1
- package/dist/types/class-name/filterThemedClassName.d.ts +2 -2
- package/dist/types/class-name/filterThemedClassName.d.ts.map +1 -1
- package/dist/types/class-name/index.d.ts +0 -1
- package/dist/types/class-name/index.d.ts.map +1 -1
- package/dist/types/class-name/themeClassName.d.ts +4 -6
- package/dist/types/class-name/themeClassName.d.ts.map +1 -1
- package/dist/types/class-name/types.d.ts +0 -4
- package/dist/types/class-name/types.d.ts.map +1 -1
- package/dist/types/css-utilities/px.d.ts +6 -4
- package/dist/types/css-utilities/px.d.ts.map +1 -1
- package/dist/types/deprecate/index.d.ts +0 -1
- package/dist/types/deprecate/index.d.ts.map +1 -1
- package/dist/types/dom/index.d.ts +0 -3
- package/dist/types/dom/index.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/functional/index.d.ts +0 -2
- package/dist/types/functional/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/string-utilities/index.d.ts +0 -2
- package/dist/types/string-utilities/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/Narrow.d.ts +1 -2
- package/dist/types/types/Narrow.d.ts.map +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/PolymorphicRefs.d.ts +2 -1
- package/dist/types/types/PolymorphicRefs.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -9
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +2 -5
- package/src/assert-types/Predicates.ts +1 -86
- package/src/assert-types/types.ts +0 -4
- package/src/class-name/colorSchemeClassName.ts +5 -12
- package/src/class-name/constants.ts +1 -2
- package/src/class-name/filterThemedClassName.ts +14 -43
- package/src/class-name/index.ts +0 -1
- package/src/class-name/themeClassName.ts +9 -36
- package/src/class-name/types.ts +0 -10
- package/src/css-utilities/px.ts +0 -7
- package/src/deprecate/index.ts +0 -1
- package/src/dom/index.ts +0 -3
- package/src/events/index.ts +1 -0
- package/src/events/isSpecialLinkClick.ts +1 -0
- package/src/functional/index.ts +0 -2
- package/src/index.ts +1 -0
- package/src/string-utilities/index.ts +0 -2
- package/src/types/Narrow.ts +1 -3
- package/src/types/Partial.ts +2 -0
- package/src/types/PolymorphicRefs.ts +3 -1
- package/src/types/index.ts +1 -21
- package/dist/development/class-name/stateClassName.cjs +0 -11
- package/dist/development/class-name/stateClassName.cjs.map +0 -1
- package/dist/development/class-name/stateClassName.js +0 -11
- package/dist/development/class-name/stateClassName.js.map +0 -1
- package/dist/development/deprecate/fallback.cjs +0 -11
- package/dist/development/deprecate/fallback.cjs.map +0 -1
- package/dist/development/deprecate/fallback.js +0 -11
- package/dist/development/deprecate/fallback.js.map +0 -1
- package/dist/development/dom/getMatchingParentElement.cjs +0 -17
- package/dist/development/dom/getMatchingParentElement.cjs.map +0 -1
- package/dist/development/dom/getMatchingParentElement.js +0 -17
- package/dist/development/dom/getMatchingParentElement.js.map +0 -1
- package/dist/development/dom/isScrollable.cjs +0 -22
- package/dist/development/dom/isScrollable.cjs.map +0 -1
- package/dist/development/dom/isScrollable.js +0 -22
- package/dist/development/dom/isScrollable.js.map +0 -1
- package/dist/development/dom/parseTransformMatrix.cjs +0 -29
- package/dist/development/dom/parseTransformMatrix.cjs.map +0 -1
- package/dist/development/dom/parseTransformMatrix.js +0 -29
- package/dist/development/dom/parseTransformMatrix.js.map +0 -1
- package/dist/development/functional/extend.cjs +0 -33
- package/dist/development/functional/extend.cjs.map +0 -1
- package/dist/development/functional/extend.js +0 -33
- package/dist/development/functional/extend.js.map +0 -1
- package/dist/development/functional/setHasOneOf.cjs +0 -7
- package/dist/development/functional/setHasOneOf.cjs.map +0 -1
- package/dist/development/functional/setHasOneOf.js +0 -7
- package/dist/development/functional/setHasOneOf.js.map +0 -1
- package/dist/development/string-utilities/capitalize.cjs +0 -7
- package/dist/development/string-utilities/capitalize.cjs.map +0 -1
- package/dist/development/string-utilities/capitalize.js +0 -7
- package/dist/development/string-utilities/capitalize.js.map +0 -1
- package/dist/development/string-utilities/trimString.cjs +0 -8
- package/dist/development/string-utilities/trimString.cjs.map +0 -1
- package/dist/development/string-utilities/trimString.js +0 -8
- package/dist/development/string-utilities/trimString.js.map +0 -1
- package/dist/production/class-name/stateClassName.cjs +0 -11
- package/dist/production/class-name/stateClassName.cjs.map +0 -1
- package/dist/production/class-name/stateClassName.js +0 -11
- package/dist/production/class-name/stateClassName.js.map +0 -1
- package/dist/production/deprecate/fallback.cjs +0 -11
- package/dist/production/deprecate/fallback.cjs.map +0 -1
- package/dist/production/deprecate/fallback.js +0 -11
- package/dist/production/deprecate/fallback.js.map +0 -1
- package/dist/production/dom/getMatchingParentElement.cjs +0 -17
- package/dist/production/dom/getMatchingParentElement.cjs.map +0 -1
- package/dist/production/dom/getMatchingParentElement.js +0 -17
- package/dist/production/dom/getMatchingParentElement.js.map +0 -1
- package/dist/production/dom/isScrollable.cjs +0 -22
- package/dist/production/dom/isScrollable.cjs.map +0 -1
- package/dist/production/dom/isScrollable.js +0 -22
- package/dist/production/dom/isScrollable.js.map +0 -1
- package/dist/production/dom/parseTransformMatrix.cjs +0 -29
- package/dist/production/dom/parseTransformMatrix.cjs.map +0 -1
- package/dist/production/dom/parseTransformMatrix.js +0 -29
- package/dist/production/dom/parseTransformMatrix.js.map +0 -1
- package/dist/production/functional/extend.cjs +0 -33
- package/dist/production/functional/extend.cjs.map +0 -1
- package/dist/production/functional/extend.js +0 -33
- package/dist/production/functional/extend.js.map +0 -1
- package/dist/production/functional/setHasOneOf.cjs +0 -7
- package/dist/production/functional/setHasOneOf.cjs.map +0 -1
- package/dist/production/functional/setHasOneOf.js +0 -7
- package/dist/production/functional/setHasOneOf.js.map +0 -1
- package/dist/production/string-utilities/capitalize.cjs +0 -7
- package/dist/production/string-utilities/capitalize.cjs.map +0 -1
- package/dist/production/string-utilities/capitalize.js +0 -7
- package/dist/production/string-utilities/capitalize.js.map +0 -1
- package/dist/production/string-utilities/trimString.cjs +0 -8
- package/dist/production/string-utilities/trimString.cjs.map +0 -1
- package/dist/production/string-utilities/trimString.js +0 -8
- package/dist/production/string-utilities/trimString.js.map +0 -1
- package/dist/types/class-name/stateClassName.d.ts +0 -19
- package/dist/types/class-name/stateClassName.d.ts.map +0 -1
- package/dist/types/deprecate/fallback.d.ts +0 -2
- package/dist/types/deprecate/fallback.d.ts.map +0 -1
- package/dist/types/dom/getMatchingParentElement.d.ts +0 -2
- package/dist/types/dom/getMatchingParentElement.d.ts.map +0 -1
- package/dist/types/dom/isScrollable.d.ts +0 -7
- package/dist/types/dom/isScrollable.d.ts.map +0 -1
- package/dist/types/dom/parseTransformMatrix.d.ts +0 -15
- package/dist/types/dom/parseTransformMatrix.d.ts.map +0 -1
- package/dist/types/functional/extend.d.ts +0 -5
- package/dist/types/functional/extend.d.ts.map +0 -1
- package/dist/types/functional/setHasOneOf.d.ts +0 -2
- package/dist/types/functional/setHasOneOf.d.ts.map +0 -1
- package/dist/types/string-utilities/capitalize.d.ts +0 -2
- package/dist/types/string-utilities/capitalize.d.ts.map +0 -1
- package/dist/types/string-utilities/trimString.d.ts +0 -9
- package/dist/types/string-utilities/trimString.d.ts.map +0 -1
- package/dist/types/types/Any.d.ts +0 -4
- package/dist/types/types/Any.d.ts.map +0 -1
- package/dist/types/types/DeepPartial.d.ts +0 -4
- package/dist/types/types/DeepPartial.d.ts.map +0 -1
- package/dist/types/types/NonNullableRequired.d.ts +0 -4
- package/dist/types/types/NonNullableRequired.d.ts.map +0 -1
- package/dist/types/types/ObjectKeyValue.d.ts +0 -4
- package/dist/types/types/ObjectKeyValue.d.ts.map +0 -1
- package/dist/types/types/Primitive.d.ts +0 -2
- package/dist/types/types/Primitive.d.ts.map +0 -1
- package/dist/types/types/RequiredDeepPlainObject.d.ts +0 -4
- package/dist/types/types/RequiredDeepPlainObject.d.ts.map +0 -1
- package/dist/types/types/Try.d.ts +0 -2
- package/dist/types/types/Try.d.ts.map +0 -1
- package/dist/types/types/TypeofStringLiteral.d.ts +0 -2
- package/dist/types/types/TypeofStringLiteral.d.ts.map +0 -1
- package/src/class-name/stateClassName.ts +0 -32
- package/src/deprecate/fallback.ts +0 -7
- package/src/dom/getMatchingParentElement.ts +0 -13
- package/src/dom/isScrollable.ts +0 -24
- package/src/dom/parseTransformMatrix.ts +0 -35
- package/src/functional/extend.ts +0 -37
- package/src/functional/setHasOneOf.ts +0 -3
- package/src/string-utilities/capitalize.ts +0 -3
- package/src/string-utilities/trimString.ts +0 -12
- package/src/types/Any.ts +0 -3
- package/src/types/DeepPartial.ts +0 -7
- package/src/types/NonNullableRequired.ts +0 -1
- package/src/types/ObjectKeyValue.ts +0 -1
- package/src/types/Primitive.ts +0 -1
- package/src/types/RequiredDeepPlainObject.ts +0 -3
- package/src/types/Try.ts +0 -4
- package/src/types/TypeofStringLiteral.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssertionError.cjs","sources":["../../../src/assert-types/AssertionError.ts"],"sourcesContent":["export class AssertionError extends Error {\n\tconstructor(value: unknown, that: string = 'value to pass assertion') {\n\t\tsuper(`Expecting ${that}, ${JSON.stringify(value)} given`)\n\t}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,uBAAuB,MAAM;AAAA,EACzC,YAAY,OAAgB,OAAe,2BAA2B;AACrE,UAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"AssertionError.cjs","sources":["../../../src/assert-types/AssertionError.ts"],"sourcesContent":["export class AssertionError extends Error {\n\tconstructor(value: unknown, that: string = 'value to pass assertion') {\n\t\tsuper(`Expecting ${that}, ${JSON.stringify(value)} given`)\n\t}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,uBAAuB,MAAM;AAAA,EACzC,YAAY,OAAgB,OAAe,2BAA2B;AACrE,UAAM,aAAa,IAAI,KAAK,KAAK,UAAU,KAAK,CAAC,QAAQ;AAAA,EAC1D;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssertionError.js","sources":["../../../src/assert-types/AssertionError.ts"],"sourcesContent":["export class AssertionError extends Error {\n\tconstructor(value: unknown, that: string = 'value to pass assertion') {\n\t\tsuper(`Expecting ${that}, ${JSON.stringify(value)} given`)\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,uBAAuB,MAAM;AAAA,EACzC,YAAY,OAAgB,OAAe,2BAA2B;AACrE,UAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"AssertionError.js","sources":["../../../src/assert-types/AssertionError.ts"],"sourcesContent":["export class AssertionError extends Error {\n\tconstructor(value: unknown, that: string = 'value to pass assertion') {\n\t\tsuper(`Expecting ${that}, ${JSON.stringify(value)} given`)\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,uBAAuB,MAAM;AAAA,EACzC,YAAY,OAAgB,OAAe,2BAA2B;AACrE,UAAM,aAAa,IAAI,KAAK,KAAK,UAAU,KAAK,CAAC,QAAQ;AAAA,EAC1D;AACD;"}
|
|
@@ -1,108 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function isNull(value) {
|
|
4
|
-
return value === null;
|
|
5
|
-
}
|
|
6
|
-
function isNotNull(value) {
|
|
7
|
-
return value !== null;
|
|
8
|
-
}
|
|
9
|
-
function isUndefined(value) {
|
|
10
|
-
return value === void 0;
|
|
11
|
-
}
|
|
12
|
-
function isDefined(value) {
|
|
13
|
-
return value !== void 0;
|
|
14
|
-
}
|
|
15
|
-
function isNotNullish(value) {
|
|
16
|
-
return value != null;
|
|
17
|
-
}
|
|
18
|
-
function isBoolean(value) {
|
|
19
|
-
return typeof value === "boolean";
|
|
20
|
-
}
|
|
21
|
-
function isTrue(value) {
|
|
22
|
-
return value === true;
|
|
23
|
-
}
|
|
24
|
-
function isFalse(value) {
|
|
25
|
-
return value === false;
|
|
26
|
-
}
|
|
27
|
-
function isString(value) {
|
|
28
|
-
return typeof value === "string";
|
|
29
|
-
}
|
|
30
|
-
function isSlugString(value) {
|
|
31
|
-
return isNonEmptyString(value) && /^[a-z0-9_-]+$/.test(value);
|
|
32
|
-
}
|
|
33
|
-
function isSingleWordString(value) {
|
|
34
|
-
return isNonEmptyString(value) && value.indexOf(" ") === -1;
|
|
35
|
-
}
|
|
36
|
-
function isNonEmptyString(value) {
|
|
37
|
-
return isString(value) && value.length > 0;
|
|
38
|
-
}
|
|
39
|
-
function isNonEmptyTrimmedStringFactory(trim = "trim") {
|
|
40
|
-
return function isNonEmptyString2(value) {
|
|
41
|
-
return isString(value) && value[trim]().length > 0;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory();
|
|
45
|
-
const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory("trimStart");
|
|
46
|
-
const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory("trimEnd");
|
|
47
|
-
function isNumber(value) {
|
|
48
|
-
return typeof value === "number" && value === value;
|
|
49
|
-
}
|
|
50
3
|
function isNonNegativeNumber(value) {
|
|
51
|
-
return
|
|
52
|
-
}
|
|
53
|
-
function isNumericString(value) {
|
|
54
|
-
return isString(value) && !isNaN(parseFloat(value));
|
|
55
|
-
}
|
|
56
|
-
function isOneOfFactory(members) {
|
|
57
|
-
return function isOneOfFactoryProduct(value) {
|
|
58
|
-
return members.includes(value);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function satisfiesOneOfFactory(...predicates) {
|
|
62
|
-
return (value) => {
|
|
63
|
-
return predicates.some((predicate) => predicate(value));
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function isArrayOfMembersSatisfyingFactory(predicate) {
|
|
67
|
-
return function isArrayOfMembersSatisfyingProduct(value) {
|
|
68
|
-
return Array.isArray(value) && value.every(predicate);
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
function isNonEmptyArray(value) {
|
|
72
|
-
return Array.isArray(value) && value.length > 0;
|
|
73
|
-
}
|
|
74
|
-
function isHTMLElement(value) {
|
|
75
|
-
return value instanceof HTMLElement;
|
|
76
|
-
}
|
|
77
|
-
function isObject(value) {
|
|
78
|
-
return typeof value === "object" && value !== null;
|
|
79
|
-
}
|
|
80
|
-
function isPlainObject(value) {
|
|
81
|
-
return isObject(value) && value.constructor === Object;
|
|
4
|
+
return typeof value === "number" && value >= 0;
|
|
82
5
|
}
|
|
83
|
-
exports.isArrayOfMembersSatisfyingFactory = isArrayOfMembersSatisfyingFactory;
|
|
84
|
-
exports.isBoolean = isBoolean;
|
|
85
|
-
exports.isDefined = isDefined;
|
|
86
|
-
exports.isFalse = isFalse;
|
|
87
|
-
exports.isHTMLElement = isHTMLElement;
|
|
88
|
-
exports.isNonEmptyArray = isNonEmptyArray;
|
|
89
|
-
exports.isNonEmptyString = isNonEmptyString;
|
|
90
|
-
exports.isNonEmptyTrimmedEndString = isNonEmptyTrimmedEndString;
|
|
91
|
-
exports.isNonEmptyTrimmedStartString = isNonEmptyTrimmedStartString;
|
|
92
|
-
exports.isNonEmptyTrimmedString = isNonEmptyTrimmedString;
|
|
93
6
|
exports.isNonNegativeNumber = isNonNegativeNumber;
|
|
94
|
-
exports.isNotNull = isNotNull;
|
|
95
|
-
exports.isNotNullish = isNotNullish;
|
|
96
|
-
exports.isNull = isNull;
|
|
97
|
-
exports.isNumber = isNumber;
|
|
98
|
-
exports.isNumericString = isNumericString;
|
|
99
|
-
exports.isObject = isObject;
|
|
100
|
-
exports.isOneOfFactory = isOneOfFactory;
|
|
101
|
-
exports.isPlainObject = isPlainObject;
|
|
102
|
-
exports.isSingleWordString = isSingleWordString;
|
|
103
|
-
exports.isSlugString = isSlugString;
|
|
104
|
-
exports.isString = isString;
|
|
105
|
-
exports.isTrue = isTrue;
|
|
106
|
-
exports.isUndefined = isUndefined;
|
|
107
|
-
exports.satisfiesOneOfFactory = satisfiesOneOfFactory;
|
|
108
7
|
//# sourceMappingURL=Predicates.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Predicates.cjs","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Predicates.cjs","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["export function isNonNegativeNumber(value: unknown): value is number {\n\treturn typeof value === 'number' && value >= 0\n}\n"],"names":[],"mappings":";;AAAO,SAAS,oBAAoB,OAAiC;AAC7D,SAAA,OAAO,UAAU,YAAY,SAAS;AAC9C;;"}
|
|
@@ -1,108 +1,7 @@
|
|
|
1
|
-
function isNull(value) {
|
|
2
|
-
return value === null;
|
|
3
|
-
}
|
|
4
|
-
function isNotNull(value) {
|
|
5
|
-
return value !== null;
|
|
6
|
-
}
|
|
7
|
-
function isUndefined(value) {
|
|
8
|
-
return value === void 0;
|
|
9
|
-
}
|
|
10
|
-
function isDefined(value) {
|
|
11
|
-
return value !== void 0;
|
|
12
|
-
}
|
|
13
|
-
function isNotNullish(value) {
|
|
14
|
-
return value != null;
|
|
15
|
-
}
|
|
16
|
-
function isBoolean(value) {
|
|
17
|
-
return typeof value === "boolean";
|
|
18
|
-
}
|
|
19
|
-
function isTrue(value) {
|
|
20
|
-
return value === true;
|
|
21
|
-
}
|
|
22
|
-
function isFalse(value) {
|
|
23
|
-
return value === false;
|
|
24
|
-
}
|
|
25
|
-
function isString(value) {
|
|
26
|
-
return typeof value === "string";
|
|
27
|
-
}
|
|
28
|
-
function isSlugString(value) {
|
|
29
|
-
return isNonEmptyString(value) && /^[a-z0-9_-]+$/.test(value);
|
|
30
|
-
}
|
|
31
|
-
function isSingleWordString(value) {
|
|
32
|
-
return isNonEmptyString(value) && value.indexOf(" ") === -1;
|
|
33
|
-
}
|
|
34
|
-
function isNonEmptyString(value) {
|
|
35
|
-
return isString(value) && value.length > 0;
|
|
36
|
-
}
|
|
37
|
-
function isNonEmptyTrimmedStringFactory(trim = "trim") {
|
|
38
|
-
return function isNonEmptyString2(value) {
|
|
39
|
-
return isString(value) && value[trim]().length > 0;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory();
|
|
43
|
-
const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory("trimStart");
|
|
44
|
-
const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory("trimEnd");
|
|
45
|
-
function isNumber(value) {
|
|
46
|
-
return typeof value === "number" && value === value;
|
|
47
|
-
}
|
|
48
1
|
function isNonNegativeNumber(value) {
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
function isNumericString(value) {
|
|
52
|
-
return isString(value) && !isNaN(parseFloat(value));
|
|
53
|
-
}
|
|
54
|
-
function isOneOfFactory(members) {
|
|
55
|
-
return function isOneOfFactoryProduct(value) {
|
|
56
|
-
return members.includes(value);
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
function satisfiesOneOfFactory(...predicates) {
|
|
60
|
-
return (value) => {
|
|
61
|
-
return predicates.some((predicate) => predicate(value));
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function isArrayOfMembersSatisfyingFactory(predicate) {
|
|
65
|
-
return function isArrayOfMembersSatisfyingProduct(value) {
|
|
66
|
-
return Array.isArray(value) && value.every(predicate);
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function isNonEmptyArray(value) {
|
|
70
|
-
return Array.isArray(value) && value.length > 0;
|
|
71
|
-
}
|
|
72
|
-
function isHTMLElement(value) {
|
|
73
|
-
return value instanceof HTMLElement;
|
|
74
|
-
}
|
|
75
|
-
function isObject(value) {
|
|
76
|
-
return typeof value === "object" && value !== null;
|
|
77
|
-
}
|
|
78
|
-
function isPlainObject(value) {
|
|
79
|
-
return isObject(value) && value.constructor === Object;
|
|
2
|
+
return typeof value === "number" && value >= 0;
|
|
80
3
|
}
|
|
81
4
|
export {
|
|
82
|
-
|
|
83
|
-
isBoolean,
|
|
84
|
-
isDefined,
|
|
85
|
-
isFalse,
|
|
86
|
-
isHTMLElement,
|
|
87
|
-
isNonEmptyArray,
|
|
88
|
-
isNonEmptyString,
|
|
89
|
-
isNonEmptyTrimmedEndString,
|
|
90
|
-
isNonEmptyTrimmedStartString,
|
|
91
|
-
isNonEmptyTrimmedString,
|
|
92
|
-
isNonNegativeNumber,
|
|
93
|
-
isNotNull,
|
|
94
|
-
isNotNullish,
|
|
95
|
-
isNull,
|
|
96
|
-
isNumber,
|
|
97
|
-
isNumericString,
|
|
98
|
-
isObject,
|
|
99
|
-
isOneOfFactory,
|
|
100
|
-
isPlainObject,
|
|
101
|
-
isSingleWordString,
|
|
102
|
-
isSlugString,
|
|
103
|
-
isString,
|
|
104
|
-
isTrue,
|
|
105
|
-
isUndefined,
|
|
106
|
-
satisfiesOneOfFactory
|
|
5
|
+
isNonNegativeNumber
|
|
107
6
|
};
|
|
108
7
|
//# sourceMappingURL=Predicates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Predicates.js","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Predicates.js","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["export function isNonNegativeNumber(value: unknown): value is number {\n\treturn typeof value === 'number' && value >= 0\n}\n"],"names":[],"mappings":"AAAO,SAAS,oBAAoB,OAAiC;AAC7D,SAAA,OAAO,UAAU,YAAY,SAAS;AAC9C;"}
|
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const constants = require("./constants.cjs");
|
|
4
4
|
function colorSchemeClassName(scheme) {
|
|
5
|
-
|
|
6
|
-
return `scheme-${scheme}`;
|
|
7
|
-
} else {
|
|
8
|
-
return void 0;
|
|
9
|
-
}
|
|
5
|
+
return typeof scheme === "string" ? `scheme-${scheme}` : void 0;
|
|
10
6
|
}
|
|
11
7
|
function isColorSchemeClassName(value) {
|
|
12
8
|
return constants.COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorSchemeClassName.cjs","sources":["../../../src/class-name/colorSchemeClassName.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"colorSchemeClassName.cjs","sources":["../../../src/class-name/colorSchemeClassName.ts"],"sourcesContent":["import { COLOR_SCHEME_CLASS_NAME_REG_EXP } from './constants'\n\n/**\n * Returns a string with a color scheme class name, prefixed with `scheme-`\n *\n * @param scheme - Color scheme name\n * @returns A color scheme class name\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n *\n * return (\n * \t<div className={colorScheme}>\n * \t\t<button className={controlsThemeClassName}>Click me</button>\n * \t</div>\n *\n * // renders:\n * // <div class=\"scheme-system\">\n * // \t<button class=\"scheme-system theme-default-controls theme-danger-controls:hover\">Click me</button>\n * // </div>\n * ```\n */\nexport function colorSchemeClassName(scheme: string): string\nexport function colorSchemeClassName(scheme: string | null | undefined): string | undefined\nexport function colorSchemeClassName(scheme: string | null | undefined): string | undefined {\n\treturn typeof scheme === 'string' ? `scheme-${scheme}` : undefined\n}\n\n/**\n * Tests if a string is a color scheme CSS class\n * @param value - String to test\n * @returns `true` if the string is a color scheme CSS class\n * @internal\n */\nexport function isColorSchemeClassName(value: string) {\n\treturn COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value)\n}\n"],"names":["COLOR_SCHEME_CLASS_NAME_REG_EXP"],"mappings":";;;AA0BO,SAAS,qBAAqB,QAAuD;AAC3F,SAAO,OAAO,WAAW,WAAW,UAAU,MAAM,KAAK;AAC1D;AAQO,SAAS,uBAAuB,OAAe;AAC9C,SAAAA,UAAA,gCAAgC,KAAK,KAAK;AAClD;;;"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { COLOR_SCHEME_CLASS_NAME_REG_EXP } from "./constants.js";
|
|
2
2
|
function colorSchemeClassName(scheme) {
|
|
3
|
-
|
|
4
|
-
return `scheme-${scheme}`;
|
|
5
|
-
} else {
|
|
6
|
-
return void 0;
|
|
7
|
-
}
|
|
3
|
+
return typeof scheme === "string" ? `scheme-${scheme}` : void 0;
|
|
8
4
|
}
|
|
9
5
|
function isColorSchemeClassName(value) {
|
|
10
6
|
return COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorSchemeClassName.js","sources":["../../../src/class-name/colorSchemeClassName.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"colorSchemeClassName.js","sources":["../../../src/class-name/colorSchemeClassName.ts"],"sourcesContent":["import { COLOR_SCHEME_CLASS_NAME_REG_EXP } from './constants'\n\n/**\n * Returns a string with a color scheme class name, prefixed with `scheme-`\n *\n * @param scheme - Color scheme name\n * @returns A color scheme class name\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n *\n * return (\n * \t<div className={colorScheme}>\n * \t\t<button className={controlsThemeClassName}>Click me</button>\n * \t</div>\n *\n * // renders:\n * // <div class=\"scheme-system\">\n * // \t<button class=\"scheme-system theme-default-controls theme-danger-controls:hover\">Click me</button>\n * // </div>\n * ```\n */\nexport function colorSchemeClassName(scheme: string): string\nexport function colorSchemeClassName(scheme: string | null | undefined): string | undefined\nexport function colorSchemeClassName(scheme: string | null | undefined): string | undefined {\n\treturn typeof scheme === 'string' ? `scheme-${scheme}` : undefined\n}\n\n/**\n * Tests if a string is a color scheme CSS class\n * @param value - String to test\n * @returns `true` if the string is a color scheme CSS class\n * @internal\n */\nexport function isColorSchemeClassName(value: string) {\n\treturn COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value)\n}\n"],"names":[],"mappings":";AA0BO,SAAS,qBAAqB,QAAuD;AAC3F,SAAO,OAAO,WAAW,WAAW,UAAU,MAAM,KAAK;AAC1D;AAQO,SAAS,uBAAuB,OAAe;AAC9C,SAAA,gCAAgC,KAAK,KAAK;AAClD;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))
|
|
3
|
+
const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))?$/;
|
|
4
4
|
const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/;
|
|
5
5
|
exports.COLOR_SCHEME_CLASS_NAME_REG_EXP = COLOR_SCHEME_CLASS_NAME_REG_EXP;
|
|
6
6
|
exports.THEME_CLASS_NAME_REG_EXP = THEME_CLASS_NAME_REG_EXP;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sources":["../../../src/class-name/constants.ts"],"sourcesContent":["/**\n * RegExp that matches theme class names\n *\n * @internal\n *\n * If theme is `default` then it will match:\n *\n * - theme-default\n * - theme-default-content\n * - theme-default-controls\n *\n * If theme is `brand-color` then it will match:\n *\n * - theme-brand-color\n * - theme-brand-color-content\n * - theme-brand-color-controls\n */\n\
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../src/class-name/constants.ts"],"sourcesContent":["/**\n * RegExp that matches theme class names\n *\n * @internal\n *\n * If theme is `default` then it will match:\n *\n * - theme-default\n * - theme-default-content\n * - theme-default-controls\n *\n * If theme is `brand-color` then it will match:\n *\n * - theme-brand-color\n * - theme-brand-color-content\n * - theme-brand-color-controls\n */\n\nexport const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?$/\n\n/**\n * Regular expression for testing if a string is a color scheme CSS class\n * @internal\n */\nexport const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/\n"],"names":[],"mappings":";;AAkBO,MAAM,2BAA2B;AAMjC,MAAM,kCAAkC;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))
|
|
1
|
+
const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))?$/;
|
|
2
2
|
const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/;
|
|
3
3
|
export {
|
|
4
4
|
COLOR_SCHEME_CLASS_NAME_REG_EXP,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/class-name/constants.ts"],"sourcesContent":["/**\n * RegExp that matches theme class names\n *\n * @internal\n *\n * If theme is `default` then it will match:\n *\n * - theme-default\n * - theme-default-content\n * - theme-default-controls\n *\n * If theme is `brand-color` then it will match:\n *\n * - theme-brand-color\n * - theme-brand-color-content\n * - theme-brand-color-controls\n */\n\
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/class-name/constants.ts"],"sourcesContent":["/**\n * RegExp that matches theme class names\n *\n * @internal\n *\n * If theme is `default` then it will match:\n *\n * - theme-default\n * - theme-default-content\n * - theme-default-controls\n *\n * If theme is `brand-color` then it will match:\n *\n * - theme-brand-color\n * - theme-brand-color-content\n * - theme-brand-color-controls\n */\n\nexport const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?$/\n\n/**\n * Regular expression for testing if a string is a color scheme CSS class\n * @internal\n */\nexport const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/\n"],"names":[],"mappings":"AAkBO,MAAM,2BAA2B;AAMjC,MAAM,kCAAkC;"}
|
|
@@ -6,7 +6,6 @@ const flatClassNameList = require("./flatClassNameList.cjs");
|
|
|
6
6
|
const themeClassName = require("./themeClassName.cjs");
|
|
7
7
|
function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
8
8
|
const theme = { content: void 0, controls: void 0 };
|
|
9
|
-
const stateThemes = {};
|
|
10
9
|
let colorScheme = void 0;
|
|
11
10
|
const flatClassName = flatClassNameList.flatClassNameList(nestedClassName).map((className) => {
|
|
12
11
|
if (colorSchemeClassName.isColorSchemeClassName(className)) {
|
|
@@ -17,30 +16,15 @@ function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
|
17
16
|
if (match) {
|
|
18
17
|
const name = match.groups.name;
|
|
19
18
|
const scope = match.groups.scope;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
stateThemes[state].content = name;
|
|
28
|
-
} else if (scope === "controls") {
|
|
29
|
-
stateThemes[state].controls = name;
|
|
30
|
-
} else {
|
|
31
|
-
throw new Error(`Unknown theme scope: ${scope}`);
|
|
32
|
-
}
|
|
19
|
+
if (!scope) {
|
|
20
|
+
theme.content = name;
|
|
21
|
+
theme.controls = name;
|
|
22
|
+
} else if (scope === "content") {
|
|
23
|
+
theme.content = name;
|
|
24
|
+
} else if (scope === "controls") {
|
|
25
|
+
theme.controls = name;
|
|
33
26
|
} else {
|
|
34
|
-
|
|
35
|
-
theme.content = name;
|
|
36
|
-
theme.controls = name;
|
|
37
|
-
} else if (scope === "content") {
|
|
38
|
-
theme.content = name;
|
|
39
|
-
} else if (scope === "controls") {
|
|
40
|
-
theme.controls = name;
|
|
41
|
-
} else {
|
|
42
|
-
throw new Error(`Unknown theme scope: ${scope}`);
|
|
43
|
-
}
|
|
27
|
+
throw new Error(`Unknown theme scope: ${scope}`);
|
|
44
28
|
}
|
|
45
29
|
return void 0;
|
|
46
30
|
} else {
|
|
@@ -51,12 +35,6 @@ function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
|
51
35
|
const content = themeClassName.contentThemeClassName(theme.content);
|
|
52
36
|
const controls = themeClassName.controlsThemeClassName(theme.controls);
|
|
53
37
|
themeClassNames.push(content, controls);
|
|
54
|
-
for (const state in stateThemes) {
|
|
55
|
-
const { content: content2, controls: controls2 } = stateThemes[state];
|
|
56
|
-
const contentClassName = themeClassName.contentThemeClassName(content2, state);
|
|
57
|
-
const controlsClassName = themeClassName.controlsThemeClassName(controls2, state);
|
|
58
|
-
themeClassNames.push(contentClassName, controlsClassName);
|
|
59
|
-
}
|
|
60
38
|
const flatThemedClassName = flatClassNameList.flatClassNameList(themeClassNames);
|
|
61
39
|
if (flatThemedClassName.length > 0 || colorScheme) {
|
|
62
40
|
return [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterThemedClassName.cjs","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"filterThemedClassName.cjs","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import { isColorSchemeClassName } from './colorSchemeClassName'\nimport { THEME_CLASS_NAME_REG_EXP } from './constants'\nimport { flatClassNameList } from './flatClassNameList'\nimport { contentThemeClassName, controlsThemeClassName } from './themeClassName'\nimport { NestedClassName } from './types'\n\nexport type ThemeConfig = { content: string | undefined, controls: string | undefined }\n\nexport function filterThemedClassName(\n\tnestedClassName: NestedClassName,\n\tdefaultColorSchemeContext: string,\n) {\n\tconst theme: ThemeConfig = { content: undefined, controls: undefined }\n\tlet colorScheme: string | undefined = undefined\n\n\tconst flatClassName = flatClassNameList(nestedClassName).map(className => {\n\t\tif (isColorSchemeClassName(className)) {\n\t\t\tcolorScheme = className\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst match = className.match(THEME_CLASS_NAME_REG_EXP)\n\n\t\tif (match) {\n\t\t\tconst name = match.groups!.name\n\t\t\tconst scope = match.groups!.scope\n\n\t\t\tif (!scope) {\n\t\t\t\ttheme.content = name\n\t\t\t\ttheme.controls = name\n\t\t\t} else if (scope === 'content') {\n\t\t\t\ttheme.content = name\n\t\t\t} else if (scope === 'controls') {\n\t\t\t\ttheme.controls = name\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t}\n\n\t\t\treturn undefined\n\t\t} else {\n\t\t\treturn className\n\t\t}\n\t}).filter(Boolean) as string[]\n\n\tconst themeClassNames: (string | undefined)[] = []\n\n\tconst content = contentThemeClassName(theme.content)\n\tconst controls = controlsThemeClassName(theme.controls)\n\n\tthemeClassNames.push(content, controls)\n\n\tconst flatThemedClassName = flatClassNameList(themeClassNames)\n\n\tif (flatThemedClassName.length > 0 || colorScheme) {\n\t\treturn [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName]\n\t} else {\n\t\treturn flatClassName\n\t}\n}\n"],"names":["flatClassNameList","isColorSchemeClassName","THEME_CLASS_NAME_REG_EXP","contentThemeClassName","controlsThemeClassName"],"mappings":";;;;;;AAQgB,SAAA,sBACf,iBACA,2BACC;AACD,QAAM,QAAqB,EAAE,SAAS,QAAW,UAAU;AAC3D,MAAI,cAAkC;AAEtC,QAAM,gBAAgBA,kBAAAA,kBAAkB,eAAe,EAAE,IAAI,CAAa,cAAA;AACrE,QAAAC,qBAAAA,uBAAuB,SAAS,GAAG;AACxB,oBAAA;AACP,aAAA;AAAA,IACR;AAEM,UAAA,QAAQ,UAAU,MAAMC,UAAwB,wBAAA;AAEtD,QAAI,OAAO;AACJ,YAAA,OAAO,MAAM,OAAQ;AACrB,YAAA,QAAQ,MAAM,OAAQ;AAE5B,UAAI,CAAC,OAAO;AACX,cAAM,UAAU;AAChB,cAAM,WAAW;AAAA,MAAA,WACP,UAAU,WAAW;AAC/B,cAAM,UAAU;AAAA,MAAA,WACN,UAAU,YAAY;AAChC,cAAM,WAAW;AAAA,MAAA,OACX;AACN,cAAM,IAAI,MAAM,wBAAwB,KAAK,EAAE;AAAA,MAChD;AAEO,aAAA;AAAA,IAAA,OACD;AACC,aAAA;AAAA,IACR;AAAA,EAAA,CACA,EAAE,OAAO,OAAO;AAEjB,QAAM,kBAA0C,CAAA;AAE1C,QAAA,UAAUC,eAAAA,sBAAsB,MAAM,OAAO;AAC7C,QAAA,WAAWC,eAAAA,uBAAuB,MAAM,QAAQ;AAEtC,kBAAA,KAAK,SAAS,QAAQ;AAEhC,QAAA,sBAAsBJ,oCAAkB,eAAe;AAEzD,MAAA,oBAAoB,SAAS,KAAK,aAAa;AAClD,WAAO,CAAC,eAAe,2BAA2B,GAAG,qBAAqB,GAAG,aAAa;AAAA,EAAA,OACpF;AACC,WAAA;AAAA,EACR;AACD;;"}
|
|
@@ -4,7 +4,6 @@ import { flatClassNameList } from "./flatClassNameList.js";
|
|
|
4
4
|
import { contentThemeClassName, controlsThemeClassName } from "./themeClassName.js";
|
|
5
5
|
function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
6
6
|
const theme = { content: void 0, controls: void 0 };
|
|
7
|
-
const stateThemes = {};
|
|
8
7
|
let colorScheme = void 0;
|
|
9
8
|
const flatClassName = flatClassNameList(nestedClassName).map((className) => {
|
|
10
9
|
if (isColorSchemeClassName(className)) {
|
|
@@ -15,30 +14,15 @@ function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
|
15
14
|
if (match) {
|
|
16
15
|
const name = match.groups.name;
|
|
17
16
|
const scope = match.groups.scope;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
stateThemes[state].content = name;
|
|
26
|
-
} else if (scope === "controls") {
|
|
27
|
-
stateThemes[state].controls = name;
|
|
28
|
-
} else {
|
|
29
|
-
throw new Error(`Unknown theme scope: ${scope}`);
|
|
30
|
-
}
|
|
17
|
+
if (!scope) {
|
|
18
|
+
theme.content = name;
|
|
19
|
+
theme.controls = name;
|
|
20
|
+
} else if (scope === "content") {
|
|
21
|
+
theme.content = name;
|
|
22
|
+
} else if (scope === "controls") {
|
|
23
|
+
theme.controls = name;
|
|
31
24
|
} else {
|
|
32
|
-
|
|
33
|
-
theme.content = name;
|
|
34
|
-
theme.controls = name;
|
|
35
|
-
} else if (scope === "content") {
|
|
36
|
-
theme.content = name;
|
|
37
|
-
} else if (scope === "controls") {
|
|
38
|
-
theme.controls = name;
|
|
39
|
-
} else {
|
|
40
|
-
throw new Error(`Unknown theme scope: ${scope}`);
|
|
41
|
-
}
|
|
25
|
+
throw new Error(`Unknown theme scope: ${scope}`);
|
|
42
26
|
}
|
|
43
27
|
return void 0;
|
|
44
28
|
} else {
|
|
@@ -49,12 +33,6 @@ function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
|
49
33
|
const content = contentThemeClassName(theme.content);
|
|
50
34
|
const controls = controlsThemeClassName(theme.controls);
|
|
51
35
|
themeClassNames.push(content, controls);
|
|
52
|
-
for (const state in stateThemes) {
|
|
53
|
-
const { content: content2, controls: controls2 } = stateThemes[state];
|
|
54
|
-
const contentClassName = contentThemeClassName(content2, state);
|
|
55
|
-
const controlsClassName = controlsThemeClassName(controls2, state);
|
|
56
|
-
themeClassNames.push(contentClassName, controlsClassName);
|
|
57
|
-
}
|
|
58
36
|
const flatThemedClassName = flatClassNameList(themeClassNames);
|
|
59
37
|
if (flatThemedClassName.length > 0 || colorScheme) {
|
|
60
38
|
return [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterThemedClassName.js","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"filterThemedClassName.js","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import { isColorSchemeClassName } from './colorSchemeClassName'\nimport { THEME_CLASS_NAME_REG_EXP } from './constants'\nimport { flatClassNameList } from './flatClassNameList'\nimport { contentThemeClassName, controlsThemeClassName } from './themeClassName'\nimport { NestedClassName } from './types'\n\nexport type ThemeConfig = { content: string | undefined, controls: string | undefined }\n\nexport function filterThemedClassName(\n\tnestedClassName: NestedClassName,\n\tdefaultColorSchemeContext: string,\n) {\n\tconst theme: ThemeConfig = { content: undefined, controls: undefined }\n\tlet colorScheme: string | undefined = undefined\n\n\tconst flatClassName = flatClassNameList(nestedClassName).map(className => {\n\t\tif (isColorSchemeClassName(className)) {\n\t\t\tcolorScheme = className\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst match = className.match(THEME_CLASS_NAME_REG_EXP)\n\n\t\tif (match) {\n\t\t\tconst name = match.groups!.name\n\t\t\tconst scope = match.groups!.scope\n\n\t\t\tif (!scope) {\n\t\t\t\ttheme.content = name\n\t\t\t\ttheme.controls = name\n\t\t\t} else if (scope === 'content') {\n\t\t\t\ttheme.content = name\n\t\t\t} else if (scope === 'controls') {\n\t\t\t\ttheme.controls = name\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t}\n\n\t\t\treturn undefined\n\t\t} else {\n\t\t\treturn className\n\t\t}\n\t}).filter(Boolean) as string[]\n\n\tconst themeClassNames: (string | undefined)[] = []\n\n\tconst content = contentThemeClassName(theme.content)\n\tconst controls = controlsThemeClassName(theme.controls)\n\n\tthemeClassNames.push(content, controls)\n\n\tconst flatThemedClassName = flatClassNameList(themeClassNames)\n\n\tif (flatThemedClassName.length > 0 || colorScheme) {\n\t\treturn [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName]\n\t} else {\n\t\treturn flatClassName\n\t}\n}\n"],"names":[],"mappings":";;;;AAQgB,SAAA,sBACf,iBACA,2BACC;AACD,QAAM,QAAqB,EAAE,SAAS,QAAW,UAAU;AAC3D,MAAI,cAAkC;AAEtC,QAAM,gBAAgB,kBAAkB,eAAe,EAAE,IAAI,CAAa,cAAA;AACrE,QAAA,uBAAuB,SAAS,GAAG;AACxB,oBAAA;AACP,aAAA;AAAA,IACR;AAEM,UAAA,QAAQ,UAAU,MAAM,wBAAwB;AAEtD,QAAI,OAAO;AACJ,YAAA,OAAO,MAAM,OAAQ;AACrB,YAAA,QAAQ,MAAM,OAAQ;AAE5B,UAAI,CAAC,OAAO;AACX,cAAM,UAAU;AAChB,cAAM,WAAW;AAAA,MAAA,WACP,UAAU,WAAW;AAC/B,cAAM,UAAU;AAAA,MAAA,WACN,UAAU,YAAY;AAChC,cAAM,WAAW;AAAA,MAAA,OACX;AACN,cAAM,IAAI,MAAM,wBAAwB,KAAK,EAAE;AAAA,MAChD;AAEO,aAAA;AAAA,IAAA,OACD;AACC,aAAA;AAAA,IACR;AAAA,EAAA,CACA,EAAE,OAAO,OAAO;AAEjB,QAAM,kBAA0C,CAAA;AAE1C,QAAA,UAAU,sBAAsB,MAAM,OAAO;AAC7C,QAAA,WAAW,uBAAuB,MAAM,QAAQ;AAEtC,kBAAA,KAAK,SAAS,QAAQ;AAEhC,QAAA,sBAAsB,kBAAkB,eAAe;AAEzD,MAAA,oBAAoB,SAAS,KAAK,aAAa;AAClD,WAAO,CAAC,eAAe,2BAA2B,GAAG,qBAAqB,GAAG,aAAa;AAAA,EAAA,OACpF;AACC,WAAA;AAAA,EACR;AACD;"}
|
|
@@ -9,6 +9,9 @@ function flatClassNameList(className) {
|
|
|
9
9
|
} else if (Array.isArray(className)) {
|
|
10
10
|
return className.flatMap(flatClassNameList);
|
|
11
11
|
} else {
|
|
12
|
+
{
|
|
13
|
+
console.error(`Unexpected className: ${JSON.stringify(className)}`);
|
|
14
|
+
}
|
|
12
15
|
assertNever.assertNever();
|
|
13
16
|
}
|
|
14
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.cjs","sources":["../../../src/class-name/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":["assertNever"],"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;
|
|
1
|
+
{"version":3,"file":"flatClassNameList.cjs","sources":["../../../src/class-name/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":["assertNever"],"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;AACmB;AACxB,cAAQ,MAAM,yBAAyB,KAAK,UAAU,SAAS,CAAC,EAAE;AAAA,IACnE;AAEAA,gBAAAA,YAAqB;AAAA,EACtB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatClassNameList.js","sources":["../../../src/class-name/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;
|
|
1
|
+
{"version":3,"file":"flatClassNameList.js","sources":["../../../src/class-name/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;AACmB;AACxB,cAAQ,MAAM,yBAAyB,KAAK,UAAU,SAAS,CAAC,EAAE;AAAA,IACnE;AAEA,gBAAqB;AAAA,EACtB;AACD;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function contentThemeClassName(theme
|
|
4
|
-
return theme ? `theme-${theme}-content
|
|
3
|
+
function contentThemeClassName(theme) {
|
|
4
|
+
return theme ? `theme-${theme}-content` : void 0;
|
|
5
5
|
}
|
|
6
|
-
function controlsThemeClassName(theme
|
|
7
|
-
return theme ? `theme-${theme}-controls
|
|
6
|
+
function controlsThemeClassName(theme) {
|
|
7
|
+
return theme ? `theme-${theme}-controls` : void 0;
|
|
8
8
|
}
|
|
9
|
-
function themeClassName(theme
|
|
9
|
+
function themeClassName(theme) {
|
|
10
10
|
return [
|
|
11
|
-
contentThemeClassName(theme
|
|
12
|
-
controlsThemeClassName(theme
|
|
11
|
+
contentThemeClassName(theme),
|
|
12
|
+
controlsThemeClassName(theme)
|
|
13
13
|
];
|
|
14
14
|
}
|
|
15
15
|
exports.contentThemeClassName = contentThemeClassName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeClassName.cjs","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["
|
|
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,13 +1,13 @@
|
|
|
1
|
-
function contentThemeClassName(theme
|
|
2
|
-
return theme ? `theme-${theme}-content
|
|
1
|
+
function contentThemeClassName(theme) {
|
|
2
|
+
return theme ? `theme-${theme}-content` : void 0;
|
|
3
3
|
}
|
|
4
|
-
function controlsThemeClassName(theme
|
|
5
|
-
return theme ? `theme-${theme}-controls
|
|
4
|
+
function controlsThemeClassName(theme) {
|
|
5
|
+
return theme ? `theme-${theme}-controls` : void 0;
|
|
6
6
|
}
|
|
7
|
-
function themeClassName(theme
|
|
7
|
+
function themeClassName(theme) {
|
|
8
8
|
return [
|
|
9
|
-
contentThemeClassName(theme
|
|
10
|
-
controlsThemeClassName(theme
|
|
9
|
+
contentThemeClassName(theme),
|
|
10
|
+
controlsThemeClassName(theme)
|
|
11
11
|
];
|
|
12
12
|
}
|
|
13
13
|
export {
|