@contember/utilities 1.2.6 → 1.3.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/assert-types/AssertionError.cjs +9 -0
- package/dist/development/assert-types/AssertionError.cjs.map +1 -0
- package/dist/development/assert-types/Predicates.cjs +108 -0
- package/dist/development/assert-types/Predicates.cjs.map +1 -0
- package/dist/development/assert-types/assert.cjs +10 -0
- package/dist/development/assert-types/assert.cjs.map +1 -0
- package/dist/development/assert-types/assertNever.cjs +7 -0
- package/dist/development/assert-types/assertNever.cjs.map +1 -0
- package/dist/development/class-name/colorSchemeClassName.cjs +16 -0
- package/dist/development/class-name/colorSchemeClassName.cjs.map +1 -0
- package/dist/development/class-name/constants.cjs +7 -0
- package/dist/development/class-name/constants.cjs.map +1 -0
- package/dist/development/class-name/constants.js.map +1 -1
- package/dist/development/class-name/deduplicateClassName.cjs +7 -0
- package/dist/development/class-name/deduplicateClassName.cjs.map +1 -0
- package/dist/development/class-name/filterThemedClassName.cjs +68 -0
- package/dist/development/class-name/filterThemedClassName.cjs.map +1 -0
- package/dist/development/class-name/filterThemedClassName.js.map +1 -1
- package/dist/development/class-name/flatClassNameList.cjs +16 -0
- package/dist/development/class-name/flatClassNameList.cjs.map +1 -0
- package/dist/development/class-name/listClassName.cjs +9 -0
- package/dist/development/class-name/listClassName.cjs.map +1 -0
- package/dist/development/class-name/stateClassName.cjs +11 -0
- package/dist/development/class-name/stateClassName.cjs.map +1 -0
- package/dist/development/class-name/themeClassName.cjs +18 -0
- package/dist/development/class-name/themeClassName.cjs.map +1 -0
- package/dist/development/class-name/themeClassName.js.map +1 -1
- package/dist/development/css-utilities/px.cjs +7 -0
- package/dist/development/css-utilities/px.cjs.map +1 -0
- package/dist/development/data-utilities/dateToStringWithoutTimezone.cjs +20 -0
- package/dist/development/data-utilities/dateToStringWithoutTimezone.cjs.map +1 -0
- package/dist/development/data-utilities/dateToStringWithoutTimezone.js +20 -0
- package/dist/development/data-utilities/dateToStringWithoutTimezone.js.map +1 -0
- package/dist/development/deprecate/deprecate.cjs +6 -0
- package/dist/development/deprecate/deprecate.cjs.map +1 -0
- package/dist/development/deprecate/deprecate.js.map +1 -1
- package/dist/development/deprecate/fallback.cjs +11 -0
- package/dist/development/deprecate/fallback.cjs.map +1 -0
- package/dist/development/dom/dataAttribute.cjs +13 -0
- package/dist/development/dom/dataAttribute.cjs.map +1 -0
- package/dist/development/dom/getElementDimensions.cjs +22 -0
- package/dist/development/dom/getElementDimensions.cjs.map +1 -0
- package/dist/development/dom/getMatchingParentElement.cjs +17 -0
- package/dist/development/dom/getMatchingParentElement.cjs.map +1 -0
- package/dist/development/dom/getSizeFromResizeObserverEntry.cjs +24 -0
- package/dist/development/dom/getSizeFromResizeObserverEntry.cjs.map +1 -0
- package/dist/development/dom/isScrollable.cjs +22 -0
- package/dist/development/dom/isScrollable.cjs.map +1 -0
- package/dist/development/dom/parseTransformMatrix.cjs +29 -0
- package/dist/development/dom/parseTransformMatrix.cjs.map +1 -0
- package/dist/development/dom/shouldCancelStart.cjs +29 -0
- package/dist/development/dom/shouldCancelStart.cjs.map +1 -0
- package/dist/development/dom/shouldCancelStart.js +29 -0
- package/dist/development/dom/shouldCancelStart.js.map +1 -0
- package/dist/development/dom/stateDataAttributes.cjs +11 -0
- package/dist/development/dom/stateDataAttributes.cjs.map +1 -0
- package/dist/development/dom/svgSizeProps.cjs +15 -0
- package/dist/development/dom/svgSizeProps.cjs.map +1 -0
- package/dist/development/functional/extend.cjs +33 -0
- package/dist/development/functional/extend.cjs.map +1 -0
- package/dist/development/functional/omit.cjs +15 -0
- package/dist/development/functional/omit.cjs.map +1 -0
- package/dist/development/functional/pick.cjs +15 -0
- package/dist/development/functional/pick.cjs.map +1 -0
- package/dist/development/functional/range.cjs +7 -0
- package/dist/development/functional/range.cjs.map +1 -0
- package/dist/development/functional/setHasOneOf.cjs +7 -0
- package/dist/development/functional/setHasOneOf.cjs.map +1 -0
- package/dist/development/index.cjs +98 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +4 -0
- package/dist/development/index.js.map +1 -1
- package/dist/development/string-utilities/capitalize.cjs +7 -0
- package/dist/development/string-utilities/capitalize.cjs.map +1 -0
- package/dist/development/string-utilities/kebabCase.cjs +8 -0
- package/dist/development/string-utilities/kebabCase.cjs.map +1 -0
- package/dist/development/string-utilities/trimString.cjs +8 -0
- package/dist/development/string-utilities/trimString.cjs.map +1 -0
- package/dist/production/assert-types/AssertionError.cjs +9 -0
- package/dist/production/assert-types/AssertionError.cjs.map +1 -0
- package/dist/production/assert-types/Predicates.cjs +108 -0
- package/dist/production/assert-types/Predicates.cjs.map +1 -0
- package/dist/production/assert-types/assert.cjs +10 -0
- package/dist/production/assert-types/assert.cjs.map +1 -0
- package/dist/production/assert-types/assertNever.cjs +7 -0
- package/dist/production/assert-types/assertNever.cjs.map +1 -0
- package/dist/production/class-name/colorSchemeClassName.cjs +16 -0
- package/dist/production/class-name/colorSchemeClassName.cjs.map +1 -0
- package/dist/production/class-name/constants.cjs +7 -0
- package/dist/production/class-name/constants.cjs.map +1 -0
- package/dist/production/class-name/constants.js.map +1 -1
- package/dist/production/class-name/deduplicateClassName.cjs +7 -0
- package/dist/production/class-name/deduplicateClassName.cjs.map +1 -0
- package/dist/production/class-name/filterThemedClassName.cjs +68 -0
- package/dist/production/class-name/filterThemedClassName.cjs.map +1 -0
- package/dist/production/class-name/filterThemedClassName.js.map +1 -1
- package/dist/production/class-name/flatClassNameList.cjs +16 -0
- package/dist/production/class-name/flatClassNameList.cjs.map +1 -0
- package/dist/production/class-name/listClassName.cjs +9 -0
- package/dist/production/class-name/listClassName.cjs.map +1 -0
- package/dist/production/class-name/stateClassName.cjs +11 -0
- package/dist/production/class-name/stateClassName.cjs.map +1 -0
- package/dist/production/class-name/themeClassName.cjs +18 -0
- package/dist/production/class-name/themeClassName.cjs.map +1 -0
- package/dist/production/class-name/themeClassName.js.map +1 -1
- package/dist/production/css-utilities/px.cjs +7 -0
- package/dist/production/css-utilities/px.cjs.map +1 -0
- package/dist/production/data-utilities/dateToStringWithoutTimezone.cjs +20 -0
- package/dist/production/data-utilities/dateToStringWithoutTimezone.cjs.map +1 -0
- package/dist/production/data-utilities/dateToStringWithoutTimezone.js +20 -0
- package/dist/production/data-utilities/dateToStringWithoutTimezone.js.map +1 -0
- package/dist/production/deprecate/deprecate.cjs +6 -0
- package/dist/production/deprecate/deprecate.cjs.map +1 -0
- package/dist/production/deprecate/deprecate.js.map +1 -1
- package/dist/production/deprecate/fallback.cjs +11 -0
- package/dist/production/deprecate/fallback.cjs.map +1 -0
- package/dist/production/dom/dataAttribute.cjs +13 -0
- package/dist/production/dom/dataAttribute.cjs.map +1 -0
- package/dist/production/dom/getElementDimensions.cjs +22 -0
- package/dist/production/dom/getElementDimensions.cjs.map +1 -0
- package/dist/production/dom/getMatchingParentElement.cjs +17 -0
- package/dist/production/dom/getMatchingParentElement.cjs.map +1 -0
- package/dist/production/dom/getSizeFromResizeObserverEntry.cjs +24 -0
- package/dist/production/dom/getSizeFromResizeObserverEntry.cjs.map +1 -0
- package/dist/production/dom/isScrollable.cjs +22 -0
- package/dist/production/dom/isScrollable.cjs.map +1 -0
- package/dist/production/dom/parseTransformMatrix.cjs +29 -0
- package/dist/production/dom/parseTransformMatrix.cjs.map +1 -0
- package/dist/production/dom/shouldCancelStart.cjs +29 -0
- package/dist/production/dom/shouldCancelStart.cjs.map +1 -0
- package/dist/production/dom/shouldCancelStart.js +29 -0
- package/dist/production/dom/shouldCancelStart.js.map +1 -0
- package/dist/production/dom/stateDataAttributes.cjs +11 -0
- package/dist/production/dom/stateDataAttributes.cjs.map +1 -0
- package/dist/production/dom/svgSizeProps.cjs +15 -0
- package/dist/production/dom/svgSizeProps.cjs.map +1 -0
- package/dist/production/functional/extend.cjs +33 -0
- package/dist/production/functional/extend.cjs.map +1 -0
- package/dist/production/functional/omit.cjs +15 -0
- package/dist/production/functional/omit.cjs.map +1 -0
- package/dist/production/functional/pick.cjs +15 -0
- package/dist/production/functional/pick.cjs.map +1 -0
- package/dist/production/functional/range.cjs +7 -0
- package/dist/production/functional/range.cjs.map +1 -0
- package/dist/production/functional/setHasOneOf.cjs +7 -0
- package/dist/production/functional/setHasOneOf.cjs.map +1 -0
- package/dist/production/index.cjs +98 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +4 -0
- package/dist/production/index.js.map +1 -1
- package/dist/production/string-utilities/capitalize.cjs +7 -0
- package/dist/production/string-utilities/capitalize.cjs.map +1 -0
- package/dist/production/string-utilities/kebabCase.cjs +8 -0
- package/dist/production/string-utilities/kebabCase.cjs.map +1 -0
- package/dist/production/string-utilities/trimString.cjs +8 -0
- package/dist/production/string-utilities/trimString.cjs.map +1 -0
- package/dist/types/class-name/constants.d.ts +0 -18
- package/dist/types/class-name/constants.d.ts.map +1 -1
- package/dist/types/class-name/filterThemedClassName.d.ts.map +1 -1
- package/dist/types/class-name/themeClassName.d.ts +2 -9
- package/dist/types/class-name/themeClassName.d.ts.map +1 -1
- package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts +4 -0
- package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts.map +1 -0
- package/dist/types/data-utilities/index.d.ts +2 -0
- package/dist/types/data-utilities/index.d.ts.map +1 -0
- package/dist/types/dom/index.d.ts +1 -0
- package/dist/types/dom/index.d.ts.map +1 -1
- package/dist/types/dom/shouldCancelStart.d.ts +4 -0
- package/dist/types/dom/shouldCancelStart.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -2
- package/src/class-name/constants.ts +1 -18
- package/src/class-name/filterThemedClassName.ts +2 -0
- package/src/class-name/themeClassName.ts +12 -11
- package/src/data-utilities/dateToStringWithoutTimezone.ts +18 -0
- package/src/data-utilities/index.ts +1 -0
- package/src/deprecate/deprecate.ts +1 -1
- package/src/dom/index.ts +1 -0
- package/src/dom/shouldCancelStart.ts +32 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class AssertionError extends Error {
|
|
4
|
+
constructor(value, that = "value to pass assertion") {
|
|
5
|
+
super(`Expecting ${that}, ${JSON.stringify(value)} given`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
exports.AssertionError = AssertionError;
|
|
9
|
+
//# sourceMappingURL=AssertionError.cjs.map
|
|
@@ -0,0 +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,SAAS,KAAK,UAAU,KAAK,SAAS;AAAA,EAC1D;AACD;;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
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
|
+
function isNonNegativeNumber(value) {
|
|
51
|
+
return isNumber(value) && value >= 0;
|
|
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;
|
|
82
|
+
}
|
|
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
|
+
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
|
+
//# sourceMappingURL=Predicates.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Predicates.cjs","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["import { Predicate, SlugString, UnionOfPredicateTypes } from './types'\n\nexport function isNull(value: unknown): value is null {\n\treturn value === null\n}\nexport function isNotNull<T>(value: unknown): value is T {\n\treturn value !== null\n}\nexport function isUndefined(value: unknown): value is undefined {\n\treturn value === undefined\n}\nexport function isDefined<T>(value: unknown): value is Exclude<T, undefined> {\n\treturn value !== undefined\n}\nexport function isNotNullish<T>(value: T): value is Exclude<T, null | undefined> {\n\treturn value != null\n}\nexport function isBoolean(value: unknown): value is boolean {\n\treturn typeof value === 'boolean'\n}\nexport function isTrue(value: unknown): value is true {\n\treturn value === true\n}\nexport function isFalse(value: unknown): value is false {\n\treturn value === false\n}\nexport function isString(value: unknown): value is string {\n\treturn typeof value === 'string'\n}\nexport function isSlugString(value: unknown): value is SlugString {\n\treturn isNonEmptyString(value) && /^[a-z0-9_-]+$/.test(value)\n}\nexport function isSingleWordString(value: unknown): value is string {\n\treturn isNonEmptyString(value) && value.indexOf(' ') === -1\n}\nexport function isNonEmptyString(value: unknown): value is string {\n\treturn isString(value) && value.length > 0\n}\nfunction isNonEmptyTrimmedStringFactory(trim: 'trim' | 'trimStart' | 'trimEnd' = 'trim') {\n\treturn function isNonEmptyString(value: unknown): value is string {\n\t\treturn isString(value) && value[trim]().length > 0\n\t}\n}\nexport const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory()\nexport const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory('trimStart')\nexport const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory('trimEnd')\nexport function isNumber(value: unknown): value is number {\n\treturn typeof value === 'number' && value === value\n}\nexport function isNonNegativeNumber(value: unknown): value is number {\n\treturn isNumber(value) && value >= 0\n}\nexport function isNumericString(value: string): value is string {\n\treturn isString(value) && !isNaN(parseFloat(value))\n}\nexport function isOneOfFactory<U, T = any>(\n\tmembers: T extends Array<U> | ReadonlyArray<U> ? T : never,\n): (value: unknown) => value is U {\n\treturn function isOneOfFactoryProduct(value: unknown): value is U {\n\t\treturn members.includes(value as U)\n\t}\n}\nexport function satisfiesOneOfFactory<T extends Array<Predicate<any, any>>>(\n\t...predicates: T\n): Predicate<unknown, UnionOfPredicateTypes<T>> {\n\treturn (value: any): value is UnionOfPredicateTypes<T> => {\n\t\treturn predicates.some(predicate => predicate(value))\n\t}\n}\nexport function isArrayOfMembersSatisfyingFactory<T>(\n\tpredicate: (value: unknown) => value is T,\n): (value: unknown) => value is Array<T> {\n\treturn function isArrayOfMembersSatisfyingProduct(value: unknown): value is Array<T> {\n\t\treturn Array.isArray(value) && value.every(predicate)\n\t}\n}\nexport function isNonEmptyArray<T>(value: unknown): value is [T, ...T[]] {\n\treturn Array.isArray(value) && value.length > 0\n}\nexport function isHTMLElement(value: unknown): value is HTMLElement {\n\treturn value instanceof HTMLElement\n}\nexport function isObject(value: unknown): value is Object {\n\treturn typeof value === 'object' && value !== null\n}\nexport function isPlainObject<T extends Record<string, unknown>>(value: unknown): value is T {\n\treturn isObject(value) && value.constructor === Object\n}\n"],"names":["isNonEmptyString"],"mappings":";;AAEO,SAAS,OAAO,OAA+B;AACrD,SAAO,UAAU;AAClB;AACO,SAAS,UAAa,OAA4B;AACxD,SAAO,UAAU;AAClB;AACO,SAAS,YAAY,OAAoC;AAC/D,SAAO,UAAU;AAClB;AACO,SAAS,UAAa,OAAgD;AAC5E,SAAO,UAAU;AAClB;AACO,SAAS,aAAgB,OAAiD;AAChF,SAAO,SAAS;AACjB;AACO,SAAS,UAAU,OAAkC;AAC3D,SAAO,OAAO,UAAU;AACzB;AACO,SAAS,OAAO,OAA+B;AACrD,SAAO,UAAU;AAClB;AACO,SAAS,QAAQ,OAAgC;AACvD,SAAO,UAAU;AAClB;AACO,SAAS,SAAS,OAAiC;AACzD,SAAO,OAAO,UAAU;AACzB;AACO,SAAS,aAAa,OAAqC;AACjE,SAAO,iBAAiB,KAAK,KAAK,gBAAgB,KAAK,KAAK;AAC7D;AACO,SAAS,mBAAmB,OAAiC;AACnE,SAAO,iBAAiB,KAAK,KAAK,MAAM,QAAQ,GAAG,MAAM;AAC1D;AACO,SAAS,iBAAiB,OAAiC;AACjE,SAAO,SAAS,KAAK,KAAK,MAAM,SAAS;AAC1C;AACA,SAAS,+BAA+B,OAAyC,QAAQ;AACjF,SAAA,SAASA,kBAAiB,OAAiC;AACjE,WAAO,SAAS,KAAK,KAAK,MAAM,IAAI,IAAI,SAAS;AAAA,EAAA;AAEnD;AACO,MAAM,0BAA0B,+BAA+B;AACzD,MAAA,+BAA+B,+BAA+B,WAAW;AACzE,MAAA,6BAA6B,+BAA+B,SAAS;AAC3E,SAAS,SAAS,OAAiC;AAClD,SAAA,OAAO,UAAU,YAAY,UAAU;AAC/C;AACO,SAAS,oBAAoB,OAAiC;AAC7D,SAAA,SAAS,KAAK,KAAK,SAAS;AACpC;AACO,SAAS,gBAAgB,OAAgC;AAC/D,SAAO,SAAS,KAAK,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC;AACnD;AACO,SAAS,eACf,SACiC;AAC1B,SAAA,SAAS,sBAAsB,OAA4B;AAC1D,WAAA,QAAQ,SAAS,KAAU;AAAA,EAAA;AAEpC;AACO,SAAS,yBACZ,YAC4C;AAC/C,SAAO,CAAC,UAAkD;AACzD,WAAO,WAAW,KAAK,CAAa,cAAA,UAAU,KAAK,CAAC;AAAA,EAAA;AAEtD;AACO,SAAS,kCACf,WACwC;AACjC,SAAA,SAAS,kCAAkC,OAAmC;AACpF,WAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,SAAS;AAAA,EAAA;AAEtD;AACO,SAAS,gBAAmB,OAAsC;AACxE,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS;AAC/C;AACO,SAAS,cAAc,OAAsC;AACnE,SAAO,iBAAiB;AACzB;AACO,SAAS,SAAS,OAAiC;AAClD,SAAA,OAAO,UAAU,YAAY,UAAU;AAC/C;AACO,SAAS,cAAiD,OAA4B;AAC5F,SAAO,SAAS,KAAK,KAAK,MAAM,gBAAgB;AACjD;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const AssertionError = require("./AssertionError.cjs");
|
|
4
|
+
function assert(that = void 0, value, predicate) {
|
|
5
|
+
if (!predicate(value)) {
|
|
6
|
+
throw new AssertionError.AssertionError(value, that);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.assert = assert;
|
|
10
|
+
//# sourceMappingURL=assert.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.cjs","sources":["../../../src/assert-types/assert.ts"],"sourcesContent":["import { AssertionError } from './AssertionError'\nimport { Predicate } from './types'\n\nexport function assert<\n\tIn,\n\tOut extends In\n>(\n\tthat: string | undefined = undefined,\n\tvalue: In,\n\tpredicate: Predicate<In, Out>, // (value: In) => value is Out,\n): asserts value is Out {\n\tif (!predicate(value)) {\n\t\tthrow new AssertionError(value, that)\n\t}\n}\n"],"names":["AssertionError"],"mappings":";;;AAGO,SAAS,OAIf,OAA2B,QAC3B,OACA,WACuB;AACnB,MAAA,CAAC,UAAU,KAAK,GAAG;AAChB,UAAA,IAAIA,eAAe,eAAA,OAAO,IAAI;AAAA,EACrC;AACD;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function assertNever(_) {
|
|
4
|
+
throw new Error("Exhaustive Error: This line should never be reached.");
|
|
5
|
+
}
|
|
6
|
+
exports.assertNever = assertNever;
|
|
7
|
+
//# sourceMappingURL=assertNever.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.cjs","sources":["../../../src/assert-types/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error('Exhaustive Error: This line should never be reached.')\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AACtC,QAAA,IAAI,MAAM,sDAAsD;AACvE;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const constants = require("./constants.cjs");
|
|
4
|
+
function colorSchemeClassName(scheme) {
|
|
5
|
+
if (typeof scheme === "string") {
|
|
6
|
+
return `scheme-${scheme}`;
|
|
7
|
+
} else {
|
|
8
|
+
return void 0;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function isColorSchemeClassName(value) {
|
|
12
|
+
return constants.COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value);
|
|
13
|
+
}
|
|
14
|
+
exports.colorSchemeClassName = colorSchemeClassName;
|
|
15
|
+
exports.isColorSchemeClassName = isColorSchemeClassName;
|
|
16
|
+
//# sourceMappingURL=colorSchemeClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorSchemeClassName.cjs","sources":["../../../src/class-name/colorSchemeClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { COLOR_SCHEME_CLASS_NAME_REG_EXP } from './constants'\nimport { ColorSchemeClassName } from './types'\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<S extends KebabCase<string> = KebabCase<string>>(scheme: S): ColorSchemeClassName<S>;\nexport function colorSchemeClassName<S extends KebabCase<string> = KebabCase<string>>(scheme: null | undefined): undefined;\nexport function colorSchemeClassName<S extends KebabCase<string> = KebabCase<string>>(scheme: S | null | undefined): ColorSchemeClassName<S> | undefined;\nexport function colorSchemeClassName<S extends KebabCase<string> = KebabCase<string>>(scheme: S | null | undefined): ColorSchemeClassName<S> | undefined {\n\tif (typeof scheme === 'string') {\n\t\treturn `scheme-${scheme}`\n\t} else {\n\t\treturn undefined\n\t}\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<T extends string>(value: string): value is ColorSchemeClassName<T> {\n\treturn COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value)\n}\n"],"names":["COLOR_SCHEME_CLASS_NAME_REG_EXP"],"mappings":";;;AA6BO,SAAS,qBAAsE,QAAmE;AACpJ,MAAA,OAAO,WAAW,UAAU;AAC/B,WAAO,UAAU;AAAA,EAAA,OACX;AACC,WAAA;AAAA,EACR;AACD;AAQO,SAAS,uBAAyC,OAAiD;AAClG,SAAAA,UAAA,gCAAgC,KAAK,KAAK;AAClD;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))?(?<state>:[\w]+(?:[\w-]+)?)?$/;
|
|
4
|
+
const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/;
|
|
5
|
+
exports.COLOR_SCHEME_CLASS_NAME_REG_EXP = COLOR_SCHEME_CLASS_NAME_REG_EXP;
|
|
6
|
+
exports.THEME_CLASS_NAME_REG_EXP = THEME_CLASS_NAME_REG_EXP;
|
|
7
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +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\n// TODO: v1.3.0 >>> THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?$/\nexport const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?(?<state>:[\\w]+(?:[\\w-]+)?)?$/\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":";;AAmBO,MAAM,2BAA2B;AAMjC,MAAM,kCAAkC;;;"}
|
|
@@ -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
|
|
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\n// TODO: v1.3.0 >>> THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?$/\nexport const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\\w-]+?)(?:-(?<scope>content|controls))?(?<state>:[\\w]+(?:[\\w-]+)?)?$/\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":"AAmBO,MAAM,2BAA2B;AAMjC,MAAM,kCAAkC;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function deduplicateClassName(classNameArray) {
|
|
4
|
+
return [...new Set(classNameArray)];
|
|
5
|
+
}
|
|
6
|
+
exports.deduplicateClassName = deduplicateClassName;
|
|
7
|
+
//# sourceMappingURL=deduplicateClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicateClassName.cjs","sources":["../../../src/class-name/deduplicateClassName.ts"],"sourcesContent":["export function deduplicateClassName(classNameArray: string[]): string[] {\n\treturn [...new Set(classNameArray)]\n}\n"],"names":[],"mappings":";;AAAO,SAAS,qBAAqB,gBAAoC;AACxE,SAAO,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC;AACnC;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const colorSchemeClassName = require("./colorSchemeClassName.cjs");
|
|
4
|
+
const constants = require("./constants.cjs");
|
|
5
|
+
const flatClassNameList = require("./flatClassNameList.cjs");
|
|
6
|
+
const themeClassName = require("./themeClassName.cjs");
|
|
7
|
+
function filterThemedClassName(nestedClassName, defaultColorSchemeContext) {
|
|
8
|
+
const theme = { content: void 0, controls: void 0 };
|
|
9
|
+
const stateThemes = {};
|
|
10
|
+
let colorScheme = void 0;
|
|
11
|
+
const flatClassName = flatClassNameList.flatClassNameList(nestedClassName).map((className) => {
|
|
12
|
+
if (colorSchemeClassName.isColorSchemeClassName(className)) {
|
|
13
|
+
colorScheme = className;
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
const match = className.match(constants.THEME_CLASS_NAME_REG_EXP);
|
|
17
|
+
if (match) {
|
|
18
|
+
const name = match.groups.name;
|
|
19
|
+
const scope = match.groups.scope;
|
|
20
|
+
const state = match.groups.state;
|
|
21
|
+
if (state) {
|
|
22
|
+
stateThemes[state] = stateThemes[state] ?? { content: void 0, controls: void 0 };
|
|
23
|
+
if (!scope) {
|
|
24
|
+
stateThemes[state].content = name;
|
|
25
|
+
stateThemes[state].controls = name;
|
|
26
|
+
} else if (scope === "content") {
|
|
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
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
if (!scope) {
|
|
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
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return void 0;
|
|
46
|
+
} else {
|
|
47
|
+
return className;
|
|
48
|
+
}
|
|
49
|
+
}).filter(Boolean);
|
|
50
|
+
const themeClassNames = [];
|
|
51
|
+
const content = themeClassName.contentThemeClassName(theme.content);
|
|
52
|
+
const controls = themeClassName.controlsThemeClassName(theme.controls);
|
|
53
|
+
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
|
+
const flatThemedClassName = flatClassNameList.flatClassNameList(themeClassNames);
|
|
61
|
+
if (flatThemedClassName.length > 0 || colorScheme) {
|
|
62
|
+
return [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName];
|
|
63
|
+
} else {
|
|
64
|
+
return flatClassName;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.filterThemedClassName = filterThemedClassName;
|
|
68
|
+
//# sourceMappingURL=filterThemedClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterThemedClassName.cjs","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { deprecate } from '../deprecate'\nimport { isColorSchemeClassName } from './colorSchemeClassName'\nimport { THEME_CLASS_NAME_REG_EXP } from './constants'\nimport { flatClassNameList } from './flatClassNameList'\nimport { contentThemeClassName, controlsThemeClassName } from './themeClassName'\nimport { ColorSchemeClassName, NestedClassName } from './types'\n\nexport type ThemeConfig = { content: string | undefined, controls: string | undefined }\n\nexport function filterThemedClassName(\n\tnestedClassName: NestedClassName,\n\tdefaultColorSchemeContext: ColorSchemeClassName,\n) {\n\tconst theme: ThemeConfig = { content: undefined, controls: undefined }\n\tconst stateThemes: Record<string, ThemeConfig> = {}\n\tlet colorScheme: ColorSchemeClassName | 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 as KebabCase<string>\n\t\t\tconst scope = match.groups!.scope as KebabCase<string>\n\t\t\tconst state = match.groups!.state as `:${KebabCase<string>}`\n\n\t\t\tif (state) {\n\t\t\t\tdeprecate('1.3.0', true, 'State themes are deprecated.', null)\n\t\t\t\tstateThemes[state] = stateThemes[state] ?? { content: undefined, controls: undefined }\n\n\t\t\t\tif (!scope) {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!scope) {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\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\tfor (const state in stateThemes) {\n\t\tconst { content, controls } = stateThemes[state]\n\n\t\tconst contentClassName = contentThemeClassName(content, state as `:${KebabCase<string>}`)\n\t\tconst controlsClassName = controlsThemeClassName(controls, state as `:${KebabCase<string>}`)\n\n\t\tthemeClassNames.push(contentClassName, controlsClassName)\n\t}\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","content","controls"],"mappings":";;;;;;AAUgB,SAAA,sBACf,iBACA,2BACC;AACD,QAAM,QAAqB,EAAE,SAAS,QAAW,UAAU;AAC3D,QAAM,cAA2C,CAAA;AACjD,MAAI,cAAgD;AAEpD,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;AACtB,YAAA,QAAQ,MAAM,OAAQ;AAE5B,UAAI,OAAO;AAEE,oBAAA,KAAK,IAAI,YAAY,KAAK,KAAK,EAAE,SAAS,QAAW,UAAU,OAAU;AAErF,YAAI,CAAC,OAAO;AACC,sBAAA,KAAK,EAAE,UAAU;AACjB,sBAAA,KAAK,EAAE,WAAW;AAAA,QAAA,WACpB,UAAU,WAAW;AACnB,sBAAA,KAAK,EAAE,UAAU;AAAA,QAAA,WACnB,UAAU,YAAY;AACpB,sBAAA,KAAK,EAAE,WAAW;AAAA,QAAA,OACxB;AACA,gBAAA,IAAI,MAAM,wBAAwB,OAAO;AAAA,QAChD;AAAA,MAAA,OACM;AACN,YAAI,CAAC,OAAO;AACX,gBAAM,UAAU;AAChB,gBAAM,WAAW;AAAA,QAAA,WACP,UAAU,WAAW;AAC/B,gBAAM,UAAU;AAAA,QAAA,WACN,UAAU,YAAY;AAChC,gBAAM,WAAW;AAAA,QAAA,OACX;AACA,gBAAA,IAAI,MAAM,wBAAwB,OAAO;AAAA,QAChD;AAAA,MACD;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;AAEtC,aAAW,SAAS,aAAa;AAChC,UAAM,EAAE,SAAAC,UAAS,UAAAC,cAAa,YAAY,KAAK;AAEzC,UAAA,mBAAmBH,eAAAA,sBAAsBE,UAAS,KAAgC;AAClF,UAAA,oBAAoBD,eAAAA,uBAAuBE,WAAU,KAAgC;AAE3E,oBAAA,KAAK,kBAAkB,iBAAiB;AAAA,EACzD;AAEM,QAAA,sBAAsBN,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;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterThemedClassName.js","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { isColorSchemeClassName } from './colorSchemeClassName'\nimport { THEME_CLASS_NAME_REG_EXP } from './constants'\nimport { flatClassNameList } from './flatClassNameList'\nimport { contentThemeClassName, controlsThemeClassName } from './themeClassName'\nimport { ColorSchemeClassName, NestedClassName } from './types'\n\nexport type ThemeConfig = { content: string | undefined, controls: string | undefined }\n\nexport function filterThemedClassName(\n\tnestedClassName: NestedClassName,\n\tdefaultColorSchemeContext: ColorSchemeClassName,\n) {\n\tconst theme: ThemeConfig = { content: undefined, controls: undefined }\n\tconst stateThemes: Record<string, ThemeConfig> = {}\n\tlet colorScheme: ColorSchemeClassName | 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 as KebabCase<string>\n\t\t\tconst scope = match.groups!.scope as KebabCase<string>\n\t\t\tconst state = match.groups!.state as `:${KebabCase<string>}`\n\n\t\t\tif (state) {\n\t\t\t\tstateThemes[state] = stateThemes[state] ?? { content: undefined, controls: undefined }\n\n\t\t\t\tif (!scope) {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!scope) {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\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\tfor (const state in stateThemes) {\n\t\tconst { content, controls } = stateThemes[state]\n\n\t\tconst contentClassName = contentThemeClassName(content, state as `:${KebabCase<string>}`)\n\t\tconst controlsClassName = controlsThemeClassName(controls, state as `:${KebabCase<string>}`)\n\n\t\tthemeClassNames.push(contentClassName, controlsClassName)\n\t}\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":["content","controls"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"filterThemedClassName.js","sources":["../../../src/class-name/filterThemedClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { deprecate } from '../deprecate'\nimport { isColorSchemeClassName } from './colorSchemeClassName'\nimport { THEME_CLASS_NAME_REG_EXP } from './constants'\nimport { flatClassNameList } from './flatClassNameList'\nimport { contentThemeClassName, controlsThemeClassName } from './themeClassName'\nimport { ColorSchemeClassName, NestedClassName } from './types'\n\nexport type ThemeConfig = { content: string | undefined, controls: string | undefined }\n\nexport function filterThemedClassName(\n\tnestedClassName: NestedClassName,\n\tdefaultColorSchemeContext: ColorSchemeClassName,\n) {\n\tconst theme: ThemeConfig = { content: undefined, controls: undefined }\n\tconst stateThemes: Record<string, ThemeConfig> = {}\n\tlet colorScheme: ColorSchemeClassName | 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 as KebabCase<string>\n\t\t\tconst scope = match.groups!.scope as KebabCase<string>\n\t\t\tconst state = match.groups!.state as `:${KebabCase<string>}`\n\n\t\t\tif (state) {\n\t\t\t\tdeprecate('1.3.0', true, 'State themes are deprecated.', null)\n\t\t\t\tstateThemes[state] = stateThemes[state] ?? { content: undefined, controls: undefined }\n\n\t\t\t\tif (!scope) {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\tstateThemes[state].content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\tstateThemes[state].controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!scope) {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else if (scope === 'content') {\n\t\t\t\t\ttheme.content = name\n\t\t\t\t} else if (scope === 'controls') {\n\t\t\t\t\ttheme.controls = name\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown theme scope: ${scope}`)\n\t\t\t\t}\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\tfor (const state in stateThemes) {\n\t\tconst { content, controls } = stateThemes[state]\n\n\t\tconst contentClassName = contentThemeClassName(content, state as `:${KebabCase<string>}`)\n\t\tconst controlsClassName = controlsThemeClassName(controls, state as `:${KebabCase<string>}`)\n\n\t\tthemeClassNames.push(contentClassName, controlsClassName)\n\t}\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":["content","controls"],"mappings":";;;;AAUgB,SAAA,sBACf,iBACA,2BACC;AACD,QAAM,QAAqB,EAAE,SAAS,QAAW,UAAU;AAC3D,QAAM,cAA2C,CAAA;AACjD,MAAI,cAAgD;AAEpD,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;AACtB,YAAA,QAAQ,MAAM,OAAQ;AAE5B,UAAI,OAAO;AAEE,oBAAA,KAAK,IAAI,YAAY,KAAK,KAAK,EAAE,SAAS,QAAW,UAAU,OAAU;AAErF,YAAI,CAAC,OAAO;AACC,sBAAA,KAAK,EAAE,UAAU;AACjB,sBAAA,KAAK,EAAE,WAAW;AAAA,QAAA,WACpB,UAAU,WAAW;AACnB,sBAAA,KAAK,EAAE,UAAU;AAAA,QAAA,WACnB,UAAU,YAAY;AACpB,sBAAA,KAAK,EAAE,WAAW;AAAA,QAAA,OACxB;AACA,gBAAA,IAAI,MAAM,wBAAwB,OAAO;AAAA,QAChD;AAAA,MAAA,OACM;AACN,YAAI,CAAC,OAAO;AACX,gBAAM,UAAU;AAChB,gBAAM,WAAW;AAAA,QAAA,WACP,UAAU,WAAW;AAC/B,gBAAM,UAAU;AAAA,QAAA,WACN,UAAU,YAAY;AAChC,gBAAM,WAAW;AAAA,QAAA,OACX;AACA,gBAAA,IAAI,MAAM,wBAAwB,OAAO;AAAA,QAChD;AAAA,MACD;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;AAEtC,aAAW,SAAS,aAAa;AAChC,UAAM,EAAE,SAAAA,UAAS,UAAAC,cAAa,YAAY,KAAK;AAEzC,UAAA,mBAAmB,sBAAsBD,UAAS,KAAgC;AAClF,UAAA,oBAAoB,uBAAuBC,WAAU,KAAgC;AAE3E,oBAAA,KAAK,kBAAkB,iBAAiB;AAAA,EACzD;AAEM,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;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const assertNever = require("../assert-types/assertNever.cjs");
|
|
4
|
+
function flatClassNameList(className) {
|
|
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
|
+
assertNever.assertNever();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.flatClassNameList = flatClassNameList;
|
|
16
|
+
//# sourceMappingURL=flatClassNameList.cjs.map
|
|
@@ -0,0 +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;AAKNA,gBAAAA,YAAqB;AAAA,EACtB;AACD;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const deduplicateClassName = require("./deduplicateClassName.cjs");
|
|
4
|
+
const flatClassNameList = require("./flatClassNameList.cjs");
|
|
5
|
+
function listClassName(list) {
|
|
6
|
+
return deduplicateClassName.deduplicateClassName(flatClassNameList.flatClassNameList(list)).join(" ");
|
|
7
|
+
}
|
|
8
|
+
exports.listClassName = listClassName;
|
|
9
|
+
//# sourceMappingURL=listClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listClassName.cjs","sources":["../../../src/class-name/listClassName.ts"],"sourcesContent":["import { deduplicateClassName } from './deduplicateClassName'\nimport { flatClassNameList } from './flatClassNameList'\nimport { NestedClassName } from './types'\n\n/**\n * Combines a list of class names into a single string, even nested\n *\n * @param list - List of class names\n * @returns Combined class names as string\n */\nexport function listClassName(list: NestedClassName) {\n\treturn deduplicateClassName(flatClassNameList(list)).join(' ')\n}\n"],"names":["deduplicateClassName","flatClassNameList"],"mappings":";;;;AAUO,SAAS,cAAc,MAAuB;AACpD,SAAOA,qBAAAA,qBAAqBC,kBAAAA,kBAAkB,IAAI,CAAC,EAAE,KAAK,GAAG;AAC9D;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const kebabCase = require("../string-utilities/kebabCase.cjs");
|
|
4
|
+
function stateClassName(state = null, { glue = "-", removeFalsy = true } = {}) {
|
|
5
|
+
const entries = Object.entries(state ?? []).map(
|
|
6
|
+
([className, value]) => value || value === 0 || !removeFalsy ? value === true ? kebabCase.toKebabCase(className) : `${kebabCase.toKebabCase(className)}${glue}${value}` : ""
|
|
7
|
+
).filter(Boolean);
|
|
8
|
+
return entries;
|
|
9
|
+
}
|
|
10
|
+
exports.stateClassName = stateClassName;
|
|
11
|
+
//# sourceMappingURL=stateClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateClassName.cjs","sources":["../../../src/class-name/stateClassName.ts"],"sourcesContent":["import { toKebabCase } from '../string-utilities'\nimport { ClassNameStateMap } from './types'\n\nexport interface StateClassNameOptions {\n\tglue?: string;\n\tremoveFalsy?: boolean;\n}\n\n/**\n * Combines a state map of class names into a single string\n *\n * @example\n * stateClassName({ foo: true, bar: false, baz: 1 }) // => 'foo baz-1'\n *\n * @param state - State map object with class names as keys and literals as values.\n * @param options - Options object\n * @param options.glue - Glue to use between the class name and the value, default is '-'. Set to '' to disable.\n * @param options.removeFalsy - Whether to remove falsy class names, default is true.\n * @returns Combined class names as string\n */\nexport function stateClassName(\n\tstate: ClassNameStateMap | null = null,\n\t{ glue = '-', removeFalsy = true }: StateClassNameOptions = {},\n): string[] {\n\tconst entries = Object.entries(state ?? []).map(\n\t\t([className, value]) => value || value === 0 || !removeFalsy\n\t\t\t? (value === true ? toKebabCase(className) : `${toKebabCase(className)}${glue}${value}`)\n\t\t\t: '',\n\t).filter(Boolean)\n\n\treturn entries\n}\n"],"names":["toKebabCase"],"mappings":";;;AAoBgB,SAAA,eACf,QAAkC,MAClC,EAAE,OAAO,KAAK,cAAc,KAAgC,IAAA,IACjD;AACX,QAAM,UAAU,OAAO,QAAQ,SAAS,CAAA,CAAE,EAAE;AAAA,IAC3C,CAAC,CAAC,WAAW,KAAK,MAAM,SAAS,UAAU,KAAK,CAAC,cAC7C,UAAU,OAAOA,UAAA,YAAY,SAAS,IAAI,GAAGA,UAAAA,YAAY,SAAS,IAAI,OAAO,UAC9E;AAAA,EAAA,EACF,OAAO,OAAO;AAET,SAAA;AACR;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function contentThemeClassName(theme, state) {
|
|
4
|
+
return theme ? `theme-${theme}-content${state ?? ""}` : void 0;
|
|
5
|
+
}
|
|
6
|
+
function controlsThemeClassName(theme, state) {
|
|
7
|
+
return theme ? `theme-${theme}-controls${state ?? ""}` : void 0;
|
|
8
|
+
}
|
|
9
|
+
function themeClassName(theme, state) {
|
|
10
|
+
return [
|
|
11
|
+
contentThemeClassName(theme, state),
|
|
12
|
+
controlsThemeClassName(theme, state)
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
exports.contentThemeClassName = contentThemeClassName;
|
|
16
|
+
exports.controlsThemeClassName = controlsThemeClassName;
|
|
17
|
+
exports.themeClassName = themeClassName;
|
|
18
|
+
//# sourceMappingURL=themeClassName.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeClassName.cjs","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { isDefined } from '../assert-types'\nimport { deprecate } from '../deprecate'\nimport { ThemeContentClassName, ThemeControlsClassName } from './types'\n\n/**\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 contentTheme - 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<\n\tContentTheme extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: ContentTheme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn theme ? `theme-${theme}-content${state ?? ''}` as ThemeContentClassName<ContentTheme, State> : 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<\n\tControlsTheme extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: ControlsTheme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn theme ? `theme-${theme}-controls${state ?? ''}` as ThemeControlsClassName<ControlsTheme, State> : 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 extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: Theme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn [\n\t\tcontentThemeClassName(theme, state),\n\t\tcontrolsThemeClassName(theme, state),\n\t] as const\n}\n"],"names":[],"mappings":";;AA8BgB,SAAA,sBAIf,OACA,OACC;AAGD,SAAO,QAAQ,SAAS,gBAAgB,SAAS,OAAqD;AACvG;AA2BgB,SAAA,uBAIf,OACA,OACC;AAGD,SAAO,QAAQ,SAAS,iBAAiB,SAAS,OAAuD;AAC1G;AA0BgB,SAAA,eAIf,OACA,OACC;AAGM,SAAA;AAAA,IACN,sBAAsB,OAAO,KAAK;AAAA,IAClC,uBAAuB,OAAO,KAAK;AAAA,EAAA;AAErC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeClassName.js","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { ThemeContentClassName, ThemeControlsClassName } from './types'\n\n/**\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 contentTheme - Theme name basis for content\n * @
|
|
1
|
+
{"version":3,"file":"themeClassName.js","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["import { KebabCase } from 'type-fest'\nimport { isDefined } from '../assert-types'\nimport { deprecate } from '../deprecate'\nimport { ThemeContentClassName, ThemeControlsClassName } from './types'\n\n/**\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 contentTheme - 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<\n\tContentTheme extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: ContentTheme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn theme ? `theme-${theme}-content${state ?? ''}` as ThemeContentClassName<ContentTheme, State> : 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<\n\tControlsTheme extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: ControlsTheme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn theme ? `theme-${theme}-controls${state ?? ''}` as ThemeControlsClassName<ControlsTheme, State> : 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 extends KebabCase<string> = KebabCase<string>,\n\tState extends `:${KebabCase<string>}` | null | undefined = undefined,\n>(\n\ttheme: Theme | null | undefined,\n\tstate?: State | null | undefined,\n) {\n\tdeprecate('1.3.0', isDefined(state), '`state` argument', null)\n\n\treturn [\n\t\tcontentThemeClassName(theme, state),\n\t\tcontrolsThemeClassName(theme, state),\n\t] as const\n}\n"],"names":[],"mappings":"AA8BgB,SAAA,sBAIf,OACA,OACC;AAGD,SAAO,QAAQ,SAAS,gBAAgB,SAAS,OAAqD;AACvG;AA2BgB,SAAA,uBAIf,OACA,OACC;AAGD,SAAO,QAAQ,SAAS,iBAAiB,SAAS,OAAuD;AAC1G;AA0BgB,SAAA,eAIf,OACA,OACC;AAGM,SAAA;AAAA,IACN,sBAAsB,OAAO,KAAK;AAAA,IAClC,uBAAuB,OAAO,KAAK;AAAA,EAAA;AAErC;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function px(value) {
|
|
4
|
+
return typeof value === "number" && !(isNaN(value) || value === Infinity || value === -Infinity) ? value + "px" : "";
|
|
5
|
+
}
|
|
6
|
+
exports.px = px;
|
|
7
|
+
//# sourceMappingURL=px.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"px.cjs","sources":["../../../src/css-utilities/px.ts"],"sourcesContent":["export function px<V extends number>(value: V): `${V}px`;\nexport function px<V extends false>(value: V): '';\nexport function px<V extends null>(value: V): '';\nexport function px<V extends undefined>(value: V): '';\n// NOTE: Next overload fixes:\n// The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\nexport function px<V extends number | false | null | undefined>(value?: V): string;\n/**\n * Converts a value to a string in the format '10px'\n *\n * @param value - The value to convert to a string.\n * @returns Returns a string in the format '10px' or '' when value is falsy.\n */\nexport function px<V extends number | false | null | undefined>(value?: V): string {\n\treturn typeof value === 'number' && !(isNaN(value) || value === Infinity || value === -Infinity) ? value + 'px' : ''\n}\n"],"names":[],"mappings":";;AAaO,SAAS,GAAgD,OAAmB;AAClF,SAAO,OAAO,UAAU,YAAY,EAAE,MAAM,KAAK,KAAK,UAAU,YAAY,UAAU,aAAa,QAAQ,OAAO;AACnH;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const dateToStringWithoutTimezone = (date, { includeTime } = {}) => {
|
|
4
|
+
const [year, month, day] = [
|
|
5
|
+
date.getFullYear(),
|
|
6
|
+
(date.getMonth() + 1).toFixed(0).padStart(2, "0"),
|
|
7
|
+
date.getDate().toFixed(0).padStart(2, "0")
|
|
8
|
+
];
|
|
9
|
+
let serialized = `${year}-${month}-${day}`;
|
|
10
|
+
if (includeTime) {
|
|
11
|
+
const [hours, minutes] = [
|
|
12
|
+
date.getHours().toFixed(0).padStart(2, "0"),
|
|
13
|
+
date.getMinutes().toFixed(0).padStart(2, "0")
|
|
14
|
+
];
|
|
15
|
+
serialized += ` ${hours}:${minutes}`;
|
|
16
|
+
}
|
|
17
|
+
return serialized;
|
|
18
|
+
};
|
|
19
|
+
exports.dateToStringWithoutTimezone = dateToStringWithoutTimezone;
|
|
20
|
+
//# sourceMappingURL=dateToStringWithoutTimezone.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateToStringWithoutTimezone.cjs","sources":["../../../src/data-utilities/dateToStringWithoutTimezone.ts"],"sourcesContent":["export const dateToStringWithoutTimezone = (date: Date, { includeTime }: { includeTime?: boolean } = {}): string => {\n\tconst [year, month, day] = [\n\t\tdate.getFullYear(),\n\t\t(date.getMonth() + 1).toFixed(0).padStart(2, '0'),\n\t\tdate.getDate().toFixed(0).padStart(2, '0'),\n\t]\n\tlet serialized = `${year}-${month}-${day}`\n\n\tif (includeTime) {\n\t\tconst [hours, minutes] = [\n\t\t\tdate.getHours().toFixed(0).padStart(2, '0'),\n\t\t\tdate.getMinutes().toFixed(0).padStart(2, '0'),\n\t\t]\n\t\tserialized += ` ${hours}:${minutes}`\n\t}\n\n\treturn serialized\n}\n"],"names":[],"mappings":";;AAAO,MAAM,8BAA8B,CAAC,MAAY,EAAE,YAAY,IAA+B,CAAA,MAAe;AACnH,QAAM,CAAC,MAAM,OAAO,GAAG,IAAI;AAAA,IAC1B,KAAK,YAAY;AAAA,KAChB,KAAK,SAAa,IAAA,GAAG,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,IAChD,KAAK,UAAU,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,EAAA;AAEtC,MAAA,aAAa,GAAG,QAAQ,SAAS;AAErC,MAAI,aAAa;AACV,UAAA,CAAC,OAAO,OAAO,IAAI;AAAA,MACxB,KAAK,WAAW,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,MAC1C,KAAK,aAAa,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,IAAA;AAE7C,kBAAc,IAAI,SAAS;AAAA,EAC5B;AAEO,SAAA;AACR;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const dateToStringWithoutTimezone = (date, { includeTime } = {}) => {
|
|
2
|
+
const [year, month, day] = [
|
|
3
|
+
date.getFullYear(),
|
|
4
|
+
(date.getMonth() + 1).toFixed(0).padStart(2, "0"),
|
|
5
|
+
date.getDate().toFixed(0).padStart(2, "0")
|
|
6
|
+
];
|
|
7
|
+
let serialized = `${year}-${month}-${day}`;
|
|
8
|
+
if (includeTime) {
|
|
9
|
+
const [hours, minutes] = [
|
|
10
|
+
date.getHours().toFixed(0).padStart(2, "0"),
|
|
11
|
+
date.getMinutes().toFixed(0).padStart(2, "0")
|
|
12
|
+
];
|
|
13
|
+
serialized += ` ${hours}:${minutes}`;
|
|
14
|
+
}
|
|
15
|
+
return serialized;
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
dateToStringWithoutTimezone
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=dateToStringWithoutTimezone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateToStringWithoutTimezone.js","sources":["../../../src/data-utilities/dateToStringWithoutTimezone.ts"],"sourcesContent":["export const dateToStringWithoutTimezone = (date: Date, { includeTime }: { includeTime?: boolean } = {}): string => {\n\tconst [year, month, day] = [\n\t\tdate.getFullYear(),\n\t\t(date.getMonth() + 1).toFixed(0).padStart(2, '0'),\n\t\tdate.getDate().toFixed(0).padStart(2, '0'),\n\t]\n\tlet serialized = `${year}-${month}-${day}`\n\n\tif (includeTime) {\n\t\tconst [hours, minutes] = [\n\t\t\tdate.getHours().toFixed(0).padStart(2, '0'),\n\t\t\tdate.getMinutes().toFixed(0).padStart(2, '0'),\n\t\t]\n\t\tserialized += ` ${hours}:${minutes}`\n\t}\n\n\treturn serialized\n}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,CAAC,MAAY,EAAE,YAAY,IAA+B,CAAA,MAAe;AACnH,QAAM,CAAC,MAAM,OAAO,GAAG,IAAI;AAAA,IAC1B,KAAK,YAAY;AAAA,KAChB,KAAK,SAAa,IAAA,GAAG,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,IAChD,KAAK,UAAU,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,EAAA;AAEtC,MAAA,aAAa,GAAG,QAAQ,SAAS;AAErC,MAAI,aAAa;AACV,UAAA,CAAC,OAAO,OAAO,IAAI;AAAA,MACxB,KAAK,WAAW,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,MAC1C,KAAK,aAAa,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,IAAA;AAE7C,kBAAc,IAAI,SAAS;AAAA,EAC5B;AAEO,SAAA;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecate.cjs","sources":["../../../src/deprecate/deprecate.ts"],"sourcesContent":["import { SemverString } from './types'\n\n/**\n * Logs a deprecation warning if the assertion is `false`.\n * @internal\n *\n * @param removal - Version when the deprecated feature will be removed\n * @param condition - Condition under which the deprecation warning will be logged\n * @param deprecated - Name of the deprecated feature\n * @param replacement - Name of the feature that replaces the deprecated feature\n *\n * @example\n * ```ts\n * const { visible } = props\n * deprecate(visible !== 'default', '1.3.0', '\"default\"', '\"hidden\"')\n * // Logs: Use of \"default\" is deprecated and might be removed in the next release. Use \"hidden\" instead.\n * ```\n */\nexport function deprecate(removal: SemverString, condition: boolean, deprecated: string, replacement: string | null): void {\n\tif (condition === true) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconst shouldThrow = Boolean(import.meta.env.VITE_CONTEMBER_ADMIN_STRICT_DEPRECATIONS)\n\n\t\t\tif (shouldThrow) {\n\t\t\t\tthrow new Error(`Support for ${deprecated} was planned to be removed in the ${removal} release.${replacement ? ` Replace it with ${replacement} instead.` : 'Remove it.'}`)\n\t\t\t} else {\n\t\t\t\tconsole.warn(`Use of ${deprecated} is deprecated and might be removed in the next release.${replacement ? ` Use ${replacement} instead.` : ' There is no replacement.'}`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAkBO,SAAS,UAAU,SAAuB,WAAoB,YAAoB,aAAkC;AAY3H;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deprecate.js","sources":["../../../src/deprecate/deprecate.ts"],"sourcesContent":["import { SemverString } from './types'\n\n/**\n * Logs a deprecation warning if the assertion is `false`.\n * @internal\n *\n * @param removal - Version when the deprecated feature will be removed\n * @param condition - Condition under which the deprecation warning will be logged\n * @param deprecated - Name of the deprecated feature\n * @param replacement - Name of the feature that replaces the deprecated feature\n *\n * @example\n * ```ts\n * const { visible } = props\n * deprecate(visible !== 'default', '1.3.0', '\"default\"', '\"hidden\"')\n * // Logs: Use of \"default\" is deprecated and might be removed in the next release. Use \"hidden\" instead.\n * ```\n */\nexport function deprecate(removal: SemverString, condition: boolean, deprecated: string, replacement: string | null): void {\n\tif (condition === true) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconst shouldThrow = Boolean(import.meta.env.VITE_CONTEMBER_ADMIN_STRICT_DEPRECATIONS)\n\n\t\t\tif (shouldThrow) {\n\t\t\t\tthrow new Error(`Support for ${deprecated} was planned to be removed in the ${removal} release.${replacement ? ` Replace it with ${replacement} instead.` : 'Remove it.'}`)\n\t\t\t} else {\n\t\t\t\tconsole.warn(`Use of ${deprecated} is deprecated and might be removed in the next release.${replacement ? ` Use ${replacement} instead.` : 'There is no replacement.'}`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAkBO,SAAS,UAAU,SAAuB,WAAoB,YAAoB,aAAkC;AAY3H;"}
|
|
1
|
+
{"version":3,"file":"deprecate.js","sources":["../../../src/deprecate/deprecate.ts"],"sourcesContent":["import { SemverString } from './types'\n\n/**\n * Logs a deprecation warning if the assertion is `false`.\n * @internal\n *\n * @param removal - Version when the deprecated feature will be removed\n * @param condition - Condition under which the deprecation warning will be logged\n * @param deprecated - Name of the deprecated feature\n * @param replacement - Name of the feature that replaces the deprecated feature\n *\n * @example\n * ```ts\n * const { visible } = props\n * deprecate(visible !== 'default', '1.3.0', '\"default\"', '\"hidden\"')\n * // Logs: Use of \"default\" is deprecated and might be removed in the next release. Use \"hidden\" instead.\n * ```\n */\nexport function deprecate(removal: SemverString, condition: boolean, deprecated: string, replacement: string | null): void {\n\tif (condition === true) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconst shouldThrow = Boolean(import.meta.env.VITE_CONTEMBER_ADMIN_STRICT_DEPRECATIONS)\n\n\t\t\tif (shouldThrow) {\n\t\t\t\tthrow new Error(`Support for ${deprecated} was planned to be removed in the ${removal} release.${replacement ? ` Replace it with ${replacement} instead.` : 'Remove it.'}`)\n\t\t\t} else {\n\t\t\t\tconsole.warn(`Use of ${deprecated} is deprecated and might be removed in the next release.${replacement ? ` Use ${replacement} instead.` : ' There is no replacement.'}`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAkBO,SAAS,UAAU,SAAuB,WAAoB,YAAoB,aAAkC;AAY3H;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function fallback(current, condition, mapped) {
|
|
4
|
+
if (condition === true) {
|
|
5
|
+
return mapped;
|
|
6
|
+
} else {
|
|
7
|
+
return current;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.fallback = fallback;
|
|
11
|
+
//# sourceMappingURL=fallback.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.cjs","sources":["../../../src/deprecate/fallback.ts"],"sourcesContent":["export function fallback<R>(current: R, condition: boolean, mapped: R): R {\n\tif (condition === true) {\n\t\treturn mapped\n\t} else {\n\t\treturn current\n\t}\n}\n"],"names":[],"mappings":";;AAAgB,SAAA,SAAY,SAAY,WAAoB,QAAc;AACzE,MAAI,cAAc,MAAM;AAChB,WAAA;AAAA,EAAA,OACD;AACC,WAAA;AAAA,EACR;AACD;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function dataAttribute(value) {
|
|
4
|
+
if (value === false || value === void 0 || value === null) {
|
|
5
|
+
return void 0;
|
|
6
|
+
} else if (value === true) {
|
|
7
|
+
return "";
|
|
8
|
+
} else {
|
|
9
|
+
return String(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.dataAttribute = dataAttribute;
|
|
13
|
+
//# sourceMappingURL=dataAttribute.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataAttribute.cjs","sources":["../../../src/dom/dataAttribute.ts"],"sourcesContent":["export function dataAttribute(value: unknown): string | true | undefined {\n\tif (value === false || value === undefined || value === null) {\n\t\treturn undefined\n\t} else if (value === true) {\n\t\t// Closest to HTML: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n\t\t// React issue: https://github.com/facebook/react/issues/24812\n\t\treturn ''\n\t} else {\n\t\treturn String(value)\n\t}\n}\n"],"names":[],"mappings":";;AAAO,SAAS,cAAc,OAA2C;AACxE,MAAI,UAAU,SAAS,UAAU,UAAa,UAAU,MAAM;AACtD,WAAA;AAAA,EAAA,WACG,UAAU,MAAM;AAGnB,WAAA;AAAA,EAAA,OACD;AACN,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function getElementDimensionsCallback(element, callback) {
|
|
4
|
+
const observer = new IntersectionObserver((entries, observer2) => {
|
|
5
|
+
if (entries.length === 1) {
|
|
6
|
+
callback(entries[0].boundingClientRect);
|
|
7
|
+
} else {
|
|
8
|
+
const entry = entries.find((entry2) => entry2.boundingClientRect.width > 0 || entry2.boundingClientRect.height > 0) || entries[0];
|
|
9
|
+
callback(entry.boundingClientRect);
|
|
10
|
+
}
|
|
11
|
+
observer2.disconnect();
|
|
12
|
+
});
|
|
13
|
+
observer.observe(element);
|
|
14
|
+
}
|
|
15
|
+
function getElementDimensions(element) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
getElementDimensionsCallback(element, resolve);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.getElementDimensions = getElementDimensions;
|
|
21
|
+
exports.getElementDimensionsCallback = getElementDimensionsCallback;
|
|
22
|
+
//# sourceMappingURL=getElementDimensions.cjs.map
|