@mantine-vue/utils 1.1.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/cjs/index.cjs +150 -0
- package/cjs/index.cjs.map +1 -0
- package/esm/index.mjs +126 -0
- package/esm/index.mjs.map +1 -0
- package/lib/index.d.mts +28 -0
- package/lib/index.d.ts +28 -0
- package/package.json +30 -0
package/cjs/index.cjs
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/index.ts
|
|
3
|
+
function keys(object) {
|
|
4
|
+
return Object.keys(object);
|
|
5
|
+
}
|
|
6
|
+
function noop() {}
|
|
7
|
+
function isPrimitive(value) {
|
|
8
|
+
return value === null || typeof value !== "object" && typeof value !== "function";
|
|
9
|
+
}
|
|
10
|
+
function isPlainObject(value) {
|
|
11
|
+
if (value === null || typeof value !== "object") return false;
|
|
12
|
+
const prototype = Object.getPrototypeOf(value);
|
|
13
|
+
return prototype === Object.prototype || prototype === null;
|
|
14
|
+
}
|
|
15
|
+
function deepMerge(target, source) {
|
|
16
|
+
const result = { ...target };
|
|
17
|
+
keys(source).forEach((key) => {
|
|
18
|
+
const sourceValue = source[key];
|
|
19
|
+
const targetValue = result[key];
|
|
20
|
+
if (isPlainObject(targetValue) && isPlainObject(sourceValue)) result[key] = deepMerge(targetValue, sourceValue);
|
|
21
|
+
else if (sourceValue !== void 0) result[key] = sourceValue;
|
|
22
|
+
});
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
function camelToKebabCase(value) {
|
|
26
|
+
return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
27
|
+
}
|
|
28
|
+
function filterProps(props) {
|
|
29
|
+
return keys(props).reduce((acc, key) => {
|
|
30
|
+
if (props[key] !== void 0) acc[key] = props[key];
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
34
|
+
function isNumberLike(value) {
|
|
35
|
+
if (typeof value === "number") return true;
|
|
36
|
+
if (typeof value === "string") {
|
|
37
|
+
if (value.startsWith("calc(") || value.startsWith("var(") || value.includes(" ") && value.trim() !== "") return true;
|
|
38
|
+
const cssUnitsRegex = /^[+-]?[0-9]+(\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/;
|
|
39
|
+
return value.trim().split(/\s+/).every((val) => cssUnitsRegex.test(val));
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
function rem(value) {
|
|
44
|
+
if (typeof value === "number") return `${value / 16}rem`;
|
|
45
|
+
if (typeof value === "string") {
|
|
46
|
+
if (value.includes("calc(") || value.includes("var(")) return value;
|
|
47
|
+
if (value.endsWith("px")) return `${Number(value.replace("px", "")) / 16}rem`;
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
function em(value) {
|
|
53
|
+
if (typeof value === "number") return `${value / 16}em`;
|
|
54
|
+
if (typeof value === "string" && value.endsWith("px")) return `${Number(value.replace("px", "")) / 16}em`;
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
function px(value) {
|
|
58
|
+
if (typeof value === "number") return value;
|
|
59
|
+
if (typeof value === "string") {
|
|
60
|
+
if (value.endsWith("rem") || value.endsWith("em")) return Number(value.replace("rem", "").replace("em", "")) * 16;
|
|
61
|
+
if (value.endsWith("px")) return Number(value.replace("px", ""));
|
|
62
|
+
}
|
|
63
|
+
return Number(value) || 0;
|
|
64
|
+
}
|
|
65
|
+
function getSize(size, prefix = "size", convertToRem = true) {
|
|
66
|
+
if (size === void 0) return;
|
|
67
|
+
return isNumberLike(size) ? convertToRem ? rem(size) : String(size) : `var(--${prefix}-${size})`;
|
|
68
|
+
}
|
|
69
|
+
var getSpacing = (size) => getSize(size, "mantine-spacing");
|
|
70
|
+
var getRadius = (size) => size === void 0 ? "var(--mantine-radius-default)" : getSize(size, "mantine-radius");
|
|
71
|
+
var getShadow = (size) => size ? getSize(size, "mantine-shadow", false) : void 0;
|
|
72
|
+
var getFontSize = (size) => getSize(size, "mantine-font-size");
|
|
73
|
+
var getLineHeight = (size) => getSize(size, "mantine-line-height", false);
|
|
74
|
+
function getBreakpointValue(value) {
|
|
75
|
+
if (typeof value === "number") return value;
|
|
76
|
+
if (value.endsWith("px")) return Number(value.replace("px", ""));
|
|
77
|
+
if (value.endsWith("em") || value.endsWith("rem")) return Number(value.replace("em", "").replace("rem", "")) * 16;
|
|
78
|
+
return Number(value);
|
|
79
|
+
}
|
|
80
|
+
function getSortedBreakpoints(breakpoints) {
|
|
81
|
+
return keys(breakpoints).map((breakpoint) => ({
|
|
82
|
+
breakpoint,
|
|
83
|
+
px: getBreakpointValue(breakpoints[breakpoint])
|
|
84
|
+
})).sort((a, b) => a.px - b.px);
|
|
85
|
+
}
|
|
86
|
+
function getBaseValue(value) {
|
|
87
|
+
if (isPlainObject(value)) return value.base;
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
function getDefaultZIndex(level) {
|
|
91
|
+
return {
|
|
92
|
+
app: 100,
|
|
93
|
+
modal: 200,
|
|
94
|
+
popover: 300,
|
|
95
|
+
overlay: 400,
|
|
96
|
+
max: 9999
|
|
97
|
+
}[level];
|
|
98
|
+
}
|
|
99
|
+
function memoize(fn) {
|
|
100
|
+
const cache = /* @__PURE__ */ new Map();
|
|
101
|
+
return (...args) => {
|
|
102
|
+
const key = JSON.stringify(args);
|
|
103
|
+
if (cache.has(key)) return cache.get(key);
|
|
104
|
+
const result = fn(...args);
|
|
105
|
+
cache.set(key, result);
|
|
106
|
+
return result;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function findClosestNumber(value, values) {
|
|
110
|
+
return values.reduce((closest, current) => Math.abs(current - value) < Math.abs(closest - value) ? current : closest);
|
|
111
|
+
}
|
|
112
|
+
function createEventHandler(...handlers) {
|
|
113
|
+
return (event) => {
|
|
114
|
+
handlers.forEach((handler) => handler?.(event));
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function getSafeId(uid, errorMessage) {
|
|
118
|
+
return (staticId) => {
|
|
119
|
+
if (typeof staticId === "string") return staticId;
|
|
120
|
+
if (uid === "") throw new Error(errorMessage);
|
|
121
|
+
return uid;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
exports.camelToKebabCase = camelToKebabCase;
|
|
126
|
+
exports.createEventHandler = createEventHandler;
|
|
127
|
+
exports.deepMerge = deepMerge;
|
|
128
|
+
exports.em = em;
|
|
129
|
+
exports.filterProps = filterProps;
|
|
130
|
+
exports.findClosestNumber = findClosestNumber;
|
|
131
|
+
exports.getBaseValue = getBaseValue;
|
|
132
|
+
exports.getBreakpointValue = getBreakpointValue;
|
|
133
|
+
exports.getDefaultZIndex = getDefaultZIndex;
|
|
134
|
+
exports.getFontSize = getFontSize;
|
|
135
|
+
exports.getLineHeight = getLineHeight;
|
|
136
|
+
exports.getRadius = getRadius;
|
|
137
|
+
exports.getSafeId = getSafeId;
|
|
138
|
+
exports.getShadow = getShadow;
|
|
139
|
+
exports.getSize = getSize;
|
|
140
|
+
exports.getSortedBreakpoints = getSortedBreakpoints;
|
|
141
|
+
exports.getSpacing = getSpacing;
|
|
142
|
+
exports.isNumberLike = isNumberLike;
|
|
143
|
+
exports.isPrimitive = isPrimitive;
|
|
144
|
+
exports.keys = keys;
|
|
145
|
+
exports.memoize = memoize;
|
|
146
|
+
exports.noop = noop;
|
|
147
|
+
exports.px = px;
|
|
148
|
+
exports.rem = rem;
|
|
149
|
+
|
|
150
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["export type Primitive = string | number | boolean | bigint | symbol | null | undefined\n\nexport function keys<T extends Record<string, any>>(object: T) {\n return Object.keys(object) as (keyof T & string)[]\n}\n\nexport function noop() {}\n\nexport function isPrimitive(value: unknown): value is Primitive {\n return value === null || (typeof value !== 'object' && typeof value !== 'function')\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, any> {\n if (value === null || typeof value !== 'object') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === Object.prototype || prototype === null\n}\n\nexport function deepMerge<T extends Record<string, any>, U extends Record<string, any>>(\n target: T,\n source: U,\n): T & U {\n const result: Record<string, any> = { ...target }\n\n keys(source).forEach((key) => {\n const sourceValue = source[key]\n const targetValue = result[key]\n\n if (isPlainObject(targetValue) && isPlainObject(sourceValue)) {\n result[key] = deepMerge(targetValue, sourceValue)\n } else if (sourceValue !== undefined) {\n result[key] = sourceValue\n }\n })\n\n return result as T & U\n}\n\nexport function camelToKebabCase(value: string) {\n return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)\n}\n\nexport function filterProps<T extends Record<string, any>>(props: T) {\n return keys(props).reduce<Partial<T>>((acc, key) => {\n if (props[key] !== undefined) {\n acc[key] = props[key]\n }\n\n return acc\n }, {})\n}\n\nexport function isNumberLike(value: unknown) {\n if (typeof value === 'number') {\n return true\n }\n\n if (typeof value === 'string') {\n if (\n value.startsWith('calc(') ||\n value.startsWith('var(') ||\n (value.includes(' ') && value.trim() !== '')\n ) {\n return true\n }\n\n const cssUnitsRegex =\n /^[+-]?[0-9]+(\\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/\n const values = value.trim().split(/\\s+/)\n return values.every((val) => cssUnitsRegex.test(val))\n }\n\n return false\n}\n\nexport function rem(value: unknown) {\n if (typeof value === 'number') {\n return `${value / 16}rem`\n }\n\n if (typeof value === 'string') {\n if (value.includes('calc(') || value.includes('var(')) {\n return value\n }\n\n if (value.endsWith('px')) {\n return `${Number(value.replace('px', '')) / 16}rem`\n }\n\n return value\n }\n\n return value as string\n}\n\nexport function em(value: unknown) {\n if (typeof value === 'number') {\n return `${value / 16}em`\n }\n\n if (typeof value === 'string' && value.endsWith('px')) {\n return `${Number(value.replace('px', '')) / 16}em`\n }\n\n return value as string\n}\n\nexport function px(value: unknown) {\n if (typeof value === 'number') {\n return value\n }\n\n if (typeof value === 'string') {\n if (value.endsWith('rem') || value.endsWith('em')) {\n return Number(value.replace('rem', '').replace('em', '')) * 16\n }\n\n if (value.endsWith('px')) {\n return Number(value.replace('px', ''))\n }\n }\n\n return Number(value) || 0\n}\n\nexport function getSize(size: unknown, prefix = 'size', convertToRem = true): string | undefined {\n if (size === undefined) {\n return undefined\n }\n\n return isNumberLike(size) ? (convertToRem ? rem(size) : String(size)) : `var(--${prefix}-${size})`\n}\n\nexport const getSpacing = (size: unknown) => getSize(size, 'mantine-spacing')\nexport const getRadius = (size: unknown) =>\n size === undefined ? 'var(--mantine-radius-default)' : getSize(size, 'mantine-radius')\nexport const getShadow = (size: unknown) =>\n size ? getSize(size, 'mantine-shadow', false) : undefined\nexport const getFontSize = (size: unknown) => getSize(size, 'mantine-font-size')\nexport const getLineHeight = (size: unknown) => getSize(size, 'mantine-line-height', false)\n\nexport function getBreakpointValue(value: string | number) {\n if (typeof value === 'number') {\n return value\n }\n\n if (value.endsWith('px')) {\n return Number(value.replace('px', ''))\n }\n\n if (value.endsWith('em') || value.endsWith('rem')) {\n return Number(value.replace('em', '').replace('rem', '')) * 16\n }\n\n return Number(value)\n}\n\nexport function getSortedBreakpoints<T extends Record<string, string>>(breakpoints: T) {\n return keys(breakpoints)\n .map((breakpoint) => ({ breakpoint, px: getBreakpointValue(breakpoints[breakpoint]) }))\n .sort((a, b) => a.px - b.px)\n}\n\nexport function getBaseValue<T>(value: T | Record<string, T>): T | undefined {\n if (isPlainObject(value)) {\n return (value as Record<string, T>).base\n }\n\n return value\n}\n\nexport function getDefaultZIndex(level: 'app' | 'modal' | 'popover' | 'overlay' | 'max') {\n const values = {\n app: 100,\n modal: 200,\n popover: 300,\n overlay: 400,\n max: 9999,\n }\n\n return values[level]\n}\n\nexport function memoize<Args extends unknown[], Return>(fn: (...args: Args) => Return) {\n const cache = new Map<string, Return>()\n\n return (...args: Args) => {\n const key = JSON.stringify(args)\n\n if (cache.has(key)) {\n return cache.get(key)!\n }\n\n const result = fn(...args)\n cache.set(key, result)\n return result\n }\n}\n\nexport function findClosestNumber(value: number, values: number[]) {\n return values.reduce((closest, current) =>\n Math.abs(current - value) < Math.abs(closest - value) ? current : closest,\n )\n}\n\nexport function createEventHandler<Event>(...handlers: (((event: Event) => void) | undefined)[]) {\n return (event: Event) => {\n handlers.forEach((handler) => handler?.(event))\n }\n}\n\nexport function getSafeId(uid: string, errorMessage: string) {\n return (staticId?: string) => {\n if (typeof staticId === 'string') {\n return staticId\n }\n\n if (uid === '') {\n throw new Error(errorMessage)\n }\n\n return uid\n }\n}\n"],"mappings":"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"}
|
package/esm/index.mjs
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
//#region src/index.ts
|
|
2
|
+
function keys(object) {
|
|
3
|
+
return Object.keys(object);
|
|
4
|
+
}
|
|
5
|
+
function noop() {}
|
|
6
|
+
function isPrimitive(value) {
|
|
7
|
+
return value === null || typeof value !== "object" && typeof value !== "function";
|
|
8
|
+
}
|
|
9
|
+
function isPlainObject(value) {
|
|
10
|
+
if (value === null || typeof value !== "object") return false;
|
|
11
|
+
const prototype = Object.getPrototypeOf(value);
|
|
12
|
+
return prototype === Object.prototype || prototype === null;
|
|
13
|
+
}
|
|
14
|
+
function deepMerge(target, source) {
|
|
15
|
+
const result = { ...target };
|
|
16
|
+
keys(source).forEach((key) => {
|
|
17
|
+
const sourceValue = source[key];
|
|
18
|
+
const targetValue = result[key];
|
|
19
|
+
if (isPlainObject(targetValue) && isPlainObject(sourceValue)) result[key] = deepMerge(targetValue, sourceValue);
|
|
20
|
+
else if (sourceValue !== void 0) result[key] = sourceValue;
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
function camelToKebabCase(value) {
|
|
25
|
+
return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
26
|
+
}
|
|
27
|
+
function filterProps(props) {
|
|
28
|
+
return keys(props).reduce((acc, key) => {
|
|
29
|
+
if (props[key] !== void 0) acc[key] = props[key];
|
|
30
|
+
return acc;
|
|
31
|
+
}, {});
|
|
32
|
+
}
|
|
33
|
+
function isNumberLike(value) {
|
|
34
|
+
if (typeof value === "number") return true;
|
|
35
|
+
if (typeof value === "string") {
|
|
36
|
+
if (value.startsWith("calc(") || value.startsWith("var(") || value.includes(" ") && value.trim() !== "") return true;
|
|
37
|
+
const cssUnitsRegex = /^[+-]?[0-9]+(\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/;
|
|
38
|
+
return value.trim().split(/\s+/).every((val) => cssUnitsRegex.test(val));
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
function rem(value) {
|
|
43
|
+
if (typeof value === "number") return `${value / 16}rem`;
|
|
44
|
+
if (typeof value === "string") {
|
|
45
|
+
if (value.includes("calc(") || value.includes("var(")) return value;
|
|
46
|
+
if (value.endsWith("px")) return `${Number(value.replace("px", "")) / 16}rem`;
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function em(value) {
|
|
52
|
+
if (typeof value === "number") return `${value / 16}em`;
|
|
53
|
+
if (typeof value === "string" && value.endsWith("px")) return `${Number(value.replace("px", "")) / 16}em`;
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
function px(value) {
|
|
57
|
+
if (typeof value === "number") return value;
|
|
58
|
+
if (typeof value === "string") {
|
|
59
|
+
if (value.endsWith("rem") || value.endsWith("em")) return Number(value.replace("rem", "").replace("em", "")) * 16;
|
|
60
|
+
if (value.endsWith("px")) return Number(value.replace("px", ""));
|
|
61
|
+
}
|
|
62
|
+
return Number(value) || 0;
|
|
63
|
+
}
|
|
64
|
+
function getSize(size, prefix = "size", convertToRem = true) {
|
|
65
|
+
if (size === void 0) return;
|
|
66
|
+
return isNumberLike(size) ? convertToRem ? rem(size) : String(size) : `var(--${prefix}-${size})`;
|
|
67
|
+
}
|
|
68
|
+
var getSpacing = (size) => getSize(size, "mantine-spacing");
|
|
69
|
+
var getRadius = (size) => size === void 0 ? "var(--mantine-radius-default)" : getSize(size, "mantine-radius");
|
|
70
|
+
var getShadow = (size) => size ? getSize(size, "mantine-shadow", false) : void 0;
|
|
71
|
+
var getFontSize = (size) => getSize(size, "mantine-font-size");
|
|
72
|
+
var getLineHeight = (size) => getSize(size, "mantine-line-height", false);
|
|
73
|
+
function getBreakpointValue(value) {
|
|
74
|
+
if (typeof value === "number") return value;
|
|
75
|
+
if (value.endsWith("px")) return Number(value.replace("px", ""));
|
|
76
|
+
if (value.endsWith("em") || value.endsWith("rem")) return Number(value.replace("em", "").replace("rem", "")) * 16;
|
|
77
|
+
return Number(value);
|
|
78
|
+
}
|
|
79
|
+
function getSortedBreakpoints(breakpoints) {
|
|
80
|
+
return keys(breakpoints).map((breakpoint) => ({
|
|
81
|
+
breakpoint,
|
|
82
|
+
px: getBreakpointValue(breakpoints[breakpoint])
|
|
83
|
+
})).sort((a, b) => a.px - b.px);
|
|
84
|
+
}
|
|
85
|
+
function getBaseValue(value) {
|
|
86
|
+
if (isPlainObject(value)) return value.base;
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
function getDefaultZIndex(level) {
|
|
90
|
+
return {
|
|
91
|
+
app: 100,
|
|
92
|
+
modal: 200,
|
|
93
|
+
popover: 300,
|
|
94
|
+
overlay: 400,
|
|
95
|
+
max: 9999
|
|
96
|
+
}[level];
|
|
97
|
+
}
|
|
98
|
+
function memoize(fn) {
|
|
99
|
+
const cache = /* @__PURE__ */ new Map();
|
|
100
|
+
return (...args) => {
|
|
101
|
+
const key = JSON.stringify(args);
|
|
102
|
+
if (cache.has(key)) return cache.get(key);
|
|
103
|
+
const result = fn(...args);
|
|
104
|
+
cache.set(key, result);
|
|
105
|
+
return result;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function findClosestNumber(value, values) {
|
|
109
|
+
return values.reduce((closest, current) => Math.abs(current - value) < Math.abs(closest - value) ? current : closest);
|
|
110
|
+
}
|
|
111
|
+
function createEventHandler(...handlers) {
|
|
112
|
+
return (event) => {
|
|
113
|
+
handlers.forEach((handler) => handler?.(event));
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function getSafeId(uid, errorMessage) {
|
|
117
|
+
return (staticId) => {
|
|
118
|
+
if (typeof staticId === "string") return staticId;
|
|
119
|
+
if (uid === "") throw new Error(errorMessage);
|
|
120
|
+
return uid;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
export { camelToKebabCase, createEventHandler, deepMerge, em, filterProps, findClosestNumber, getBaseValue, getBreakpointValue, getDefaultZIndex, getFontSize, getLineHeight, getRadius, getSafeId, getShadow, getSize, getSortedBreakpoints, getSpacing, isNumberLike, isPrimitive, keys, memoize, noop, px, rem };
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["export type Primitive = string | number | boolean | bigint | symbol | null | undefined\n\nexport function keys<T extends Record<string, any>>(object: T) {\n return Object.keys(object) as (keyof T & string)[]\n}\n\nexport function noop() {}\n\nexport function isPrimitive(value: unknown): value is Primitive {\n return value === null || (typeof value !== 'object' && typeof value !== 'function')\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, any> {\n if (value === null || typeof value !== 'object') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === Object.prototype || prototype === null\n}\n\nexport function deepMerge<T extends Record<string, any>, U extends Record<string, any>>(\n target: T,\n source: U,\n): T & U {\n const result: Record<string, any> = { ...target }\n\n keys(source).forEach((key) => {\n const sourceValue = source[key]\n const targetValue = result[key]\n\n if (isPlainObject(targetValue) && isPlainObject(sourceValue)) {\n result[key] = deepMerge(targetValue, sourceValue)\n } else if (sourceValue !== undefined) {\n result[key] = sourceValue\n }\n })\n\n return result as T & U\n}\n\nexport function camelToKebabCase(value: string) {\n return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)\n}\n\nexport function filterProps<T extends Record<string, any>>(props: T) {\n return keys(props).reduce<Partial<T>>((acc, key) => {\n if (props[key] !== undefined) {\n acc[key] = props[key]\n }\n\n return acc\n }, {})\n}\n\nexport function isNumberLike(value: unknown) {\n if (typeof value === 'number') {\n return true\n }\n\n if (typeof value === 'string') {\n if (\n value.startsWith('calc(') ||\n value.startsWith('var(') ||\n (value.includes(' ') && value.trim() !== '')\n ) {\n return true\n }\n\n const cssUnitsRegex =\n /^[+-]?[0-9]+(\\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/\n const values = value.trim().split(/\\s+/)\n return values.every((val) => cssUnitsRegex.test(val))\n }\n\n return false\n}\n\nexport function rem(value: unknown) {\n if (typeof value === 'number') {\n return `${value / 16}rem`\n }\n\n if (typeof value === 'string') {\n if (value.includes('calc(') || value.includes('var(')) {\n return value\n }\n\n if (value.endsWith('px')) {\n return `${Number(value.replace('px', '')) / 16}rem`\n }\n\n return value\n }\n\n return value as string\n}\n\nexport function em(value: unknown) {\n if (typeof value === 'number') {\n return `${value / 16}em`\n }\n\n if (typeof value === 'string' && value.endsWith('px')) {\n return `${Number(value.replace('px', '')) / 16}em`\n }\n\n return value as string\n}\n\nexport function px(value: unknown) {\n if (typeof value === 'number') {\n return value\n }\n\n if (typeof value === 'string') {\n if (value.endsWith('rem') || value.endsWith('em')) {\n return Number(value.replace('rem', '').replace('em', '')) * 16\n }\n\n if (value.endsWith('px')) {\n return Number(value.replace('px', ''))\n }\n }\n\n return Number(value) || 0\n}\n\nexport function getSize(size: unknown, prefix = 'size', convertToRem = true): string | undefined {\n if (size === undefined) {\n return undefined\n }\n\n return isNumberLike(size) ? (convertToRem ? rem(size) : String(size)) : `var(--${prefix}-${size})`\n}\n\nexport const getSpacing = (size: unknown) => getSize(size, 'mantine-spacing')\nexport const getRadius = (size: unknown) =>\n size === undefined ? 'var(--mantine-radius-default)' : getSize(size, 'mantine-radius')\nexport const getShadow = (size: unknown) =>\n size ? getSize(size, 'mantine-shadow', false) : undefined\nexport const getFontSize = (size: unknown) => getSize(size, 'mantine-font-size')\nexport const getLineHeight = (size: unknown) => getSize(size, 'mantine-line-height', false)\n\nexport function getBreakpointValue(value: string | number) {\n if (typeof value === 'number') {\n return value\n }\n\n if (value.endsWith('px')) {\n return Number(value.replace('px', ''))\n }\n\n if (value.endsWith('em') || value.endsWith('rem')) {\n return Number(value.replace('em', '').replace('rem', '')) * 16\n }\n\n return Number(value)\n}\n\nexport function getSortedBreakpoints<T extends Record<string, string>>(breakpoints: T) {\n return keys(breakpoints)\n .map((breakpoint) => ({ breakpoint, px: getBreakpointValue(breakpoints[breakpoint]) }))\n .sort((a, b) => a.px - b.px)\n}\n\nexport function getBaseValue<T>(value: T | Record<string, T>): T | undefined {\n if (isPlainObject(value)) {\n return (value as Record<string, T>).base\n }\n\n return value\n}\n\nexport function getDefaultZIndex(level: 'app' | 'modal' | 'popover' | 'overlay' | 'max') {\n const values = {\n app: 100,\n modal: 200,\n popover: 300,\n overlay: 400,\n max: 9999,\n }\n\n return values[level]\n}\n\nexport function memoize<Args extends unknown[], Return>(fn: (...args: Args) => Return) {\n const cache = new Map<string, Return>()\n\n return (...args: Args) => {\n const key = JSON.stringify(args)\n\n if (cache.has(key)) {\n return cache.get(key)!\n }\n\n const result = fn(...args)\n cache.set(key, result)\n return result\n }\n}\n\nexport function findClosestNumber(value: number, values: number[]) {\n return values.reduce((closest, current) =>\n Math.abs(current - value) < Math.abs(closest - value) ? current : closest,\n )\n}\n\nexport function createEventHandler<Event>(...handlers: (((event: Event) => void) | undefined)[]) {\n return (event: Event) => {\n handlers.forEach((handler) => handler?.(event))\n }\n}\n\nexport function getSafeId(uid: string, errorMessage: string) {\n return (staticId?: string) => {\n if (typeof staticId === 'string') {\n return staticId\n }\n\n if (uid === '') {\n throw new Error(errorMessage)\n }\n\n return uid\n }\n}\n"],"mappings":"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"}
|
package/lib/index.d.mts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
2
|
+
export declare function keys<T extends Record<string, any>>(object: T): (keyof T & string)[];
|
|
3
|
+
export declare function noop(): void;
|
|
4
|
+
export declare function isPrimitive(value: unknown): value is Primitive;
|
|
5
|
+
export declare function deepMerge<T extends Record<string, any>, U extends Record<string, any>>(target: T, source: U): T & U;
|
|
6
|
+
export declare function camelToKebabCase(value: string): string;
|
|
7
|
+
export declare function filterProps<T extends Record<string, any>>(props: T): Partial<T>;
|
|
8
|
+
export declare function isNumberLike(value: unknown): boolean;
|
|
9
|
+
export declare function rem(value: unknown): string;
|
|
10
|
+
export declare function em(value: unknown): string;
|
|
11
|
+
export declare function px(value: unknown): number;
|
|
12
|
+
export declare function getSize(size: unknown, prefix?: string, convertToRem?: boolean): string | undefined;
|
|
13
|
+
export declare const getSpacing: (size: unknown) => string | undefined;
|
|
14
|
+
export declare const getRadius: (size: unknown) => string | undefined;
|
|
15
|
+
export declare const getShadow: (size: unknown) => string | undefined;
|
|
16
|
+
export declare const getFontSize: (size: unknown) => string | undefined;
|
|
17
|
+
export declare const getLineHeight: (size: unknown) => string | undefined;
|
|
18
|
+
export declare function getBreakpointValue(value: string | number): number;
|
|
19
|
+
export declare function getSortedBreakpoints<T extends Record<string, string>>(breakpoints: T): {
|
|
20
|
+
breakpoint: keyof T & string;
|
|
21
|
+
px: number;
|
|
22
|
+
}[];
|
|
23
|
+
export declare function getBaseValue<T>(value: T | Record<string, T>): T | undefined;
|
|
24
|
+
export declare function getDefaultZIndex(level: 'app' | 'modal' | 'popover' | 'overlay' | 'max'): number;
|
|
25
|
+
export declare function memoize<Args extends unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
|
|
26
|
+
export declare function findClosestNumber(value: number, values: number[]): number;
|
|
27
|
+
export declare function createEventHandler<Event>(...handlers: (((event: Event) => void) | undefined)[]): (event: Event) => void;
|
|
28
|
+
export declare function getSafeId(uid: string, errorMessage: string): (staticId?: string) => string;
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
2
|
+
export declare function keys<T extends Record<string, any>>(object: T): (keyof T & string)[];
|
|
3
|
+
export declare function noop(): void;
|
|
4
|
+
export declare function isPrimitive(value: unknown): value is Primitive;
|
|
5
|
+
export declare function deepMerge<T extends Record<string, any>, U extends Record<string, any>>(target: T, source: U): T & U;
|
|
6
|
+
export declare function camelToKebabCase(value: string): string;
|
|
7
|
+
export declare function filterProps<T extends Record<string, any>>(props: T): Partial<T>;
|
|
8
|
+
export declare function isNumberLike(value: unknown): boolean;
|
|
9
|
+
export declare function rem(value: unknown): string;
|
|
10
|
+
export declare function em(value: unknown): string;
|
|
11
|
+
export declare function px(value: unknown): number;
|
|
12
|
+
export declare function getSize(size: unknown, prefix?: string, convertToRem?: boolean): string | undefined;
|
|
13
|
+
export declare const getSpacing: (size: unknown) => string | undefined;
|
|
14
|
+
export declare const getRadius: (size: unknown) => string | undefined;
|
|
15
|
+
export declare const getShadow: (size: unknown) => string | undefined;
|
|
16
|
+
export declare const getFontSize: (size: unknown) => string | undefined;
|
|
17
|
+
export declare const getLineHeight: (size: unknown) => string | undefined;
|
|
18
|
+
export declare function getBreakpointValue(value: string | number): number;
|
|
19
|
+
export declare function getSortedBreakpoints<T extends Record<string, string>>(breakpoints: T): {
|
|
20
|
+
breakpoint: keyof T & string;
|
|
21
|
+
px: number;
|
|
22
|
+
}[];
|
|
23
|
+
export declare function getBaseValue<T>(value: T | Record<string, T>): T | undefined;
|
|
24
|
+
export declare function getDefaultZIndex(level: 'app' | 'modal' | 'popover' | 'overlay' | 'max'): number;
|
|
25
|
+
export declare function memoize<Args extends unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
|
|
26
|
+
export declare function findClosestNumber(value: number, values: number[]): number;
|
|
27
|
+
export declare function createEventHandler<Event>(...handlers: (((event: Event) => void) | undefined)[]): (event: Event) => void;
|
|
28
|
+
export declare function getSafeId(uid: string, errorMessage: string): (staticId?: string) => string;
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mantine-vue/utils",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Framework-independent utilities ported from Mantine foundation",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"files": [
|
|
7
|
+
"cjs",
|
|
8
|
+
"esm",
|
|
9
|
+
"lib",
|
|
10
|
+
"styles.css",
|
|
11
|
+
"styles.layer.css",
|
|
12
|
+
"styles"
|
|
13
|
+
],
|
|
14
|
+
"sideEffects": false,
|
|
15
|
+
"main": "./cjs/index.cjs",
|
|
16
|
+
"module": "./esm/index.mjs",
|
|
17
|
+
"types": "./lib/index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"import": {
|
|
21
|
+
"types": "./lib/index.d.mts",
|
|
22
|
+
"default": "./esm/index.mjs"
|
|
23
|
+
},
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./lib/index.d.ts",
|
|
26
|
+
"default": "./cjs/index.cjs"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|