@contember/utilities 1.2.0-alpha.1
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.js +9 -0
- package/dist/development/assert-types/AssertionError.js.map +1 -0
- package/dist/development/assert-types/Predicates.js +84 -0
- package/dist/development/assert-types/Predicates.js.map +1 -0
- package/dist/development/assert-types/assert.js +10 -0
- package/dist/development/assert-types/assert.js.map +1 -0
- package/dist/development/class-name/Internal/deduplicateClassName.js +7 -0
- package/dist/development/class-name/Internal/deduplicateClassName.js.map +1 -0
- package/dist/development/class-name/Internal/flatClassNameList.js +15 -0
- package/dist/development/class-name/Internal/flatClassNameList.js.map +1 -0
- package/dist/development/class-name/classNameFor.js +18 -0
- package/dist/development/class-name/classNameFor.js.map +1 -0
- package/dist/development/class-name/listClassName.js +9 -0
- package/dist/development/class-name/listClassName.js.map +1 -0
- package/dist/development/class-name/stateClassName.js +14 -0
- package/dist/development/class-name/stateClassName.js.map +1 -0
- package/dist/development/css-utilities/px.js +7 -0
- package/dist/development/css-utilities/px.js.map +1 -0
- package/dist/development/dom/getMatchingParentElement.js +17 -0
- package/dist/development/dom/getMatchingParentElement.js.map +1 -0
- package/dist/development/dom/getSizeFromResizeObserverEntry.js +24 -0
- package/dist/development/dom/getSizeFromResizeObserverEntry.js.map +1 -0
- package/dist/development/dom/isScrollable.js +22 -0
- package/dist/development/dom/isScrollable.js.map +1 -0
- package/dist/development/dom/parseTransformMatrix.js +29 -0
- package/dist/development/dom/parseTransformMatrix.js.map +1 -0
- package/dist/development/dom/svgSizeProps.js +15 -0
- package/dist/development/dom/svgSizeProps.js.map +1 -0
- package/dist/development/functional/pick.js +15 -0
- package/dist/development/functional/pick.js.map +1 -0
- package/dist/development/functional/setHasOneOf.js +7 -0
- package/dist/development/functional/setHasOneOf.js.map +1 -0
- package/dist/development/index.js +54 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/string-utilities/capitalize.js +7 -0
- package/dist/development/string-utilities/capitalize.js.map +1 -0
- package/dist/development/string-utilities/trimString.js +8 -0
- package/dist/development/string-utilities/trimString.js.map +1 -0
- package/dist/production/assert-types/AssertionError.js +9 -0
- package/dist/production/assert-types/AssertionError.js.map +1 -0
- package/dist/production/assert-types/Predicates.js +84 -0
- package/dist/production/assert-types/Predicates.js.map +1 -0
- package/dist/production/assert-types/assert.js +10 -0
- package/dist/production/assert-types/assert.js.map +1 -0
- package/dist/production/class-name/Internal/deduplicateClassName.js +7 -0
- package/dist/production/class-name/Internal/deduplicateClassName.js.map +1 -0
- package/dist/production/class-name/Internal/flatClassNameList.js +15 -0
- package/dist/production/class-name/Internal/flatClassNameList.js.map +1 -0
- package/dist/production/class-name/classNameFor.js +18 -0
- package/dist/production/class-name/classNameFor.js.map +1 -0
- package/dist/production/class-name/listClassName.js +9 -0
- package/dist/production/class-name/listClassName.js.map +1 -0
- package/dist/production/class-name/stateClassName.js +14 -0
- package/dist/production/class-name/stateClassName.js.map +1 -0
- package/dist/production/css-utilities/px.js +7 -0
- package/dist/production/css-utilities/px.js.map +1 -0
- package/dist/production/dom/getMatchingParentElement.js +17 -0
- package/dist/production/dom/getMatchingParentElement.js.map +1 -0
- package/dist/production/dom/getSizeFromResizeObserverEntry.js +24 -0
- package/dist/production/dom/getSizeFromResizeObserverEntry.js.map +1 -0
- package/dist/production/dom/isScrollable.js +22 -0
- package/dist/production/dom/isScrollable.js.map +1 -0
- package/dist/production/dom/parseTransformMatrix.js +29 -0
- package/dist/production/dom/parseTransformMatrix.js.map +1 -0
- package/dist/production/dom/svgSizeProps.js +15 -0
- package/dist/production/dom/svgSizeProps.js.map +1 -0
- package/dist/production/functional/pick.js +15 -0
- package/dist/production/functional/pick.js.map +1 -0
- package/dist/production/functional/setHasOneOf.js +7 -0
- package/dist/production/functional/setHasOneOf.js.map +1 -0
- package/dist/production/index.js +54 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/string-utilities/capitalize.js +7 -0
- package/dist/production/string-utilities/capitalize.js.map +1 -0
- package/dist/production/string-utilities/trimString.js +8 -0
- package/dist/production/string-utilities/trimString.js.map +1 -0
- package/dist/types/assert-types/AssertionError.d.ts +4 -0
- package/dist/types/assert-types/AssertionError.d.ts.map +1 -0
- package/dist/types/assert-types/Predicates.d.ts +21 -0
- package/dist/types/assert-types/Predicates.d.ts.map +1 -0
- package/dist/types/assert-types/assert.d.ts +2 -0
- package/dist/types/assert-types/assert.d.ts.map +1 -0
- package/dist/types/assert-types/index.d.ts +4 -0
- package/dist/types/assert-types/index.d.ts.map +1 -0
- package/dist/types/class-name/Internal/deduplicateClassName.d.ts +2 -0
- package/dist/types/class-name/Internal/deduplicateClassName.d.ts.map +1 -0
- package/dist/types/class-name/Internal/flatClassNameList.d.ts +3 -0
- package/dist/types/class-name/Internal/flatClassNameList.d.ts.map +1 -0
- package/dist/types/class-name/Types.d.ts +5 -0
- package/dist/types/class-name/Types.d.ts.map +1 -0
- package/dist/types/class-name/classNameFor.d.ts +13 -0
- package/dist/types/class-name/classNameFor.d.ts.map +1 -0
- package/dist/types/class-name/index.d.ts +5 -0
- package/dist/types/class-name/index.d.ts.map +1 -0
- package/dist/types/class-name/listClassName.d.ts +8 -0
- package/dist/types/class-name/listClassName.d.ts.map +1 -0
- package/dist/types/class-name/stateClassName.d.ts +13 -0
- package/dist/types/class-name/stateClassName.d.ts.map +1 -0
- package/dist/types/css-utilities/index.d.ts +2 -0
- package/dist/types/css-utilities/index.d.ts.map +1 -0
- package/dist/types/css-utilities/px.d.ts +6 -0
- package/dist/types/css-utilities/px.d.ts.map +1 -0
- package/dist/types/dom/getMatchingParentElement.d.ts +2 -0
- package/dist/types/dom/getMatchingParentElement.d.ts.map +1 -0
- package/dist/types/dom/getSizeFromResizeObserverEntry.d.ts +5 -0
- package/dist/types/dom/getSizeFromResizeObserverEntry.d.ts.map +1 -0
- package/dist/types/dom/index.d.ts +6 -0
- package/dist/types/dom/index.d.ts.map +1 -0
- package/dist/types/dom/isScrollable.d.ts +7 -0
- package/dist/types/dom/isScrollable.d.ts.map +1 -0
- package/dist/types/dom/parseTransformMatrix.d.ts +15 -0
- package/dist/types/dom/parseTransformMatrix.d.ts.map +1 -0
- package/dist/types/dom/svgSizeProps.d.ts +7 -0
- package/dist/types/dom/svgSizeProps.d.ts.map +1 -0
- package/dist/types/functional/index.d.ts +3 -0
- package/dist/types/functional/index.d.ts.map +1 -0
- package/dist/types/functional/pick.d.ts +2 -0
- package/dist/types/functional/pick.d.ts.map +1 -0
- package/dist/types/functional/setHasOneOf.d.ts +2 -0
- package/dist/types/functional/setHasOneOf.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/string-utilities/capitalize.d.ts +2 -0
- package/dist/types/string-utilities/capitalize.d.ts.map +1 -0
- package/dist/types/string-utilities/index.d.ts +3 -0
- package/dist/types/string-utilities/index.d.ts.map +1 -0
- package/dist/types/string-utilities/trimString.d.ts +9 -0
- package/dist/types/string-utilities/trimString.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/typescript-utilities/DeepPartial.d.ts +4 -0
- package/dist/types/typescript-utilities/DeepPartial.d.ts.map +1 -0
- package/dist/types/typescript-utilities/NonNullableRequired.d.ts +4 -0
- package/dist/types/typescript-utilities/NonNullableRequired.d.ts.map +1 -0
- package/dist/types/typescript-utilities/ObjectKeyValue.d.ts +4 -0
- package/dist/types/typescript-utilities/ObjectKeyValue.d.ts.map +1 -0
- package/dist/types/typescript-utilities/PolymorphicRefs.d.ts +37 -0
- package/dist/types/typescript-utilities/PolymorphicRefs.d.ts.map +1 -0
- package/dist/types/typescript-utilities/Try.d.ts +2 -0
- package/dist/types/typescript-utilities/Try.d.ts.map +1 -0
- package/dist/types/typescript-utilities/index.d.ts +6 -0
- package/dist/types/typescript-utilities/index.d.ts.map +1 -0
- package/package.json +43 -0
- package/src/assert-types/AssertionError.ts +5 -0
- package/src/assert-types/Predicates.ts +61 -0
- package/src/assert-types/assert.ts +14 -0
- package/src/assert-types/index.ts +3 -0
- package/src/class-name/Internal/deduplicateClassName.ts +3 -0
- package/src/class-name/Internal/flatClassNameList.ts +13 -0
- package/src/class-name/Types.ts +2 -0
- package/src/class-name/classNameFor.ts +32 -0
- package/src/class-name/index.ts +4 -0
- package/src/class-name/listClassName.ts +12 -0
- package/src/class-name/stateClassName.ts +27 -0
- package/src/css-utilities/index.ts +1 -0
- package/src/css-utilities/px.ts +16 -0
- package/src/dom/getMatchingParentElement.ts +13 -0
- package/src/dom/getSizeFromResizeObserverEntry.ts +26 -0
- package/src/dom/index.ts +5 -0
- package/src/dom/isScrollable.ts +24 -0
- package/src/dom/parseTransformMatrix.ts +35 -0
- package/src/dom/svgSizeProps.ts +23 -0
- package/src/functional/index.ts +2 -0
- package/src/functional/pick.ts +13 -0
- package/src/functional/setHasOneOf.ts +3 -0
- package/src/index.ts +7 -0
- package/src/string-utilities/capitalize.ts +3 -0
- package/src/string-utilities/index.ts +2 -0
- package/src/string-utilities/trimString.ts +12 -0
- package/src/tsconfig.json +6 -0
- package/src/typescript-utilities/DeepPartial.ts +7 -0
- package/src/typescript-utilities/NonNullableRequired.ts +1 -0
- package/src/typescript-utilities/ObjectKeyValue.ts +1 -0
- package/src/typescript-utilities/PolymorphicRefs.ts +58 -0
- package/src/typescript-utilities/Try.ts +4 -0
- package/src/typescript-utilities/index.ts +5 -0
|
@@ -0,0 +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,SAAS,KAAK,UAAU,KAAK,SAAS;AAAA,EAC1D;AACD;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 isNonEmptyString(value) {
|
|
29
|
+
return isString(value) && value.length > 0;
|
|
30
|
+
}
|
|
31
|
+
function isNonEmptyTrimmedStringFactory(trim = "trim") {
|
|
32
|
+
return function isNonEmptyString2(value) {
|
|
33
|
+
return isString(value) && value[trim]().length > 0;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory();
|
|
37
|
+
const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory("trimStart");
|
|
38
|
+
const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory("trimEnd");
|
|
39
|
+
function isNumber(value) {
|
|
40
|
+
return typeof value === "number" && value === value;
|
|
41
|
+
}
|
|
42
|
+
function isNonNegativeNumber(value) {
|
|
43
|
+
return isNumber(value) && value >= 0;
|
|
44
|
+
}
|
|
45
|
+
function isNumericString(value) {
|
|
46
|
+
return isString(value) && !isNaN(parseFloat(value));
|
|
47
|
+
}
|
|
48
|
+
function isOneOfFactory(options) {
|
|
49
|
+
return function isOneOfProduct(value) {
|
|
50
|
+
return options.includes(value);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function isHTMLElement(value) {
|
|
54
|
+
return value instanceof HTMLElement;
|
|
55
|
+
}
|
|
56
|
+
function isObject(value) {
|
|
57
|
+
return typeof value === "object" && value !== null;
|
|
58
|
+
}
|
|
59
|
+
function isPlainObject(value) {
|
|
60
|
+
return isObject(value) && value.constructor === Object;
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
isBoolean,
|
|
64
|
+
isDefined,
|
|
65
|
+
isFalse,
|
|
66
|
+
isHTMLElement,
|
|
67
|
+
isNonEmptyString,
|
|
68
|
+
isNonEmptyTrimmedEndString,
|
|
69
|
+
isNonEmptyTrimmedStartString,
|
|
70
|
+
isNonEmptyTrimmedString,
|
|
71
|
+
isNonNegativeNumber,
|
|
72
|
+
isNotNull,
|
|
73
|
+
isNotNullish,
|
|
74
|
+
isNull,
|
|
75
|
+
isNumber,
|
|
76
|
+
isNumericString,
|
|
77
|
+
isObject,
|
|
78
|
+
isOneOfFactory,
|
|
79
|
+
isPlainObject,
|
|
80
|
+
isString,
|
|
81
|
+
isTrue,
|
|
82
|
+
isUndefined
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=Predicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Predicates.js","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["export function isNull(value: unknown): value is null {\n return value === null\n}\nexport function isNotNull<T>(value: unknown): value is T {\n return value !== null\n}\nexport function isUndefined(value: unknown): value is undefined {\n return value === undefined\n}\nexport function isDefined<T>(value: unknown): value is T {\n return value !== undefined\n}\nexport function isNotNullish<T>(value: T): value is Exclude<T, null | undefined> {\n return value != null\n}\nexport function isBoolean(value: unknown): value is boolean {\n return typeof value === 'boolean'\n}\nexport function isTrue(value: unknown): value is true {\n return value === true\n}\nexport function isFalse(value: unknown): value is false {\n return value === false\n}\nexport function isString(value: unknown): value is string {\n return typeof value === 'string'\n}\nexport function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value.length > 0\n}\nfunction isNonEmptyTrimmedStringFactory(trim: 'trim' | 'trimStart' | 'trimEnd' = 'trim') {\n return function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value[trim]().length > 0\n }\n}\nexport const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory()\nexport const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory('trimStart')\nexport const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory('trimEnd')\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number' && value === value\n}\nexport function isNonNegativeNumber(value: unknown): value is number {\n return isNumber(value) && value >= 0\n}\nexport function isNumericString(value: string): value is string {\n return isString(value) && !isNaN(parseFloat(value))\n}\nexport function isOneOfFactory<U, T = any>(options: T extends Array<U> | ReadonlyArray<U> ? T : never): (value: unknown) => value is U {\n return function isOneOfProduct(value: unknown): value is U {\n return options.includes(value as U)\n }\n}\nexport function isHTMLElement(value: unknown): value is HTMLElement {\n return value instanceof HTMLElement\n}\nexport function isObject(value: unknown): value is Object {\n return typeof value === 'object' && value !== null\n}\nexport function isPlainObject<T extends Record<string, unknown>>(value: unknown): value is T {\n return isObject(value) && value.constructor === Object\n}\n"],"names":["isNonEmptyString"],"mappings":"AAAO,SAAS,OAAO,OAA+B;AACpD,SAAO,UAAU;AACnB;AACO,SAAS,UAAa,OAA4B;AACvD,SAAO,UAAU;AACnB;AACO,SAAS,YAAY,OAAoC;AAC9D,SAAO,UAAU;AACnB;AACO,SAAS,UAAa,OAA4B;AACvD,SAAO,UAAU;AACnB;AACO,SAAS,aAAgB,OAAiD;AAC/E,SAAO,SAAS;AAClB;AACO,SAAS,UAAU,OAAkC;AAC1D,SAAO,OAAO,UAAU;AAC1B;AACO,SAAS,OAAO,OAA+B;AACpD,SAAO,UAAU;AACnB;AACO,SAAS,QAAQ,OAAgC;AACtD,SAAO,UAAU;AACnB;AACO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AACO,SAAS,iBAAiB,OAAiC;AAChE,SAAO,SAAS,KAAK,KAAK,MAAM,SAAS;AAC3C;AACA,SAAS,+BAA+B,OAAyC,QAAQ;AAChF,SAAA,SAASA,kBAAiB,OAAiC;AAChE,WAAO,SAAS,KAAK,KAAK,MAAM,IAAI,IAAI,SAAS;AAAA,EAAA;AAErD;AACO,MAAM,0BAA0B,+BAA+B;AACzD,MAAA,+BAA+B,+BAA+B,WAAW;AACzE,MAAA,6BAA6B,+BAA+B,SAAS;AAC3E,SAAS,SAAS,OAAiC;AACjD,SAAA,OAAO,UAAU,YAAY,UAAU;AAChD;AACO,SAAS,oBAAoB,OAAiC;AAC5D,SAAA,SAAS,KAAK,KAAK,SAAS;AACrC;AACO,SAAS,gBAAgB,OAAgC;AAC9D,SAAO,SAAS,KAAK,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC;AACpD;AACO,SAAS,eAA2B,SAA4F;AAC9H,SAAA,SAAS,eAAe,OAA4B;AAClD,WAAA,QAAQ,SAAS,KAAU;AAAA,EAAA;AAEtC;AACO,SAAS,cAAc,OAAsC;AAClE,SAAO,iBAAiB;AAC1B;AACO,SAAS,SAAS,OAAiC;AACjD,SAAA,OAAO,UAAU,YAAY,UAAU;AAChD;AACO,SAAS,cAAiD,OAA4B;AAC3F,SAAO,SAAS,KAAK,KAAK,MAAM,gBAAgB;AAClD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","sources":["../../../src/assert-types/assert.ts"],"sourcesContent":["import { AssertionError } from './AssertionError'\n\nexport function assert<\n\tIn,\n\tOut extends In\n>(\n\tthat: string | undefined = undefined,\n\tvalue: In,\n\tpredicate: (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":[],"mappings":";AAEO,SAAS,OAIf,OAA2B,QAC3B,OACA,WACuB;AACnB,MAAA,CAAC,UAAU,KAAK,GAAG;AAChB,UAAA,IAAI,eAAe,OAAO,IAAI;AAAA,EACrC;AACD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicateClassName.js","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"sourcesContent":["export function deduplicateClassName(classNameArray: string[]): string[] {\n\treturn [...new Set(classNameArray)]\n}\n"],"names":[],"mappings":"AAAO,SAAS,qBAAqB,gBAAoC;AACxE,SAAO,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC;AACnC;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function flatClassNameList(className) {
|
|
2
|
+
if (className == null) {
|
|
3
|
+
return [];
|
|
4
|
+
} else if (typeof className === "string") {
|
|
5
|
+
return className.split(" ").filter(Boolean);
|
|
6
|
+
} else if (Array.isArray(className)) {
|
|
7
|
+
return className.map(flatClassNameList).flat(1);
|
|
8
|
+
} else {
|
|
9
|
+
throw new Error(`Unexpected className: ${JSON.stringify(className)}`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
flatClassNameList
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=flatClassNameList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatClassNameList.js","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"sourcesContent":["import { NestedClassName } from '../Types'\n\nexport function flatClassNameList(className: NestedClassName): string[] {\n\tif (className == null) {\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.map(flatClassNameList).flat(1)\n\t} else {\n\t\tthrow new Error(`Unexpected className: ${JSON.stringify(className)}`)\n\t}\n}\n"],"names":[],"mappings":"AAEO,SAAS,kBAAkB,WAAsC;AACvE,MAAI,aAAa,MAAM;AACtB,WAAO;EAAC,WACE,OAAO,cAAc,UAAU;AACzC,WAAO,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,EAChC,WAAA,MAAM,QAAQ,SAAS,GAAG;AACpC,WAAO,UAAU,IAAI,iBAAiB,EAAE,KAAK,CAAC;AAAA,EAAA,OACxC;AACN,UAAM,IAAI,MAAM,yBAAyB,KAAK,UAAU,SAAS,GAAG;AAAA,EACrE;AACD;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
2
|
+
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
3
|
+
import { stateClassName } from "./stateClassName.js";
|
|
4
|
+
function classNameForFactory(componentClassName, className, state, glue = "-", stateGlue = "-") {
|
|
5
|
+
const classNameList = flatClassNameList(className);
|
|
6
|
+
const componentClassNameList = flatClassNameList(componentClassName);
|
|
7
|
+
return function classNameFor(suffix = null, additionalClassName = null) {
|
|
8
|
+
return deduplicateClassName((!suffix ? componentClassNameList.concat(classNameList) : suffix.match(/^\w/) ? componentClassNameList.map((componentClassName2) => `${componentClassName2}${glue}${suffix}`) : componentClassNameList.map((componentClassName2) => `${componentClassName2}${suffix}`)).concat(
|
|
9
|
+
stateClassName(state, stateGlue)
|
|
10
|
+
).concat(
|
|
11
|
+
flatClassNameList(additionalClassName)
|
|
12
|
+
)).join(" ");
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
classNameForFactory
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=classNameFor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNameFor.js","sources":["../../../src/class-name/classNameFor.ts"],"sourcesContent":["import { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { ClassNameStateMap, NestedClassName } from './Types'\nimport { stateClassName } from './stateClassName'\n\n/**\n * Creates a function that can be used to generate class names for a component\n *\n * @param componentClassName - Base class name for the component.\n * @param className - External class name passed to a component.\n * @param state - State map object similar to the one used by `stateClassName`.\n * @param glue - Glue to use between the component class name and the suffix, default is '-'. Set to '' to disable.\n * @param stateGlue - Glue to use between the state class name and the value, default is '-'. Set to '' to disable.\n * @returns Function that can be used to generate class names for a component and its sub-components.\n */\nexport function classNameForFactory(componentClassName: NestedClassName, className?: NestedClassName, state?: ClassNameStateMap, glue: string = '-', stateGlue: string = '-') {\n\tconst classNameList: string[] = flatClassNameList(className)\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName)\n\n\treturn function classNameFor(suffix: string | null | undefined = null, additionalClassName: NestedClassName = null) {\n\t\treturn deduplicateClassName((!suffix\n\t\t\t? componentClassNameList.concat(classNameList)\n\t\t\t: suffix.match(/^\\w/)\n\t\t\t\t? componentClassNameList.map(componentClassName => `${componentClassName}${glue}${suffix}`)\n\t\t\t\t: componentClassNameList.map(componentClassName => `${componentClassName}${suffix}`)\n\t\t).concat(\n\t\t\tstateClassName(state, stateGlue),\n\t\t).concat(\n\t\t\tflatClassNameList(additionalClassName),\n\t\t)).join(' ')\n\t}\n}\n"],"names":["componentClassName"],"mappings":";;;AAeO,SAAS,oBAAoB,oBAAqC,WAA6B,OAA2B,OAAe,KAAK,YAAoB,KAAK;AACvK,QAAA,gBAA0B,kBAAkB,SAAS;AACrD,QAAA,yBAAmC,kBAAkB,kBAAkB;AAE7E,SAAO,SAAS,aAAa,SAAoC,MAAM,sBAAuC,MAAM;AAC5G,WAAA,sBAAsB,CAAC,SAC3B,uBAAuB,OAAO,aAAa,IAC3C,OAAO,MAAM,KAAK,IACjB,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,OAAO,QAAQ,IACxF,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,QAAQ,GACnF;AAAA,MACD,eAAe,OAAO,SAAS;AAAA,IAAA,EAC9B;AAAA,MACD,kBAAkB,mBAAmB;AAAA,IAAA,CACrC,EAAE,KAAK,GAAG;AAAA,EAAA;AAEb;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
|
|
2
|
+
import { flatClassNameList } from "./Internal/flatClassNameList.js";
|
|
3
|
+
function listClassName(list) {
|
|
4
|
+
return deduplicateClassName(flatClassNameList(list)).join(" ");
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
listClassName
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=listClassName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listClassName.js","sources":["../../../src/class-name/listClassName.ts"],"sourcesContent":["import { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\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: (string | false | null | undefined)[]) {\n\treturn deduplicateClassName(flatClassNameList(list)).join(' ')\n}\n"],"names":[],"mappings":";;AASO,SAAS,cAAc,MAA6C;AAC1E,SAAO,qBAAqB,kBAAkB,IAAI,CAAC,EAAE,KAAK,GAAG;AAC9D;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const UPPER_CASE_REG_EXP = /([A-Z])/g;
|
|
2
|
+
function toKebabCase(value) {
|
|
3
|
+
return value.replace(UPPER_CASE_REG_EXP, "-$1").toLowerCase();
|
|
4
|
+
}
|
|
5
|
+
function stateClassName(state = null, glue = "-") {
|
|
6
|
+
const entries = Object.entries(state ?? []).map(
|
|
7
|
+
([className, value]) => value || value === 0 ? value === true ? toKebabCase(className) : `${toKebabCase(className)}${glue}${value}` : ""
|
|
8
|
+
).filter(Boolean);
|
|
9
|
+
return entries;
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
stateClassName
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=stateClassName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateClassName.js","sources":["../../../src/class-name/stateClassName.ts"],"sourcesContent":["import { ClassNameStateMap } from './Types'\n\nconst UPPER_CASE_REG_EXP = /([A-Z])/g\n\nfunction toKebabCase(value: string) {\n\treturn value.replace(UPPER_CASE_REG_EXP, '-$1').toLowerCase()\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 glue - Glue to use between the class name and the value, default is '-'. Set to '' to disable.\n * @returns Combined class names as string\n */\nexport function stateClassName(state: ClassNameStateMap | null = null, glue = '-'): string[] {\n\tconst entries = Object.entries(state ?? []).map(\n\t\t([className, value]) => value || value === 0\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":[],"mappings":"AAEA,MAAM,qBAAqB;AAE3B,SAAS,YAAY,OAAe;AACnC,SAAO,MAAM,QAAQ,oBAAoB,KAAK,EAAE,YAAY;AAC7D;AAYO,SAAS,eAAe,QAAkC,MAAM,OAAO,KAAe;AAC5F,QAAM,UAAU,OAAO,QAAQ,SAAS,CAAA,CAAE,EAAE;AAAA,IAC3C,CAAC,CAAC,WAAW,KAAK,MAAM,SAAS,UAAU,IACvC,UAAU,OAAO,YAAY,SAAS,IAAI,GAAG,YAAY,SAAS,IAAI,OAAO,UAC9E;AAAA,EAAA,EACF,OAAO,OAAO;AAET,SAAA;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"px.js","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 + 'px' : ''\n}\n"],"names":[],"mappings":"AAaO,SAAS,GAAgD,OAAmB;AAC3E,SAAA,OAAO,UAAU,YAAY,CAAC,MAAM,KAAK,IAAI,QAAQ,OAAO;AACpE;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function getMatchingParentElement(element, predicate) {
|
|
2
|
+
if (!element || !element.parentElement) {
|
|
3
|
+
if (document.scrollingElement instanceof HTMLElement) {
|
|
4
|
+
return document.scrollingElement;
|
|
5
|
+
} else {
|
|
6
|
+
return document.body;
|
|
7
|
+
}
|
|
8
|
+
} else if (predicate(element.parentElement)) {
|
|
9
|
+
return element.parentElement;
|
|
10
|
+
} else {
|
|
11
|
+
return getMatchingParentElement(element.parentElement, predicate);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
getMatchingParentElement
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=getMatchingParentElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMatchingParentElement.js","sources":["../../../src/dom/getMatchingParentElement.ts"],"sourcesContent":["export function getMatchingParentElement(element: HTMLElement | null, predicate: (element: HTMLElement | null) => boolean | Promise<boolean>): HTMLElement {\n if (!element || !element.parentElement) {\n if (document.scrollingElement instanceof HTMLElement) {\n return document.scrollingElement\n } else {\n return document.body\n }\n } else if (predicate(element.parentElement)) {\n return element.parentElement\n } else {\n return getMatchingParentElement(element.parentElement, predicate)\n }\n}\n"],"names":[],"mappings":"AAAgB,SAAA,yBAAyB,SAA6B,WAAqF;AACzJ,MAAI,CAAC,WAAW,CAAC,QAAQ,eAAe;AAClC,QAAA,SAAS,4BAA4B,aAAa;AACpD,aAAO,SAAS;AAAA,IAAA,OACX;AACL,aAAO,SAAS;AAAA,IAClB;AAAA,EACS,WAAA,UAAU,QAAQ,aAAa,GAAG;AAC3C,WAAO,QAAQ;AAAA,EAAA,OACV;AACE,WAAA,yBAAyB,QAAQ,eAAe,SAAS;AAAA,EAClE;AACF;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function getSizeFromResizeObserverEntryFactory(box) {
|
|
2
|
+
return function getSizeFromResizeObserverEntry(entry) {
|
|
3
|
+
const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;
|
|
4
|
+
if (boxSize) {
|
|
5
|
+
const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];
|
|
6
|
+
return formatBoxSize.reduce(
|
|
7
|
+
(previous, { inlineSize, blockSize }) => ({
|
|
8
|
+
width: previous.width + inlineSize,
|
|
9
|
+
height: previous.height + blockSize
|
|
10
|
+
}),
|
|
11
|
+
{ height: 0, width: 0 }
|
|
12
|
+
);
|
|
13
|
+
} else {
|
|
14
|
+
return {
|
|
15
|
+
width: entry.contentRect.width,
|
|
16
|
+
height: entry.contentRect.height
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
getSizeFromResizeObserverEntryFactory
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=getSizeFromResizeObserverEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSizeFromResizeObserverEntry.js","sources":["../../../src/dom/getSizeFromResizeObserverEntry.ts"],"sourcesContent":["export function getSizeFromResizeObserverEntryFactory(box: ResizeObserverOptions['box']) {\n\treturn function getSizeFromResizeObserverEntry(entry: ResizeObserverEntry): { height: number, width: number } {\n\t\tconst boxSize = box === 'border-box'\n\t\t\t? entry.borderBoxSize\n\t\t\t: box === 'content-box'\n\t\t\t\t? entry.contentBoxSize\n\t\t\t\t: entry.devicePixelContentBoxSize\n\n\t\tif (boxSize) {\n\t\t\tconst formatBoxSize: ResizeObserverSize[] = Array.isArray(boxSize) ? boxSize : [boxSize]\n\n\t\t\treturn formatBoxSize.reduce(\n\t\t\t\t(previous, { inlineSize, blockSize }) => ({\n\t\t\t\t\twidth: previous.width + inlineSize,\n\t\t\t\t\theight: previous.height + blockSize,\n\t\t\t\t}),\n\t\t\t\t{ height: 0, width: 0 },\n\t\t\t)\n\t\t} else {\n\t\t\treturn {\n\t\t\t\twidth: entry.contentRect.width,\n\t\t\t\theight: entry.contentRect.height,\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAAO,SAAS,sCAAsC,KAAmC;AACjF,SAAA,SAAS,+BAA+B,OAA+D;AACvG,UAAA,UAAU,QAAQ,eACrB,MAAM,gBACN,QAAQ,gBACP,MAAM,iBACN,MAAM;AAEV,QAAI,SAAS;AACZ,YAAM,gBAAsC,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAEvF,aAAO,cAAc;AAAA,QACpB,CAAC,UAAU,EAAE,YAAY,iBAAiB;AAAA,UACzC,OAAO,SAAS,QAAQ;AAAA,UACxB,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,QAE3B,EAAE,QAAQ,GAAG,OAAO,EAAE;AAAA,MAAA;AAAA,IACvB,OACM;AACC,aAAA;AAAA,QACN,OAAO,MAAM,YAAY;AAAA,QACzB,QAAQ,MAAM,YAAY;AAAA,MAAA;AAAA,IAE5B;AAAA,EAAA;AAEF;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function isScrollable(element) {
|
|
2
|
+
if (element === document.scrollingElement) {
|
|
3
|
+
return true;
|
|
4
|
+
} else if (element instanceof HTMLElement) {
|
|
5
|
+
const contentOverflows = element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
|
|
6
|
+
if (contentOverflows) {
|
|
7
|
+
if (getComputedStyle(element).overflow === "hidden") {
|
|
8
|
+
return false;
|
|
9
|
+
} else {
|
|
10
|
+
return contentOverflows;
|
|
11
|
+
}
|
|
12
|
+
} else {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
isScrollable
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=isScrollable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isScrollable.js","sources":["../../../src/dom/isScrollable.ts"],"sourcesContent":["/**\n * Checks if an element is scrollable\n * @param element - Element to check\n * @returns Boolean indicating if the element is scrollable\n */\nexport function isScrollable(element: HTMLElement | null) {\n\tif (element === document.scrollingElement) {\n\t\treturn true\n\t} else if (element instanceof HTMLElement) {\n\t\tconst contentOverflows = element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth\n\n\t\tif (contentOverflows) {\n\t\t\tif ((getComputedStyle(element)).overflow === 'hidden') {\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\treturn contentOverflows\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\treturn false\n\t}\n}\n"],"names":[],"mappings":"AAKO,SAAS,aAAa,SAA6B;AACrD,MAAA,YAAY,SAAS,kBAAkB;AACnC,WAAA;AAAA,EAAA,WACG,mBAAmB,aAAa;AAC1C,UAAM,mBAAmB,QAAQ,eAAe,QAAQ,gBAAgB,QAAQ,cAAc,QAAQ;AAEtG,QAAI,kBAAkB;AACrB,UAAK,iBAAiB,OAAO,EAAG,aAAa,UAAU;AAC/C,eAAA;AAAA,MAAA,OACD;AACC,eAAA;AAAA,MACR;AAAA,IAAA,OACM;AACC,aAAA;AAAA,IACR;AAAA,EAAA,OACM;AACC,WAAA;AAAA,EACR;AACD;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { assert } from "../assert-types/assert.js";
|
|
2
|
+
import { isNumber } from "../assert-types/Predicates.js";
|
|
3
|
+
const MATRIX_REG_EXP = /^matrix\((.+)\)/;
|
|
4
|
+
function isTransformMatrixTuple(value) {
|
|
5
|
+
if (Array.isArray(value) && value.length === 6 && value.filter(isNumber).length === 6) {
|
|
6
|
+
return true;
|
|
7
|
+
} else {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function parseTransformMatrix(transform = "") {
|
|
12
|
+
let matches = null;
|
|
13
|
+
if (matches = transform.match(MATRIX_REG_EXP)) {
|
|
14
|
+
const vector = matches[1].split(",").map((value) => parseFloat(value));
|
|
15
|
+
assert("transform matrix is tuple of six numbers", vector, isTransformMatrixTuple);
|
|
16
|
+
return {
|
|
17
|
+
scaleX: vector[0],
|
|
18
|
+
skewY: vector[1],
|
|
19
|
+
skewX: vector[2],
|
|
20
|
+
scaleY: vector[3],
|
|
21
|
+
translateX: vector[4],
|
|
22
|
+
translateY: vector[5]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
parseTransformMatrix
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=parseTransformMatrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseTransformMatrix.js","sources":["../../../src/dom/parseTransformMatrix.ts"],"sourcesContent":["import { assert, isNumber } from '../assert-types'\n\nconst MATRIX_REG_EXP = /^matrix\\((.+)\\)/\n\nfunction isTransformMatrixTuple(value: unknown): value is [number, number, number, number, number, number] {\n\tif (Array.isArray(value) && value.length === 6 && value.filter(isNumber).length === 6) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n}\n\n/**\n * Parses a CSS transform matrix string into an object.\n *\n * @param transform - CSS transform matrix string.\n * @returns Object with the transform matrix values or undefined.\n */\nexport function parseTransformMatrix(transform = '') {\n\tlet matches: RegExpMatchArray | null = null\n\n\tif (matches = transform.match(MATRIX_REG_EXP)) {\n\t\tconst vector = matches[1].split(',').map(value => parseFloat(value))\n\t\tassert('transform matrix is tuple of six numbers', vector, isTransformMatrixTuple)\n\n\t\treturn {\n\t\t\tscaleX: vector[0],\n\t\t\tskewY: vector[1],\n\t\t\tskewX: vector[2],\n\t\t\tscaleY: vector[3],\n\t\t\ttranslateX: vector[4],\n\t\t\ttranslateY: vector[5],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAEA,MAAM,iBAAiB;AAEvB,SAAS,uBAAuB,OAA2E;AAC1G,MAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,KAAK,MAAM,OAAO,QAAQ,EAAE,WAAW,GAAG;AAC/E,WAAA;AAAA,EAAA,OACD;AACC,WAAA;AAAA,EACR;AACD;AAQgB,SAAA,qBAAqB,YAAY,IAAI;AACpD,MAAI,UAAmC;AAEvC,MAAI,UAAU,UAAU,MAAM,cAAc,GAAG;AACxC,UAAA,SAAS,QAAQ,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,CAAA,UAAS,WAAW,KAAK,CAAC;AAC5D,WAAA,4CAA4C,QAAQ,sBAAsB;AAE1E,WAAA;AAAA,MACN,QAAQ,OAAO,CAAC;AAAA,MAChB,OAAO,OAAO,CAAC;AAAA,MACf,OAAO,OAAO,CAAC;AAAA,MACf,QAAQ,OAAO,CAAC;AAAA,MAChB,YAAY,OAAO,CAAC;AAAA,MACpB,YAAY,OAAO,CAAC;AAAA,IAAA;AAAA,EAEtB;AACD;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function svgSizeProps(width, height, crop = 0) {
|
|
2
|
+
const viewBoxWidth = width - crop * 2;
|
|
3
|
+
const viewBoxHeight = (height ?? width) - crop * 2;
|
|
4
|
+
const viewBoxX = crop;
|
|
5
|
+
const viewBoxY = crop;
|
|
6
|
+
return {
|
|
7
|
+
width: viewBoxWidth,
|
|
8
|
+
height: viewBoxHeight,
|
|
9
|
+
viewBox: `${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}`
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
svgSizeProps
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=svgSizeProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svgSizeProps.js","sources":["../../../src/dom/svgSizeProps.ts"],"sourcesContent":["import { SVGProps } from 'react'\n\nexport interface SvgSizeProps {\n\twidth: number;\n\theight: number;\n\tviewBox: string;\n}\n\nexport function svgSizeProps(\n\twidth: number,\n\theight?: number,\n\tcrop: number = 0,\n): SvgSizeProps {\n\tconst viewBoxWidth = width - crop * 2\n\tconst viewBoxHeight = (height ?? width) - crop * 2\n\tconst viewBoxX = crop\n\tconst viewBoxY = crop\n\treturn {\n\t\twidth: viewBoxWidth,\n\t\theight: viewBoxHeight,\n\t\tviewBox: `${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}`,\n\t}\n}\n"],"names":[],"mappings":"AAQO,SAAS,aACf,OACA,QACA,OAAe,GACA;AACT,QAAA,eAAe,QAAQ,OAAO;AAC9B,QAAA,iBAAiB,UAAU,SAAS,OAAO;AACjD,QAAM,WAAW;AACjB,QAAM,WAAW;AACV,SAAA;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS,GAAG,YAAY,YAAY,gBAAgB;AAAA,EAAA;AAEtD;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function pick(object, properties) {
|
|
2
|
+
const next = {};
|
|
3
|
+
for (let key of properties) {
|
|
4
|
+
if (key in object) {
|
|
5
|
+
next[key] = object[key];
|
|
6
|
+
} else {
|
|
7
|
+
throw new Error(`Key "${String(key)}" does not exist in object ${JSON.stringify(object)}`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return next;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
pick
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=pick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick.js","sources":["../../../src/functional/pick.ts"],"sourcesContent":["export function pick<T extends Object, K extends keyof T>(object: T, properties: K[]): Pick<T, K> {\n\tconst next: Partial<Pick<T, K>> = {}\n\n\tfor (let key of properties) {\n\t\tif (key in object) {\n\t\t\tnext[key] = object[key]\n\t\t} else {\n\t\t\tthrow new Error(`Key \"${String(key)}\" does not exist in object ${JSON.stringify(object)}`)\n\t\t}\n\t}\n\n\treturn next as Pick<T, K>\n}\n"],"names":[],"mappings":"AAAgB,SAAA,KAA0C,QAAW,YAA6B;AACjG,QAAM,OAA4B,CAAA;AAElC,WAAS,OAAO,YAAY;AAC3B,QAAI,OAAO,QAAQ;AACb,WAAA,GAAG,IAAI,OAAO,GAAG;AAAA,IAAA,OAChB;AACA,YAAA,IAAI,MAAM,QAAQ,OAAO,GAAG,+BAA+B,KAAK,UAAU,MAAM,GAAG;AAAA,IAC1F;AAAA,EACD;AAEO,SAAA;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setHasOneOf.js","sources":["../../../src/functional/setHasOneOf.ts"],"sourcesContent":["export function setHasOneOf<T>(set: Set<T>, values: T[]): boolean {\n return values.some(value => set.has(value))\n}\n"],"names":[],"mappings":"AAAgB,SAAA,YAAe,KAAa,QAAsB;AAChE,SAAO,OAAO,KAAK,CAAA,UAAS,IAAI,IAAI,KAAK,CAAC;AAC5C;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AssertionError } from "./assert-types/AssertionError.js";
|
|
2
|
+
import { isBoolean, isDefined, isFalse, isHTMLElement, isNonEmptyString, isNonEmptyTrimmedEndString, isNonEmptyTrimmedStartString, isNonEmptyTrimmedString, isNonNegativeNumber, isNotNull, isNotNullish, isNull, isNumber, isNumericString, isObject, isOneOfFactory, isPlainObject, isString, isTrue, isUndefined } from "./assert-types/Predicates.js";
|
|
3
|
+
import { assert } from "./assert-types/assert.js";
|
|
4
|
+
import { classNameForFactory } from "./class-name/classNameFor.js";
|
|
5
|
+
import { listClassName } from "./class-name/listClassName.js";
|
|
6
|
+
import { stateClassName } from "./class-name/stateClassName.js";
|
|
7
|
+
import { px } from "./css-utilities/px.js";
|
|
8
|
+
import { getMatchingParentElement } from "./dom/getMatchingParentElement.js";
|
|
9
|
+
import { getSizeFromResizeObserverEntryFactory } from "./dom/getSizeFromResizeObserverEntry.js";
|
|
10
|
+
import { isScrollable } from "./dom/isScrollable.js";
|
|
11
|
+
import { parseTransformMatrix } from "./dom/parseTransformMatrix.js";
|
|
12
|
+
import { svgSizeProps } from "./dom/svgSizeProps.js";
|
|
13
|
+
import { pick } from "./functional/pick.js";
|
|
14
|
+
import { setHasOneOf } from "./functional/setHasOneOf.js";
|
|
15
|
+
import { capitalize } from "./string-utilities/capitalize.js";
|
|
16
|
+
import { trimString } from "./string-utilities/trimString.js";
|
|
17
|
+
export {
|
|
18
|
+
AssertionError,
|
|
19
|
+
assert,
|
|
20
|
+
capitalize,
|
|
21
|
+
classNameForFactory,
|
|
22
|
+
getMatchingParentElement,
|
|
23
|
+
getSizeFromResizeObserverEntryFactory,
|
|
24
|
+
isBoolean,
|
|
25
|
+
isDefined,
|
|
26
|
+
isFalse,
|
|
27
|
+
isHTMLElement,
|
|
28
|
+
isNonEmptyString,
|
|
29
|
+
isNonEmptyTrimmedEndString,
|
|
30
|
+
isNonEmptyTrimmedStartString,
|
|
31
|
+
isNonEmptyTrimmedString,
|
|
32
|
+
isNonNegativeNumber,
|
|
33
|
+
isNotNull,
|
|
34
|
+
isNotNullish,
|
|
35
|
+
isNull,
|
|
36
|
+
isNumber,
|
|
37
|
+
isNumericString,
|
|
38
|
+
isObject,
|
|
39
|
+
isOneOfFactory,
|
|
40
|
+
isPlainObject,
|
|
41
|
+
isScrollable,
|
|
42
|
+
isString,
|
|
43
|
+
isTrue,
|
|
44
|
+
isUndefined,
|
|
45
|
+
listClassName,
|
|
46
|
+
parseTransformMatrix,
|
|
47
|
+
pick,
|
|
48
|
+
px,
|
|
49
|
+
setHasOneOf,
|
|
50
|
+
stateClassName,
|
|
51
|
+
svgSizeProps,
|
|
52
|
+
trimString
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalize.js","sources":["../../../src/string-utilities/capitalize.ts"],"sourcesContent":["export function capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,KAAa;AAC/B,SAAA,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAClD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimString.js","sources":["../../../src/string-utilities/trimString.ts"],"sourcesContent":["/**\n * Trims the provided string of any characters in the provided set.\n *\n * @param value - The string to trim.\n * @param characters - The characters to remove.\n * @returns\tThe trimmed string.\n */\nexport function trimString(value: string, characters: string) {\n\tconst regExp = new RegExp(`^[${characters}]*|[${characters}]*$`, 'g')\n\n\treturn value.replace(regExp, '')\n}\n"],"names":[],"mappings":"AAOgB,SAAA,WAAW,OAAe,YAAoB;AAC7D,QAAM,SAAS,IAAI,OAAO,KAAK,iBAAiB,iBAAiB,GAAG;AAE7D,SAAA,MAAM,QAAQ,QAAQ,EAAE;AAChC;"}
|
|
@@ -0,0 +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,SAAS,KAAK,UAAU,KAAK,SAAS;AAAA,EAC1D;AACD;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 isNonEmptyString(value) {
|
|
29
|
+
return isString(value) && value.length > 0;
|
|
30
|
+
}
|
|
31
|
+
function isNonEmptyTrimmedStringFactory(trim = "trim") {
|
|
32
|
+
return function isNonEmptyString2(value) {
|
|
33
|
+
return isString(value) && value[trim]().length > 0;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory();
|
|
37
|
+
const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory("trimStart");
|
|
38
|
+
const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory("trimEnd");
|
|
39
|
+
function isNumber(value) {
|
|
40
|
+
return typeof value === "number" && value === value;
|
|
41
|
+
}
|
|
42
|
+
function isNonNegativeNumber(value) {
|
|
43
|
+
return isNumber(value) && value >= 0;
|
|
44
|
+
}
|
|
45
|
+
function isNumericString(value) {
|
|
46
|
+
return isString(value) && !isNaN(parseFloat(value));
|
|
47
|
+
}
|
|
48
|
+
function isOneOfFactory(options) {
|
|
49
|
+
return function isOneOfProduct(value) {
|
|
50
|
+
return options.includes(value);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function isHTMLElement(value) {
|
|
54
|
+
return value instanceof HTMLElement;
|
|
55
|
+
}
|
|
56
|
+
function isObject(value) {
|
|
57
|
+
return typeof value === "object" && value !== null;
|
|
58
|
+
}
|
|
59
|
+
function isPlainObject(value) {
|
|
60
|
+
return isObject(value) && value.constructor === Object;
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
isBoolean,
|
|
64
|
+
isDefined,
|
|
65
|
+
isFalse,
|
|
66
|
+
isHTMLElement,
|
|
67
|
+
isNonEmptyString,
|
|
68
|
+
isNonEmptyTrimmedEndString,
|
|
69
|
+
isNonEmptyTrimmedStartString,
|
|
70
|
+
isNonEmptyTrimmedString,
|
|
71
|
+
isNonNegativeNumber,
|
|
72
|
+
isNotNull,
|
|
73
|
+
isNotNullish,
|
|
74
|
+
isNull,
|
|
75
|
+
isNumber,
|
|
76
|
+
isNumericString,
|
|
77
|
+
isObject,
|
|
78
|
+
isOneOfFactory,
|
|
79
|
+
isPlainObject,
|
|
80
|
+
isString,
|
|
81
|
+
isTrue,
|
|
82
|
+
isUndefined
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=Predicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Predicates.js","sources":["../../../src/assert-types/Predicates.ts"],"sourcesContent":["export function isNull(value: unknown): value is null {\n return value === null\n}\nexport function isNotNull<T>(value: unknown): value is T {\n return value !== null\n}\nexport function isUndefined(value: unknown): value is undefined {\n return value === undefined\n}\nexport function isDefined<T>(value: unknown): value is T {\n return value !== undefined\n}\nexport function isNotNullish<T>(value: T): value is Exclude<T, null | undefined> {\n return value != null\n}\nexport function isBoolean(value: unknown): value is boolean {\n return typeof value === 'boolean'\n}\nexport function isTrue(value: unknown): value is true {\n return value === true\n}\nexport function isFalse(value: unknown): value is false {\n return value === false\n}\nexport function isString(value: unknown): value is string {\n return typeof value === 'string'\n}\nexport function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value.length > 0\n}\nfunction isNonEmptyTrimmedStringFactory(trim: 'trim' | 'trimStart' | 'trimEnd' = 'trim') {\n return function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value[trim]().length > 0\n }\n}\nexport const isNonEmptyTrimmedString = isNonEmptyTrimmedStringFactory()\nexport const isNonEmptyTrimmedStartString = isNonEmptyTrimmedStringFactory('trimStart')\nexport const isNonEmptyTrimmedEndString = isNonEmptyTrimmedStringFactory('trimEnd')\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number' && value === value\n}\nexport function isNonNegativeNumber(value: unknown): value is number {\n return isNumber(value) && value >= 0\n}\nexport function isNumericString(value: string): value is string {\n return isString(value) && !isNaN(parseFloat(value))\n}\nexport function isOneOfFactory<U, T = any>(options: T extends Array<U> | ReadonlyArray<U> ? T : never): (value: unknown) => value is U {\n return function isOneOfProduct(value: unknown): value is U {\n return options.includes(value as U)\n }\n}\nexport function isHTMLElement(value: unknown): value is HTMLElement {\n return value instanceof HTMLElement\n}\nexport function isObject(value: unknown): value is Object {\n return typeof value === 'object' && value !== null\n}\nexport function isPlainObject<T extends Record<string, unknown>>(value: unknown): value is T {\n return isObject(value) && value.constructor === Object\n}\n"],"names":["isNonEmptyString"],"mappings":"AAAO,SAAS,OAAO,OAA+B;AACpD,SAAO,UAAU;AACnB;AACO,SAAS,UAAa,OAA4B;AACvD,SAAO,UAAU;AACnB;AACO,SAAS,YAAY,OAAoC;AAC9D,SAAO,UAAU;AACnB;AACO,SAAS,UAAa,OAA4B;AACvD,SAAO,UAAU;AACnB;AACO,SAAS,aAAgB,OAAiD;AAC/E,SAAO,SAAS;AAClB;AACO,SAAS,UAAU,OAAkC;AAC1D,SAAO,OAAO,UAAU;AAC1B;AACO,SAAS,OAAO,OAA+B;AACpD,SAAO,UAAU;AACnB;AACO,SAAS,QAAQ,OAAgC;AACtD,SAAO,UAAU;AACnB;AACO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AACO,SAAS,iBAAiB,OAAiC;AAChE,SAAO,SAAS,KAAK,KAAK,MAAM,SAAS;AAC3C;AACA,SAAS,+BAA+B,OAAyC,QAAQ;AAChF,SAAA,SAASA,kBAAiB,OAAiC;AAChE,WAAO,SAAS,KAAK,KAAK,MAAM,IAAI,IAAI,SAAS;AAAA,EAAA;AAErD;AACO,MAAM,0BAA0B,+BAA+B;AACzD,MAAA,+BAA+B,+BAA+B,WAAW;AACzE,MAAA,6BAA6B,+BAA+B,SAAS;AAC3E,SAAS,SAAS,OAAiC;AACjD,SAAA,OAAO,UAAU,YAAY,UAAU;AAChD;AACO,SAAS,oBAAoB,OAAiC;AAC5D,SAAA,SAAS,KAAK,KAAK,SAAS;AACrC;AACO,SAAS,gBAAgB,OAAgC;AAC9D,SAAO,SAAS,KAAK,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC;AACpD;AACO,SAAS,eAA2B,SAA4F;AAC9H,SAAA,SAAS,eAAe,OAA4B;AAClD,WAAA,QAAQ,SAAS,KAAU;AAAA,EAAA;AAEtC;AACO,SAAS,cAAc,OAAsC;AAClE,SAAO,iBAAiB;AAC1B;AACO,SAAS,SAAS,OAAiC;AACjD,SAAA,OAAO,UAAU,YAAY,UAAU;AAChD;AACO,SAAS,cAAiD,OAA4B;AAC3F,SAAO,SAAS,KAAK,KAAK,MAAM,gBAAgB;AAClD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","sources":["../../../src/assert-types/assert.ts"],"sourcesContent":["import { AssertionError } from './AssertionError'\n\nexport function assert<\n\tIn,\n\tOut extends In\n>(\n\tthat: string | undefined = undefined,\n\tvalue: In,\n\tpredicate: (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":[],"mappings":";AAEO,SAAS,OAIf,OAA2B,QAC3B,OACA,WACuB;AACnB,MAAA,CAAC,UAAU,KAAK,GAAG;AAChB,UAAA,IAAI,eAAe,OAAO,IAAI;AAAA,EACrC;AACD;"}
|