@lukso/web-components 1.51.5 → 1.52.0
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/{index-b83c7efa.js → cn-1594f5ba.js} +340 -635
- package/dist/{index-619f20e8.cjs → cn-312c6e88.cjs} +342 -637
- package/dist/components/index.cjs +7 -6
- package/dist/components/index.js +7 -6
- package/dist/components/lukso-button/index.cjs +2656 -75
- package/dist/components/lukso-button/index.d.ts +3 -12
- package/dist/components/lukso-button/index.d.ts.map +1 -1
- package/dist/components/lukso-button/index.js +2656 -75
- package/dist/components/lukso-button/lukso-button.stories.d.ts +4 -0
- package/dist/components/lukso-button/lukso-button.stories.d.ts.map +1 -1
- package/dist/components/lukso-card/index.cjs +326 -11
- package/dist/components/lukso-card/index.js +330 -6
- package/dist/components/lukso-checkbox/index.cjs +1 -1
- package/dist/components/lukso-checkbox/index.js +1 -1
- package/dist/components/lukso-footer/index.cjs +1 -1
- package/dist/components/lukso-footer/index.js +1 -1
- package/dist/components/lukso-icon/index.cjs +2 -2
- package/dist/components/lukso-icon/index.js +2 -2
- package/dist/components/lukso-input/index.cjs +1 -1
- package/dist/components/lukso-input/index.js +1 -1
- package/dist/components/lukso-modal/index.cjs +1 -1
- package/dist/components/lukso-modal/index.js +1 -1
- package/dist/components/lukso-navbar/index.cjs +2 -2
- package/dist/components/lukso-navbar/index.js +2 -2
- package/dist/components/lukso-profile/index.cjs +2 -2
- package/dist/components/lukso-profile/index.js +2 -2
- package/dist/components/lukso-progress/index.cjs +21 -10
- package/dist/components/lukso-progress/index.d.ts +1 -0
- package/dist/components/lukso-progress/index.d.ts.map +1 -1
- package/dist/components/lukso-progress/index.js +21 -10
- package/dist/components/lukso-progress/lukso-progress.stories.d.ts.map +1 -1
- package/dist/components/lukso-sanitize/index.cjs +1 -1
- package/dist/components/lukso-sanitize/index.js +1 -1
- package/dist/components/lukso-search/index.cjs +3 -3
- package/dist/components/lukso-search/index.js +3 -3
- package/dist/components/lukso-select/index.cjs +3 -3
- package/dist/components/lukso-select/index.js +3 -3
- package/dist/components/lukso-share/index.cjs +1 -1
- package/dist/components/lukso-share/index.js +1 -1
- package/dist/components/lukso-switch/index.cjs +2 -2
- package/dist/components/lukso-switch/index.js +2 -2
- package/dist/components/lukso-tag/index.cjs +2 -2
- package/dist/components/lukso-tag/index.js +2 -2
- package/dist/components/lukso-terms/index.cjs +2 -2
- package/dist/components/lukso-terms/index.js +2 -2
- package/dist/components/lukso-test/index.cjs +1 -1
- package/dist/components/lukso-test/index.js +1 -1
- package/dist/components/lukso-tooltip/index.cjs +1 -1
- package/dist/components/lukso-tooltip/index.js +1 -1
- package/dist/components/lukso-username/index.cjs +2 -2
- package/dist/components/lukso-username/index.js +2 -2
- package/dist/components/lukso-wizard/index.cjs +1 -1
- package/dist/components/lukso-wizard/index.js +1 -1
- package/dist/index-35ca0b42.js +39 -0
- package/dist/{index-ee4182e6.js → index-739869da.js} +1 -1
- package/dist/{index-beb7703d.cjs → index-ace51f33.cjs} +1 -1
- package/dist/index-f426e548.cjs +46 -0
- package/dist/index.cjs +8 -7
- package/dist/index.js +7 -6
- package/dist/shared/tailwind-element/index.cjs +1 -1
- package/dist/shared/tailwind-element/index.js +1 -1
- package/dist/{style-map-671a0511.cjs → style-map-1175c018.cjs} +1 -1
- package/dist/{style-map-5be28c06.js → style-map-17f918a2.js} +1 -1
- package/dist/styles/main.css +1 -1
- package/dist/{color-palette.js → tailwind-config.cjs} +109 -1
- package/dist/tailwind-config.d.ts +136 -0
- package/dist/tailwind-config.d.ts.map +1 -0
- package/dist/{color-palette.cjs → tailwind-config.js} +95 -8
- package/package.json +8 -5
- package/tailwind.config.cjs +8 -118
- package/tools/cn.cjs +341 -307
- package/tools/cn.d.ts.map +1 -1
- package/tools/cn.js +341 -307
- package/tools/index.cjs +13 -6
- package/tools/index.d.ts +1 -1
- package/tools/index.d.ts.map +1 -1
- package/tools/index.js +1 -1
- package/tools/sass/fonts.scss +1 -1
- package/tools/styles/main.css +1 -1
- package/tools/{color-palette-2786d7c1.js → tailwind-config-0df99c97.js} +95 -1
- package/tools/{color-palette-18dd9e2f.cjs → tailwind-config-f8a808f6.cjs} +101 -0
- package/tools/tailwind-config.cjs +19 -0
- package/tools/tailwind-config.d.ts +136 -0
- package/tools/tailwind-config.d.ts.map +1 -0
- package/tools/tailwind-config.js +1 -0
- package/dist/color-palette.d.ts +0 -42
- package/dist/color-palette.d.ts.map +0 -1
- package/dist/index-04d11436.js +0 -39
- package/dist/index-997f3f0e.cjs +0 -46
- package/tools/color-palette.cjs +0 -12
- package/tools/color-palette.d.ts +0 -42
- package/tools/color-palette.d.ts.map +0 -1
- package/tools/color-palette.js +0 -1
|
@@ -1,70 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const queryAssignedElements = require('./query-assigned-elements-1d5d9d4c.cjs');
|
|
5
|
-
const styleMap = require('./style-map-671a0511.cjs');
|
|
6
|
-
require('./components/lukso-profile/index.cjs');
|
|
7
|
-
require('./color-palette.cjs');
|
|
8
|
-
const index = require('./index-beb7703d.cjs');
|
|
3
|
+
const tailwindConfig = require('./tailwind-config.cjs');
|
|
9
4
|
|
|
10
5
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
11
|
-
|
|
6
|
+
(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('cn-312c6e88.cjs', document.baseURI).href)).replace(/^file:\/\/|\/\w+\.?[jt]s$/g, "").replace(/\/index\.[a-z]+$/g, "");
|
|
12
7
|
|
|
13
|
-
(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('
|
|
8
|
+
(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('cn-312c6e88.cjs', document.baseURI).href)).replace(/^file:\/\/|\/\w+\.?[jt]s$/g, "").replace(/\/index\.[a-z]+$/g, "");
|
|
14
9
|
|
|
15
|
-
(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('
|
|
10
|
+
(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('cn-312c6e88.cjs', document.baseURI).href)).replace(/^file:\/\/|\/\w+\.?[jt]s$/g, "").replace(/\/index\.[a-z]+$/g, "");
|
|
16
11
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
|
|
21
|
-
*
|
|
22
|
-
* Specifically:
|
|
23
|
-
* - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
|
|
24
|
-
* - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
|
|
25
|
-
*
|
|
26
|
-
* Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
27
|
-
*/
|
|
28
|
-
function twJoin() {
|
|
29
|
-
var index = 0;
|
|
30
|
-
var argument;
|
|
31
|
-
var resolvedValue;
|
|
32
|
-
var string = '';
|
|
33
|
-
while (index < arguments.length) {
|
|
34
|
-
if (argument = arguments[index++]) {
|
|
35
|
-
if (resolvedValue = toValue(argument)) {
|
|
36
|
-
string && (string += ' ');
|
|
37
|
-
string += resolvedValue;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return string;
|
|
42
|
-
}
|
|
43
|
-
function toValue(mix) {
|
|
44
|
-
if (typeof mix === 'string') {
|
|
45
|
-
return mix;
|
|
46
|
-
}
|
|
47
|
-
var resolvedValue;
|
|
48
|
-
var string = '';
|
|
49
|
-
for (var k = 0; k < mix.length; k++) {
|
|
50
|
-
if (mix[k]) {
|
|
51
|
-
if (resolvedValue = toValue(mix[k])) {
|
|
52
|
-
string && (string += ' ');
|
|
53
|
-
string += resolvedValue;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return string;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var CLASS_PART_SEPARATOR = '-';
|
|
12
|
+
const CLASS_PART_SEPARATOR = '-';
|
|
61
13
|
function createClassUtils(config) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
conflictingClassGroupModifiers
|
|
14
|
+
const classMap = createClassMap(config);
|
|
15
|
+
const {
|
|
16
|
+
conflictingClassGroups,
|
|
17
|
+
conflictingClassGroupModifiers
|
|
18
|
+
} = config;
|
|
66
19
|
function getClassGroupId(className) {
|
|
67
|
-
|
|
20
|
+
const classParts = className.split(CLASS_PART_SEPARATOR);
|
|
68
21
|
// Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
|
|
69
22
|
if (classParts[0] === '' && classParts.length !== 1) {
|
|
70
23
|
classParts.shift();
|
|
@@ -72,41 +25,40 @@ function createClassUtils(config) {
|
|
|
72
25
|
return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
|
|
73
26
|
}
|
|
74
27
|
function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
|
|
75
|
-
|
|
28
|
+
const conflicts = conflictingClassGroups[classGroupId] || [];
|
|
76
29
|
if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
|
|
77
|
-
return [
|
|
30
|
+
return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
|
|
78
31
|
}
|
|
79
32
|
return conflicts;
|
|
80
33
|
}
|
|
81
34
|
return {
|
|
82
|
-
getClassGroupId
|
|
83
|
-
getConflictingClassGroupIds
|
|
35
|
+
getClassGroupId,
|
|
36
|
+
getConflictingClassGroupIds
|
|
84
37
|
};
|
|
85
38
|
}
|
|
86
39
|
function getGroupRecursive(classParts, classPartObject) {
|
|
87
40
|
if (classParts.length === 0) {
|
|
88
41
|
return classPartObject.classGroupId;
|
|
89
42
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
43
|
+
const currentClassPart = classParts[0];
|
|
44
|
+
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
45
|
+
const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
|
|
93
46
|
if (classGroupFromNextClassPart) {
|
|
94
47
|
return classGroupFromNextClassPart;
|
|
95
48
|
}
|
|
96
49
|
if (classPartObject.validators.length === 0) {
|
|
97
50
|
return undefined;
|
|
98
51
|
}
|
|
99
|
-
|
|
100
|
-
return classPartObject.validators.find(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
})?.classGroupId;
|
|
52
|
+
const classRest = classParts.join(CLASS_PART_SEPARATOR);
|
|
53
|
+
return classPartObject.validators.find(({
|
|
54
|
+
validator
|
|
55
|
+
}) => validator(classRest))?.classGroupId;
|
|
104
56
|
}
|
|
105
|
-
|
|
57
|
+
const arbitraryPropertyRegex = /^\[(.+)\]$/;
|
|
106
58
|
function getGroupIdForArbitraryProperty(className) {
|
|
107
59
|
if (arbitraryPropertyRegex.test(className)) {
|
|
108
|
-
|
|
109
|
-
|
|
60
|
+
const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
|
|
61
|
+
const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
|
|
110
62
|
if (property) {
|
|
111
63
|
// I use two dots here because one dot is used as prefix for class groups in plugins
|
|
112
64
|
return 'arbitrary..' + property;
|
|
@@ -117,24 +69,24 @@ function getGroupIdForArbitraryProperty(className) {
|
|
|
117
69
|
* Exported for testing only
|
|
118
70
|
*/
|
|
119
71
|
function createClassMap(config) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
72
|
+
const {
|
|
73
|
+
theme,
|
|
74
|
+
prefix
|
|
75
|
+
} = config;
|
|
76
|
+
const classMap = {
|
|
123
77
|
nextPart: new Map(),
|
|
124
78
|
validators: []
|
|
125
79
|
};
|
|
126
|
-
|
|
127
|
-
prefixedClassGroupEntries.forEach(
|
|
128
|
-
var classGroupId = _ref2[0],
|
|
129
|
-
classGroup = _ref2[1];
|
|
80
|
+
const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
|
|
81
|
+
prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
|
|
130
82
|
processClassesRecursively(classGroup, classMap, classGroupId, theme);
|
|
131
83
|
});
|
|
132
84
|
return classMap;
|
|
133
85
|
}
|
|
134
86
|
function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
|
|
135
|
-
classGroup.forEach(
|
|
87
|
+
classGroup.forEach(classDefinition => {
|
|
136
88
|
if (typeof classDefinition === 'string') {
|
|
137
|
-
|
|
89
|
+
const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
|
|
138
90
|
classPartObjectToEdit.classGroupId = classGroupId;
|
|
139
91
|
return;
|
|
140
92
|
}
|
|
@@ -145,20 +97,18 @@ function processClassesRecursively(classGroup, classPartObject, classGroupId, th
|
|
|
145
97
|
}
|
|
146
98
|
classPartObject.validators.push({
|
|
147
99
|
validator: classDefinition,
|
|
148
|
-
classGroupId
|
|
100
|
+
classGroupId
|
|
149
101
|
});
|
|
150
102
|
return;
|
|
151
103
|
}
|
|
152
|
-
Object.entries(classDefinition).forEach(
|
|
153
|
-
var key = _ref3[0],
|
|
154
|
-
classGroup = _ref3[1];
|
|
104
|
+
Object.entries(classDefinition).forEach(([key, classGroup]) => {
|
|
155
105
|
processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
|
|
156
106
|
});
|
|
157
107
|
});
|
|
158
108
|
}
|
|
159
109
|
function getPart(classPartObject, path) {
|
|
160
|
-
|
|
161
|
-
path.split(CLASS_PART_SEPARATOR).forEach(
|
|
110
|
+
let currentClassPartObject = classPartObject;
|
|
111
|
+
path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
|
|
162
112
|
if (!currentClassPartObject.nextPart.has(pathPart)) {
|
|
163
113
|
currentClassPartObject.nextPart.set(pathPart, {
|
|
164
114
|
nextPart: new Map(),
|
|
@@ -176,19 +126,13 @@ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
|
|
|
176
126
|
if (!prefix) {
|
|
177
127
|
return classGroupEntries;
|
|
178
128
|
}
|
|
179
|
-
return classGroupEntries.map(
|
|
180
|
-
|
|
181
|
-
classGroup = _ref4[1];
|
|
182
|
-
var prefixedClassGroup = classGroup.map(function (classDefinition) {
|
|
129
|
+
return classGroupEntries.map(([classGroupId, classGroup]) => {
|
|
130
|
+
const prefixedClassGroup = classGroup.map(classDefinition => {
|
|
183
131
|
if (typeof classDefinition === 'string') {
|
|
184
132
|
return prefix + classDefinition;
|
|
185
133
|
}
|
|
186
134
|
if (typeof classDefinition === 'object') {
|
|
187
|
-
return Object.fromEntries(Object.entries(classDefinition).map(
|
|
188
|
-
var key = _ref5[0],
|
|
189
|
-
value = _ref5[1];
|
|
190
|
-
return [prefix + key, value];
|
|
191
|
-
}));
|
|
135
|
+
return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
|
|
192
136
|
}
|
|
193
137
|
return classDefinition;
|
|
194
138
|
});
|
|
@@ -200,15 +144,13 @@ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
|
|
|
200
144
|
function createLruCache(maxCacheSize) {
|
|
201
145
|
if (maxCacheSize < 1) {
|
|
202
146
|
return {
|
|
203
|
-
get:
|
|
204
|
-
|
|
205
|
-
},
|
|
206
|
-
set: function set() {}
|
|
147
|
+
get: () => undefined,
|
|
148
|
+
set: () => {}
|
|
207
149
|
};
|
|
208
150
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
151
|
+
let cacheSize = 0;
|
|
152
|
+
let cache = new Map();
|
|
153
|
+
let previousCache = new Map();
|
|
212
154
|
function update(key, value) {
|
|
213
155
|
cache.set(key, value);
|
|
214
156
|
cacheSize++;
|
|
@@ -219,8 +161,8 @@ function createLruCache(maxCacheSize) {
|
|
|
219
161
|
}
|
|
220
162
|
}
|
|
221
163
|
return {
|
|
222
|
-
get
|
|
223
|
-
|
|
164
|
+
get(key) {
|
|
165
|
+
let value = cache.get(key);
|
|
224
166
|
if (value !== undefined) {
|
|
225
167
|
return value;
|
|
226
168
|
}
|
|
@@ -229,7 +171,7 @@ function createLruCache(maxCacheSize) {
|
|
|
229
171
|
return value;
|
|
230
172
|
}
|
|
231
173
|
},
|
|
232
|
-
set
|
|
174
|
+
set(key, value) {
|
|
233
175
|
if (cache.has(key)) {
|
|
234
176
|
cache.set(key, value);
|
|
235
177
|
} else {
|
|
@@ -238,21 +180,20 @@ function createLruCache(maxCacheSize) {
|
|
|
238
180
|
}
|
|
239
181
|
};
|
|
240
182
|
}
|
|
241
|
-
|
|
242
|
-
var IMPORTANT_MODIFIER = '!';
|
|
183
|
+
const IMPORTANT_MODIFIER = '!';
|
|
243
184
|
function createSplitModifiers(config) {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
185
|
+
const separator = config.separator;
|
|
186
|
+
const isSeparatorSingleCharacter = separator.length === 1;
|
|
187
|
+
const firstSeparatorCharacter = separator[0];
|
|
188
|
+
const separatorLength = separator.length;
|
|
248
189
|
// splitModifiers inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
|
|
249
190
|
return function splitModifiers(className) {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
for (
|
|
255
|
-
|
|
191
|
+
const modifiers = [];
|
|
192
|
+
let bracketDepth = 0;
|
|
193
|
+
let modifierStart = 0;
|
|
194
|
+
let postfixModifierPosition;
|
|
195
|
+
for (let index = 0; index < className.length; index++) {
|
|
196
|
+
let currentCharacter = className[index];
|
|
256
197
|
if (bracketDepth === 0) {
|
|
257
198
|
if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
|
|
258
199
|
modifiers.push(className.slice(modifierStart, index));
|
|
@@ -270,15 +211,15 @@ function createSplitModifiers(config) {
|
|
|
270
211
|
bracketDepth--;
|
|
271
212
|
}
|
|
272
213
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
214
|
+
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
|
|
215
|
+
const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
|
|
216
|
+
const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
|
|
217
|
+
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
|
|
277
218
|
return {
|
|
278
|
-
modifiers
|
|
279
|
-
hasImportantModifier
|
|
280
|
-
baseClassName
|
|
281
|
-
maybePostfixModifierPosition
|
|
219
|
+
modifiers,
|
|
220
|
+
hasImportantModifier,
|
|
221
|
+
baseClassName,
|
|
222
|
+
maybePostfixModifierPosition
|
|
282
223
|
};
|
|
283
224
|
};
|
|
284
225
|
}
|
|
@@ -291,21 +232,20 @@ function sortModifiers(modifiers) {
|
|
|
291
232
|
if (modifiers.length <= 1) {
|
|
292
233
|
return modifiers;
|
|
293
234
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
modifiers.forEach(
|
|
297
|
-
|
|
235
|
+
const sortedModifiers = [];
|
|
236
|
+
let unsortedModifiers = [];
|
|
237
|
+
modifiers.forEach(modifier => {
|
|
238
|
+
const isArbitraryVariant = modifier[0] === '[';
|
|
298
239
|
if (isArbitraryVariant) {
|
|
299
|
-
sortedModifiers.push
|
|
240
|
+
sortedModifiers.push(...unsortedModifiers.sort(), modifier);
|
|
300
241
|
unsortedModifiers = [];
|
|
301
242
|
} else {
|
|
302
243
|
unsortedModifiers.push(modifier);
|
|
303
244
|
}
|
|
304
245
|
});
|
|
305
|
-
sortedModifiers.push
|
|
246
|
+
sortedModifiers.push(...unsortedModifiers.sort());
|
|
306
247
|
return sortedModifiers;
|
|
307
248
|
}
|
|
308
|
-
|
|
309
249
|
function createConfigUtils(config) {
|
|
310
250
|
return {
|
|
311
251
|
cache: createLruCache(config.cacheSize),
|
|
@@ -313,12 +253,13 @@ function createConfigUtils(config) {
|
|
|
313
253
|
...createClassUtils(config)
|
|
314
254
|
};
|
|
315
255
|
}
|
|
316
|
-
|
|
317
|
-
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
256
|
+
const SPLIT_CLASSES_REGEX = /\s+/;
|
|
318
257
|
function mergeClassList(classList, configUtils) {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
258
|
+
const {
|
|
259
|
+
splitModifiers,
|
|
260
|
+
getClassGroupId,
|
|
261
|
+
getConflictingClassGroupIds
|
|
262
|
+
} = configUtils;
|
|
322
263
|
/**
|
|
323
264
|
* Set of classGroupIds in following format:
|
|
324
265
|
* `{importantModifier}{variantModifiers}{classGroupId}`
|
|
@@ -326,77 +267,109 @@ function mergeClassList(classList, configUtils) {
|
|
|
326
267
|
* @example 'hover:focus:bg-color'
|
|
327
268
|
* @example 'md:!pr'
|
|
328
269
|
*/
|
|
329
|
-
|
|
330
|
-
return classList.trim().split(SPLIT_CLASSES_REGEX).map(
|
|
331
|
-
|
|
332
|
-
modifiers
|
|
333
|
-
hasImportantModifier
|
|
334
|
-
baseClassName
|
|
335
|
-
maybePostfixModifierPosition
|
|
336
|
-
|
|
337
|
-
|
|
270
|
+
const classGroupsInConflict = new Set();
|
|
271
|
+
return classList.trim().split(SPLIT_CLASSES_REGEX).map(originalClassName => {
|
|
272
|
+
const {
|
|
273
|
+
modifiers,
|
|
274
|
+
hasImportantModifier,
|
|
275
|
+
baseClassName,
|
|
276
|
+
maybePostfixModifierPosition
|
|
277
|
+
} = splitModifiers(originalClassName);
|
|
278
|
+
let classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
279
|
+
let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
|
|
338
280
|
if (!classGroupId) {
|
|
339
281
|
if (!maybePostfixModifierPosition) {
|
|
340
282
|
return {
|
|
341
283
|
isTailwindClass: false,
|
|
342
|
-
originalClassName
|
|
284
|
+
originalClassName
|
|
343
285
|
};
|
|
344
286
|
}
|
|
345
287
|
classGroupId = getClassGroupId(baseClassName);
|
|
346
288
|
if (!classGroupId) {
|
|
347
289
|
return {
|
|
348
290
|
isTailwindClass: false,
|
|
349
|
-
originalClassName
|
|
291
|
+
originalClassName
|
|
350
292
|
};
|
|
351
293
|
}
|
|
352
294
|
hasPostfixModifier = false;
|
|
353
295
|
}
|
|
354
|
-
|
|
355
|
-
|
|
296
|
+
const variantModifier = sortModifiers(modifiers).join(':');
|
|
297
|
+
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
356
298
|
return {
|
|
357
299
|
isTailwindClass: true,
|
|
358
|
-
modifierId
|
|
359
|
-
classGroupId
|
|
360
|
-
originalClassName
|
|
361
|
-
hasPostfixModifier
|
|
300
|
+
modifierId,
|
|
301
|
+
classGroupId,
|
|
302
|
+
originalClassName,
|
|
303
|
+
hasPostfixModifier
|
|
362
304
|
};
|
|
363
305
|
}).reverse()
|
|
364
306
|
// Last class in conflict wins, so we need to filter conflicting classes in reverse order.
|
|
365
|
-
.filter(
|
|
307
|
+
.filter(parsed => {
|
|
366
308
|
if (!parsed.isTailwindClass) {
|
|
367
309
|
return true;
|
|
368
310
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
311
|
+
const {
|
|
312
|
+
modifierId,
|
|
313
|
+
classGroupId,
|
|
314
|
+
hasPostfixModifier
|
|
315
|
+
} = parsed;
|
|
316
|
+
const classId = modifierId + classGroupId;
|
|
373
317
|
if (classGroupsInConflict.has(classId)) {
|
|
374
318
|
return false;
|
|
375
319
|
}
|
|
376
320
|
classGroupsInConflict.add(classId);
|
|
377
|
-
getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(
|
|
378
|
-
return classGroupsInConflict.add(modifierId + group);
|
|
379
|
-
});
|
|
321
|
+
getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(group => classGroupsInConflict.add(modifierId + group));
|
|
380
322
|
return true;
|
|
381
|
-
}).reverse().map(
|
|
382
|
-
return parsed.originalClassName;
|
|
383
|
-
}).join(' ');
|
|
323
|
+
}).reverse().map(parsed => parsed.originalClassName).join(' ');
|
|
384
324
|
}
|
|
385
325
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
326
|
+
/**
|
|
327
|
+
* The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
|
|
328
|
+
*
|
|
329
|
+
* Specifically:
|
|
330
|
+
* - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
|
|
331
|
+
* - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
|
|
332
|
+
*
|
|
333
|
+
* Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
334
|
+
*/
|
|
335
|
+
function twJoin() {
|
|
336
|
+
let index = 0;
|
|
337
|
+
let argument;
|
|
338
|
+
let resolvedValue;
|
|
339
|
+
let string = '';
|
|
340
|
+
while (index < arguments.length) {
|
|
341
|
+
if (argument = arguments[index++]) {
|
|
342
|
+
if (resolvedValue = toValue(argument)) {
|
|
343
|
+
string && (string += ' ');
|
|
344
|
+
string += resolvedValue;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return string;
|
|
349
|
+
}
|
|
350
|
+
function toValue(mix) {
|
|
351
|
+
if (typeof mix === 'string') {
|
|
352
|
+
return mix;
|
|
389
353
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
354
|
+
let resolvedValue;
|
|
355
|
+
let string = '';
|
|
356
|
+
for (let k = 0; k < mix.length; k++) {
|
|
357
|
+
if (mix[k]) {
|
|
358
|
+
if (resolvedValue = toValue(mix[k])) {
|
|
359
|
+
string && (string += ' ');
|
|
360
|
+
string += resolvedValue;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return string;
|
|
365
|
+
}
|
|
366
|
+
function createTailwindMerge(createConfigFirst, ...createConfigRest) {
|
|
367
|
+
let configUtils;
|
|
368
|
+
let cacheGet;
|
|
369
|
+
let cacheSet;
|
|
370
|
+
let functionToCall = initTailwindMerge;
|
|
394
371
|
function initTailwindMerge(classList) {
|
|
395
|
-
|
|
396
|
-
restCreateConfig = createConfig.slice(1);
|
|
397
|
-
var config = restCreateConfig.reduce(function (previousConfig, createConfigCurrent) {
|
|
398
|
-
return createConfigCurrent(previousConfig);
|
|
399
|
-
}, firstCreateConfig());
|
|
372
|
+
const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
|
|
400
373
|
configUtils = createConfigUtils(config);
|
|
401
374
|
cacheGet = configUtils.cache.get;
|
|
402
375
|
cacheSet = configUtils.cache.set;
|
|
@@ -404,11 +377,11 @@ function createTailwindMerge() {
|
|
|
404
377
|
return tailwindMerge(classList);
|
|
405
378
|
}
|
|
406
379
|
function tailwindMerge(classList) {
|
|
407
|
-
|
|
380
|
+
const cachedResult = cacheGet(classList);
|
|
408
381
|
if (cachedResult) {
|
|
409
382
|
return cachedResult;
|
|
410
383
|
}
|
|
411
|
-
|
|
384
|
+
const result = mergeClassList(classList, configUtils);
|
|
412
385
|
cacheSet(classList, result);
|
|
413
386
|
return result;
|
|
414
387
|
}
|
|
@@ -416,66 +389,65 @@ function createTailwindMerge() {
|
|
|
416
389
|
return functionToCall(twJoin.apply(null, arguments));
|
|
417
390
|
};
|
|
418
391
|
}
|
|
419
|
-
|
|
420
392
|
function fromTheme(key) {
|
|
421
|
-
|
|
422
|
-
return theme[key] || [];
|
|
423
|
-
};
|
|
393
|
+
const themeGetter = theme => theme[key] || [];
|
|
424
394
|
themeGetter.isThemeGetter = true;
|
|
425
395
|
return themeGetter;
|
|
426
396
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
|
|
397
|
+
const arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
|
|
398
|
+
const fractionRegex = /^\d+\/\d+$/;
|
|
399
|
+
const stringLengths = /*#__PURE__*/new Set(['px', 'full', 'screen']);
|
|
400
|
+
const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
401
|
+
const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
|
|
433
402
|
// Shadow always begins with x and y offset separated by underscore
|
|
434
|
-
|
|
403
|
+
const shadowRegex = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
404
|
+
const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
|
|
435
405
|
function isLength(value) {
|
|
436
|
-
return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value)
|
|
406
|
+
return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
|
|
437
407
|
}
|
|
438
408
|
function isArbitraryLength(value) {
|
|
439
409
|
return getIsArbitraryValue(value, 'length', isLengthOnly);
|
|
440
410
|
}
|
|
441
|
-
function
|
|
442
|
-
return
|
|
443
|
-
}
|
|
444
|
-
function isArbitraryPosition(value) {
|
|
445
|
-
return getIsArbitraryValue(value, 'position', isNever);
|
|
446
|
-
}
|
|
447
|
-
function isArbitraryUrl(value) {
|
|
448
|
-
return getIsArbitraryValue(value, 'url', isUrl);
|
|
411
|
+
function isNumber(value) {
|
|
412
|
+
return Boolean(value) && !Number.isNaN(Number(value));
|
|
449
413
|
}
|
|
450
414
|
function isArbitraryNumber(value) {
|
|
451
415
|
return getIsArbitraryValue(value, 'number', isNumber);
|
|
452
416
|
}
|
|
453
|
-
function
|
|
454
|
-
return
|
|
417
|
+
function isInteger(value) {
|
|
418
|
+
return Boolean(value) && Number.isInteger(Number(value));
|
|
455
419
|
}
|
|
456
420
|
function isPercent(value) {
|
|
457
421
|
return value.endsWith('%') && isNumber(value.slice(0, -1));
|
|
458
422
|
}
|
|
459
|
-
function isInteger(value) {
|
|
460
|
-
return isIntegerOnly(value) || getIsArbitraryValue(value, 'number', isIntegerOnly);
|
|
461
|
-
}
|
|
462
423
|
function isArbitraryValue(value) {
|
|
463
424
|
return arbitraryValueRegex.test(value);
|
|
464
425
|
}
|
|
465
|
-
function isAny() {
|
|
466
|
-
return true;
|
|
467
|
-
}
|
|
468
426
|
function isTshirtSize(value) {
|
|
469
427
|
return tshirtUnitRegex.test(value);
|
|
470
428
|
}
|
|
429
|
+
const sizeLabels = /*#__PURE__*/new Set(['length', 'size', 'percentage']);
|
|
430
|
+
function isArbitrarySize(value) {
|
|
431
|
+
return getIsArbitraryValue(value, sizeLabels, isNever);
|
|
432
|
+
}
|
|
433
|
+
function isArbitraryPosition(value) {
|
|
434
|
+
return getIsArbitraryValue(value, 'position', isNever);
|
|
435
|
+
}
|
|
436
|
+
const imageLabels = /*#__PURE__*/new Set(['image', 'url']);
|
|
437
|
+
function isArbitraryImage(value) {
|
|
438
|
+
return getIsArbitraryValue(value, imageLabels, isImage);
|
|
439
|
+
}
|
|
471
440
|
function isArbitraryShadow(value) {
|
|
472
441
|
return getIsArbitraryValue(value, '', isShadow);
|
|
473
442
|
}
|
|
443
|
+
function isAny() {
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
474
446
|
function getIsArbitraryValue(value, label, testValue) {
|
|
475
|
-
|
|
447
|
+
const result = arbitraryValueRegex.exec(value);
|
|
476
448
|
if (result) {
|
|
477
449
|
if (result[1]) {
|
|
478
|
-
return result[1] === label;
|
|
450
|
+
return typeof label === 'string' ? result[1] === label : label.has(result[1]);
|
|
479
451
|
}
|
|
480
452
|
return testValue(result[2]);
|
|
481
453
|
}
|
|
@@ -487,95 +459,64 @@ function isLengthOnly(value) {
|
|
|
487
459
|
function isNever() {
|
|
488
460
|
return false;
|
|
489
461
|
}
|
|
490
|
-
function isUrl(value) {
|
|
491
|
-
return value.startsWith('url(');
|
|
492
|
-
}
|
|
493
|
-
function isIntegerOnly(value) {
|
|
494
|
-
return Number.isInteger(Number(value));
|
|
495
|
-
}
|
|
496
462
|
function isShadow(value) {
|
|
497
463
|
return shadowRegex.test(value);
|
|
498
464
|
}
|
|
499
|
-
|
|
465
|
+
function isImage(value) {
|
|
466
|
+
return imageRegex.test(value);
|
|
467
|
+
}
|
|
500
468
|
function getDefaultConfig() {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
};
|
|
541
|
-
var getNumberWithAutoAndArbitrary = function getNumberWithAutoAndArbitrary() {
|
|
542
|
-
return ['auto', isNumber, isArbitraryValue];
|
|
543
|
-
};
|
|
544
|
-
var getPositions = function getPositions() {
|
|
545
|
-
return ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];
|
|
546
|
-
};
|
|
547
|
-
var getLineStyles = function getLineStyles() {
|
|
548
|
-
return ['solid', 'dashed', 'dotted', 'double', 'none'];
|
|
549
|
-
};
|
|
550
|
-
var getBlendModes = function getBlendModes() {
|
|
551
|
-
return ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-lighter'];
|
|
552
|
-
};
|
|
553
|
-
var getAlign = function getAlign() {
|
|
554
|
-
return ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];
|
|
555
|
-
};
|
|
556
|
-
var getZeroAndEmpty = function getZeroAndEmpty() {
|
|
557
|
-
return ['', '0', isArbitraryValue];
|
|
558
|
-
};
|
|
559
|
-
var getBreaks = function getBreaks() {
|
|
560
|
-
return ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
|
|
561
|
-
};
|
|
562
|
-
var getNumber = function getNumber() {
|
|
563
|
-
return [isNumber, isArbitraryNumber];
|
|
564
|
-
};
|
|
565
|
-
var getNumberAndArbitrary = function getNumberAndArbitrary() {
|
|
566
|
-
return [isNumber, isArbitraryValue];
|
|
567
|
-
};
|
|
469
|
+
const colors = fromTheme('colors');
|
|
470
|
+
const spacing = fromTheme('spacing');
|
|
471
|
+
const blur = fromTheme('blur');
|
|
472
|
+
const brightness = fromTheme('brightness');
|
|
473
|
+
const borderColor = fromTheme('borderColor');
|
|
474
|
+
const borderRadius = fromTheme('borderRadius');
|
|
475
|
+
const borderSpacing = fromTheme('borderSpacing');
|
|
476
|
+
const borderWidth = fromTheme('borderWidth');
|
|
477
|
+
const contrast = fromTheme('contrast');
|
|
478
|
+
const grayscale = fromTheme('grayscale');
|
|
479
|
+
const hueRotate = fromTheme('hueRotate');
|
|
480
|
+
const invert = fromTheme('invert');
|
|
481
|
+
const gap = fromTheme('gap');
|
|
482
|
+
const gradientColorStops = fromTheme('gradientColorStops');
|
|
483
|
+
const gradientColorStopPositions = fromTheme('gradientColorStopPositions');
|
|
484
|
+
const inset = fromTheme('inset');
|
|
485
|
+
const margin = fromTheme('margin');
|
|
486
|
+
const opacity = fromTheme('opacity');
|
|
487
|
+
const padding = fromTheme('padding');
|
|
488
|
+
const saturate = fromTheme('saturate');
|
|
489
|
+
const scale = fromTheme('scale');
|
|
490
|
+
const sepia = fromTheme('sepia');
|
|
491
|
+
const skew = fromTheme('skew');
|
|
492
|
+
const space = fromTheme('space');
|
|
493
|
+
const translate = fromTheme('translate');
|
|
494
|
+
const getOverscroll = () => ['auto', 'contain', 'none'];
|
|
495
|
+
const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];
|
|
496
|
+
const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing];
|
|
497
|
+
const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
|
|
498
|
+
const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength];
|
|
499
|
+
const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue];
|
|
500
|
+
const getPositions = () => ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];
|
|
501
|
+
const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'];
|
|
502
|
+
const getBlendModes = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-lighter'];
|
|
503
|
+
const getAlign = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];
|
|
504
|
+
const getZeroAndEmpty = () => ['', '0', isArbitraryValue];
|
|
505
|
+
const getBreaks = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
|
|
506
|
+
const getNumber = () => [isNumber, isArbitraryNumber];
|
|
507
|
+
const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
|
|
568
508
|
return {
|
|
569
509
|
cacheSize: 500,
|
|
510
|
+
separator: ':',
|
|
570
511
|
theme: {
|
|
571
512
|
colors: [isAny],
|
|
572
|
-
spacing: [isLength],
|
|
513
|
+
spacing: [isLength, isArbitraryLength],
|
|
573
514
|
blur: ['none', '', isTshirtSize, isArbitraryValue],
|
|
574
515
|
brightness: getNumber(),
|
|
575
516
|
borderColor: [colors],
|
|
576
517
|
borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],
|
|
577
518
|
borderSpacing: getSpacingWithArbitrary(),
|
|
578
|
-
borderWidth:
|
|
519
|
+
borderWidth: getLengthWithEmptyAndArbitrary(),
|
|
579
520
|
contrast: getNumber(),
|
|
580
521
|
grayscale: getZeroAndEmpty(),
|
|
581
522
|
hueRotate: getNumberAndArbitrary(),
|
|
@@ -659,8 +600,8 @@ function getDefaultConfig() {
|
|
|
659
600
|
* Floats
|
|
660
601
|
* @see https://tailwindcss.com/docs/float
|
|
661
602
|
*/
|
|
662
|
-
|
|
663
|
-
|
|
603
|
+
float: [{
|
|
604
|
+
float: ['right', 'left', 'none']
|
|
664
605
|
}],
|
|
665
606
|
/**
|
|
666
607
|
* Clear
|
|
@@ -686,7 +627,7 @@ function getDefaultConfig() {
|
|
|
686
627
|
* @see https://tailwindcss.com/docs/object-position
|
|
687
628
|
*/
|
|
688
629
|
'object-position': [{
|
|
689
|
-
object: [
|
|
630
|
+
object: [...getPositions(), isArbitraryValue]
|
|
690
631
|
}],
|
|
691
632
|
/**
|
|
692
633
|
* Overflow
|
|
@@ -808,7 +749,7 @@ function getDefaultConfig() {
|
|
|
808
749
|
* @see https://tailwindcss.com/docs/z-index
|
|
809
750
|
*/
|
|
810
751
|
z: [{
|
|
811
|
-
z: ['auto', isInteger]
|
|
752
|
+
z: ['auto', isInteger, isArbitraryValue]
|
|
812
753
|
}],
|
|
813
754
|
// Flexbox and Grid
|
|
814
755
|
/**
|
|
@@ -858,7 +799,7 @@ function getDefaultConfig() {
|
|
|
858
799
|
* @see https://tailwindcss.com/docs/order
|
|
859
800
|
*/
|
|
860
801
|
order: [{
|
|
861
|
-
order: ['first', 'last', 'none', isInteger]
|
|
802
|
+
order: ['first', 'last', 'none', isInteger, isArbitraryValue]
|
|
862
803
|
}],
|
|
863
804
|
/**
|
|
864
805
|
* Grid Template Columns
|
|
@@ -873,7 +814,7 @@ function getDefaultConfig() {
|
|
|
873
814
|
*/
|
|
874
815
|
'col-start-end': [{
|
|
875
816
|
col: ['auto', {
|
|
876
|
-
span: ['full', isInteger]
|
|
817
|
+
span: ['full', isInteger, isArbitraryValue]
|
|
877
818
|
}, isArbitraryValue]
|
|
878
819
|
}],
|
|
879
820
|
/**
|
|
@@ -903,7 +844,7 @@ function getDefaultConfig() {
|
|
|
903
844
|
*/
|
|
904
845
|
'row-start-end': [{
|
|
905
846
|
row: ['auto', {
|
|
906
|
-
span: [isInteger]
|
|
847
|
+
span: [isInteger, isArbitraryValue]
|
|
907
848
|
}, isArbitraryValue]
|
|
908
849
|
}],
|
|
909
850
|
/**
|
|
@@ -967,7 +908,7 @@ function getDefaultConfig() {
|
|
|
967
908
|
* @see https://tailwindcss.com/docs/justify-content
|
|
968
909
|
*/
|
|
969
910
|
'justify-content': [{
|
|
970
|
-
justify: ['normal'
|
|
911
|
+
justify: ['normal', ...getAlign()]
|
|
971
912
|
}],
|
|
972
913
|
/**
|
|
973
914
|
* Justify Items
|
|
@@ -988,7 +929,7 @@ function getDefaultConfig() {
|
|
|
988
929
|
* @see https://tailwindcss.com/docs/align-content
|
|
989
930
|
*/
|
|
990
931
|
'align-content': [{
|
|
991
|
-
content: ['normal'
|
|
932
|
+
content: ['normal', ...getAlign(), 'baseline']
|
|
992
933
|
}],
|
|
993
934
|
/**
|
|
994
935
|
* Align Items
|
|
@@ -1009,7 +950,7 @@ function getDefaultConfig() {
|
|
|
1009
950
|
* @see https://tailwindcss.com/docs/place-content
|
|
1010
951
|
*/
|
|
1011
952
|
'place-content': [{
|
|
1012
|
-
'place-content': [
|
|
953
|
+
'place-content': [...getAlign(), 'baseline']
|
|
1013
954
|
}],
|
|
1014
955
|
/**
|
|
1015
956
|
* Place Items
|
|
@@ -1212,7 +1153,7 @@ function getDefaultConfig() {
|
|
|
1212
1153
|
* @see https://tailwindcss.com/docs/min-height
|
|
1213
1154
|
*/
|
|
1214
1155
|
'min-h': [{
|
|
1215
|
-
'min-h': ['min', 'max', 'fit',
|
|
1156
|
+
'min-h': ['min', 'max', 'fit', isLength, isArbitraryValue]
|
|
1216
1157
|
}],
|
|
1217
1158
|
/**
|
|
1218
1159
|
* Max-Height
|
|
@@ -1302,7 +1243,7 @@ function getDefaultConfig() {
|
|
|
1302
1243
|
* @see https://tailwindcss.com/docs/line-height
|
|
1303
1244
|
*/
|
|
1304
1245
|
leading: [{
|
|
1305
|
-
leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose',
|
|
1246
|
+
leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isLength, isArbitraryValue]
|
|
1306
1247
|
}],
|
|
1307
1248
|
/**
|
|
1308
1249
|
* List Style Image
|
|
@@ -1371,21 +1312,21 @@ function getDefaultConfig() {
|
|
|
1371
1312
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
1372
1313
|
*/
|
|
1373
1314
|
'text-decoration-style': [{
|
|
1374
|
-
decoration: [
|
|
1315
|
+
decoration: [...getLineStyles(), 'wavy']
|
|
1375
1316
|
}],
|
|
1376
1317
|
/**
|
|
1377
1318
|
* Text Decoration Thickness
|
|
1378
1319
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
1379
1320
|
*/
|
|
1380
1321
|
'text-decoration-thickness': [{
|
|
1381
|
-
decoration: ['auto', 'from-font', isLength]
|
|
1322
|
+
decoration: ['auto', 'from-font', isLength, isArbitraryLength]
|
|
1382
1323
|
}],
|
|
1383
1324
|
/**
|
|
1384
1325
|
* Text Underline Offset
|
|
1385
1326
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
1386
1327
|
*/
|
|
1387
1328
|
'underline-offset': [{
|
|
1388
|
-
'underline-offset': ['auto',
|
|
1329
|
+
'underline-offset': ['auto', isLength, isArbitraryValue]
|
|
1389
1330
|
}],
|
|
1390
1331
|
/**
|
|
1391
1332
|
* Text Decoration Color
|
|
@@ -1429,8 +1370,8 @@ function getDefaultConfig() {
|
|
|
1429
1370
|
* Word Break
|
|
1430
1371
|
* @see https://tailwindcss.com/docs/word-break
|
|
1431
1372
|
*/
|
|
1432
|
-
|
|
1433
|
-
|
|
1373
|
+
break: [{
|
|
1374
|
+
break: ['normal', 'words', 'all', 'keep']
|
|
1434
1375
|
}],
|
|
1435
1376
|
/**
|
|
1436
1377
|
* Hyphens
|
|
@@ -1481,7 +1422,7 @@ function getDefaultConfig() {
|
|
|
1481
1422
|
* @see https://tailwindcss.com/docs/background-position
|
|
1482
1423
|
*/
|
|
1483
1424
|
'bg-position': [{
|
|
1484
|
-
bg: [
|
|
1425
|
+
bg: [...getPositions(), isArbitraryPosition]
|
|
1485
1426
|
}],
|
|
1486
1427
|
/**
|
|
1487
1428
|
* Background Repeat
|
|
@@ -1506,7 +1447,7 @@ function getDefaultConfig() {
|
|
|
1506
1447
|
'bg-image': [{
|
|
1507
1448
|
bg: ['none', {
|
|
1508
1449
|
'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
|
|
1509
|
-
},
|
|
1450
|
+
}, isArbitraryImage]
|
|
1510
1451
|
}],
|
|
1511
1452
|
/**
|
|
1512
1453
|
* Background Color
|
|
@@ -1738,7 +1679,7 @@ function getDefaultConfig() {
|
|
|
1738
1679
|
* @see https://tailwindcss.com/docs/border-style
|
|
1739
1680
|
*/
|
|
1740
1681
|
'border-style': [{
|
|
1741
|
-
border: [
|
|
1682
|
+
border: [...getLineStyles(), 'hidden']
|
|
1742
1683
|
}],
|
|
1743
1684
|
/**
|
|
1744
1685
|
* Divide Width X
|
|
@@ -1839,21 +1780,21 @@ function getDefaultConfig() {
|
|
|
1839
1780
|
* @see https://tailwindcss.com/docs/outline-style
|
|
1840
1781
|
*/
|
|
1841
1782
|
'outline-style': [{
|
|
1842
|
-
outline: [''
|
|
1783
|
+
outline: ['', ...getLineStyles()]
|
|
1843
1784
|
}],
|
|
1844
1785
|
/**
|
|
1845
1786
|
* Outline Offset
|
|
1846
1787
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
1847
1788
|
*/
|
|
1848
1789
|
'outline-offset': [{
|
|
1849
|
-
'outline-offset': [
|
|
1790
|
+
'outline-offset': [isLength, isArbitraryValue]
|
|
1850
1791
|
}],
|
|
1851
1792
|
/**
|
|
1852
1793
|
* Outline Width
|
|
1853
1794
|
* @see https://tailwindcss.com/docs/outline-width
|
|
1854
1795
|
*/
|
|
1855
1796
|
'outline-w': [{
|
|
1856
|
-
outline: [isLength]
|
|
1797
|
+
outline: [isLength, isArbitraryLength]
|
|
1857
1798
|
}],
|
|
1858
1799
|
/**
|
|
1859
1800
|
* Outline Color
|
|
@@ -1867,7 +1808,7 @@ function getDefaultConfig() {
|
|
|
1867
1808
|
* @see https://tailwindcss.com/docs/ring-width
|
|
1868
1809
|
*/
|
|
1869
1810
|
'ring-w': [{
|
|
1870
|
-
ring:
|
|
1811
|
+
ring: getLengthWithEmptyAndArbitrary()
|
|
1871
1812
|
}],
|
|
1872
1813
|
/**
|
|
1873
1814
|
* Ring Width Inset
|
|
@@ -1893,7 +1834,7 @@ function getDefaultConfig() {
|
|
|
1893
1834
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
1894
1835
|
*/
|
|
1895
1836
|
'ring-offset-w': [{
|
|
1896
|
-
'ring-offset': [isLength]
|
|
1837
|
+
'ring-offset': [isLength, isArbitraryLength]
|
|
1897
1838
|
}],
|
|
1898
1839
|
/**
|
|
1899
1840
|
* Ring Offset Color
|
|
@@ -2438,10 +2379,27 @@ function getDefaultConfig() {
|
|
|
2438
2379
|
* @see https://tailwindcss.com/docs/touch-action
|
|
2439
2380
|
*/
|
|
2440
2381
|
touch: [{
|
|
2441
|
-
touch: ['auto', 'none', '
|
|
2442
|
-
|
|
2443
|
-
|
|
2382
|
+
touch: ['auto', 'none', 'manipulation']
|
|
2383
|
+
}],
|
|
2384
|
+
/**
|
|
2385
|
+
* Touch Action X
|
|
2386
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
2387
|
+
*/
|
|
2388
|
+
'touch-x': [{
|
|
2389
|
+
'touch-pan': ['x', 'left', 'right']
|
|
2444
2390
|
}],
|
|
2391
|
+
/**
|
|
2392
|
+
* Touch Action Y
|
|
2393
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
2394
|
+
*/
|
|
2395
|
+
'touch-y': [{
|
|
2396
|
+
'touch-pan': ['y', 'up', 'down']
|
|
2397
|
+
}],
|
|
2398
|
+
/**
|
|
2399
|
+
* Touch Action Pinch Zoom
|
|
2400
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
2401
|
+
*/
|
|
2402
|
+
'touch-pz': ['touch-pinch-zoom'],
|
|
2445
2403
|
/**
|
|
2446
2404
|
* User Select
|
|
2447
2405
|
* @see https://tailwindcss.com/docs/user-select
|
|
@@ -2469,7 +2427,7 @@ function getDefaultConfig() {
|
|
|
2469
2427
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
2470
2428
|
*/
|
|
2471
2429
|
'stroke-w': [{
|
|
2472
|
-
stroke: [isLength, isArbitraryNumber]
|
|
2430
|
+
stroke: [isLength, isArbitraryLength, isArbitraryNumber]
|
|
2473
2431
|
}],
|
|
2474
2432
|
/**
|
|
2475
2433
|
* Stroke
|
|
@@ -2525,7 +2483,11 @@ function getDefaultConfig() {
|
|
|
2525
2483
|
'scroll-my': ['scroll-mt', 'scroll-mb'],
|
|
2526
2484
|
'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
|
|
2527
2485
|
'scroll-px': ['scroll-pr', 'scroll-pl'],
|
|
2528
|
-
'scroll-py': ['scroll-pt', 'scroll-pb']
|
|
2486
|
+
'scroll-py': ['scroll-pt', 'scroll-pb'],
|
|
2487
|
+
touch: ['touch-x', 'touch-y', 'touch-pz'],
|
|
2488
|
+
'touch-x': ['touch'],
|
|
2489
|
+
'touch-y': ['touch'],
|
|
2490
|
+
'touch-pz': ['touch']
|
|
2529
2491
|
},
|
|
2530
2492
|
conflictingClassGroupModifiers: {
|
|
2531
2493
|
'font-size': ['leading']
|
|
@@ -2533,332 +2495,75 @@ function getDefaultConfig() {
|
|
|
2533
2495
|
};
|
|
2534
2496
|
}
|
|
2535
2497
|
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
__defProp(target, key, result);
|
|
2553
|
-
return result;
|
|
2554
|
-
};
|
|
2555
|
-
exports.LuksoCard = class LuksoCard extends shared_tailwindElement_index.TailwindStyledElement(style) {
|
|
2556
|
-
constructor() {
|
|
2557
|
-
super(...arguments);
|
|
2558
|
-
this.variant = "basic";
|
|
2559
|
-
this.backgroundUrl = "";
|
|
2560
|
-
this.profileUrl = "";
|
|
2561
|
-
this.profileAddress = "";
|
|
2562
|
-
this.width = void 0;
|
|
2563
|
-
this.height = void 0;
|
|
2564
|
-
this.customClass = "";
|
|
2565
|
-
this.headerClass = "";
|
|
2566
|
-
this.size = "medium";
|
|
2567
|
-
this.isHoverable = false;
|
|
2568
|
-
this.mediumStyles = `rounded-24 shadow-neutral-drop-shadow-2xl`;
|
|
2569
|
-
this.smallStyles = `rounded-12 shadow-neutral-drop-shadow`;
|
|
2570
|
-
this.smallHoverStyles = `hover:shadow-neutral-drop-shadow-1xl cursor-pointer transition`;
|
|
2571
|
-
}
|
|
2572
|
-
backgroundImageOrGradient() {
|
|
2573
|
-
const opacity = "80";
|
|
2574
|
-
const gradientStart = `#${this.profileAddress.slice(2, 8)}${opacity}`;
|
|
2575
|
-
const gradientEnd = `#${this.profileAddress.slice(36, 42)}${opacity}`;
|
|
2576
|
-
if (this.backgroundUrl) {
|
|
2577
|
-
return `url(${this.backgroundUrl})`;
|
|
2578
|
-
}
|
|
2579
|
-
return `linear-gradient(90deg, ${gradientStart}, ${gradientEnd})`;
|
|
2580
|
-
}
|
|
2581
|
-
basicTemplate() {
|
|
2582
|
-
return shared_tailwindElement_index.x`
|
|
2583
|
-
<div
|
|
2584
|
-
data-testid="card"
|
|
2585
|
-
style=${index.customStyleMap({
|
|
2586
|
-
[`min-height: ${this.height}px`]: !!this.height,
|
|
2587
|
-
[`width: ${this.width}px`]: !!this.width
|
|
2588
|
-
})}
|
|
2589
|
-
class=${cn("bg-neutral-100", {
|
|
2590
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2591
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2592
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2593
|
-
[this.customClass]: !!this.customClass,
|
|
2594
|
-
"w-full": !this.width
|
|
2595
|
-
})}
|
|
2596
|
-
>
|
|
2597
|
-
<slot name="content"></slot>
|
|
2598
|
-
</div>
|
|
2599
|
-
`;
|
|
2600
|
-
}
|
|
2601
|
-
withHeaderTemplate() {
|
|
2602
|
-
return shared_tailwindElement_index.x`
|
|
2603
|
-
<div
|
|
2604
|
-
data-testid="card"
|
|
2605
|
-
style=${styleMap.o({
|
|
2606
|
-
minHeight: `${this.height}px`,
|
|
2607
|
-
width: `${this.width}px`
|
|
2608
|
-
})}
|
|
2609
|
-
class=${cn("bg-neutral-100 grid grid-rows-[auto,1fr] overflow-hidden", {
|
|
2610
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2611
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2612
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2613
|
-
[this.customClass]: !!this.customClass,
|
|
2614
|
-
"w-full": !this.width
|
|
2615
|
-
})}
|
|
2616
|
-
>
|
|
2617
|
-
<div class=${this.headerClass}>
|
|
2618
|
-
<slot name="header"></slot>
|
|
2619
|
-
</div>
|
|
2620
|
-
<div class="bg-neutral-100 shadow-neutral-above-shadow-1xl rounded-24">
|
|
2621
|
-
<slot name="content"></slot>
|
|
2622
|
-
</div>
|
|
2623
|
-
</div>
|
|
2624
|
-
`;
|
|
2625
|
-
}
|
|
2626
|
-
profileTemplate() {
|
|
2627
|
-
return shared_tailwindElement_index.x`
|
|
2628
|
-
<div
|
|
2629
|
-
data-testid="card"
|
|
2630
|
-
style=${index.customStyleMap({
|
|
2631
|
-
[`min-height: ${this.height}px`]: !!this.height,
|
|
2632
|
-
[`width: ${this.width}px`]: !!this.width
|
|
2633
|
-
})}
|
|
2634
|
-
class=${cn("bg-neutral-100 grid", {
|
|
2635
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2636
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2637
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2638
|
-
[this.customClass]: !!this.customClass,
|
|
2639
|
-
"w-full": !this.width
|
|
2640
|
-
})}
|
|
2641
|
-
>
|
|
2642
|
-
<div
|
|
2643
|
-
style=${styleMap.o({
|
|
2644
|
-
backgroundImage: this.backgroundImageOrGradient()
|
|
2645
|
-
})}
|
|
2646
|
-
class=${cn(
|
|
2647
|
-
"row-end-1 col-span-1 col-end-1 row-span-1 h-full w-full bg-center bg-cover rounded-24 relative",
|
|
2648
|
-
this.headerClass
|
|
2649
|
-
)}
|
|
2650
|
-
>
|
|
2651
|
-
${this.backgroundUrl && shared_tailwindElement_index.x` <div
|
|
2652
|
-
class="h-full full rounded-[24px_24px_0_0] bg-neutral-20/10 absolute"
|
|
2653
|
-
></div>`}
|
|
2654
|
-
<div>
|
|
2655
|
-
<slot name="header"></slot>
|
|
2656
|
-
</div>
|
|
2657
|
-
</div>
|
|
2658
|
-
<div
|
|
2659
|
-
class="grid grid-rows-[1fr,auto] row-end-1 col-span-1 col-end-1 row-span-1"
|
|
2660
|
-
>
|
|
2661
|
-
<div></div>
|
|
2662
|
-
<div class="bg-neutral-100 rounded-24 relative">
|
|
2663
|
-
<lukso-profile
|
|
2664
|
-
profile-url=${this.profileUrl}
|
|
2665
|
-
size="large"
|
|
2666
|
-
profile-address=${this.profileAddress}
|
|
2667
|
-
has-identicon
|
|
2668
|
-
class="absolute -top-[40px] left-[calc(50%_-_40px)] z-10"
|
|
2669
|
-
></lukso-profile>
|
|
2670
|
-
<div
|
|
2671
|
-
class="overflow-hidden w-[153px] h-[70px] -top-[70px] relative mx-auto flex items-end justify-center -mb-3"
|
|
2672
|
-
>
|
|
2673
|
-
<div
|
|
2674
|
-
class="bg-neutral-100 rounded-[103px_103px_0_0] w-[96px] h-[48px]"
|
|
2675
|
-
></div>
|
|
2676
|
-
</div>
|
|
2677
|
-
<slot name="content"></slot>
|
|
2678
|
-
</div>
|
|
2679
|
-
</div>
|
|
2680
|
-
</div>
|
|
2681
|
-
`;
|
|
2498
|
+
/**
|
|
2499
|
+
* @param baseConfig Config where other config will be merged into. This object will be mutated.
|
|
2500
|
+
* @param configExtension Partial config to merge into the `baseConfig`.
|
|
2501
|
+
*/
|
|
2502
|
+
function mergeConfigs(baseConfig, {
|
|
2503
|
+
cacheSize,
|
|
2504
|
+
prefix,
|
|
2505
|
+
separator,
|
|
2506
|
+
extend = {},
|
|
2507
|
+
override = {}
|
|
2508
|
+
}) {
|
|
2509
|
+
overrideProperty(baseConfig, 'cacheSize', cacheSize);
|
|
2510
|
+
overrideProperty(baseConfig, 'prefix', prefix);
|
|
2511
|
+
overrideProperty(baseConfig, 'separator', separator);
|
|
2512
|
+
for (const configKey in override) {
|
|
2513
|
+
overrideConfigProperties(baseConfig[configKey], override[configKey]);
|
|
2682
2514
|
}
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
<div
|
|
2686
|
-
data-testid="card"
|
|
2687
|
-
style=${index.customStyleMap({
|
|
2688
|
-
[`min-height: ${this.height}px`]: !!this.height,
|
|
2689
|
-
[`width: ${this.width}px`]: !!this.width
|
|
2690
|
-
})}
|
|
2691
|
-
class=${cn("bg-neutral-100 grid grid-rows-[auto,1fr]", {
|
|
2692
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2693
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2694
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2695
|
-
[this.customClass]: !!this.customClass,
|
|
2696
|
-
["w-full"]: !this.width
|
|
2697
|
-
})}
|
|
2698
|
-
>
|
|
2699
|
-
<div
|
|
2700
|
-
style=${styleMap.o({
|
|
2701
|
-
backgroundImage: this.backgroundImageOrGradient()
|
|
2702
|
-
})}
|
|
2703
|
-
class=${cn(
|
|
2704
|
-
"min-h-[129px] -mb-6 bg-center bg-cover rounded-[24px_24px_0_0] relative bg-neutral-100",
|
|
2705
|
-
this.headerClass
|
|
2706
|
-
)}
|
|
2707
|
-
>
|
|
2708
|
-
${this.backgroundUrl && shared_tailwindElement_index.x`<div
|
|
2709
|
-
class="min-h-full min-w-full rounded-[24px_24px_0_0] bg-neutral-10/10 absolute"
|
|
2710
|
-
></div>`}
|
|
2711
|
-
<div>
|
|
2712
|
-
<slot name="header"></slot>
|
|
2713
|
-
</div>
|
|
2714
|
-
</div>
|
|
2715
|
-
<div class="grid grid-rows-[max-content,auto]">
|
|
2716
|
-
<div class="bg-neutral-100 relative">
|
|
2717
|
-
<lukso-profile
|
|
2718
|
-
profile-url=${this.profileUrl}
|
|
2719
|
-
size="large"
|
|
2720
|
-
profile-address=${this.profileAddress}
|
|
2721
|
-
has-identicon
|
|
2722
|
-
class="absolute -top-[40px] left-[calc(50%_-_40px)] z-10"
|
|
2723
|
-
></lukso-profile>
|
|
2724
|
-
<div
|
|
2725
|
-
class="overflow-hidden w-[153px] h-[70px] -top-[70px] relative mx-auto flex items-end justify-center -mb-2"
|
|
2726
|
-
>
|
|
2727
|
-
<div
|
|
2728
|
-
class="bg-neutral-100 rounded-[103px_103px_0_0] w-[96px] h-[48px]"
|
|
2729
|
-
></div>
|
|
2730
|
-
</div>
|
|
2731
|
-
<slot name="content"></slot>
|
|
2732
|
-
</div>
|
|
2733
|
-
<div
|
|
2734
|
-
class="bg-neutral-97 rounded-b-24 shadow-neutral-inner-shadow-top"
|
|
2735
|
-
>
|
|
2736
|
-
<slot name="bottom"></slot>
|
|
2737
|
-
</div>
|
|
2738
|
-
</div>
|
|
2739
|
-
</div>
|
|
2740
|
-
`;
|
|
2515
|
+
for (const key in extend) {
|
|
2516
|
+
mergeConfigProperties(baseConfig[key], extend[key]);
|
|
2741
2517
|
}
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
[`min-height: ${this.height}px`]: !!this.height,
|
|
2748
|
-
[`width: ${this.width}px`]: !!this.width
|
|
2749
|
-
})}
|
|
2750
|
-
class=${cn("h-[240px] flex bg-neutral-100", {
|
|
2751
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2752
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2753
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2754
|
-
[this.customClass]: !!this.customClass,
|
|
2755
|
-
["w-full"]: !this.width
|
|
2756
|
-
})}
|
|
2757
|
-
>
|
|
2758
|
-
<div
|
|
2759
|
-
style=${styleMap.o({
|
|
2760
|
-
backgroundImage: `url(${this.backgroundUrl})`
|
|
2761
|
-
})}
|
|
2762
|
-
class="h-full w-full -mb-6 bg-center bg-cover rounded-24 relative"
|
|
2763
|
-
>
|
|
2764
|
-
${this.backgroundUrl && shared_tailwindElement_index.x`<div
|
|
2765
|
-
class="h-full w-full rounded-24 bg-neutral-20/10 absolute"
|
|
2766
|
-
></div>`}
|
|
2767
|
-
<div
|
|
2768
|
-
class="h-full w-full flex flex-col items-center justify-center absolute"
|
|
2769
|
-
>
|
|
2770
|
-
<slot name="content"></slot>
|
|
2771
|
-
</div>
|
|
2772
|
-
</div>
|
|
2773
|
-
</div>
|
|
2774
|
-
`;
|
|
2518
|
+
return baseConfig;
|
|
2519
|
+
}
|
|
2520
|
+
function overrideProperty(baseObject, overrideKey, overrideValue) {
|
|
2521
|
+
if (overrideValue !== undefined) {
|
|
2522
|
+
baseObject[overrideKey] = overrideValue;
|
|
2775
2523
|
}
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
[`width: ${this.width}px`]: !!this.width
|
|
2783
|
-
})}
|
|
2784
|
-
class=${cn("bg-neutral-100 grid grid-rows-[auto,1fr]", {
|
|
2785
|
-
[this.mediumStyles]: !this.customClass && this.size === "medium",
|
|
2786
|
-
[this.smallStyles]: !this.customClass && this.size === "small",
|
|
2787
|
-
[this.smallHoverStyles]: this.isHoverable && this.size === "small",
|
|
2788
|
-
[this.customClass]: !!this.customClass,
|
|
2789
|
-
["w-full"]: !this.width
|
|
2790
|
-
})}
|
|
2791
|
-
>
|
|
2792
|
-
<div
|
|
2793
|
-
style=${styleMap.o({
|
|
2794
|
-
backgroundImage: this.backgroundImageOrGradient()
|
|
2795
|
-
})}
|
|
2796
|
-
class=${cn(
|
|
2797
|
-
"min-h-[240px] bg-center bg-cover rounded-[24px_24px_0_0] relative",
|
|
2798
|
-
this.headerClass
|
|
2799
|
-
)}
|
|
2800
|
-
>
|
|
2801
|
-
<div>
|
|
2802
|
-
<slot name="header"></slot>
|
|
2803
|
-
</div>
|
|
2804
|
-
</div>
|
|
2805
|
-
<div
|
|
2806
|
-
class="bg-neutral-100 shadow-neutral-above-shadow-1xl rounded-[0_0_24px_24px] relative"
|
|
2807
|
-
>
|
|
2808
|
-
<slot name="content"></slot>
|
|
2809
|
-
</div>
|
|
2810
|
-
</div>
|
|
2811
|
-
`;
|
|
2524
|
+
}
|
|
2525
|
+
function overrideConfigProperties(baseObject, overrideObject) {
|
|
2526
|
+
if (overrideObject) {
|
|
2527
|
+
for (const key in overrideObject) {
|
|
2528
|
+
overrideProperty(baseObject, key, overrideObject[key]);
|
|
2529
|
+
}
|
|
2812
2530
|
}
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
case "hero":
|
|
2822
|
-
return this.heroTemplate();
|
|
2823
|
-
case "dapp":
|
|
2824
|
-
return this.dappTemplate();
|
|
2825
|
-
default:
|
|
2826
|
-
return this.basicTemplate();
|
|
2531
|
+
}
|
|
2532
|
+
function mergeConfigProperties(baseObject, mergeObject) {
|
|
2533
|
+
if (mergeObject) {
|
|
2534
|
+
for (const key in mergeObject) {
|
|
2535
|
+
const mergeValue = mergeObject[key];
|
|
2536
|
+
if (mergeValue !== undefined) {
|
|
2537
|
+
baseObject[key] = (baseObject[key] || []).concat(mergeValue);
|
|
2538
|
+
}
|
|
2827
2539
|
}
|
|
2828
2540
|
}
|
|
2541
|
+
}
|
|
2542
|
+
function extendTailwindMerge(configExtension, ...createConfig) {
|
|
2543
|
+
return typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
|
|
2544
|
+
}
|
|
2545
|
+
|
|
2546
|
+
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
2547
|
+
|
|
2548
|
+
const customTwMerge = extendTailwindMerge({
|
|
2549
|
+
classGroups: {
|
|
2550
|
+
shadow: Object.keys(tailwindConfig.boxShadows).map((s) => `shadow-${s}`),
|
|
2551
|
+
"font-size": Object.keys(tailwindConfig.fontSizes).map((s) => `text-${s}`),
|
|
2552
|
+
"font-weight": Object.keys(tailwindConfig.fontWeights).map((s) => `font-${s}`),
|
|
2553
|
+
"line-height": Object.keys(tailwindConfig.lineHeights).map((s) => `leading-${s}`),
|
|
2554
|
+
scale: Object.keys(tailwindConfig.scales).map((s) => `scale-${s}`),
|
|
2555
|
+
height: Object.keys(tailwindConfig.heights).map((s) => `h-${s}`),
|
|
2556
|
+
borderRadius: Object.keys(tailwindConfig.borderRadius).map((s) => `rounded-${s}`),
|
|
2557
|
+
colors: Object.entries(tailwindConfig.colorPalette).reduce((acc, currentVal) => {
|
|
2558
|
+
const colors = Object.keys(currentVal[1]).map(
|
|
2559
|
+
(c) => `text-${currentVal[0]}-${c}`
|
|
2560
|
+
);
|
|
2561
|
+
return [...acc, ...colors];
|
|
2562
|
+
}, [])
|
|
2563
|
+
}
|
|
2564
|
+
});
|
|
2565
|
+
const cn = (...inputs) => {
|
|
2566
|
+
return customTwMerge(clsx(inputs));
|
|
2829
2567
|
};
|
|
2830
|
-
__decorateClass([
|
|
2831
|
-
queryAssignedElements.n({ type: String })
|
|
2832
|
-
], exports.LuksoCard.prototype, "variant", 2);
|
|
2833
|
-
__decorateClass([
|
|
2834
|
-
queryAssignedElements.n({ type: String, attribute: "background-url" })
|
|
2835
|
-
], exports.LuksoCard.prototype, "backgroundUrl", 2);
|
|
2836
|
-
__decorateClass([
|
|
2837
|
-
queryAssignedElements.n({ type: String, attribute: "profile-url" })
|
|
2838
|
-
], exports.LuksoCard.prototype, "profileUrl", 2);
|
|
2839
|
-
__decorateClass([
|
|
2840
|
-
queryAssignedElements.n({ type: String, attribute: "profile-address" })
|
|
2841
|
-
], exports.LuksoCard.prototype, "profileAddress", 2);
|
|
2842
|
-
__decorateClass([
|
|
2843
|
-
queryAssignedElements.n({ type: Number })
|
|
2844
|
-
], exports.LuksoCard.prototype, "width", 2);
|
|
2845
|
-
__decorateClass([
|
|
2846
|
-
queryAssignedElements.n({ type: Number })
|
|
2847
|
-
], exports.LuksoCard.prototype, "height", 2);
|
|
2848
|
-
__decorateClass([
|
|
2849
|
-
queryAssignedElements.n({ type: String, attribute: "custom-class" })
|
|
2850
|
-
], exports.LuksoCard.prototype, "customClass", 2);
|
|
2851
|
-
__decorateClass([
|
|
2852
|
-
queryAssignedElements.n({ type: String, attribute: "header-class" })
|
|
2853
|
-
], exports.LuksoCard.prototype, "headerClass", 2);
|
|
2854
|
-
__decorateClass([
|
|
2855
|
-
queryAssignedElements.n({ type: String })
|
|
2856
|
-
], exports.LuksoCard.prototype, "size", 2);
|
|
2857
|
-
__decorateClass([
|
|
2858
|
-
queryAssignedElements.n({ type: Boolean, attribute: "is-hoverable" })
|
|
2859
|
-
], exports.LuksoCard.prototype, "isHoverable", 2);
|
|
2860
|
-
exports.LuksoCard = __decorateClass([
|
|
2861
|
-
queryAssignedElements.e("lukso-card")
|
|
2862
|
-
], exports.LuksoCard);
|
|
2863
2568
|
|
|
2864
2569
|
exports.cn = cn;
|