@timeax/form-palette 0.1.2 → 0.1.3
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/{variant-BGkGWsSy.d.mts → core-BD0ObjuE.d.mts} +2756 -2749
- package/dist/{variant-B_L0opEi.d.ts → core-q_p0E4W9.d.ts} +2756 -2749
- package/dist/extra.d.mts +2 -2
- package/dist/extra.d.ts +2 -2
- package/dist/extra.js +13 -6
- package/dist/extra.js.map +1 -1
- package/dist/extra.mjs +13 -6
- package/dist/extra.mjs.map +1 -1
- package/dist/index.d.mts +14 -3
- package/dist/index.d.ts +14 -3
- package/dist/index.js +1679 -1662
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1679 -1662
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -587,1631 +587,650 @@ var FieldRegistry = class {
|
|
|
587
587
|
}
|
|
588
588
|
};
|
|
589
589
|
_binding = new WeakMap();
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
"
|
|
594
|
-
"
|
|
595
|
-
|
|
596
|
-
"activateButtonOnChange",
|
|
597
|
-
"onChange",
|
|
598
|
-
"onUpdate",
|
|
599
|
-
"changeBefore",
|
|
600
|
-
"formRef",
|
|
601
|
-
"valueBag",
|
|
602
|
-
"valueFeed",
|
|
603
|
-
"onFinish",
|
|
604
|
-
"init",
|
|
605
|
-
"onSubmit",
|
|
606
|
-
"onSubmitted",
|
|
607
|
-
"children"
|
|
608
|
-
]);
|
|
609
|
-
function isPlainObject(value) {
|
|
610
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
611
|
-
}
|
|
612
|
-
function deepEqual(a3, b2) {
|
|
613
|
-
if (a3 === b2) return true;
|
|
614
|
-
if (typeof a3 === "number" && typeof b2 === "number") {
|
|
615
|
-
if (Number.isNaN(a3) && Number.isNaN(b2)) return true;
|
|
590
|
+
|
|
591
|
+
// src/lib/register-global.ts
|
|
592
|
+
function registerPaletteUtil(key, value) {
|
|
593
|
+
if (typeof window === "undefined") return;
|
|
594
|
+
if (!window["form-palette"]) {
|
|
595
|
+
window["form-palette"] = {};
|
|
616
596
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
return true;
|
|
597
|
+
window["form-palette"][key] = value;
|
|
598
|
+
}
|
|
599
|
+
function getPaletteUtil(key, defaultValue) {
|
|
600
|
+
if (typeof window === "undefined") {
|
|
601
|
+
return defaultValue;
|
|
623
602
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
if (aKeys.length !== bKeys.length) return false;
|
|
628
|
-
for (const key of aKeys) {
|
|
629
|
-
if (!Object.prototype.hasOwnProperty.call(b2, key)) return false;
|
|
630
|
-
if (!deepEqual(a3[key], b2[key])) return false;
|
|
631
|
-
}
|
|
632
|
-
return true;
|
|
603
|
+
const registry3 = window["form-palette"];
|
|
604
|
+
if (registry3 && key in registry3) {
|
|
605
|
+
return registry3[key];
|
|
633
606
|
}
|
|
634
|
-
return
|
|
607
|
+
return defaultValue;
|
|
635
608
|
}
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
function clearFieldErrors() {
|
|
658
|
-
for (const field of fetchAllNamedFields()) {
|
|
659
|
-
const anyField = field;
|
|
660
|
-
if (typeof anyField.setError === "function") {
|
|
661
|
-
anyField.setError(void 0);
|
|
662
|
-
} else if ("error" in anyField) {
|
|
663
|
-
anyField.error = void 0;
|
|
664
|
-
}
|
|
665
|
-
}
|
|
609
|
+
|
|
610
|
+
// ../../node_modules/clsx/dist/clsx.mjs
|
|
611
|
+
function r(e4) {
|
|
612
|
+
var t4, f2, n3 = "";
|
|
613
|
+
if ("string" == typeof e4 || "number" == typeof e4) n3 += e4;
|
|
614
|
+
else if ("object" == typeof e4) if (Array.isArray(e4)) {
|
|
615
|
+
var o3 = e4.length;
|
|
616
|
+
for (t4 = 0; t4 < o3; t4++) e4[t4] && (f2 = r(e4[t4])) && (n3 && (n3 += " "), n3 += f2);
|
|
617
|
+
} else for (f2 in e4) e4[f2] && (n3 && (n3 += " "), n3 += f2);
|
|
618
|
+
return n3;
|
|
619
|
+
}
|
|
620
|
+
function clsx() {
|
|
621
|
+
for (var e4, t4, f2 = 0, n3 = "", o3 = arguments.length; f2 < o3; f2++) (e4 = arguments[f2]) && (t4 = r(e4)) && (n3 && (n3 += " "), n3 += t4);
|
|
622
|
+
return n3;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
// ../../node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
626
|
+
var concatArrays = (array1, array2) => {
|
|
627
|
+
const combinedArray = new Array(array1.length + array2.length);
|
|
628
|
+
for (let i3 = 0; i3 < array1.length; i3++) {
|
|
629
|
+
combinedArray[i3] = array1[i3];
|
|
666
630
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
return fetchAllNamedFields().find((f2) => {
|
|
670
|
-
const raw = f2.name;
|
|
671
|
-
if (!raw) return false;
|
|
672
|
-
const trimmed = raw.trim();
|
|
673
|
-
if (!trimmed) return false;
|
|
674
|
-
const base = trimmed.replace(/\[]$/, "");
|
|
675
|
-
if (key === base || key === trimmed) return true;
|
|
676
|
-
const sharedKey = f2.shared;
|
|
677
|
-
if (!sharedKey) return false;
|
|
678
|
-
const sharedBase = `${sharedKey}.${base}`;
|
|
679
|
-
const sharedRaw = `${sharedKey}.${trimmed}`;
|
|
680
|
-
return key === sharedBase || key === sharedRaw;
|
|
681
|
-
});
|
|
631
|
+
for (let i3 = 0; i3 < array2.length; i3++) {
|
|
632
|
+
combinedArray[array1.length + i3] = array2[i3];
|
|
682
633
|
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
634
|
+
return combinedArray;
|
|
635
|
+
};
|
|
636
|
+
var createClassValidatorObject = (classGroupId, validator) => ({
|
|
637
|
+
classGroupId,
|
|
638
|
+
validator
|
|
639
|
+
});
|
|
640
|
+
var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({
|
|
641
|
+
nextPart,
|
|
642
|
+
validators,
|
|
643
|
+
classGroupId
|
|
644
|
+
});
|
|
645
|
+
var CLASS_PART_SEPARATOR = "-";
|
|
646
|
+
var EMPTY_CONFLICTS = [];
|
|
647
|
+
var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
|
|
648
|
+
var createClassGroupUtils = (config) => {
|
|
649
|
+
const classMap = createClassMap(config);
|
|
650
|
+
const {
|
|
651
|
+
conflictingClassGroups,
|
|
652
|
+
conflictingClassGroupModifiers
|
|
653
|
+
} = config;
|
|
654
|
+
const getClassGroupId = (className) => {
|
|
655
|
+
if (className.startsWith("[") && className.endsWith("]")) {
|
|
656
|
+
return getGroupIdForArbitraryProperty(className);
|
|
694
657
|
}
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
const
|
|
703
|
-
if (
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
const isArray = trimmed.endsWith("[]");
|
|
707
|
-
const base = trimmed.replace(/\[]$/, "");
|
|
708
|
-
const sharedKey = item.shared;
|
|
709
|
-
const target = sharedKey ? (_b2 = shared[sharedKey]) != null ? _b2 : shared[sharedKey] = {} : list;
|
|
710
|
-
const fullPath = sharedKey ? `${sharedKey}.${base}` : base;
|
|
711
|
-
if (exceptions.includes(trimmed) || exceptions.includes(base) || exceptions.includes(fullPath)) {
|
|
712
|
-
continue;
|
|
713
|
-
}
|
|
714
|
-
const anyField = item;
|
|
715
|
-
const val = typeof anyField.getValue === "function" ? anyField.getValue() : anyField.value;
|
|
716
|
-
if (isArray) {
|
|
717
|
-
const existing = target[base];
|
|
718
|
-
if (Array.isArray(existing)) {
|
|
719
|
-
target[base] = [...existing, val];
|
|
720
|
-
} else if (typeof existing === "undefined") {
|
|
721
|
-
target[base] = [val];
|
|
722
|
-
} else {
|
|
723
|
-
target[base] = [existing, val];
|
|
658
|
+
const classParts = className.split(CLASS_PART_SEPARATOR);
|
|
659
|
+
const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
|
|
660
|
+
return getGroupRecursive(classParts, startIndex, classMap);
|
|
661
|
+
};
|
|
662
|
+
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
|
|
663
|
+
if (hasPostfixModifier) {
|
|
664
|
+
const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
|
|
665
|
+
const baseConflicts = conflictingClassGroups[classGroupId];
|
|
666
|
+
if (modifierConflicts) {
|
|
667
|
+
if (baseConflicts) {
|
|
668
|
+
return concatArrays(baseConflicts, modifierConflicts);
|
|
724
669
|
}
|
|
725
|
-
|
|
726
|
-
target[base] = val;
|
|
670
|
+
return modifierConflicts;
|
|
727
671
|
}
|
|
672
|
+
return baseConflicts || EMPTY_CONFLICTS;
|
|
728
673
|
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
674
|
+
return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
|
|
675
|
+
};
|
|
676
|
+
return {
|
|
677
|
+
getClassGroupId,
|
|
678
|
+
getConflictingClassGroupIds
|
|
679
|
+
};
|
|
680
|
+
};
|
|
681
|
+
var getGroupRecursive = (classParts, startIndex, classPartObject) => {
|
|
682
|
+
const classPathsLength = classParts.length - startIndex;
|
|
683
|
+
if (classPathsLength === 0) {
|
|
684
|
+
return classPartObject.classGroupId;
|
|
735
685
|
}
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
}
|
|
742
|
-
for (const field of fetchAllNamedFields()) {
|
|
743
|
-
const anyField = field;
|
|
744
|
-
if (typeof anyField.validate === "function") {
|
|
745
|
-
const ok = anyField.validate(report);
|
|
746
|
-
if (!ok) valid = false;
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
if (schema) {
|
|
750
|
-
try {
|
|
751
|
-
schema.parse(collectValues());
|
|
752
|
-
} catch (err) {
|
|
753
|
-
valid = false;
|
|
754
|
-
if (report && err && typeof err === "object") {
|
|
755
|
-
const anyErr = err;
|
|
756
|
-
if (anyErr.issues) {
|
|
757
|
-
const { fieldErrors, uncaught } = mapZodError(anyErr);
|
|
758
|
-
for (const [name, message2] of Object.entries(
|
|
759
|
-
fieldErrors
|
|
760
|
-
)) {
|
|
761
|
-
setFieldError(name, message2);
|
|
762
|
-
}
|
|
763
|
-
if (uncaught.length) {
|
|
764
|
-
uncaughtRef.current.push(...uncaught);
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
return valid;
|
|
686
|
+
const currentClassPart = classParts[startIndex];
|
|
687
|
+
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
688
|
+
if (nextClassPartObject) {
|
|
689
|
+
const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
|
|
690
|
+
if (result) return result;
|
|
771
691
|
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
692
|
+
const validators = classPartObject.validators;
|
|
693
|
+
if (validators === null) {
|
|
694
|
+
return void 0;
|
|
695
|
+
}
|
|
696
|
+
const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
|
|
697
|
+
const validatorsLength = validators.length;
|
|
698
|
+
for (let i3 = 0; i3 < validatorsLength; i3++) {
|
|
699
|
+
const validatorObj = validators[i3];
|
|
700
|
+
if (validatorObj.validator(classRest)) {
|
|
701
|
+
return validatorObj.classGroupId;
|
|
778
702
|
}
|
|
779
|
-
return result;
|
|
780
703
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
704
|
+
return void 0;
|
|
705
|
+
};
|
|
706
|
+
var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
|
|
707
|
+
const content = className.slice(1, -1);
|
|
708
|
+
const colonIndex = content.indexOf(":");
|
|
709
|
+
const property = content.slice(0, colonIndex);
|
|
710
|
+
return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
|
|
711
|
+
})();
|
|
712
|
+
var createClassMap = (config) => {
|
|
713
|
+
const {
|
|
714
|
+
theme,
|
|
715
|
+
classGroups
|
|
716
|
+
} = config;
|
|
717
|
+
return processClassGroups(classGroups, theme);
|
|
718
|
+
};
|
|
719
|
+
var processClassGroups = (classGroups, theme) => {
|
|
720
|
+
const classMap = createClassPartObject();
|
|
721
|
+
for (const classGroupId in classGroups) {
|
|
722
|
+
const group = classGroups[classGroupId];
|
|
723
|
+
processClassesRecursively(group, classMap, classGroupId, theme);
|
|
724
|
+
}
|
|
725
|
+
return classMap;
|
|
726
|
+
};
|
|
727
|
+
var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
|
|
728
|
+
const len = classGroup.length;
|
|
729
|
+
for (let i3 = 0; i3 < len; i3++) {
|
|
730
|
+
const classDefinition = classGroup[i3];
|
|
731
|
+
processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
732
|
+
}
|
|
733
|
+
};
|
|
734
|
+
var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
|
|
735
|
+
if (typeof classDefinition === "string") {
|
|
736
|
+
processStringDefinition(classDefinition, classPartObject, classGroupId);
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
if (typeof classDefinition === "function") {
|
|
740
|
+
processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
744
|
+
};
|
|
745
|
+
var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
|
|
746
|
+
const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
|
|
747
|
+
classPartObjectToEdit.classGroupId = classGroupId;
|
|
748
|
+
};
|
|
749
|
+
var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
|
|
750
|
+
if (isThemeGetter(classDefinition)) {
|
|
751
|
+
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
|
|
752
|
+
return;
|
|
753
|
+
}
|
|
754
|
+
if (classPartObject.validators === null) {
|
|
755
|
+
classPartObject.validators = [];
|
|
756
|
+
}
|
|
757
|
+
classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
|
|
758
|
+
};
|
|
759
|
+
var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
|
|
760
|
+
const entries = Object.entries(classDefinition);
|
|
761
|
+
const len = entries.length;
|
|
762
|
+
for (let i3 = 0; i3 < len; i3++) {
|
|
763
|
+
const [key, value] = entries[i3];
|
|
764
|
+
processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
|
|
765
|
+
}
|
|
766
|
+
};
|
|
767
|
+
var getPart = (classPartObject, path) => {
|
|
768
|
+
let current = classPartObject;
|
|
769
|
+
const parts = path.split(CLASS_PART_SEPARATOR);
|
|
770
|
+
const len = parts.length;
|
|
771
|
+
for (let i3 = 0; i3 < len; i3++) {
|
|
772
|
+
const part = parts[i3];
|
|
773
|
+
let next = current.nextPart.get(part);
|
|
774
|
+
if (!next) {
|
|
775
|
+
next = createClassPartObject();
|
|
776
|
+
current.nextPart.set(part, next);
|
|
777
|
+
}
|
|
778
|
+
current = next;
|
|
779
|
+
}
|
|
780
|
+
return current;
|
|
781
|
+
};
|
|
782
|
+
var isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
|
|
783
|
+
var createLruCache = (maxCacheSize) => {
|
|
784
|
+
if (maxCacheSize < 1) {
|
|
785
|
+
return {
|
|
786
|
+
get: () => void 0,
|
|
787
|
+
set: () => {
|
|
793
788
|
}
|
|
794
789
|
};
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
790
|
+
}
|
|
791
|
+
let cacheSize = 0;
|
|
792
|
+
let cache = /* @__PURE__ */ Object.create(null);
|
|
793
|
+
let previousCache = /* @__PURE__ */ Object.create(null);
|
|
794
|
+
const update = (key, value) => {
|
|
795
|
+
cache[key] = value;
|
|
796
|
+
cacheSize++;
|
|
797
|
+
if (cacheSize > maxCacheSize) {
|
|
798
|
+
cacheSize = 0;
|
|
799
|
+
previousCache = cache;
|
|
800
|
+
cache = /* @__PURE__ */ Object.create(null);
|
|
801
|
+
}
|
|
802
|
+
};
|
|
803
|
+
return {
|
|
804
|
+
get(key) {
|
|
805
|
+
let value = cache[key];
|
|
806
|
+
if (value !== void 0) {
|
|
807
|
+
return value;
|
|
808
|
+
}
|
|
809
|
+
if ((value = previousCache[key]) !== void 0) {
|
|
810
|
+
update(key, value);
|
|
811
|
+
return value;
|
|
812
|
+
}
|
|
813
|
+
},
|
|
814
|
+
set(key, value) {
|
|
815
|
+
if (key in cache) {
|
|
816
|
+
cache[key] = value;
|
|
817
|
+
} else {
|
|
818
|
+
update(key, value);
|
|
809
819
|
}
|
|
810
820
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
821
|
+
};
|
|
822
|
+
};
|
|
823
|
+
var IMPORTANT_MODIFIER = "!";
|
|
824
|
+
var MODIFIER_SEPARATOR = ":";
|
|
825
|
+
var EMPTY_MODIFIERS = [];
|
|
826
|
+
var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
|
|
827
|
+
modifiers,
|
|
828
|
+
hasImportantModifier,
|
|
829
|
+
baseClassName,
|
|
830
|
+
maybePostfixModifierPosition,
|
|
831
|
+
isExternal
|
|
832
|
+
});
|
|
833
|
+
var createParseClassName = (config) => {
|
|
834
|
+
const {
|
|
835
|
+
prefix,
|
|
836
|
+
experimentalParseClassName
|
|
837
|
+
} = config;
|
|
838
|
+
let parseClassName = (className) => {
|
|
839
|
+
const modifiers = [];
|
|
840
|
+
let bracketDepth = 0;
|
|
841
|
+
let parenDepth = 0;
|
|
842
|
+
let modifierStart = 0;
|
|
843
|
+
let postfixModifierPosition;
|
|
844
|
+
const len = className.length;
|
|
845
|
+
for (let index = 0; index < len; index++) {
|
|
846
|
+
const currentCharacter = className[index];
|
|
847
|
+
if (bracketDepth === 0 && parenDepth === 0) {
|
|
848
|
+
if (currentCharacter === MODIFIER_SEPARATOR) {
|
|
849
|
+
modifiers.push(className.slice(modifierStart, index));
|
|
850
|
+
modifierStart = index + 1;
|
|
851
|
+
continue;
|
|
827
852
|
}
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
adapterConfig[arg1] = arg2;
|
|
832
|
-
} else if (arg1 && typeof arg1 === "object") {
|
|
833
|
-
adapterConfig = {
|
|
834
|
-
...adapterConfig,
|
|
835
|
-
...arg1
|
|
836
|
-
};
|
|
853
|
+
if (currentCharacter === "/") {
|
|
854
|
+
postfixModifierPosition = index;
|
|
855
|
+
continue;
|
|
837
856
|
}
|
|
838
|
-
},
|
|
839
|
-
button: (_a2 = buttonRef.current) != null ? _a2 : void 0,
|
|
840
|
-
get formData() {
|
|
841
|
-
return submissionValues;
|
|
842
|
-
},
|
|
843
|
-
form: context,
|
|
844
|
-
continue: true
|
|
845
|
-
};
|
|
846
|
-
if (currentProps.onSubmit) {
|
|
847
|
-
try {
|
|
848
|
-
await currentProps.onSubmit(event);
|
|
849
|
-
} catch (err) {
|
|
850
|
-
finish();
|
|
851
|
-
throw err;
|
|
852
857
|
}
|
|
858
|
+
if (currentCharacter === "[") bracketDepth++;
|
|
859
|
+
else if (currentCharacter === "]") bracketDepth--;
|
|
860
|
+
else if (currentCharacter === "(") parenDepth++;
|
|
861
|
+
else if (currentCharacter === ")") parenDepth--;
|
|
853
862
|
}
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
863
|
+
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
|
|
864
|
+
let baseClassName = baseClassNameWithImportantModifier;
|
|
865
|
+
let hasImportantModifier = false;
|
|
866
|
+
if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
|
|
867
|
+
baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
|
|
868
|
+
hasImportantModifier = true;
|
|
869
|
+
} else if (
|
|
870
|
+
/**
|
|
871
|
+
* In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
|
|
872
|
+
* @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
|
|
873
|
+
*/
|
|
874
|
+
baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)
|
|
875
|
+
) {
|
|
876
|
+
baseClassName = baseClassNameWithImportantModifier.slice(1);
|
|
877
|
+
hasImportantModifier = true;
|
|
857
878
|
}
|
|
858
|
-
const
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
});
|
|
872
|
-
}
|
|
873
|
-
},
|
|
874
|
-
onError(err, updateRef) {
|
|
875
|
-
var _a3;
|
|
876
|
-
if (!autoErr || !err || typeof err !== "object") {
|
|
877
|
-
return;
|
|
878
|
-
}
|
|
879
|
-
const anyErr = err;
|
|
880
|
-
if (anyErr.errors && typeof anyErr.errors === "object") {
|
|
881
|
-
const { fieldErrors, uncaught } = mapErrorBag(
|
|
882
|
-
(_a3 = anyErr.errors) != null ? _a3 : {}
|
|
883
|
-
);
|
|
884
|
-
if (updateRef) {
|
|
885
|
-
errorsRef.current = fieldErrors;
|
|
886
|
-
} else
|
|
887
|
-
for (const [name, message2] of Object.entries(
|
|
888
|
-
fieldErrors
|
|
889
|
-
)) {
|
|
890
|
-
setFieldError(name, message2);
|
|
891
|
-
}
|
|
892
|
-
if (uncaught.length) {
|
|
893
|
-
uncaughtRef.current.push(...uncaught);
|
|
894
|
-
}
|
|
895
|
-
}
|
|
896
|
-
},
|
|
897
|
-
onFinish() {
|
|
898
|
-
const maybe = propsRef.current.onFinish;
|
|
899
|
-
if (maybe) {
|
|
900
|
-
maybe(context);
|
|
901
|
-
}
|
|
902
|
-
finish();
|
|
903
|
-
}
|
|
904
|
-
}
|
|
879
|
+
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
|
|
880
|
+
return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
|
|
881
|
+
};
|
|
882
|
+
if (prefix) {
|
|
883
|
+
const fullPrefix = prefix + MODIFIER_SEPARATOR;
|
|
884
|
+
const parseClassNameOriginal = parseClassName;
|
|
885
|
+
parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
|
|
886
|
+
}
|
|
887
|
+
if (experimentalParseClassName) {
|
|
888
|
+
const parseClassNameOriginal = parseClassName;
|
|
889
|
+
parseClassName = (className) => experimentalParseClassName({
|
|
890
|
+
className,
|
|
891
|
+
parseClassName: parseClassNameOriginal
|
|
905
892
|
});
|
|
906
|
-
if (autoRun) {
|
|
907
|
-
try {
|
|
908
|
-
await adapter.send();
|
|
909
|
-
} catch (e4) {
|
|
910
|
-
console.log("Adapter failed to send.", e4);
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
return adapter;
|
|
914
893
|
}
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
const { valueBag, valueFeed } = propsRef.current;
|
|
935
|
-
const trimmed = ((_b2 = field.name) != null ? _b2 : "").trim();
|
|
936
|
-
const hasName = !!trimmed;
|
|
937
|
-
const isArray = hasName && trimmed.endsWith("[]");
|
|
938
|
-
const base = hasName ? trimmed.replace(/\[]$/, "") : "";
|
|
939
|
-
const sharedKey = field.shared;
|
|
940
|
-
if (valueBag && !field.ignore && hasName) {
|
|
941
|
-
const sourceRoot = sharedKey && valueBag[sharedKey] ? valueBag[sharedKey] : valueBag;
|
|
942
|
-
let value = void 0;
|
|
943
|
-
if (sourceRoot && typeof sourceRoot === "object") {
|
|
944
|
-
if (isArray && Array.isArray(sourceRoot[base])) {
|
|
945
|
-
const siblings = fetchAllNamedFields().filter((f2) => {
|
|
946
|
-
var _a3;
|
|
947
|
-
const rn = ((_a3 = f2.name) != null ? _a3 : "").trim();
|
|
948
|
-
return rn === trimmed && f2.shared === sharedKey;
|
|
949
|
-
});
|
|
950
|
-
const idx = siblings.length;
|
|
951
|
-
value = sourceRoot[base][idx];
|
|
952
|
-
} else {
|
|
953
|
-
value = sourceRoot[base];
|
|
954
|
-
}
|
|
955
|
-
}
|
|
956
|
-
let hydrated = value;
|
|
957
|
-
if (valueFeed) {
|
|
958
|
-
const maybe = valueFeed(
|
|
959
|
-
base,
|
|
960
|
-
value,
|
|
961
|
-
context
|
|
962
|
-
);
|
|
963
|
-
if (typeof maybe !== "undefined") {
|
|
964
|
-
hydrated = maybe;
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
if (typeof hydrated !== "undefined") {
|
|
968
|
-
const anyField = field;
|
|
969
|
-
if (typeof anyField.setValue === "function") {
|
|
970
|
-
anyField.setValue(hydrated);
|
|
971
|
-
} else {
|
|
972
|
-
anyField.value = hydrated;
|
|
973
|
-
}
|
|
894
|
+
return parseClassName;
|
|
895
|
+
};
|
|
896
|
+
var createSortModifiers = (config) => {
|
|
897
|
+
const modifierWeights = /* @__PURE__ */ new Map();
|
|
898
|
+
config.orderSensitiveModifiers.forEach((mod, index) => {
|
|
899
|
+
modifierWeights.set(mod, 1e6 + index);
|
|
900
|
+
});
|
|
901
|
+
return (modifiers) => {
|
|
902
|
+
const result = [];
|
|
903
|
+
let currentSegment = [];
|
|
904
|
+
for (let i3 = 0; i3 < modifiers.length; i3++) {
|
|
905
|
+
const modifier = modifiers[i3];
|
|
906
|
+
const isArbitrary = modifier[0] === "[";
|
|
907
|
+
const isOrderSensitive = modifierWeights.has(modifier);
|
|
908
|
+
if (isArbitrary || isOrderSensitive) {
|
|
909
|
+
if (currentSegment.length > 0) {
|
|
910
|
+
currentSegment.sort();
|
|
911
|
+
result.push(...currentSegment);
|
|
912
|
+
currentSegment = [];
|
|
974
913
|
}
|
|
914
|
+
result.push(modifier);
|
|
915
|
+
} else {
|
|
916
|
+
currentSegment.push(modifier);
|
|
975
917
|
}
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
918
|
+
}
|
|
919
|
+
if (currentSegment.length > 0) {
|
|
920
|
+
currentSegment.sort();
|
|
921
|
+
result.push(...currentSegment);
|
|
922
|
+
}
|
|
923
|
+
return result;
|
|
924
|
+
};
|
|
925
|
+
};
|
|
926
|
+
var createConfigUtils = (config) => ({
|
|
927
|
+
cache: createLruCache(config.cacheSize),
|
|
928
|
+
parseClassName: createParseClassName(config),
|
|
929
|
+
sortModifiers: createSortModifiers(config),
|
|
930
|
+
...createClassGroupUtils(config)
|
|
931
|
+
});
|
|
932
|
+
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
933
|
+
var mergeClassList = (classList, configUtils) => {
|
|
934
|
+
const {
|
|
935
|
+
parseClassName,
|
|
936
|
+
getClassGroupId,
|
|
937
|
+
getConflictingClassGroupIds,
|
|
938
|
+
sortModifiers
|
|
939
|
+
} = configUtils;
|
|
940
|
+
const classGroupsInConflict = [];
|
|
941
|
+
const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
|
|
942
|
+
let result = "";
|
|
943
|
+
for (let index = classNames.length - 1; index >= 0; index -= 1) {
|
|
944
|
+
const originalClassName = classNames[index];
|
|
945
|
+
const {
|
|
946
|
+
isExternal,
|
|
947
|
+
modifiers,
|
|
948
|
+
hasImportantModifier,
|
|
949
|
+
baseClassName,
|
|
950
|
+
maybePostfixModifierPosition
|
|
951
|
+
} = parseClassName(originalClassName);
|
|
952
|
+
if (isExternal) {
|
|
953
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
954
|
+
continue;
|
|
955
|
+
}
|
|
956
|
+
let hasPostfixModifier = !!maybePostfixModifierPosition;
|
|
957
|
+
let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
958
|
+
if (!classGroupId) {
|
|
959
|
+
if (!hasPostfixModifier) {
|
|
960
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
961
|
+
continue;
|
|
994
962
|
}
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
const btn = buttonRef.current;
|
|
1000
|
-
const activeName = activeButtonNameRef.current;
|
|
1001
|
-
if (!btn || btn.name !== activeName) {
|
|
1002
|
-
return;
|
|
963
|
+
classGroupId = getClassGroupId(baseClassName);
|
|
964
|
+
if (!classGroupId) {
|
|
965
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
966
|
+
continue;
|
|
1003
967
|
}
|
|
1004
|
-
|
|
1005
|
-
|
|
968
|
+
hasPostfixModifier = false;
|
|
969
|
+
}
|
|
970
|
+
const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
|
|
971
|
+
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
972
|
+
const classId = modifierId + classGroupId;
|
|
973
|
+
if (classGroupsInConflict.indexOf(classId) > -1) {
|
|
974
|
+
continue;
|
|
975
|
+
}
|
|
976
|
+
classGroupsInConflict.push(classId);
|
|
977
|
+
const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
|
|
978
|
+
for (let i3 = 0; i3 < conflictGroups.length; ++i3) {
|
|
979
|
+
const group = conflictGroups[i3];
|
|
980
|
+
classGroupsInConflict.push(modifierId + group);
|
|
981
|
+
}
|
|
982
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
983
|
+
}
|
|
984
|
+
return result;
|
|
985
|
+
};
|
|
986
|
+
var twJoin = (...classLists) => {
|
|
987
|
+
let index = 0;
|
|
988
|
+
let argument;
|
|
989
|
+
let resolvedValue;
|
|
990
|
+
let string = "";
|
|
991
|
+
while (index < classLists.length) {
|
|
992
|
+
if (argument = classLists[index++]) {
|
|
993
|
+
if (resolvedValue = toValue(argument)) {
|
|
994
|
+
string && (string += " ");
|
|
995
|
+
string += resolvedValue;
|
|
1006
996
|
}
|
|
1007
|
-
const current = collectValues();
|
|
1008
|
-
const original = originalRef.current;
|
|
1009
|
-
const dirty = !deepEqual(original, current);
|
|
1010
|
-
const setDisabled = (disabled) => {
|
|
1011
|
-
if (typeof btn.setDisabled === "function") {
|
|
1012
|
-
btn.setDisabled(disabled);
|
|
1013
|
-
} else if ("disabled" in btn) {
|
|
1014
|
-
btn.disabled = disabled;
|
|
1015
|
-
}
|
|
1016
|
-
};
|
|
1017
|
-
setDisabled(!dirty);
|
|
1018
|
-
},
|
|
1019
|
-
isDirty() {
|
|
1020
|
-
if (!originalRef.current) {
|
|
1021
|
-
originalRef.current = collectValues();
|
|
1022
|
-
}
|
|
1023
|
-
const current = collectValues();
|
|
1024
|
-
const original = originalRef.current;
|
|
1025
|
-
return !deepEqual(original, current);
|
|
1026
|
-
},
|
|
1027
|
-
async prepare(type, route, extra, ignoreForm, autoErr) {
|
|
1028
|
-
const override = {
|
|
1029
|
-
method: type,
|
|
1030
|
-
url: route
|
|
1031
|
-
};
|
|
1032
|
-
return submitWithAdapter(
|
|
1033
|
-
override,
|
|
1034
|
-
extra,
|
|
1035
|
-
ignoreForm,
|
|
1036
|
-
autoErr,
|
|
1037
|
-
false
|
|
1038
|
-
);
|
|
1039
|
-
},
|
|
1040
|
-
persist(data, feed) {
|
|
1041
|
-
var _a2, _b2;
|
|
1042
|
-
const seen = {};
|
|
1043
|
-
const root = data;
|
|
1044
|
-
const useFeed = feed || (propsRef.current.valueFeed ? (name, value, original) => {
|
|
1045
|
-
const vf = propsRef.current.valueFeed;
|
|
1046
|
-
const maybe = vf(
|
|
1047
|
-
name,
|
|
1048
|
-
value,
|
|
1049
|
-
context
|
|
1050
|
-
);
|
|
1051
|
-
return typeof maybe === "undefined" ? original : maybe;
|
|
1052
|
-
} : void 0);
|
|
1053
|
-
for (const field of fetchAllNamedFields()) {
|
|
1054
|
-
const rawName = field.name;
|
|
1055
|
-
if (!rawName) continue;
|
|
1056
|
-
if (field.ignore) continue;
|
|
1057
|
-
const trimmed = rawName.trim();
|
|
1058
|
-
if (!trimmed) continue;
|
|
1059
|
-
const isArray = trimmed.endsWith("[]");
|
|
1060
|
-
const base = trimmed.replace(/\[]$/, "");
|
|
1061
|
-
const sharedKey = field.shared;
|
|
1062
|
-
const key = sharedKey ? `${sharedKey}.${base}` : base;
|
|
1063
|
-
let value = void 0;
|
|
1064
|
-
if (sharedKey) {
|
|
1065
|
-
const group = root[sharedKey];
|
|
1066
|
-
if (group && typeof group === "object") {
|
|
1067
|
-
if (isArray && Array.isArray(group[base])) {
|
|
1068
|
-
const idx = (_a2 = seen[key]) != null ? _a2 : 0;
|
|
1069
|
-
value = group[base][idx];
|
|
1070
|
-
seen[key] = idx + 1;
|
|
1071
|
-
} else {
|
|
1072
|
-
value = group[base];
|
|
1073
|
-
}
|
|
1074
|
-
}
|
|
1075
|
-
} else {
|
|
1076
|
-
if (isArray && Array.isArray(root[base])) {
|
|
1077
|
-
const idx = (_b2 = seen[key]) != null ? _b2 : 0;
|
|
1078
|
-
value = root[base][idx];
|
|
1079
|
-
seen[key] = idx + 1;
|
|
1080
|
-
} else {
|
|
1081
|
-
value = root[base];
|
|
1082
|
-
}
|
|
1083
|
-
}
|
|
1084
|
-
const anyField = field;
|
|
1085
|
-
const original = typeof anyField.getValue === "function" ? anyField.getValue() : anyField.value;
|
|
1086
|
-
let next = value;
|
|
1087
|
-
if (useFeed) {
|
|
1088
|
-
const maybe = useFeed(base, value, original);
|
|
1089
|
-
if (typeof maybe === "undefined") {
|
|
1090
|
-
continue;
|
|
1091
|
-
}
|
|
1092
|
-
next = maybe;
|
|
1093
|
-
}
|
|
1094
|
-
if (typeof anyField.setValue === "function") {
|
|
1095
|
-
anyField.setValue(next);
|
|
1096
|
-
} else {
|
|
1097
|
-
anyField.value = next;
|
|
1098
|
-
}
|
|
1099
|
-
}
|
|
1100
|
-
if (propsRef.current.onUpdate) {
|
|
1101
|
-
propsRef.current.onUpdate(collectValues());
|
|
1102
|
-
}
|
|
1103
|
-
},
|
|
1104
|
-
setValue(name, value) {
|
|
1105
|
-
if (!name) return;
|
|
1106
|
-
let sharedKey;
|
|
1107
|
-
let base = name;
|
|
1108
|
-
if (name.includes(".")) {
|
|
1109
|
-
const [group, field] = name.split(".", 2);
|
|
1110
|
-
sharedKey = group;
|
|
1111
|
-
base = field;
|
|
1112
|
-
}
|
|
1113
|
-
const targetField = fetchAllNamedFields().find((f2) => {
|
|
1114
|
-
var _a2;
|
|
1115
|
-
const raw = ((_a2 = f2.name) != null ? _a2 : "").trim();
|
|
1116
|
-
if (!raw) return false;
|
|
1117
|
-
const isArray = raw.endsWith("[]");
|
|
1118
|
-
const rawBase = raw.replace(/\[]$/, "");
|
|
1119
|
-
const fShared = f2.shared;
|
|
1120
|
-
const sameGroup = fShared === sharedKey;
|
|
1121
|
-
const sameName = raw === name || rawBase === base || `${fShared}.${rawBase}` === name;
|
|
1122
|
-
return (!sharedKey || sameGroup) && sameName && !isArray;
|
|
1123
|
-
});
|
|
1124
|
-
if (targetField) {
|
|
1125
|
-
const anyField = targetField;
|
|
1126
|
-
if (typeof anyField.setValue === "function") {
|
|
1127
|
-
anyField.setValue(value);
|
|
1128
|
-
} else {
|
|
1129
|
-
anyField.value = value;
|
|
1130
|
-
}
|
|
1131
|
-
} else {
|
|
1132
|
-
bucketRef.current[name] = value;
|
|
1133
|
-
}
|
|
1134
|
-
if (propsRef.current.onUpdate) {
|
|
1135
|
-
propsRef.current.onUpdate(collectValues());
|
|
1136
|
-
}
|
|
1137
|
-
},
|
|
1138
|
-
go(data, ignoreForm) {
|
|
1139
|
-
void submitWithAdapter(void 0, data, ignoreForm, true, true);
|
|
1140
|
-
},
|
|
1141
|
-
reset(inputs) {
|
|
1142
|
-
if (!inputs.length) return;
|
|
1143
|
-
for (const field of fetchAllNamedFields()) {
|
|
1144
|
-
const raw = field.name;
|
|
1145
|
-
if (!raw) continue;
|
|
1146
|
-
if (!inputs.includes(raw)) continue;
|
|
1147
|
-
const anyField = field;
|
|
1148
|
-
if (typeof anyField.reset === "function") {
|
|
1149
|
-
anyField.reset();
|
|
1150
|
-
} else if (typeof anyField.setValue === "function") {
|
|
1151
|
-
anyField.setValue(void 0);
|
|
1152
|
-
} else {
|
|
1153
|
-
anyField.value = void 0;
|
|
1154
|
-
}
|
|
1155
|
-
}
|
|
1156
|
-
},
|
|
1157
|
-
set button(btn) {
|
|
1158
|
-
buttonRef.current = btn;
|
|
1159
|
-
},
|
|
1160
|
-
async forceSubmit() {
|
|
1161
|
-
await submitWithAdapter(void 0, void 0, false, true, true);
|
|
1162
|
-
},
|
|
1163
|
-
get fields() {
|
|
1164
|
-
return fetchAllNamedFields();
|
|
1165
|
-
},
|
|
1166
|
-
get props() {
|
|
1167
|
-
const { formRef, valueBag, ...rest } = propsRef.current;
|
|
1168
|
-
return rest;
|
|
1169
|
-
},
|
|
1170
|
-
setActiveButton(name) {
|
|
1171
|
-
activeButtonNameRef.current = name;
|
|
1172
|
-
},
|
|
1173
|
-
hasUncaughtErrors,
|
|
1174
|
-
getUncaught() {
|
|
1175
|
-
return uncaughtRef.current;
|
|
1176
|
-
}
|
|
1177
|
-
};
|
|
1178
|
-
React68__namespace.useEffect(() => {
|
|
1179
|
-
if (!props.formRef) return;
|
|
1180
|
-
props.formRef.current = context;
|
|
1181
|
-
return () => {
|
|
1182
|
-
if (props.formRef) {
|
|
1183
|
-
props.formRef.current = null;
|
|
1184
|
-
}
|
|
1185
|
-
};
|
|
1186
|
-
}, [context]);
|
|
1187
|
-
React68__namespace.useEffect(() => {
|
|
1188
|
-
if (props.init) {
|
|
1189
|
-
props.init(context);
|
|
1190
997
|
}
|
|
1191
|
-
}, []);
|
|
1192
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CoreContextReact.Provider, { value: context, children: props.children });
|
|
1193
|
-
}
|
|
1194
|
-
function useCoreContext() {
|
|
1195
|
-
const ctx = React68.useContext(CoreContextReact);
|
|
1196
|
-
if (!ctx) {
|
|
1197
|
-
throw new Error("useCoreContext must be used within a <CoreProvider>.");
|
|
1198
998
|
}
|
|
1199
|
-
return
|
|
1200
|
-
}
|
|
1201
|
-
|
|
1202
|
-
// src/core/hooks/use-core.ts
|
|
1203
|
-
function useCore() {
|
|
1204
|
-
return useCoreContext();
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
|
-
// ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
1208
|
-
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
1209
|
-
var toCamelCase = (string) => string.replace(
|
|
1210
|
-
/^([A-Z])|[\s-_]+(\w)/g,
|
|
1211
|
-
(match2, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
1212
|
-
);
|
|
1213
|
-
var toPascalCase = (string) => {
|
|
1214
|
-
const camelCase = toCamelCase(string);
|
|
1215
|
-
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
999
|
+
return string;
|
|
1216
1000
|
};
|
|
1217
|
-
var
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1001
|
+
var toValue = (mix) => {
|
|
1002
|
+
if (typeof mix === "string") {
|
|
1003
|
+
return mix;
|
|
1004
|
+
}
|
|
1005
|
+
let resolvedValue;
|
|
1006
|
+
let string = "";
|
|
1007
|
+
for (let k2 = 0; k2 < mix.length; k2++) {
|
|
1008
|
+
if (mix[k2]) {
|
|
1009
|
+
if (resolvedValue = toValue(mix[k2])) {
|
|
1010
|
+
string && (string += " ");
|
|
1011
|
+
string += resolvedValue;
|
|
1012
|
+
}
|
|
1224
1013
|
}
|
|
1225
1014
|
}
|
|
1015
|
+
return string;
|
|
1226
1016
|
};
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1017
|
+
var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
|
|
1018
|
+
let configUtils;
|
|
1019
|
+
let cacheGet;
|
|
1020
|
+
let cacheSet;
|
|
1021
|
+
let functionToCall;
|
|
1022
|
+
const initTailwindMerge = (classList) => {
|
|
1023
|
+
const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
|
|
1024
|
+
configUtils = createConfigUtils(config);
|
|
1025
|
+
cacheGet = configUtils.cache.get;
|
|
1026
|
+
cacheSet = configUtils.cache.set;
|
|
1027
|
+
functionToCall = tailwindMerge;
|
|
1028
|
+
return tailwindMerge(classList);
|
|
1029
|
+
};
|
|
1030
|
+
const tailwindMerge = (classList) => {
|
|
1031
|
+
const cachedResult = cacheGet(classList);
|
|
1032
|
+
if (cachedResult) {
|
|
1033
|
+
return cachedResult;
|
|
1034
|
+
}
|
|
1035
|
+
const result = mergeClassList(classList, configUtils);
|
|
1036
|
+
cacheSet(classList, result);
|
|
1037
|
+
return result;
|
|
1038
|
+
};
|
|
1039
|
+
functionToCall = initTailwindMerge;
|
|
1040
|
+
return (...args) => functionToCall(twJoin(...args));
|
|
1239
1041
|
};
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
size = 24,
|
|
1246
|
-
strokeWidth = 2,
|
|
1247
|
-
absoluteStrokeWidth,
|
|
1248
|
-
className = "",
|
|
1249
|
-
children,
|
|
1250
|
-
iconNode,
|
|
1251
|
-
...rest
|
|
1252
|
-
}, ref) => React68.createElement(
|
|
1253
|
-
"svg",
|
|
1254
|
-
{
|
|
1255
|
-
ref,
|
|
1256
|
-
...defaultAttributes,
|
|
1257
|
-
width: size,
|
|
1258
|
-
height: size,
|
|
1259
|
-
stroke: color,
|
|
1260
|
-
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
1261
|
-
className: mergeClasses("lucide", className),
|
|
1262
|
-
...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
1263
|
-
...rest
|
|
1264
|
-
},
|
|
1265
|
-
[
|
|
1266
|
-
...iconNode.map(([tag, attrs]) => React68.createElement(tag, attrs)),
|
|
1267
|
-
...Array.isArray(children) ? children : [children]
|
|
1268
|
-
]
|
|
1269
|
-
)
|
|
1270
|
-
);
|
|
1271
|
-
|
|
1272
|
-
// ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1273
|
-
var createLucideIcon = (iconName, iconNode) => {
|
|
1274
|
-
const Component = React68.forwardRef(
|
|
1275
|
-
({ className, ...props }, ref) => React68.createElement(Icon, {
|
|
1276
|
-
ref,
|
|
1277
|
-
iconNode,
|
|
1278
|
-
className: mergeClasses(
|
|
1279
|
-
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
1280
|
-
`lucide-${iconName}`,
|
|
1281
|
-
className
|
|
1282
|
-
),
|
|
1283
|
-
...props
|
|
1284
|
-
})
|
|
1285
|
-
);
|
|
1286
|
-
Component.displayName = toPascalCase(iconName);
|
|
1287
|
-
return Component;
|
|
1042
|
+
var fallbackThemeArr = [];
|
|
1043
|
+
var fromTheme = (key) => {
|
|
1044
|
+
const themeGetter = (theme) => theme[key] || fallbackThemeArr;
|
|
1045
|
+
themeGetter.isThemeGetter = true;
|
|
1046
|
+
return themeGetter;
|
|
1288
1047
|
};
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
var
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
var
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
var
|
|
1301
|
-
var
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
var
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
var
|
|
1313
|
-
var
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
var
|
|
1317
|
-
var
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
var
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
var
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
];
|
|
1332
|
-
var CircleCheck = createLucideIcon("circle-check", __iconNode8);
|
|
1333
|
-
|
|
1334
|
-
// ../../node_modules/lucide-react/dist/esm/icons/circle.js
|
|
1335
|
-
var __iconNode9 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
1336
|
-
var Circle = createLucideIcon("circle", __iconNode9);
|
|
1337
|
-
|
|
1338
|
-
// ../../node_modules/lucide-react/dist/esm/icons/cloud-upload.js
|
|
1339
|
-
var __iconNode10 = [
|
|
1340
|
-
["path", { d: "M12 13v8", key: "1l5pq0" }],
|
|
1341
|
-
["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
|
|
1342
|
-
["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
|
|
1343
|
-
];
|
|
1344
|
-
var CloudUpload = createLucideIcon("cloud-upload", __iconNode10);
|
|
1345
|
-
|
|
1346
|
-
// ../../node_modules/lucide-react/dist/esm/icons/code-xml.js
|
|
1347
|
-
var __iconNode11 = [
|
|
1348
|
-
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
1349
|
-
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
1350
|
-
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
1351
|
-
];
|
|
1352
|
-
var CodeXml = createLucideIcon("code-xml", __iconNode11);
|
|
1353
|
-
|
|
1354
|
-
// ../../node_modules/lucide-react/dist/esm/icons/ellipsis.js
|
|
1355
|
-
var __iconNode12 = [
|
|
1356
|
-
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1357
|
-
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
1358
|
-
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
1359
|
-
];
|
|
1360
|
-
var Ellipsis = createLucideIcon("ellipsis", __iconNode12);
|
|
1361
|
-
|
|
1362
|
-
// ../../node_modules/lucide-react/dist/esm/icons/eye-off.js
|
|
1363
|
-
var __iconNode13 = [
|
|
1364
|
-
[
|
|
1365
|
-
"path",
|
|
1366
|
-
{
|
|
1367
|
-
d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
|
|
1368
|
-
key: "ct8e1f"
|
|
1369
|
-
}
|
|
1370
|
-
],
|
|
1371
|
-
["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }],
|
|
1372
|
-
[
|
|
1373
|
-
"path",
|
|
1374
|
-
{
|
|
1375
|
-
d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
|
|
1376
|
-
key: "13bj9a"
|
|
1377
|
-
}
|
|
1378
|
-
],
|
|
1379
|
-
["path", { d: "m2 2 20 20", key: "1ooewy" }]
|
|
1380
|
-
];
|
|
1381
|
-
var EyeOff = createLucideIcon("eye-off", __iconNode13);
|
|
1382
|
-
|
|
1383
|
-
// ../../node_modules/lucide-react/dist/esm/icons/eye.js
|
|
1384
|
-
var __iconNode14 = [
|
|
1385
|
-
[
|
|
1386
|
-
"path",
|
|
1387
|
-
{
|
|
1388
|
-
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
|
|
1389
|
-
key: "1nclc0"
|
|
1390
|
-
}
|
|
1391
|
-
],
|
|
1392
|
-
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
1393
|
-
];
|
|
1394
|
-
var Eye = createLucideIcon("eye", __iconNode14);
|
|
1395
|
-
|
|
1396
|
-
// ../../node_modules/lucide-react/dist/esm/icons/file.js
|
|
1397
|
-
var __iconNode15 = [
|
|
1398
|
-
[
|
|
1399
|
-
"path",
|
|
1400
|
-
{
|
|
1401
|
-
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
1402
|
-
key: "1oefj6"
|
|
1403
|
-
}
|
|
1404
|
-
],
|
|
1405
|
-
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }]
|
|
1406
|
-
];
|
|
1407
|
-
var File2 = createLucideIcon("file", __iconNode15);
|
|
1408
|
-
|
|
1409
|
-
// ../../node_modules/lucide-react/dist/esm/icons/folder-open.js
|
|
1410
|
-
var __iconNode16 = [
|
|
1411
|
-
[
|
|
1412
|
-
"path",
|
|
1413
|
-
{
|
|
1414
|
-
d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
|
|
1415
|
-
key: "usdka0"
|
|
1048
|
+
var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
|
|
1049
|
+
var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
|
|
1050
|
+
var fractionRegex = /^\d+\/\d+$/;
|
|
1051
|
+
var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
1052
|
+
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$/;
|
|
1053
|
+
var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
|
|
1054
|
+
var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
1055
|
+
var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
|
|
1056
|
+
var isFraction = (value) => fractionRegex.test(value);
|
|
1057
|
+
var isNumber = (value) => !!value && !Number.isNaN(Number(value));
|
|
1058
|
+
var isInteger = (value) => !!value && Number.isInteger(Number(value));
|
|
1059
|
+
var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
|
|
1060
|
+
var isTshirtSize = (value) => tshirtUnitRegex.test(value);
|
|
1061
|
+
var isAny = () => true;
|
|
1062
|
+
var isLengthOnly = (value) => (
|
|
1063
|
+
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
1064
|
+
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
1065
|
+
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
1066
|
+
lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
|
|
1067
|
+
);
|
|
1068
|
+
var isNever = () => false;
|
|
1069
|
+
var isShadow = (value) => shadowRegex.test(value);
|
|
1070
|
+
var isImage = (value) => imageRegex.test(value);
|
|
1071
|
+
var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
|
|
1072
|
+
var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
|
|
1073
|
+
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
1074
|
+
var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
|
|
1075
|
+
var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
|
|
1076
|
+
var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
|
|
1077
|
+
var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
|
|
1078
|
+
var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
|
|
1079
|
+
var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
|
|
1080
|
+
var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
|
|
1081
|
+
var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
|
|
1082
|
+
var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
|
|
1083
|
+
var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
|
|
1084
|
+
var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
|
|
1085
|
+
var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
|
|
1086
|
+
var getIsArbitraryValue = (value, testLabel, testValue) => {
|
|
1087
|
+
const result = arbitraryValueRegex.exec(value);
|
|
1088
|
+
if (result) {
|
|
1089
|
+
if (result[1]) {
|
|
1090
|
+
return testLabel(result[1]);
|
|
1416
1091
|
}
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
1427
|
-
key: "1kt360"
|
|
1428
|
-
}
|
|
1429
|
-
],
|
|
1430
|
-
["path", { d: "M12 10v6", key: "1bos4e" }],
|
|
1431
|
-
["path", { d: "m9 13 3-3 3 3", key: "1pxg3c" }]
|
|
1432
|
-
];
|
|
1433
|
-
var FolderUp = createLucideIcon("folder-up", __iconNode17);
|
|
1434
|
-
|
|
1435
|
-
// ../../node_modules/lucide-react/dist/esm/icons/folder.js
|
|
1436
|
-
var __iconNode18 = [
|
|
1437
|
-
[
|
|
1438
|
-
"path",
|
|
1439
|
-
{
|
|
1440
|
-
d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
1441
|
-
key: "1kt360"
|
|
1442
|
-
}
|
|
1443
|
-
]
|
|
1444
|
-
];
|
|
1445
|
-
var Folder = createLucideIcon("folder", __iconNode18);
|
|
1446
|
-
|
|
1447
|
-
// ../../node_modules/lucide-react/dist/esm/icons/funnel.js
|
|
1448
|
-
var __iconNode19 = [
|
|
1449
|
-
[
|
|
1450
|
-
"path",
|
|
1451
|
-
{
|
|
1452
|
-
d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
|
|
1453
|
-
key: "sc7q7i"
|
|
1454
|
-
}
|
|
1455
|
-
]
|
|
1456
|
-
];
|
|
1457
|
-
var Funnel = createLucideIcon("funnel", __iconNode19);
|
|
1458
|
-
|
|
1459
|
-
// ../../node_modules/lucide-react/dist/esm/icons/globe.js
|
|
1460
|
-
var __iconNode20 = [
|
|
1461
|
-
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1462
|
-
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
1463
|
-
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
1464
|
-
];
|
|
1465
|
-
var Globe = createLucideIcon("globe", __iconNode20);
|
|
1466
|
-
|
|
1467
|
-
// ../../node_modules/lucide-react/dist/esm/icons/loader-circle.js
|
|
1468
|
-
var __iconNode21 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
1469
|
-
var LoaderCircle = createLucideIcon("loader-circle", __iconNode21);
|
|
1470
|
-
|
|
1471
|
-
// ../../node_modules/lucide-react/dist/esm/icons/map-pin.js
|
|
1472
|
-
var __iconNode22 = [
|
|
1473
|
-
[
|
|
1474
|
-
"path",
|
|
1475
|
-
{
|
|
1476
|
-
d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",
|
|
1477
|
-
key: "1r0f0z"
|
|
1478
|
-
}
|
|
1479
|
-
],
|
|
1480
|
-
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
|
|
1481
|
-
];
|
|
1482
|
-
var MapPin = createLucideIcon("map-pin", __iconNode22);
|
|
1483
|
-
|
|
1484
|
-
// ../../node_modules/lucide-react/dist/esm/icons/minus.js
|
|
1485
|
-
var __iconNode23 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
1486
|
-
var Minus = createLucideIcon("minus", __iconNode23);
|
|
1487
|
-
|
|
1488
|
-
// ../../node_modules/lucide-react/dist/esm/icons/palette.js
|
|
1489
|
-
var __iconNode24 = [
|
|
1490
|
-
[
|
|
1491
|
-
"path",
|
|
1492
|
-
{
|
|
1493
|
-
d: "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",
|
|
1494
|
-
key: "e79jfc"
|
|
1495
|
-
}
|
|
1496
|
-
],
|
|
1497
|
-
["circle", { cx: "13.5", cy: "6.5", r: ".5", fill: "currentColor", key: "1okk4w" }],
|
|
1498
|
-
["circle", { cx: "17.5", cy: "10.5", r: ".5", fill: "currentColor", key: "f64h9f" }],
|
|
1499
|
-
["circle", { cx: "6.5", cy: "12.5", r: ".5", fill: "currentColor", key: "qy21gx" }],
|
|
1500
|
-
["circle", { cx: "8.5", cy: "7.5", r: ".5", fill: "currentColor", key: "fotxhn" }]
|
|
1501
|
-
];
|
|
1502
|
-
var Palette = createLucideIcon("palette", __iconNode24);
|
|
1503
|
-
|
|
1504
|
-
// ../../node_modules/lucide-react/dist/esm/icons/pen-line.js
|
|
1505
|
-
var __iconNode25 = [
|
|
1506
|
-
["path", { d: "M13 21h8", key: "1jsn5i" }],
|
|
1507
|
-
[
|
|
1508
|
-
"path",
|
|
1509
|
-
{
|
|
1510
|
-
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
|
|
1511
|
-
key: "1a8usu"
|
|
1512
|
-
}
|
|
1513
|
-
]
|
|
1514
|
-
];
|
|
1515
|
-
var PenLine = createLucideIcon("pen-line", __iconNode25);
|
|
1516
|
-
|
|
1517
|
-
// ../../node_modules/lucide-react/dist/esm/icons/plus.js
|
|
1518
|
-
var __iconNode26 = [
|
|
1519
|
-
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1520
|
-
["path", { d: "M12 5v14", key: "s699le" }]
|
|
1521
|
-
];
|
|
1522
|
-
var Plus = createLucideIcon("plus", __iconNode26);
|
|
1523
|
-
|
|
1524
|
-
// ../../node_modules/lucide-react/dist/esm/icons/search.js
|
|
1525
|
-
var __iconNode27 = [
|
|
1526
|
-
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
1527
|
-
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
1528
|
-
];
|
|
1529
|
-
var Search = createLucideIcon("search", __iconNode27);
|
|
1530
|
-
|
|
1531
|
-
// ../../node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js
|
|
1532
|
-
var __iconNode28 = [
|
|
1533
|
-
["path", { d: "M10 5H3", key: "1qgfaw" }],
|
|
1534
|
-
["path", { d: "M12 19H3", key: "yhmn1j" }],
|
|
1535
|
-
["path", { d: "M14 3v4", key: "1sua03" }],
|
|
1536
|
-
["path", { d: "M16 17v4", key: "1q0r14" }],
|
|
1537
|
-
["path", { d: "M21 12h-9", key: "1o4lsq" }],
|
|
1538
|
-
["path", { d: "M21 19h-5", key: "1rlt1p" }],
|
|
1539
|
-
["path", { d: "M21 5h-7", key: "1oszz2" }],
|
|
1540
|
-
["path", { d: "M8 10v4", key: "tgpxqk" }],
|
|
1541
|
-
["path", { d: "M8 12H3", key: "a7s4jb" }]
|
|
1542
|
-
];
|
|
1543
|
-
var SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode28);
|
|
1544
|
-
|
|
1545
|
-
// ../../node_modules/lucide-react/dist/esm/icons/square-split-vertical.js
|
|
1546
|
-
var __iconNode29 = [
|
|
1547
|
-
["path", { d: "M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3", key: "1pi83i" }],
|
|
1548
|
-
["path", { d: "M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3", key: "ido5k7" }],
|
|
1549
|
-
["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }]
|
|
1550
|
-
];
|
|
1551
|
-
var SquareSplitVertical = createLucideIcon("square-split-vertical", __iconNode29);
|
|
1552
|
-
|
|
1553
|
-
// ../../node_modules/lucide-react/dist/esm/icons/tag.js
|
|
1554
|
-
var __iconNode30 = [
|
|
1555
|
-
[
|
|
1556
|
-
"path",
|
|
1557
|
-
{
|
|
1558
|
-
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
|
|
1559
|
-
key: "vktsd0"
|
|
1560
|
-
}
|
|
1561
|
-
],
|
|
1562
|
-
["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
|
|
1563
|
-
];
|
|
1564
|
-
var Tag = createLucideIcon("tag", __iconNode30);
|
|
1565
|
-
|
|
1566
|
-
// ../../node_modules/lucide-react/dist/esm/icons/trash-2.js
|
|
1567
|
-
var __iconNode31 = [
|
|
1568
|
-
["path", { d: "M10 11v6", key: "nco0om" }],
|
|
1569
|
-
["path", { d: "M14 11v6", key: "outv1u" }],
|
|
1570
|
-
["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
|
|
1571
|
-
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
1572
|
-
["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
|
|
1573
|
-
];
|
|
1574
|
-
var Trash2 = createLucideIcon("trash-2", __iconNode31);
|
|
1575
|
-
|
|
1576
|
-
// ../../node_modules/lucide-react/dist/esm/icons/upload.js
|
|
1577
|
-
var __iconNode32 = [
|
|
1578
|
-
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
1579
|
-
["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
|
|
1580
|
-
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
|
|
1581
|
-
];
|
|
1582
|
-
var Upload = createLucideIcon("upload", __iconNode32);
|
|
1583
|
-
|
|
1584
|
-
// ../../node_modules/lucide-react/dist/esm/icons/x.js
|
|
1585
|
-
var __iconNode33 = [
|
|
1586
|
-
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
1587
|
-
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
1588
|
-
];
|
|
1589
|
-
var X = createLucideIcon("x", __iconNode33);
|
|
1590
|
-
|
|
1591
|
-
// ../../node_modules/clsx/dist/clsx.mjs
|
|
1592
|
-
function r(e4) {
|
|
1593
|
-
var t4, f2, n3 = "";
|
|
1594
|
-
if ("string" == typeof e4 || "number" == typeof e4) n3 += e4;
|
|
1595
|
-
else if ("object" == typeof e4) if (Array.isArray(e4)) {
|
|
1596
|
-
var o3 = e4.length;
|
|
1597
|
-
for (t4 = 0; t4 < o3; t4++) e4[t4] && (f2 = r(e4[t4])) && (n3 && (n3 += " "), n3 += f2);
|
|
1598
|
-
} else for (f2 in e4) e4[f2] && (n3 && (n3 += " "), n3 += f2);
|
|
1599
|
-
return n3;
|
|
1600
|
-
}
|
|
1601
|
-
function clsx() {
|
|
1602
|
-
for (var e4, t4, f2 = 0, n3 = "", o3 = arguments.length; f2 < o3; f2++) (e4 = arguments[f2]) && (t4 = r(e4)) && (n3 && (n3 += " "), n3 += t4);
|
|
1603
|
-
return n3;
|
|
1604
|
-
}
|
|
1605
|
-
|
|
1606
|
-
// ../../node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
1607
|
-
var concatArrays = (array1, array2) => {
|
|
1608
|
-
const combinedArray = new Array(array1.length + array2.length);
|
|
1609
|
-
for (let i3 = 0; i3 < array1.length; i3++) {
|
|
1610
|
-
combinedArray[i3] = array1[i3];
|
|
1611
|
-
}
|
|
1612
|
-
for (let i3 = 0; i3 < array2.length; i3++) {
|
|
1613
|
-
combinedArray[array1.length + i3] = array2[i3];
|
|
1614
|
-
}
|
|
1615
|
-
return combinedArray;
|
|
1616
|
-
};
|
|
1617
|
-
var createClassValidatorObject = (classGroupId, validator) => ({
|
|
1618
|
-
classGroupId,
|
|
1619
|
-
validator
|
|
1620
|
-
});
|
|
1621
|
-
var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({
|
|
1622
|
-
nextPart,
|
|
1623
|
-
validators,
|
|
1624
|
-
classGroupId
|
|
1625
|
-
});
|
|
1626
|
-
var CLASS_PART_SEPARATOR = "-";
|
|
1627
|
-
var EMPTY_CONFLICTS = [];
|
|
1628
|
-
var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
|
|
1629
|
-
var createClassGroupUtils = (config) => {
|
|
1630
|
-
const classMap = createClassMap(config);
|
|
1631
|
-
const {
|
|
1632
|
-
conflictingClassGroups,
|
|
1633
|
-
conflictingClassGroupModifiers
|
|
1634
|
-
} = config;
|
|
1635
|
-
const getClassGroupId = (className) => {
|
|
1636
|
-
if (className.startsWith("[") && className.endsWith("]")) {
|
|
1637
|
-
return getGroupIdForArbitraryProperty(className);
|
|
1638
|
-
}
|
|
1639
|
-
const classParts = className.split(CLASS_PART_SEPARATOR);
|
|
1640
|
-
const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
|
|
1641
|
-
return getGroupRecursive(classParts, startIndex, classMap);
|
|
1642
|
-
};
|
|
1643
|
-
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
|
|
1644
|
-
if (hasPostfixModifier) {
|
|
1645
|
-
const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
|
|
1646
|
-
const baseConflicts = conflictingClassGroups[classGroupId];
|
|
1647
|
-
if (modifierConflicts) {
|
|
1648
|
-
if (baseConflicts) {
|
|
1649
|
-
return concatArrays(baseConflicts, modifierConflicts);
|
|
1650
|
-
}
|
|
1651
|
-
return modifierConflicts;
|
|
1652
|
-
}
|
|
1653
|
-
return baseConflicts || EMPTY_CONFLICTS;
|
|
1654
|
-
}
|
|
1655
|
-
return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
|
|
1656
|
-
};
|
|
1657
|
-
return {
|
|
1658
|
-
getClassGroupId,
|
|
1659
|
-
getConflictingClassGroupIds
|
|
1660
|
-
};
|
|
1661
|
-
};
|
|
1662
|
-
var getGroupRecursive = (classParts, startIndex, classPartObject) => {
|
|
1663
|
-
const classPathsLength = classParts.length - startIndex;
|
|
1664
|
-
if (classPathsLength === 0) {
|
|
1665
|
-
return classPartObject.classGroupId;
|
|
1666
|
-
}
|
|
1667
|
-
const currentClassPart = classParts[startIndex];
|
|
1668
|
-
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
1669
|
-
if (nextClassPartObject) {
|
|
1670
|
-
const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
|
|
1671
|
-
if (result) return result;
|
|
1672
|
-
}
|
|
1673
|
-
const validators = classPartObject.validators;
|
|
1674
|
-
if (validators === null) {
|
|
1675
|
-
return void 0;
|
|
1676
|
-
}
|
|
1677
|
-
const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
|
|
1678
|
-
const validatorsLength = validators.length;
|
|
1679
|
-
for (let i3 = 0; i3 < validatorsLength; i3++) {
|
|
1680
|
-
const validatorObj = validators[i3];
|
|
1681
|
-
if (validatorObj.validator(classRest)) {
|
|
1682
|
-
return validatorObj.classGroupId;
|
|
1092
|
+
return testValue(result[2]);
|
|
1093
|
+
}
|
|
1094
|
+
return false;
|
|
1095
|
+
};
|
|
1096
|
+
var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
|
|
1097
|
+
const result = arbitraryVariableRegex.exec(value);
|
|
1098
|
+
if (result) {
|
|
1099
|
+
if (result[1]) {
|
|
1100
|
+
return testLabel(result[1]);
|
|
1683
1101
|
}
|
|
1102
|
+
return shouldMatchNoLabel;
|
|
1684
1103
|
}
|
|
1685
|
-
return
|
|
1104
|
+
return false;
|
|
1686
1105
|
};
|
|
1687
|
-
var
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
var
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
const
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
const
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
const
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1106
|
+
var isLabelPosition = (label) => label === "position" || label === "percentage";
|
|
1107
|
+
var isLabelImage = (label) => label === "image" || label === "url";
|
|
1108
|
+
var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
|
|
1109
|
+
var isLabelLength = (label) => label === "length";
|
|
1110
|
+
var isLabelNumber = (label) => label === "number";
|
|
1111
|
+
var isLabelFamilyName = (label) => label === "family-name";
|
|
1112
|
+
var isLabelShadow = (label) => label === "shadow";
|
|
1113
|
+
var getDefaultConfig = () => {
|
|
1114
|
+
const themeColor = fromTheme("color");
|
|
1115
|
+
const themeFont = fromTheme("font");
|
|
1116
|
+
const themeText = fromTheme("text");
|
|
1117
|
+
const themeFontWeight = fromTheme("font-weight");
|
|
1118
|
+
const themeTracking = fromTheme("tracking");
|
|
1119
|
+
const themeLeading = fromTheme("leading");
|
|
1120
|
+
const themeBreakpoint = fromTheme("breakpoint");
|
|
1121
|
+
const themeContainer = fromTheme("container");
|
|
1122
|
+
const themeSpacing = fromTheme("spacing");
|
|
1123
|
+
const themeRadius = fromTheme("radius");
|
|
1124
|
+
const themeShadow = fromTheme("shadow");
|
|
1125
|
+
const themeInsetShadow = fromTheme("inset-shadow");
|
|
1126
|
+
const themeTextShadow = fromTheme("text-shadow");
|
|
1127
|
+
const themeDropShadow = fromTheme("drop-shadow");
|
|
1128
|
+
const themeBlur = fromTheme("blur");
|
|
1129
|
+
const themePerspective = fromTheme("perspective");
|
|
1130
|
+
const themeAspect = fromTheme("aspect");
|
|
1131
|
+
const themeEase = fromTheme("ease");
|
|
1132
|
+
const themeAnimate = fromTheme("animate");
|
|
1133
|
+
const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
|
|
1134
|
+
const scalePosition = () => [
|
|
1135
|
+
"center",
|
|
1136
|
+
"top",
|
|
1137
|
+
"bottom",
|
|
1138
|
+
"left",
|
|
1139
|
+
"right",
|
|
1140
|
+
"top-left",
|
|
1141
|
+
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
1142
|
+
"left-top",
|
|
1143
|
+
"top-right",
|
|
1144
|
+
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
1145
|
+
"right-top",
|
|
1146
|
+
"bottom-right",
|
|
1147
|
+
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
1148
|
+
"right-bottom",
|
|
1149
|
+
"bottom-left",
|
|
1150
|
+
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
1151
|
+
"left-bottom"
|
|
1152
|
+
];
|
|
1153
|
+
const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
|
|
1154
|
+
const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
|
|
1155
|
+
const scaleOverscroll = () => ["auto", "contain", "none"];
|
|
1156
|
+
const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
|
|
1157
|
+
const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
|
|
1158
|
+
const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
|
|
1159
|
+
const scaleGridColRowStartAndEnd = () => ["auto", {
|
|
1160
|
+
span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
|
|
1161
|
+
}, isInteger, isArbitraryVariable, isArbitraryValue];
|
|
1162
|
+
const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
|
|
1163
|
+
const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
|
|
1164
|
+
const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
|
|
1165
|
+
const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
|
|
1166
|
+
const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
|
|
1167
|
+
const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
|
|
1168
|
+
const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
|
|
1169
|
+
const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
|
|
1170
|
+
position: [isArbitraryVariable, isArbitraryValue]
|
|
1171
|
+
}];
|
|
1172
|
+
const scaleBgRepeat = () => ["no-repeat", {
|
|
1173
|
+
repeat: ["", "x", "y", "space", "round"]
|
|
1174
|
+
}];
|
|
1175
|
+
const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
|
|
1176
|
+
size: [isArbitraryVariable, isArbitraryValue]
|
|
1177
|
+
}];
|
|
1178
|
+
const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
|
|
1179
|
+
const scaleRadius = () => [
|
|
1180
|
+
// Deprecated since Tailwind CSS v4.0.0
|
|
1181
|
+
"",
|
|
1182
|
+
"none",
|
|
1183
|
+
"full",
|
|
1184
|
+
themeRadius,
|
|
1185
|
+
isArbitraryVariable,
|
|
1186
|
+
isArbitraryValue
|
|
1187
|
+
];
|
|
1188
|
+
const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
|
|
1189
|
+
const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
|
|
1190
|
+
const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
|
|
1191
|
+
const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
|
|
1192
|
+
const scaleBlur = () => [
|
|
1193
|
+
// Deprecated since Tailwind CSS v4.0.0
|
|
1194
|
+
"",
|
|
1195
|
+
"none",
|
|
1196
|
+
themeBlur,
|
|
1197
|
+
isArbitraryVariable,
|
|
1198
|
+
isArbitraryValue
|
|
1199
|
+
];
|
|
1200
|
+
const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
|
|
1201
|
+
const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
|
|
1202
|
+
const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
|
|
1203
|
+
const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
|
|
1784
1204
|
return {
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1205
|
+
cacheSize: 500,
|
|
1206
|
+
theme: {
|
|
1207
|
+
animate: ["spin", "ping", "pulse", "bounce"],
|
|
1208
|
+
aspect: ["video"],
|
|
1209
|
+
blur: [isTshirtSize],
|
|
1210
|
+
breakpoint: [isTshirtSize],
|
|
1211
|
+
color: [isAny],
|
|
1212
|
+
container: [isTshirtSize],
|
|
1213
|
+
"drop-shadow": [isTshirtSize],
|
|
1214
|
+
ease: ["in", "out", "in-out"],
|
|
1215
|
+
font: [isAnyNonArbitrary],
|
|
1216
|
+
"font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
|
|
1217
|
+
"inset-shadow": [isTshirtSize],
|
|
1218
|
+
leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
|
|
1219
|
+
perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
|
|
1220
|
+
radius: [isTshirtSize],
|
|
1221
|
+
shadow: [isTshirtSize],
|
|
1222
|
+
spacing: ["px", isNumber],
|
|
1223
|
+
text: [isTshirtSize],
|
|
1224
|
+
"text-shadow": [isTshirtSize],
|
|
1225
|
+
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
|
|
1794
1226
|
},
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
update(key, value);
|
|
1800
|
-
}
|
|
1801
|
-
}
|
|
1802
|
-
};
|
|
1803
|
-
};
|
|
1804
|
-
var IMPORTANT_MODIFIER = "!";
|
|
1805
|
-
var MODIFIER_SEPARATOR = ":";
|
|
1806
|
-
var EMPTY_MODIFIERS = [];
|
|
1807
|
-
var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
|
|
1808
|
-
modifiers,
|
|
1809
|
-
hasImportantModifier,
|
|
1810
|
-
baseClassName,
|
|
1811
|
-
maybePostfixModifierPosition,
|
|
1812
|
-
isExternal
|
|
1813
|
-
});
|
|
1814
|
-
var createParseClassName = (config) => {
|
|
1815
|
-
const {
|
|
1816
|
-
prefix,
|
|
1817
|
-
experimentalParseClassName
|
|
1818
|
-
} = config;
|
|
1819
|
-
let parseClassName = (className) => {
|
|
1820
|
-
const modifiers = [];
|
|
1821
|
-
let bracketDepth = 0;
|
|
1822
|
-
let parenDepth = 0;
|
|
1823
|
-
let modifierStart = 0;
|
|
1824
|
-
let postfixModifierPosition;
|
|
1825
|
-
const len = className.length;
|
|
1826
|
-
for (let index = 0; index < len; index++) {
|
|
1827
|
-
const currentCharacter = className[index];
|
|
1828
|
-
if (bracketDepth === 0 && parenDepth === 0) {
|
|
1829
|
-
if (currentCharacter === MODIFIER_SEPARATOR) {
|
|
1830
|
-
modifiers.push(className.slice(modifierStart, index));
|
|
1831
|
-
modifierStart = index + 1;
|
|
1832
|
-
continue;
|
|
1833
|
-
}
|
|
1834
|
-
if (currentCharacter === "/") {
|
|
1835
|
-
postfixModifierPosition = index;
|
|
1836
|
-
continue;
|
|
1837
|
-
}
|
|
1838
|
-
}
|
|
1839
|
-
if (currentCharacter === "[") bracketDepth++;
|
|
1840
|
-
else if (currentCharacter === "]") bracketDepth--;
|
|
1841
|
-
else if (currentCharacter === "(") parenDepth++;
|
|
1842
|
-
else if (currentCharacter === ")") parenDepth--;
|
|
1843
|
-
}
|
|
1844
|
-
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
|
|
1845
|
-
let baseClassName = baseClassNameWithImportantModifier;
|
|
1846
|
-
let hasImportantModifier = false;
|
|
1847
|
-
if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
|
|
1848
|
-
baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
|
|
1849
|
-
hasImportantModifier = true;
|
|
1850
|
-
} else if (
|
|
1227
|
+
classGroups: {
|
|
1228
|
+
// --------------
|
|
1229
|
+
// --- Layout ---
|
|
1230
|
+
// --------------
|
|
1851
1231
|
/**
|
|
1852
|
-
*
|
|
1853
|
-
* @see https://
|
|
1854
|
-
*/
|
|
1855
|
-
baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)
|
|
1856
|
-
) {
|
|
1857
|
-
baseClassName = baseClassNameWithImportantModifier.slice(1);
|
|
1858
|
-
hasImportantModifier = true;
|
|
1859
|
-
}
|
|
1860
|
-
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
|
|
1861
|
-
return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
|
|
1862
|
-
};
|
|
1863
|
-
if (prefix) {
|
|
1864
|
-
const fullPrefix = prefix + MODIFIER_SEPARATOR;
|
|
1865
|
-
const parseClassNameOriginal = parseClassName;
|
|
1866
|
-
parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
|
|
1867
|
-
}
|
|
1868
|
-
if (experimentalParseClassName) {
|
|
1869
|
-
const parseClassNameOriginal = parseClassName;
|
|
1870
|
-
parseClassName = (className) => experimentalParseClassName({
|
|
1871
|
-
className,
|
|
1872
|
-
parseClassName: parseClassNameOriginal
|
|
1873
|
-
});
|
|
1874
|
-
}
|
|
1875
|
-
return parseClassName;
|
|
1876
|
-
};
|
|
1877
|
-
var createSortModifiers = (config) => {
|
|
1878
|
-
const modifierWeights = /* @__PURE__ */ new Map();
|
|
1879
|
-
config.orderSensitiveModifiers.forEach((mod, index) => {
|
|
1880
|
-
modifierWeights.set(mod, 1e6 + index);
|
|
1881
|
-
});
|
|
1882
|
-
return (modifiers) => {
|
|
1883
|
-
const result = [];
|
|
1884
|
-
let currentSegment = [];
|
|
1885
|
-
for (let i3 = 0; i3 < modifiers.length; i3++) {
|
|
1886
|
-
const modifier = modifiers[i3];
|
|
1887
|
-
const isArbitrary = modifier[0] === "[";
|
|
1888
|
-
const isOrderSensitive = modifierWeights.has(modifier);
|
|
1889
|
-
if (isArbitrary || isOrderSensitive) {
|
|
1890
|
-
if (currentSegment.length > 0) {
|
|
1891
|
-
currentSegment.sort();
|
|
1892
|
-
result.push(...currentSegment);
|
|
1893
|
-
currentSegment = [];
|
|
1894
|
-
}
|
|
1895
|
-
result.push(modifier);
|
|
1896
|
-
} else {
|
|
1897
|
-
currentSegment.push(modifier);
|
|
1898
|
-
}
|
|
1899
|
-
}
|
|
1900
|
-
if (currentSegment.length > 0) {
|
|
1901
|
-
currentSegment.sort();
|
|
1902
|
-
result.push(...currentSegment);
|
|
1903
|
-
}
|
|
1904
|
-
return result;
|
|
1905
|
-
};
|
|
1906
|
-
};
|
|
1907
|
-
var createConfigUtils = (config) => ({
|
|
1908
|
-
cache: createLruCache(config.cacheSize),
|
|
1909
|
-
parseClassName: createParseClassName(config),
|
|
1910
|
-
sortModifiers: createSortModifiers(config),
|
|
1911
|
-
...createClassGroupUtils(config)
|
|
1912
|
-
});
|
|
1913
|
-
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
1914
|
-
var mergeClassList = (classList, configUtils) => {
|
|
1915
|
-
const {
|
|
1916
|
-
parseClassName,
|
|
1917
|
-
getClassGroupId,
|
|
1918
|
-
getConflictingClassGroupIds,
|
|
1919
|
-
sortModifiers
|
|
1920
|
-
} = configUtils;
|
|
1921
|
-
const classGroupsInConflict = [];
|
|
1922
|
-
const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
|
|
1923
|
-
let result = "";
|
|
1924
|
-
for (let index = classNames.length - 1; index >= 0; index -= 1) {
|
|
1925
|
-
const originalClassName = classNames[index];
|
|
1926
|
-
const {
|
|
1927
|
-
isExternal,
|
|
1928
|
-
modifiers,
|
|
1929
|
-
hasImportantModifier,
|
|
1930
|
-
baseClassName,
|
|
1931
|
-
maybePostfixModifierPosition
|
|
1932
|
-
} = parseClassName(originalClassName);
|
|
1933
|
-
if (isExternal) {
|
|
1934
|
-
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1935
|
-
continue;
|
|
1936
|
-
}
|
|
1937
|
-
let hasPostfixModifier = !!maybePostfixModifierPosition;
|
|
1938
|
-
let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
1939
|
-
if (!classGroupId) {
|
|
1940
|
-
if (!hasPostfixModifier) {
|
|
1941
|
-
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1942
|
-
continue;
|
|
1943
|
-
}
|
|
1944
|
-
classGroupId = getClassGroupId(baseClassName);
|
|
1945
|
-
if (!classGroupId) {
|
|
1946
|
-
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1947
|
-
continue;
|
|
1948
|
-
}
|
|
1949
|
-
hasPostfixModifier = false;
|
|
1950
|
-
}
|
|
1951
|
-
const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
|
|
1952
|
-
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
1953
|
-
const classId = modifierId + classGroupId;
|
|
1954
|
-
if (classGroupsInConflict.indexOf(classId) > -1) {
|
|
1955
|
-
continue;
|
|
1956
|
-
}
|
|
1957
|
-
classGroupsInConflict.push(classId);
|
|
1958
|
-
const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
|
|
1959
|
-
for (let i3 = 0; i3 < conflictGroups.length; ++i3) {
|
|
1960
|
-
const group = conflictGroups[i3];
|
|
1961
|
-
classGroupsInConflict.push(modifierId + group);
|
|
1962
|
-
}
|
|
1963
|
-
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1964
|
-
}
|
|
1965
|
-
return result;
|
|
1966
|
-
};
|
|
1967
|
-
var twJoin = (...classLists) => {
|
|
1968
|
-
let index = 0;
|
|
1969
|
-
let argument;
|
|
1970
|
-
let resolvedValue;
|
|
1971
|
-
let string = "";
|
|
1972
|
-
while (index < classLists.length) {
|
|
1973
|
-
if (argument = classLists[index++]) {
|
|
1974
|
-
if (resolvedValue = toValue(argument)) {
|
|
1975
|
-
string && (string += " ");
|
|
1976
|
-
string += resolvedValue;
|
|
1977
|
-
}
|
|
1978
|
-
}
|
|
1979
|
-
}
|
|
1980
|
-
return string;
|
|
1981
|
-
};
|
|
1982
|
-
var toValue = (mix) => {
|
|
1983
|
-
if (typeof mix === "string") {
|
|
1984
|
-
return mix;
|
|
1985
|
-
}
|
|
1986
|
-
let resolvedValue;
|
|
1987
|
-
let string = "";
|
|
1988
|
-
for (let k2 = 0; k2 < mix.length; k2++) {
|
|
1989
|
-
if (mix[k2]) {
|
|
1990
|
-
if (resolvedValue = toValue(mix[k2])) {
|
|
1991
|
-
string && (string += " ");
|
|
1992
|
-
string += resolvedValue;
|
|
1993
|
-
}
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
|
-
return string;
|
|
1997
|
-
};
|
|
1998
|
-
var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
|
|
1999
|
-
let configUtils;
|
|
2000
|
-
let cacheGet;
|
|
2001
|
-
let cacheSet;
|
|
2002
|
-
let functionToCall;
|
|
2003
|
-
const initTailwindMerge = (classList) => {
|
|
2004
|
-
const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
|
|
2005
|
-
configUtils = createConfigUtils(config);
|
|
2006
|
-
cacheGet = configUtils.cache.get;
|
|
2007
|
-
cacheSet = configUtils.cache.set;
|
|
2008
|
-
functionToCall = tailwindMerge;
|
|
2009
|
-
return tailwindMerge(classList);
|
|
2010
|
-
};
|
|
2011
|
-
const tailwindMerge = (classList) => {
|
|
2012
|
-
const cachedResult = cacheGet(classList);
|
|
2013
|
-
if (cachedResult) {
|
|
2014
|
-
return cachedResult;
|
|
2015
|
-
}
|
|
2016
|
-
const result = mergeClassList(classList, configUtils);
|
|
2017
|
-
cacheSet(classList, result);
|
|
2018
|
-
return result;
|
|
2019
|
-
};
|
|
2020
|
-
functionToCall = initTailwindMerge;
|
|
2021
|
-
return (...args) => functionToCall(twJoin(...args));
|
|
2022
|
-
};
|
|
2023
|
-
var fallbackThemeArr = [];
|
|
2024
|
-
var fromTheme = (key) => {
|
|
2025
|
-
const themeGetter = (theme) => theme[key] || fallbackThemeArr;
|
|
2026
|
-
themeGetter.isThemeGetter = true;
|
|
2027
|
-
return themeGetter;
|
|
2028
|
-
};
|
|
2029
|
-
var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
|
|
2030
|
-
var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
|
|
2031
|
-
var fractionRegex = /^\d+\/\d+$/;
|
|
2032
|
-
var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
2033
|
-
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$/;
|
|
2034
|
-
var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
|
|
2035
|
-
var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
2036
|
-
var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
|
|
2037
|
-
var isFraction = (value) => fractionRegex.test(value);
|
|
2038
|
-
var isNumber = (value) => !!value && !Number.isNaN(Number(value));
|
|
2039
|
-
var isInteger = (value) => !!value && Number.isInteger(Number(value));
|
|
2040
|
-
var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
|
|
2041
|
-
var isTshirtSize = (value) => tshirtUnitRegex.test(value);
|
|
2042
|
-
var isAny = () => true;
|
|
2043
|
-
var isLengthOnly = (value) => (
|
|
2044
|
-
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
2045
|
-
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
2046
|
-
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
2047
|
-
lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
|
|
2048
|
-
);
|
|
2049
|
-
var isNever = () => false;
|
|
2050
|
-
var isShadow = (value) => shadowRegex.test(value);
|
|
2051
|
-
var isImage = (value) => imageRegex.test(value);
|
|
2052
|
-
var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
|
|
2053
|
-
var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
|
|
2054
|
-
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
2055
|
-
var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
|
|
2056
|
-
var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
|
|
2057
|
-
var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
|
|
2058
|
-
var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
|
|
2059
|
-
var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
|
|
2060
|
-
var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
|
|
2061
|
-
var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
|
|
2062
|
-
var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
|
|
2063
|
-
var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
|
|
2064
|
-
var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
|
|
2065
|
-
var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
|
|
2066
|
-
var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
|
|
2067
|
-
var getIsArbitraryValue = (value, testLabel, testValue) => {
|
|
2068
|
-
const result = arbitraryValueRegex.exec(value);
|
|
2069
|
-
if (result) {
|
|
2070
|
-
if (result[1]) {
|
|
2071
|
-
return testLabel(result[1]);
|
|
2072
|
-
}
|
|
2073
|
-
return testValue(result[2]);
|
|
2074
|
-
}
|
|
2075
|
-
return false;
|
|
2076
|
-
};
|
|
2077
|
-
var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
|
|
2078
|
-
const result = arbitraryVariableRegex.exec(value);
|
|
2079
|
-
if (result) {
|
|
2080
|
-
if (result[1]) {
|
|
2081
|
-
return testLabel(result[1]);
|
|
2082
|
-
}
|
|
2083
|
-
return shouldMatchNoLabel;
|
|
2084
|
-
}
|
|
2085
|
-
return false;
|
|
2086
|
-
};
|
|
2087
|
-
var isLabelPosition = (label) => label === "position" || label === "percentage";
|
|
2088
|
-
var isLabelImage = (label) => label === "image" || label === "url";
|
|
2089
|
-
var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
|
|
2090
|
-
var isLabelLength = (label) => label === "length";
|
|
2091
|
-
var isLabelNumber = (label) => label === "number";
|
|
2092
|
-
var isLabelFamilyName = (label) => label === "family-name";
|
|
2093
|
-
var isLabelShadow = (label) => label === "shadow";
|
|
2094
|
-
var getDefaultConfig = () => {
|
|
2095
|
-
const themeColor = fromTheme("color");
|
|
2096
|
-
const themeFont = fromTheme("font");
|
|
2097
|
-
const themeText = fromTheme("text");
|
|
2098
|
-
const themeFontWeight = fromTheme("font-weight");
|
|
2099
|
-
const themeTracking = fromTheme("tracking");
|
|
2100
|
-
const themeLeading = fromTheme("leading");
|
|
2101
|
-
const themeBreakpoint = fromTheme("breakpoint");
|
|
2102
|
-
const themeContainer = fromTheme("container");
|
|
2103
|
-
const themeSpacing = fromTheme("spacing");
|
|
2104
|
-
const themeRadius = fromTheme("radius");
|
|
2105
|
-
const themeShadow = fromTheme("shadow");
|
|
2106
|
-
const themeInsetShadow = fromTheme("inset-shadow");
|
|
2107
|
-
const themeTextShadow = fromTheme("text-shadow");
|
|
2108
|
-
const themeDropShadow = fromTheme("drop-shadow");
|
|
2109
|
-
const themeBlur = fromTheme("blur");
|
|
2110
|
-
const themePerspective = fromTheme("perspective");
|
|
2111
|
-
const themeAspect = fromTheme("aspect");
|
|
2112
|
-
const themeEase = fromTheme("ease");
|
|
2113
|
-
const themeAnimate = fromTheme("animate");
|
|
2114
|
-
const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
|
|
2115
|
-
const scalePosition = () => [
|
|
2116
|
-
"center",
|
|
2117
|
-
"top",
|
|
2118
|
-
"bottom",
|
|
2119
|
-
"left",
|
|
2120
|
-
"right",
|
|
2121
|
-
"top-left",
|
|
2122
|
-
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
2123
|
-
"left-top",
|
|
2124
|
-
"top-right",
|
|
2125
|
-
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
2126
|
-
"right-top",
|
|
2127
|
-
"bottom-right",
|
|
2128
|
-
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
2129
|
-
"right-bottom",
|
|
2130
|
-
"bottom-left",
|
|
2131
|
-
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
2132
|
-
"left-bottom"
|
|
2133
|
-
];
|
|
2134
|
-
const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
|
|
2135
|
-
const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
|
|
2136
|
-
const scaleOverscroll = () => ["auto", "contain", "none"];
|
|
2137
|
-
const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
|
|
2138
|
-
const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
|
|
2139
|
-
const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
|
|
2140
|
-
const scaleGridColRowStartAndEnd = () => ["auto", {
|
|
2141
|
-
span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
|
|
2142
|
-
}, isInteger, isArbitraryVariable, isArbitraryValue];
|
|
2143
|
-
const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
|
|
2144
|
-
const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
|
|
2145
|
-
const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
|
|
2146
|
-
const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
|
|
2147
|
-
const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
|
|
2148
|
-
const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
|
|
2149
|
-
const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
|
|
2150
|
-
const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
|
|
2151
|
-
position: [isArbitraryVariable, isArbitraryValue]
|
|
2152
|
-
}];
|
|
2153
|
-
const scaleBgRepeat = () => ["no-repeat", {
|
|
2154
|
-
repeat: ["", "x", "y", "space", "round"]
|
|
2155
|
-
}];
|
|
2156
|
-
const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
|
|
2157
|
-
size: [isArbitraryVariable, isArbitraryValue]
|
|
2158
|
-
}];
|
|
2159
|
-
const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
|
|
2160
|
-
const scaleRadius = () => [
|
|
2161
|
-
// Deprecated since Tailwind CSS v4.0.0
|
|
2162
|
-
"",
|
|
2163
|
-
"none",
|
|
2164
|
-
"full",
|
|
2165
|
-
themeRadius,
|
|
2166
|
-
isArbitraryVariable,
|
|
2167
|
-
isArbitraryValue
|
|
2168
|
-
];
|
|
2169
|
-
const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
|
|
2170
|
-
const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
|
|
2171
|
-
const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
|
|
2172
|
-
const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
|
|
2173
|
-
const scaleBlur = () => [
|
|
2174
|
-
// Deprecated since Tailwind CSS v4.0.0
|
|
2175
|
-
"",
|
|
2176
|
-
"none",
|
|
2177
|
-
themeBlur,
|
|
2178
|
-
isArbitraryVariable,
|
|
2179
|
-
isArbitraryValue
|
|
2180
|
-
];
|
|
2181
|
-
const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
|
|
2182
|
-
const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
|
|
2183
|
-
const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
|
|
2184
|
-
const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
|
|
2185
|
-
return {
|
|
2186
|
-
cacheSize: 500,
|
|
2187
|
-
theme: {
|
|
2188
|
-
animate: ["spin", "ping", "pulse", "bounce"],
|
|
2189
|
-
aspect: ["video"],
|
|
2190
|
-
blur: [isTshirtSize],
|
|
2191
|
-
breakpoint: [isTshirtSize],
|
|
2192
|
-
color: [isAny],
|
|
2193
|
-
container: [isTshirtSize],
|
|
2194
|
-
"drop-shadow": [isTshirtSize],
|
|
2195
|
-
ease: ["in", "out", "in-out"],
|
|
2196
|
-
font: [isAnyNonArbitrary],
|
|
2197
|
-
"font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
|
|
2198
|
-
"inset-shadow": [isTshirtSize],
|
|
2199
|
-
leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
|
|
2200
|
-
perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
|
|
2201
|
-
radius: [isTshirtSize],
|
|
2202
|
-
shadow: [isTshirtSize],
|
|
2203
|
-
spacing: ["px", isNumber],
|
|
2204
|
-
text: [isTshirtSize],
|
|
2205
|
-
"text-shadow": [isTshirtSize],
|
|
2206
|
-
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
|
|
2207
|
-
},
|
|
2208
|
-
classGroups: {
|
|
2209
|
-
// --------------
|
|
2210
|
-
// --- Layout ---
|
|
2211
|
-
// --------------
|
|
2212
|
-
/**
|
|
2213
|
-
* Aspect Ratio
|
|
2214
|
-
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
1232
|
+
* Aspect Ratio
|
|
1233
|
+
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
2215
1234
|
*/
|
|
2216
1235
|
aspect: [{
|
|
2217
1236
|
aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
|
|
@@ -4554,68 +3573,1082 @@ var getDefaultConfig = () => {
|
|
|
4554
3573
|
"forced-color-adjust": ["auto", "none"]
|
|
4555
3574
|
}]
|
|
4556
3575
|
},
|
|
4557
|
-
conflictingClassGroups: {
|
|
4558
|
-
overflow: ["overflow-x", "overflow-y"],
|
|
4559
|
-
overscroll: ["overscroll-x", "overscroll-y"],
|
|
4560
|
-
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
4561
|
-
"inset-x": ["right", "left"],
|
|
4562
|
-
"inset-y": ["top", "bottom"],
|
|
4563
|
-
flex: ["basis", "grow", "shrink"],
|
|
4564
|
-
gap: ["gap-x", "gap-y"],
|
|
4565
|
-
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
4566
|
-
px: ["pr", "pl"],
|
|
4567
|
-
py: ["pt", "pb"],
|
|
4568
|
-
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
4569
|
-
mx: ["mr", "ml"],
|
|
4570
|
-
my: ["mt", "mb"],
|
|
4571
|
-
size: ["w", "h"],
|
|
4572
|
-
"font-size": ["leading"],
|
|
4573
|
-
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
4574
|
-
"fvn-ordinal": ["fvn-normal"],
|
|
4575
|
-
"fvn-slashed-zero": ["fvn-normal"],
|
|
4576
|
-
"fvn-figure": ["fvn-normal"],
|
|
4577
|
-
"fvn-spacing": ["fvn-normal"],
|
|
4578
|
-
"fvn-fraction": ["fvn-normal"],
|
|
4579
|
-
"line-clamp": ["display", "overflow"],
|
|
4580
|
-
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
4581
|
-
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
4582
|
-
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
4583
|
-
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
4584
|
-
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
4585
|
-
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
4586
|
-
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
4587
|
-
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
4588
|
-
"border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
4589
|
-
"border-w-x": ["border-w-r", "border-w-l"],
|
|
4590
|
-
"border-w-y": ["border-w-t", "border-w-b"],
|
|
4591
|
-
"border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
4592
|
-
"border-color-x": ["border-color-r", "border-color-l"],
|
|
4593
|
-
"border-color-y": ["border-color-t", "border-color-b"],
|
|
4594
|
-
translate: ["translate-x", "translate-y", "translate-none"],
|
|
4595
|
-
"translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
|
|
4596
|
-
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
4597
|
-
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
4598
|
-
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
4599
|
-
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
4600
|
-
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
4601
|
-
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
4602
|
-
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
4603
|
-
"touch-x": ["touch"],
|
|
4604
|
-
"touch-y": ["touch"],
|
|
4605
|
-
"touch-pz": ["touch"]
|
|
3576
|
+
conflictingClassGroups: {
|
|
3577
|
+
overflow: ["overflow-x", "overflow-y"],
|
|
3578
|
+
overscroll: ["overscroll-x", "overscroll-y"],
|
|
3579
|
+
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
3580
|
+
"inset-x": ["right", "left"],
|
|
3581
|
+
"inset-y": ["top", "bottom"],
|
|
3582
|
+
flex: ["basis", "grow", "shrink"],
|
|
3583
|
+
gap: ["gap-x", "gap-y"],
|
|
3584
|
+
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
3585
|
+
px: ["pr", "pl"],
|
|
3586
|
+
py: ["pt", "pb"],
|
|
3587
|
+
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
3588
|
+
mx: ["mr", "ml"],
|
|
3589
|
+
my: ["mt", "mb"],
|
|
3590
|
+
size: ["w", "h"],
|
|
3591
|
+
"font-size": ["leading"],
|
|
3592
|
+
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
3593
|
+
"fvn-ordinal": ["fvn-normal"],
|
|
3594
|
+
"fvn-slashed-zero": ["fvn-normal"],
|
|
3595
|
+
"fvn-figure": ["fvn-normal"],
|
|
3596
|
+
"fvn-spacing": ["fvn-normal"],
|
|
3597
|
+
"fvn-fraction": ["fvn-normal"],
|
|
3598
|
+
"line-clamp": ["display", "overflow"],
|
|
3599
|
+
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
3600
|
+
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
3601
|
+
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
3602
|
+
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
3603
|
+
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
3604
|
+
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
3605
|
+
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
3606
|
+
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
3607
|
+
"border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
3608
|
+
"border-w-x": ["border-w-r", "border-w-l"],
|
|
3609
|
+
"border-w-y": ["border-w-t", "border-w-b"],
|
|
3610
|
+
"border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
3611
|
+
"border-color-x": ["border-color-r", "border-color-l"],
|
|
3612
|
+
"border-color-y": ["border-color-t", "border-color-b"],
|
|
3613
|
+
translate: ["translate-x", "translate-y", "translate-none"],
|
|
3614
|
+
"translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
|
|
3615
|
+
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
3616
|
+
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
3617
|
+
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
3618
|
+
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
3619
|
+
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
3620
|
+
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
3621
|
+
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
3622
|
+
"touch-x": ["touch"],
|
|
3623
|
+
"touch-y": ["touch"],
|
|
3624
|
+
"touch-pz": ["touch"]
|
|
3625
|
+
},
|
|
3626
|
+
conflictingClassGroupModifiers: {
|
|
3627
|
+
"font-size": ["leading"]
|
|
3628
|
+
},
|
|
3629
|
+
orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
|
|
3630
|
+
};
|
|
3631
|
+
};
|
|
3632
|
+
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
3633
|
+
|
|
3634
|
+
// src/lib/utils.ts
|
|
3635
|
+
function cn(...inputs) {
|
|
3636
|
+
return twMerge(clsx(inputs));
|
|
3637
|
+
}
|
|
3638
|
+
function toArray(v2) {
|
|
3639
|
+
if (v2 == null) return [];
|
|
3640
|
+
return Array.isArray(v2) ? v2 : [v2];
|
|
3641
|
+
}
|
|
3642
|
+
var CORE_PROP_KEYS = /* @__PURE__ */ new Set([
|
|
3643
|
+
"adapter",
|
|
3644
|
+
"schema",
|
|
3645
|
+
"exceptions",
|
|
3646
|
+
"persist",
|
|
3647
|
+
"name",
|
|
3648
|
+
"activateButtonOnChange",
|
|
3649
|
+
"onChange",
|
|
3650
|
+
"onUpdate",
|
|
3651
|
+
"changeBefore",
|
|
3652
|
+
"formRef",
|
|
3653
|
+
"valueBag",
|
|
3654
|
+
"valueFeed",
|
|
3655
|
+
"onFinish",
|
|
3656
|
+
"init",
|
|
3657
|
+
"onSubmit",
|
|
3658
|
+
"onSubmitted",
|
|
3659
|
+
"children"
|
|
3660
|
+
]);
|
|
3661
|
+
function isPlainObject(value) {
|
|
3662
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3663
|
+
}
|
|
3664
|
+
function deepEqual(a3, b2) {
|
|
3665
|
+
if (a3 === b2) return true;
|
|
3666
|
+
if (typeof a3 === "number" && typeof b2 === "number") {
|
|
3667
|
+
if (Number.isNaN(a3) && Number.isNaN(b2)) return true;
|
|
3668
|
+
}
|
|
3669
|
+
if (Array.isArray(a3) && Array.isArray(b2)) {
|
|
3670
|
+
if (a3.length !== b2.length) return false;
|
|
3671
|
+
for (let i3 = 0; i3 < a3.length; i3++) {
|
|
3672
|
+
if (!deepEqual(a3[i3], b2[i3])) return false;
|
|
3673
|
+
}
|
|
3674
|
+
return true;
|
|
3675
|
+
}
|
|
3676
|
+
if (isPlainObject(a3) && isPlainObject(b2)) {
|
|
3677
|
+
const aKeys = Object.keys(a3);
|
|
3678
|
+
const bKeys = Object.keys(b2);
|
|
3679
|
+
if (aKeys.length !== bKeys.length) return false;
|
|
3680
|
+
for (const key of aKeys) {
|
|
3681
|
+
if (!Object.prototype.hasOwnProperty.call(b2, key)) return false;
|
|
3682
|
+
if (!deepEqual(a3[key], b2[key])) return false;
|
|
3683
|
+
}
|
|
3684
|
+
return true;
|
|
3685
|
+
}
|
|
3686
|
+
return false;
|
|
3687
|
+
}
|
|
3688
|
+
function CoreProvider(props) {
|
|
3689
|
+
var _a, _b;
|
|
3690
|
+
const registryRef = React68__namespace.useRef(new FieldRegistry());
|
|
3691
|
+
const bucketRef = React68__namespace.useRef({});
|
|
3692
|
+
const uncaughtRef = React68__namespace.useRef([]);
|
|
3693
|
+
const errorsRef = React68__namespace.useRef(null);
|
|
3694
|
+
const buttonRef = React68__namespace.useRef(null);
|
|
3695
|
+
const activeButtonNameRef = React68__namespace.useRef(null);
|
|
3696
|
+
const [hasUncaughtErrors, setHasUncaughtErrors] = React68__namespace.useState(0);
|
|
3697
|
+
const originalRef = React68__namespace.useRef(null);
|
|
3698
|
+
const propsRef = React68__namespace.useRef(props);
|
|
3699
|
+
React68__namespace.useEffect(() => {
|
|
3700
|
+
propsRef.current = props;
|
|
3701
|
+
}, [props]);
|
|
3702
|
+
const adapterKey = (_a = props.adapter) != null ? _a : "local";
|
|
3703
|
+
const schema = props.schema;
|
|
3704
|
+
const errorBagId = (_b = props.name) != null ? _b : void 0;
|
|
3705
|
+
let context;
|
|
3706
|
+
function fetchAllNamedFields() {
|
|
3707
|
+
return registryRef.current.getAllNamed();
|
|
3708
|
+
}
|
|
3709
|
+
function clearFieldErrors() {
|
|
3710
|
+
for (const field of fetchAllNamedFields()) {
|
|
3711
|
+
const anyField = field;
|
|
3712
|
+
if (typeof anyField.setError === "function") {
|
|
3713
|
+
anyField.setError(void 0);
|
|
3714
|
+
} else if ("error" in anyField) {
|
|
3715
|
+
anyField.error = void 0;
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
function findFieldForErrorKey(key) {
|
|
3720
|
+
if (!key) return void 0;
|
|
3721
|
+
return fetchAllNamedFields().find((f2) => {
|
|
3722
|
+
const raw = f2.name;
|
|
3723
|
+
if (!raw) return false;
|
|
3724
|
+
const trimmed = raw.trim();
|
|
3725
|
+
if (!trimmed) return false;
|
|
3726
|
+
const base = trimmed.replace(/\[]$/, "");
|
|
3727
|
+
if (key === base || key === trimmed) return true;
|
|
3728
|
+
const sharedKey = f2.shared;
|
|
3729
|
+
if (!sharedKey) return false;
|
|
3730
|
+
const sharedBase = `${sharedKey}.${base}`;
|
|
3731
|
+
const sharedRaw = `${sharedKey}.${trimmed}`;
|
|
3732
|
+
return key === sharedBase || key === sharedRaw;
|
|
3733
|
+
});
|
|
3734
|
+
}
|
|
3735
|
+
function setFieldError(name, message2) {
|
|
3736
|
+
const field = findFieldForErrorKey(name);
|
|
3737
|
+
if (field) {
|
|
3738
|
+
const anyField = field;
|
|
3739
|
+
if (typeof anyField.setError === "function") {
|
|
3740
|
+
anyField.setError(message2);
|
|
3741
|
+
} else {
|
|
3742
|
+
anyField.error = message2;
|
|
3743
|
+
}
|
|
3744
|
+
} else {
|
|
3745
|
+
uncaughtRef.current.push(message2);
|
|
3746
|
+
}
|
|
3747
|
+
}
|
|
3748
|
+
function collectValues() {
|
|
3749
|
+
var _a2, _b2;
|
|
3750
|
+
const exceptions = (_a2 = propsRef.current.exceptions) != null ? _a2 : [];
|
|
3751
|
+
const list = {};
|
|
3752
|
+
const shared = {};
|
|
3753
|
+
const formatFileValue = getPaletteUtil("formatFileValue");
|
|
3754
|
+
for (const item of fetchAllNamedFields()) {
|
|
3755
|
+
const rawName = item.name;
|
|
3756
|
+
if (!rawName) continue;
|
|
3757
|
+
const trimmed = rawName.trim();
|
|
3758
|
+
if (!trimmed) continue;
|
|
3759
|
+
const isArray = trimmed.endsWith("[]");
|
|
3760
|
+
const base = trimmed.replace(/\[]$/, "");
|
|
3761
|
+
const sharedKey = item.shared;
|
|
3762
|
+
const target = sharedKey ? (_b2 = shared[sharedKey]) != null ? _b2 : shared[sharedKey] = {} : list;
|
|
3763
|
+
const fullPath = sharedKey ? `${sharedKey}.${base}` : base;
|
|
3764
|
+
if (exceptions.includes(trimmed) || exceptions.includes(base) || exceptions.includes(fullPath)) {
|
|
3765
|
+
continue;
|
|
3766
|
+
}
|
|
3767
|
+
const anyField = item;
|
|
3768
|
+
const val = typeof anyField.getValue === "function" ? anyField.getValue() : anyField.value;
|
|
3769
|
+
const onFormat = (value) => {
|
|
3770
|
+
if (anyField.onSubmit) {
|
|
3771
|
+
return anyField.onSubmit(value);
|
|
3772
|
+
}
|
|
3773
|
+
if (formatFileValue && item.variant == "file") {
|
|
3774
|
+
return toArray(value).map(formatFileValue);
|
|
3775
|
+
}
|
|
3776
|
+
return value;
|
|
3777
|
+
};
|
|
3778
|
+
if (isArray) {
|
|
3779
|
+
const existing = target[base];
|
|
3780
|
+
if (Array.isArray(existing)) {
|
|
3781
|
+
target[base] = onFormat([...existing, val]);
|
|
3782
|
+
} else if (typeof existing === "undefined") {
|
|
3783
|
+
target[base] = onFormat([val]);
|
|
3784
|
+
} else {
|
|
3785
|
+
target[base] = onFormat([existing, val]);
|
|
3786
|
+
}
|
|
3787
|
+
} else {
|
|
3788
|
+
target[base] = onFormat(val);
|
|
3789
|
+
}
|
|
3790
|
+
}
|
|
3791
|
+
const fromFields = { ...list, ...shared };
|
|
3792
|
+
const merged = {
|
|
3793
|
+
...bucketRef.current,
|
|
3794
|
+
...fromFields
|
|
3795
|
+
};
|
|
3796
|
+
return merged;
|
|
3797
|
+
}
|
|
3798
|
+
function validateInternal(report = false) {
|
|
3799
|
+
let valid = true;
|
|
3800
|
+
if (report) {
|
|
3801
|
+
uncaughtRef.current = [];
|
|
3802
|
+
clearFieldErrors();
|
|
3803
|
+
}
|
|
3804
|
+
for (const field of fetchAllNamedFields()) {
|
|
3805
|
+
const anyField = field;
|
|
3806
|
+
if (typeof anyField.validate === "function") {
|
|
3807
|
+
const ok = anyField.validate(report);
|
|
3808
|
+
if (!ok) valid = false;
|
|
3809
|
+
}
|
|
3810
|
+
}
|
|
3811
|
+
if (schema) {
|
|
3812
|
+
try {
|
|
3813
|
+
schema.parse(collectValues());
|
|
3814
|
+
} catch (err) {
|
|
3815
|
+
valid = false;
|
|
3816
|
+
if (report && err && typeof err === "object") {
|
|
3817
|
+
const anyErr = err;
|
|
3818
|
+
if (anyErr.issues) {
|
|
3819
|
+
const { fieldErrors, uncaught } = mapZodError(anyErr);
|
|
3820
|
+
for (const [name, message2] of Object.entries(
|
|
3821
|
+
fieldErrors
|
|
3822
|
+
)) {
|
|
3823
|
+
setFieldError(name, message2);
|
|
3824
|
+
}
|
|
3825
|
+
if (uncaught.length) {
|
|
3826
|
+
uncaughtRef.current.push(...uncaught);
|
|
3827
|
+
}
|
|
3828
|
+
}
|
|
3829
|
+
}
|
|
3830
|
+
}
|
|
3831
|
+
}
|
|
3832
|
+
return valid;
|
|
3833
|
+
}
|
|
3834
|
+
function getAdapterPropsFrom(current) {
|
|
3835
|
+
const result = {};
|
|
3836
|
+
for (const key in current) {
|
|
3837
|
+
if (!CORE_PROP_KEYS.has(key)) {
|
|
3838
|
+
result[key] = current[key];
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
return result;
|
|
3842
|
+
}
|
|
3843
|
+
async function submitWithAdapter(adapterOverride, extra, ignoreForm, autoErr = true, autoRun = true) {
|
|
3844
|
+
var _a2, _b2;
|
|
3845
|
+
const currentProps = propsRef.current;
|
|
3846
|
+
const btn = buttonRef.current;
|
|
3847
|
+
const activeName = activeButtonNameRef.current;
|
|
3848
|
+
const isActiveButton = !!btn && typeof btn === "object" && btn.name === activeName;
|
|
3849
|
+
const setButtonLoading = (loading) => {
|
|
3850
|
+
if (!isActiveButton) return;
|
|
3851
|
+
if (typeof btn.setLoading === "function") {
|
|
3852
|
+
btn.setLoading(loading);
|
|
3853
|
+
} else if ("loading" in btn) {
|
|
3854
|
+
btn.loading = loading;
|
|
3855
|
+
}
|
|
3856
|
+
};
|
|
3857
|
+
setButtonLoading(true);
|
|
3858
|
+
let finished = false;
|
|
3859
|
+
const finish = () => {
|
|
3860
|
+
if (finished) return;
|
|
3861
|
+
finished = true;
|
|
3862
|
+
if (uncaughtRef.current.length)
|
|
3863
|
+
setHasUncaughtErrors(hasUncaughtErrors + 1);
|
|
3864
|
+
setButtonLoading(false);
|
|
3865
|
+
};
|
|
3866
|
+
if (!ignoreForm) {
|
|
3867
|
+
const ok = validateInternal(true);
|
|
3868
|
+
if (!ok) {
|
|
3869
|
+
finish();
|
|
3870
|
+
return void 0;
|
|
3871
|
+
}
|
|
3872
|
+
}
|
|
3873
|
+
let submissionValues = {
|
|
3874
|
+
...collectValues(),
|
|
3875
|
+
...extra != null ? extra : {}
|
|
3876
|
+
};
|
|
3877
|
+
let adapterConfig = {
|
|
3878
|
+
...getAdapterPropsFrom(currentProps),
|
|
3879
|
+
...adapterOverride
|
|
3880
|
+
};
|
|
3881
|
+
const event = {
|
|
3882
|
+
preventDefault() {
|
|
3883
|
+
this.continue = false;
|
|
3884
|
+
},
|
|
3885
|
+
editData(cb) {
|
|
3886
|
+
const result = cb(submissionValues);
|
|
3887
|
+
if (result) {
|
|
3888
|
+
submissionValues = result;
|
|
3889
|
+
}
|
|
3890
|
+
},
|
|
3891
|
+
setConfig(arg1, arg2) {
|
|
3892
|
+
if (typeof arg1 === "string") {
|
|
3893
|
+
adapterConfig[arg1] = arg2;
|
|
3894
|
+
} else if (arg1 && typeof arg1 === "object") {
|
|
3895
|
+
adapterConfig = {
|
|
3896
|
+
...adapterConfig,
|
|
3897
|
+
...arg1
|
|
3898
|
+
};
|
|
3899
|
+
}
|
|
3900
|
+
},
|
|
3901
|
+
button: (_a2 = buttonRef.current) != null ? _a2 : void 0,
|
|
3902
|
+
get formData() {
|
|
3903
|
+
return submissionValues;
|
|
3904
|
+
},
|
|
3905
|
+
form: context,
|
|
3906
|
+
continue: true
|
|
3907
|
+
};
|
|
3908
|
+
if (currentProps.onSubmit) {
|
|
3909
|
+
try {
|
|
3910
|
+
await currentProps.onSubmit(event);
|
|
3911
|
+
} catch (err) {
|
|
3912
|
+
finish();
|
|
3913
|
+
throw err;
|
|
3914
|
+
}
|
|
3915
|
+
}
|
|
3916
|
+
if (!event.continue) {
|
|
3917
|
+
finish();
|
|
3918
|
+
return void 0;
|
|
3919
|
+
}
|
|
3920
|
+
const factory = (_b2 = getAdapter(adapterKey)) != null ? _b2 : localAdapter;
|
|
3921
|
+
const adapter = factory({
|
|
3922
|
+
// adapter-specific config (url, method, config, etc.)
|
|
3923
|
+
...adapterConfig,
|
|
3924
|
+
// core config
|
|
3925
|
+
data: submissionValues,
|
|
3926
|
+
errorBag: errorBagId,
|
|
3927
|
+
callbacks: {
|
|
3928
|
+
onSuccess(ok) {
|
|
3929
|
+
const maybe = propsRef.current.onSubmitted;
|
|
3930
|
+
if (maybe) {
|
|
3931
|
+
void maybe(context, ok, () => {
|
|
3932
|
+
finish();
|
|
3933
|
+
});
|
|
3934
|
+
}
|
|
3935
|
+
},
|
|
3936
|
+
onError(err, updateRef) {
|
|
3937
|
+
var _a3;
|
|
3938
|
+
if (!autoErr || !err || typeof err !== "object") {
|
|
3939
|
+
return;
|
|
3940
|
+
}
|
|
3941
|
+
const anyErr = err;
|
|
3942
|
+
if (anyErr.errors && typeof anyErr.errors === "object") {
|
|
3943
|
+
const { fieldErrors, uncaught } = mapErrorBag(
|
|
3944
|
+
(_a3 = anyErr.errors) != null ? _a3 : {}
|
|
3945
|
+
);
|
|
3946
|
+
if (updateRef) {
|
|
3947
|
+
errorsRef.current = fieldErrors;
|
|
3948
|
+
} else
|
|
3949
|
+
for (const [name, message2] of Object.entries(
|
|
3950
|
+
fieldErrors
|
|
3951
|
+
)) {
|
|
3952
|
+
setFieldError(name, message2);
|
|
3953
|
+
}
|
|
3954
|
+
if (uncaught.length) {
|
|
3955
|
+
uncaughtRef.current.push(...uncaught);
|
|
3956
|
+
}
|
|
3957
|
+
}
|
|
3958
|
+
},
|
|
3959
|
+
onFinish() {
|
|
3960
|
+
const maybe = propsRef.current.onFinish;
|
|
3961
|
+
if (maybe) {
|
|
3962
|
+
maybe(context);
|
|
3963
|
+
}
|
|
3964
|
+
finish();
|
|
3965
|
+
}
|
|
3966
|
+
}
|
|
3967
|
+
});
|
|
3968
|
+
if (autoRun) {
|
|
3969
|
+
try {
|
|
3970
|
+
await adapter.send();
|
|
3971
|
+
} catch (e4) {
|
|
3972
|
+
console.log("Adapter failed to send.", e4);
|
|
3973
|
+
}
|
|
3974
|
+
}
|
|
3975
|
+
return adapter;
|
|
3976
|
+
}
|
|
3977
|
+
context = {
|
|
3978
|
+
values() {
|
|
3979
|
+
return collectValues();
|
|
3980
|
+
},
|
|
3981
|
+
submit() {
|
|
3982
|
+
const valid = validateInternal(true);
|
|
3983
|
+
const vals = collectValues();
|
|
3984
|
+
return { values: vals, valid };
|
|
3985
|
+
},
|
|
3986
|
+
getBind(id) {
|
|
3987
|
+
return registryRef.current.getByBind(id);
|
|
3988
|
+
},
|
|
3989
|
+
validate(report) {
|
|
3990
|
+
return validateInternal(report);
|
|
3991
|
+
},
|
|
3992
|
+
addField(field) {
|
|
3993
|
+
var _a2, _b2;
|
|
3994
|
+
const rawName = (_a2 = field.name) != null ? _a2 : "";
|
|
3995
|
+
field.name = rawName.trim();
|
|
3996
|
+
const { valueBag, valueFeed } = propsRef.current;
|
|
3997
|
+
const trimmed = ((_b2 = field.name) != null ? _b2 : "").trim();
|
|
3998
|
+
const hasName = !!trimmed;
|
|
3999
|
+
const isArray = hasName && trimmed.endsWith("[]");
|
|
4000
|
+
const base = hasName ? trimmed.replace(/\[]$/, "") : "";
|
|
4001
|
+
const sharedKey = field.shared;
|
|
4002
|
+
if (valueBag && !field.ignore && hasName) {
|
|
4003
|
+
const sourceRoot = sharedKey && valueBag[sharedKey] ? valueBag[sharedKey] : valueBag;
|
|
4004
|
+
let value = void 0;
|
|
4005
|
+
if (sourceRoot && typeof sourceRoot === "object") {
|
|
4006
|
+
if (isArray && Array.isArray(sourceRoot[base])) {
|
|
4007
|
+
const siblings = fetchAllNamedFields().filter((f2) => {
|
|
4008
|
+
var _a3;
|
|
4009
|
+
const rn = ((_a3 = f2.name) != null ? _a3 : "").trim();
|
|
4010
|
+
return rn === trimmed && f2.shared === sharedKey;
|
|
4011
|
+
});
|
|
4012
|
+
const idx = siblings.length;
|
|
4013
|
+
value = sourceRoot[base][idx];
|
|
4014
|
+
} else {
|
|
4015
|
+
value = sourceRoot[base];
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
let hydrated = value;
|
|
4019
|
+
if (valueFeed) {
|
|
4020
|
+
const maybe = valueFeed(
|
|
4021
|
+
base,
|
|
4022
|
+
value,
|
|
4023
|
+
context
|
|
4024
|
+
);
|
|
4025
|
+
if (typeof maybe !== "undefined") {
|
|
4026
|
+
hydrated = maybe;
|
|
4027
|
+
}
|
|
4028
|
+
}
|
|
4029
|
+
if (typeof hydrated !== "undefined") {
|
|
4030
|
+
const anyField = field;
|
|
4031
|
+
if (typeof anyField.setValue === "function") {
|
|
4032
|
+
anyField.setValue(hydrated);
|
|
4033
|
+
} else {
|
|
4034
|
+
anyField.value = hydrated;
|
|
4035
|
+
}
|
|
4036
|
+
}
|
|
4037
|
+
}
|
|
4038
|
+
registryRef.current.add(field);
|
|
4039
|
+
},
|
|
4040
|
+
// Expose registry view as inputs (delegates to FieldRegistry instance)
|
|
4041
|
+
inputs: registryRef.current,
|
|
4042
|
+
// Also expose raw list of fields for compatibility is defined later as a getter
|
|
4043
|
+
bucket: bucketRef.current,
|
|
4044
|
+
error(nameOrBag, maybeMsg) {
|
|
4045
|
+
if (typeof nameOrBag === "string") {
|
|
4046
|
+
if (!maybeMsg) return;
|
|
4047
|
+
setFieldError(nameOrBag, maybeMsg);
|
|
4048
|
+
return;
|
|
4049
|
+
}
|
|
4050
|
+
const { fieldErrors, uncaught } = mapErrorBag(nameOrBag);
|
|
4051
|
+
for (const [name, message2] of Object.entries(fieldErrors)) {
|
|
4052
|
+
setFieldError(name, message2);
|
|
4053
|
+
}
|
|
4054
|
+
if (uncaught.length) {
|
|
4055
|
+
uncaughtRef.current.push(...uncaught);
|
|
4056
|
+
}
|
|
4057
|
+
},
|
|
4058
|
+
controlButton() {
|
|
4059
|
+
const { activateButtonOnChange } = propsRef.current;
|
|
4060
|
+
if (!activateButtonOnChange) return;
|
|
4061
|
+
const btn = buttonRef.current;
|
|
4062
|
+
const activeName = activeButtonNameRef.current;
|
|
4063
|
+
if (!btn || btn.name !== activeName) {
|
|
4064
|
+
return;
|
|
4065
|
+
}
|
|
4066
|
+
if (!originalRef.current) {
|
|
4067
|
+
originalRef.current = collectValues();
|
|
4068
|
+
}
|
|
4069
|
+
const current = collectValues();
|
|
4070
|
+
const original = originalRef.current;
|
|
4071
|
+
const dirty = !deepEqual(original, current);
|
|
4072
|
+
const setDisabled = (disabled) => {
|
|
4073
|
+
if (typeof btn.setDisabled === "function") {
|
|
4074
|
+
btn.setDisabled(disabled);
|
|
4075
|
+
} else if ("disabled" in btn) {
|
|
4076
|
+
btn.disabled = disabled;
|
|
4077
|
+
}
|
|
4078
|
+
};
|
|
4079
|
+
setDisabled(!dirty);
|
|
4080
|
+
},
|
|
4081
|
+
isDirty() {
|
|
4082
|
+
if (!originalRef.current) {
|
|
4083
|
+
originalRef.current = collectValues();
|
|
4084
|
+
}
|
|
4085
|
+
const current = collectValues();
|
|
4086
|
+
const original = originalRef.current;
|
|
4087
|
+
return !deepEqual(original, current);
|
|
4088
|
+
},
|
|
4089
|
+
async prepare(type, route, extra, ignoreForm, autoErr) {
|
|
4090
|
+
const override = {
|
|
4091
|
+
method: type,
|
|
4092
|
+
url: route
|
|
4093
|
+
};
|
|
4094
|
+
return submitWithAdapter(
|
|
4095
|
+
override,
|
|
4096
|
+
extra,
|
|
4097
|
+
ignoreForm,
|
|
4098
|
+
autoErr,
|
|
4099
|
+
false
|
|
4100
|
+
);
|
|
4101
|
+
},
|
|
4102
|
+
persist(data, feed) {
|
|
4103
|
+
var _a2, _b2;
|
|
4104
|
+
const seen = {};
|
|
4105
|
+
const root = data;
|
|
4106
|
+
const useFeed = feed || (propsRef.current.valueFeed ? (name, value, original) => {
|
|
4107
|
+
const vf = propsRef.current.valueFeed;
|
|
4108
|
+
const maybe = vf(
|
|
4109
|
+
name,
|
|
4110
|
+
value,
|
|
4111
|
+
context
|
|
4112
|
+
);
|
|
4113
|
+
return typeof maybe === "undefined" ? original : maybe;
|
|
4114
|
+
} : void 0);
|
|
4115
|
+
for (const field of fetchAllNamedFields()) {
|
|
4116
|
+
const rawName = field.name;
|
|
4117
|
+
if (!rawName) continue;
|
|
4118
|
+
if (field.ignore) continue;
|
|
4119
|
+
const trimmed = rawName.trim();
|
|
4120
|
+
if (!trimmed) continue;
|
|
4121
|
+
const isArray = trimmed.endsWith("[]");
|
|
4122
|
+
const base = trimmed.replace(/\[]$/, "");
|
|
4123
|
+
const sharedKey = field.shared;
|
|
4124
|
+
const key = sharedKey ? `${sharedKey}.${base}` : base;
|
|
4125
|
+
let value = void 0;
|
|
4126
|
+
if (sharedKey) {
|
|
4127
|
+
const group = root[sharedKey];
|
|
4128
|
+
if (group && typeof group === "object") {
|
|
4129
|
+
if (isArray && Array.isArray(group[base])) {
|
|
4130
|
+
const idx = (_a2 = seen[key]) != null ? _a2 : 0;
|
|
4131
|
+
value = group[base][idx];
|
|
4132
|
+
seen[key] = idx + 1;
|
|
4133
|
+
} else {
|
|
4134
|
+
value = group[base];
|
|
4135
|
+
}
|
|
4136
|
+
}
|
|
4137
|
+
} else {
|
|
4138
|
+
if (isArray && Array.isArray(root[base])) {
|
|
4139
|
+
const idx = (_b2 = seen[key]) != null ? _b2 : 0;
|
|
4140
|
+
value = root[base][idx];
|
|
4141
|
+
seen[key] = idx + 1;
|
|
4142
|
+
} else {
|
|
4143
|
+
value = root[base];
|
|
4144
|
+
}
|
|
4145
|
+
}
|
|
4146
|
+
const anyField = field;
|
|
4147
|
+
const original = typeof anyField.getValue === "function" ? anyField.getValue() : anyField.value;
|
|
4148
|
+
let next = value;
|
|
4149
|
+
if (useFeed) {
|
|
4150
|
+
const maybe = useFeed(base, value, original);
|
|
4151
|
+
if (typeof maybe === "undefined") {
|
|
4152
|
+
continue;
|
|
4153
|
+
}
|
|
4154
|
+
next = maybe;
|
|
4155
|
+
}
|
|
4156
|
+
if (typeof anyField.setValue === "function") {
|
|
4157
|
+
anyField.setValue(next);
|
|
4158
|
+
} else {
|
|
4159
|
+
anyField.value = next;
|
|
4160
|
+
}
|
|
4161
|
+
}
|
|
4162
|
+
if (propsRef.current.onUpdate) {
|
|
4163
|
+
propsRef.current.onUpdate(collectValues());
|
|
4164
|
+
}
|
|
4165
|
+
},
|
|
4166
|
+
setValue(name, value) {
|
|
4167
|
+
if (!name) return;
|
|
4168
|
+
let sharedKey;
|
|
4169
|
+
let base = name;
|
|
4170
|
+
if (name.includes(".")) {
|
|
4171
|
+
const [group, field] = name.split(".", 2);
|
|
4172
|
+
sharedKey = group;
|
|
4173
|
+
base = field;
|
|
4174
|
+
}
|
|
4175
|
+
const targetField = fetchAllNamedFields().find((f2) => {
|
|
4176
|
+
var _a2;
|
|
4177
|
+
const raw = ((_a2 = f2.name) != null ? _a2 : "").trim();
|
|
4178
|
+
if (!raw) return false;
|
|
4179
|
+
const isArray = raw.endsWith("[]");
|
|
4180
|
+
const rawBase = raw.replace(/\[]$/, "");
|
|
4181
|
+
const fShared = f2.shared;
|
|
4182
|
+
const sameGroup = fShared === sharedKey;
|
|
4183
|
+
const sameName = raw === name || rawBase === base || `${fShared}.${rawBase}` === name;
|
|
4184
|
+
return (!sharedKey || sameGroup) && sameName && !isArray;
|
|
4185
|
+
});
|
|
4186
|
+
if (targetField) {
|
|
4187
|
+
const anyField = targetField;
|
|
4188
|
+
if (typeof anyField.setValue === "function") {
|
|
4189
|
+
anyField.setValue(value);
|
|
4190
|
+
} else {
|
|
4191
|
+
anyField.value = value;
|
|
4192
|
+
}
|
|
4193
|
+
} else {
|
|
4194
|
+
bucketRef.current[name] = value;
|
|
4195
|
+
}
|
|
4196
|
+
if (propsRef.current.onUpdate) {
|
|
4197
|
+
propsRef.current.onUpdate(collectValues());
|
|
4198
|
+
}
|
|
4199
|
+
},
|
|
4200
|
+
go(data, ignoreForm) {
|
|
4201
|
+
void submitWithAdapter(void 0, data, ignoreForm, true, true);
|
|
4202
|
+
},
|
|
4203
|
+
reset(inputs) {
|
|
4204
|
+
if (!inputs.length) return;
|
|
4205
|
+
for (const field of fetchAllNamedFields()) {
|
|
4206
|
+
const raw = field.name;
|
|
4207
|
+
if (!raw) continue;
|
|
4208
|
+
if (!inputs.includes(raw)) continue;
|
|
4209
|
+
const anyField = field;
|
|
4210
|
+
if (typeof anyField.reset === "function") {
|
|
4211
|
+
anyField.reset();
|
|
4212
|
+
} else if (typeof anyField.setValue === "function") {
|
|
4213
|
+
anyField.setValue(void 0);
|
|
4214
|
+
} else {
|
|
4215
|
+
anyField.value = void 0;
|
|
4216
|
+
}
|
|
4217
|
+
}
|
|
4218
|
+
},
|
|
4219
|
+
set button(btn) {
|
|
4220
|
+
buttonRef.current = btn;
|
|
4606
4221
|
},
|
|
4607
|
-
|
|
4608
|
-
|
|
4222
|
+
async forceSubmit() {
|
|
4223
|
+
await submitWithAdapter(void 0, void 0, false, true, true);
|
|
4609
4224
|
},
|
|
4610
|
-
|
|
4225
|
+
get fields() {
|
|
4226
|
+
return fetchAllNamedFields();
|
|
4227
|
+
},
|
|
4228
|
+
get props() {
|
|
4229
|
+
const { formRef, valueBag, ...rest } = propsRef.current;
|
|
4230
|
+
return rest;
|
|
4231
|
+
},
|
|
4232
|
+
setActiveButton(name) {
|
|
4233
|
+
activeButtonNameRef.current = name;
|
|
4234
|
+
},
|
|
4235
|
+
hasUncaughtErrors,
|
|
4236
|
+
getUncaught() {
|
|
4237
|
+
return uncaughtRef.current;
|
|
4238
|
+
}
|
|
4611
4239
|
};
|
|
4240
|
+
React68__namespace.useEffect(() => {
|
|
4241
|
+
if (!props.formRef) return;
|
|
4242
|
+
props.formRef.current = context;
|
|
4243
|
+
return () => {
|
|
4244
|
+
if (props.formRef) {
|
|
4245
|
+
props.formRef.current = null;
|
|
4246
|
+
}
|
|
4247
|
+
};
|
|
4248
|
+
}, [context]);
|
|
4249
|
+
React68__namespace.useEffect(() => {
|
|
4250
|
+
if (props.init) {
|
|
4251
|
+
props.init(context);
|
|
4252
|
+
}
|
|
4253
|
+
}, []);
|
|
4254
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CoreContextReact.Provider, { value: context, children: props.children });
|
|
4255
|
+
}
|
|
4256
|
+
function useCoreContext() {
|
|
4257
|
+
const ctx = React68.useContext(CoreContextReact);
|
|
4258
|
+
if (!ctx) {
|
|
4259
|
+
throw new Error("useCoreContext must be used within a <CoreProvider>.");
|
|
4260
|
+
}
|
|
4261
|
+
return ctx;
|
|
4262
|
+
}
|
|
4263
|
+
|
|
4264
|
+
// src/core/hooks/use-core.ts
|
|
4265
|
+
function useCore() {
|
|
4266
|
+
return useCoreContext();
|
|
4267
|
+
}
|
|
4268
|
+
|
|
4269
|
+
// ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
4270
|
+
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
4271
|
+
var toCamelCase = (string) => string.replace(
|
|
4272
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
4273
|
+
(match2, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
4274
|
+
);
|
|
4275
|
+
var toPascalCase = (string) => {
|
|
4276
|
+
const camelCase = toCamelCase(string);
|
|
4277
|
+
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
4612
4278
|
};
|
|
4613
|
-
var
|
|
4279
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
4280
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
4281
|
+
}).join(" ").trim();
|
|
4282
|
+
var hasA11yProp = (props) => {
|
|
4283
|
+
for (const prop in props) {
|
|
4284
|
+
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
4285
|
+
return true;
|
|
4286
|
+
}
|
|
4287
|
+
}
|
|
4288
|
+
};
|
|
4289
|
+
|
|
4290
|
+
// ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
4291
|
+
var defaultAttributes = {
|
|
4292
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4293
|
+
width: 24,
|
|
4294
|
+
height: 24,
|
|
4295
|
+
viewBox: "0 0 24 24",
|
|
4296
|
+
fill: "none",
|
|
4297
|
+
stroke: "currentColor",
|
|
4298
|
+
strokeWidth: 2,
|
|
4299
|
+
strokeLinecap: "round",
|
|
4300
|
+
strokeLinejoin: "round"
|
|
4301
|
+
};
|
|
4302
|
+
|
|
4303
|
+
// ../../node_modules/lucide-react/dist/esm/Icon.js
|
|
4304
|
+
var Icon = React68.forwardRef(
|
|
4305
|
+
({
|
|
4306
|
+
color = "currentColor",
|
|
4307
|
+
size = 24,
|
|
4308
|
+
strokeWidth = 2,
|
|
4309
|
+
absoluteStrokeWidth,
|
|
4310
|
+
className = "",
|
|
4311
|
+
children,
|
|
4312
|
+
iconNode,
|
|
4313
|
+
...rest
|
|
4314
|
+
}, ref) => React68.createElement(
|
|
4315
|
+
"svg",
|
|
4316
|
+
{
|
|
4317
|
+
ref,
|
|
4318
|
+
...defaultAttributes,
|
|
4319
|
+
width: size,
|
|
4320
|
+
height: size,
|
|
4321
|
+
stroke: color,
|
|
4322
|
+
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
4323
|
+
className: mergeClasses("lucide", className),
|
|
4324
|
+
...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
4325
|
+
...rest
|
|
4326
|
+
},
|
|
4327
|
+
[
|
|
4328
|
+
...iconNode.map(([tag, attrs]) => React68.createElement(tag, attrs)),
|
|
4329
|
+
...Array.isArray(children) ? children : [children]
|
|
4330
|
+
]
|
|
4331
|
+
)
|
|
4332
|
+
);
|
|
4333
|
+
|
|
4334
|
+
// ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
4335
|
+
var createLucideIcon = (iconName, iconNode) => {
|
|
4336
|
+
const Component = React68.forwardRef(
|
|
4337
|
+
({ className, ...props }, ref) => React68.createElement(Icon, {
|
|
4338
|
+
ref,
|
|
4339
|
+
iconNode,
|
|
4340
|
+
className: mergeClasses(
|
|
4341
|
+
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
4342
|
+
`lucide-${iconName}`,
|
|
4343
|
+
className
|
|
4344
|
+
),
|
|
4345
|
+
...props
|
|
4346
|
+
})
|
|
4347
|
+
);
|
|
4348
|
+
Component.displayName = toPascalCase(iconName);
|
|
4349
|
+
return Component;
|
|
4350
|
+
};
|
|
4351
|
+
|
|
4352
|
+
// ../../node_modules/lucide-react/dist/esm/icons/calendar.js
|
|
4353
|
+
var __iconNode = [
|
|
4354
|
+
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
4355
|
+
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
4356
|
+
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
4357
|
+
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
4358
|
+
];
|
|
4359
|
+
var Calendar = createLucideIcon("calendar", __iconNode);
|
|
4360
|
+
|
|
4361
|
+
// ../../node_modules/lucide-react/dist/esm/icons/check.js
|
|
4362
|
+
var __iconNode2 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
4363
|
+
var Check = createLucideIcon("check", __iconNode2);
|
|
4364
|
+
|
|
4365
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-down.js
|
|
4366
|
+
var __iconNode3 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
4367
|
+
var ChevronDown = createLucideIcon("chevron-down", __iconNode3);
|
|
4368
|
+
|
|
4369
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-left.js
|
|
4370
|
+
var __iconNode4 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
4371
|
+
var ChevronLeft = createLucideIcon("chevron-left", __iconNode4);
|
|
4372
|
+
|
|
4373
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
4374
|
+
var __iconNode5 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
4375
|
+
var ChevronRight = createLucideIcon("chevron-right", __iconNode5);
|
|
4376
|
+
|
|
4377
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-up.js
|
|
4378
|
+
var __iconNode6 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
4379
|
+
var ChevronUp = createLucideIcon("chevron-up", __iconNode6);
|
|
4380
|
+
|
|
4381
|
+
// ../../node_modules/lucide-react/dist/esm/icons/circle-alert.js
|
|
4382
|
+
var __iconNode7 = [
|
|
4383
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
4384
|
+
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
4385
|
+
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
4386
|
+
];
|
|
4387
|
+
var CircleAlert = createLucideIcon("circle-alert", __iconNode7);
|
|
4388
|
+
|
|
4389
|
+
// ../../node_modules/lucide-react/dist/esm/icons/circle-check.js
|
|
4390
|
+
var __iconNode8 = [
|
|
4391
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
4392
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
4393
|
+
];
|
|
4394
|
+
var CircleCheck = createLucideIcon("circle-check", __iconNode8);
|
|
4395
|
+
|
|
4396
|
+
// ../../node_modules/lucide-react/dist/esm/icons/circle.js
|
|
4397
|
+
var __iconNode9 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
4398
|
+
var Circle = createLucideIcon("circle", __iconNode9);
|
|
4399
|
+
|
|
4400
|
+
// ../../node_modules/lucide-react/dist/esm/icons/cloud-upload.js
|
|
4401
|
+
var __iconNode10 = [
|
|
4402
|
+
["path", { d: "M12 13v8", key: "1l5pq0" }],
|
|
4403
|
+
["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
|
|
4404
|
+
["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
|
|
4405
|
+
];
|
|
4406
|
+
var CloudUpload = createLucideIcon("cloud-upload", __iconNode10);
|
|
4407
|
+
|
|
4408
|
+
// ../../node_modules/lucide-react/dist/esm/icons/code-xml.js
|
|
4409
|
+
var __iconNode11 = [
|
|
4410
|
+
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
4411
|
+
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
4412
|
+
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
4413
|
+
];
|
|
4414
|
+
var CodeXml = createLucideIcon("code-xml", __iconNode11);
|
|
4415
|
+
|
|
4416
|
+
// ../../node_modules/lucide-react/dist/esm/icons/ellipsis.js
|
|
4417
|
+
var __iconNode12 = [
|
|
4418
|
+
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
4419
|
+
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
4420
|
+
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
4421
|
+
];
|
|
4422
|
+
var Ellipsis = createLucideIcon("ellipsis", __iconNode12);
|
|
4423
|
+
|
|
4424
|
+
// ../../node_modules/lucide-react/dist/esm/icons/eye-off.js
|
|
4425
|
+
var __iconNode13 = [
|
|
4426
|
+
[
|
|
4427
|
+
"path",
|
|
4428
|
+
{
|
|
4429
|
+
d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
|
|
4430
|
+
key: "ct8e1f"
|
|
4431
|
+
}
|
|
4432
|
+
],
|
|
4433
|
+
["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }],
|
|
4434
|
+
[
|
|
4435
|
+
"path",
|
|
4436
|
+
{
|
|
4437
|
+
d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
|
|
4438
|
+
key: "13bj9a"
|
|
4439
|
+
}
|
|
4440
|
+
],
|
|
4441
|
+
["path", { d: "m2 2 20 20", key: "1ooewy" }]
|
|
4442
|
+
];
|
|
4443
|
+
var EyeOff = createLucideIcon("eye-off", __iconNode13);
|
|
4614
4444
|
|
|
4615
|
-
//
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4445
|
+
// ../../node_modules/lucide-react/dist/esm/icons/eye.js
|
|
4446
|
+
var __iconNode14 = [
|
|
4447
|
+
[
|
|
4448
|
+
"path",
|
|
4449
|
+
{
|
|
4450
|
+
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
|
|
4451
|
+
key: "1nclc0"
|
|
4452
|
+
}
|
|
4453
|
+
],
|
|
4454
|
+
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
4455
|
+
];
|
|
4456
|
+
var Eye = createLucideIcon("eye", __iconNode14);
|
|
4457
|
+
|
|
4458
|
+
// ../../node_modules/lucide-react/dist/esm/icons/file.js
|
|
4459
|
+
var __iconNode15 = [
|
|
4460
|
+
[
|
|
4461
|
+
"path",
|
|
4462
|
+
{
|
|
4463
|
+
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
4464
|
+
key: "1oefj6"
|
|
4465
|
+
}
|
|
4466
|
+
],
|
|
4467
|
+
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }]
|
|
4468
|
+
];
|
|
4469
|
+
var File2 = createLucideIcon("file", __iconNode15);
|
|
4470
|
+
|
|
4471
|
+
// ../../node_modules/lucide-react/dist/esm/icons/folder-open.js
|
|
4472
|
+
var __iconNode16 = [
|
|
4473
|
+
[
|
|
4474
|
+
"path",
|
|
4475
|
+
{
|
|
4476
|
+
d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
|
|
4477
|
+
key: "usdka0"
|
|
4478
|
+
}
|
|
4479
|
+
]
|
|
4480
|
+
];
|
|
4481
|
+
var FolderOpen = createLucideIcon("folder-open", __iconNode16);
|
|
4482
|
+
|
|
4483
|
+
// ../../node_modules/lucide-react/dist/esm/icons/folder-up.js
|
|
4484
|
+
var __iconNode17 = [
|
|
4485
|
+
[
|
|
4486
|
+
"path",
|
|
4487
|
+
{
|
|
4488
|
+
d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
4489
|
+
key: "1kt360"
|
|
4490
|
+
}
|
|
4491
|
+
],
|
|
4492
|
+
["path", { d: "M12 10v6", key: "1bos4e" }],
|
|
4493
|
+
["path", { d: "m9 13 3-3 3 3", key: "1pxg3c" }]
|
|
4494
|
+
];
|
|
4495
|
+
var FolderUp = createLucideIcon("folder-up", __iconNode17);
|
|
4496
|
+
|
|
4497
|
+
// ../../node_modules/lucide-react/dist/esm/icons/folder.js
|
|
4498
|
+
var __iconNode18 = [
|
|
4499
|
+
[
|
|
4500
|
+
"path",
|
|
4501
|
+
{
|
|
4502
|
+
d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
4503
|
+
key: "1kt360"
|
|
4504
|
+
}
|
|
4505
|
+
]
|
|
4506
|
+
];
|
|
4507
|
+
var Folder = createLucideIcon("folder", __iconNode18);
|
|
4508
|
+
|
|
4509
|
+
// ../../node_modules/lucide-react/dist/esm/icons/funnel.js
|
|
4510
|
+
var __iconNode19 = [
|
|
4511
|
+
[
|
|
4512
|
+
"path",
|
|
4513
|
+
{
|
|
4514
|
+
d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
|
|
4515
|
+
key: "sc7q7i"
|
|
4516
|
+
}
|
|
4517
|
+
]
|
|
4518
|
+
];
|
|
4519
|
+
var Funnel = createLucideIcon("funnel", __iconNode19);
|
|
4520
|
+
|
|
4521
|
+
// ../../node_modules/lucide-react/dist/esm/icons/globe.js
|
|
4522
|
+
var __iconNode20 = [
|
|
4523
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
4524
|
+
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
4525
|
+
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
4526
|
+
];
|
|
4527
|
+
var Globe = createLucideIcon("globe", __iconNode20);
|
|
4528
|
+
|
|
4529
|
+
// ../../node_modules/lucide-react/dist/esm/icons/loader-circle.js
|
|
4530
|
+
var __iconNode21 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
4531
|
+
var LoaderCircle = createLucideIcon("loader-circle", __iconNode21);
|
|
4532
|
+
|
|
4533
|
+
// ../../node_modules/lucide-react/dist/esm/icons/map-pin.js
|
|
4534
|
+
var __iconNode22 = [
|
|
4535
|
+
[
|
|
4536
|
+
"path",
|
|
4537
|
+
{
|
|
4538
|
+
d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",
|
|
4539
|
+
key: "1r0f0z"
|
|
4540
|
+
}
|
|
4541
|
+
],
|
|
4542
|
+
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
|
|
4543
|
+
];
|
|
4544
|
+
var MapPin = createLucideIcon("map-pin", __iconNode22);
|
|
4545
|
+
|
|
4546
|
+
// ../../node_modules/lucide-react/dist/esm/icons/minus.js
|
|
4547
|
+
var __iconNode23 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
4548
|
+
var Minus = createLucideIcon("minus", __iconNode23);
|
|
4549
|
+
|
|
4550
|
+
// ../../node_modules/lucide-react/dist/esm/icons/palette.js
|
|
4551
|
+
var __iconNode24 = [
|
|
4552
|
+
[
|
|
4553
|
+
"path",
|
|
4554
|
+
{
|
|
4555
|
+
d: "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",
|
|
4556
|
+
key: "e79jfc"
|
|
4557
|
+
}
|
|
4558
|
+
],
|
|
4559
|
+
["circle", { cx: "13.5", cy: "6.5", r: ".5", fill: "currentColor", key: "1okk4w" }],
|
|
4560
|
+
["circle", { cx: "17.5", cy: "10.5", r: ".5", fill: "currentColor", key: "f64h9f" }],
|
|
4561
|
+
["circle", { cx: "6.5", cy: "12.5", r: ".5", fill: "currentColor", key: "qy21gx" }],
|
|
4562
|
+
["circle", { cx: "8.5", cy: "7.5", r: ".5", fill: "currentColor", key: "fotxhn" }]
|
|
4563
|
+
];
|
|
4564
|
+
var Palette = createLucideIcon("palette", __iconNode24);
|
|
4565
|
+
|
|
4566
|
+
// ../../node_modules/lucide-react/dist/esm/icons/pen-line.js
|
|
4567
|
+
var __iconNode25 = [
|
|
4568
|
+
["path", { d: "M13 21h8", key: "1jsn5i" }],
|
|
4569
|
+
[
|
|
4570
|
+
"path",
|
|
4571
|
+
{
|
|
4572
|
+
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
|
|
4573
|
+
key: "1a8usu"
|
|
4574
|
+
}
|
|
4575
|
+
]
|
|
4576
|
+
];
|
|
4577
|
+
var PenLine = createLucideIcon("pen-line", __iconNode25);
|
|
4578
|
+
|
|
4579
|
+
// ../../node_modules/lucide-react/dist/esm/icons/plus.js
|
|
4580
|
+
var __iconNode26 = [
|
|
4581
|
+
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
4582
|
+
["path", { d: "M12 5v14", key: "s699le" }]
|
|
4583
|
+
];
|
|
4584
|
+
var Plus = createLucideIcon("plus", __iconNode26);
|
|
4585
|
+
|
|
4586
|
+
// ../../node_modules/lucide-react/dist/esm/icons/search.js
|
|
4587
|
+
var __iconNode27 = [
|
|
4588
|
+
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
4589
|
+
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
4590
|
+
];
|
|
4591
|
+
var Search = createLucideIcon("search", __iconNode27);
|
|
4592
|
+
|
|
4593
|
+
// ../../node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js
|
|
4594
|
+
var __iconNode28 = [
|
|
4595
|
+
["path", { d: "M10 5H3", key: "1qgfaw" }],
|
|
4596
|
+
["path", { d: "M12 19H3", key: "yhmn1j" }],
|
|
4597
|
+
["path", { d: "M14 3v4", key: "1sua03" }],
|
|
4598
|
+
["path", { d: "M16 17v4", key: "1q0r14" }],
|
|
4599
|
+
["path", { d: "M21 12h-9", key: "1o4lsq" }],
|
|
4600
|
+
["path", { d: "M21 19h-5", key: "1rlt1p" }],
|
|
4601
|
+
["path", { d: "M21 5h-7", key: "1oszz2" }],
|
|
4602
|
+
["path", { d: "M8 10v4", key: "tgpxqk" }],
|
|
4603
|
+
["path", { d: "M8 12H3", key: "a7s4jb" }]
|
|
4604
|
+
];
|
|
4605
|
+
var SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode28);
|
|
4606
|
+
|
|
4607
|
+
// ../../node_modules/lucide-react/dist/esm/icons/square-split-vertical.js
|
|
4608
|
+
var __iconNode29 = [
|
|
4609
|
+
["path", { d: "M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3", key: "1pi83i" }],
|
|
4610
|
+
["path", { d: "M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3", key: "ido5k7" }],
|
|
4611
|
+
["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }]
|
|
4612
|
+
];
|
|
4613
|
+
var SquareSplitVertical = createLucideIcon("square-split-vertical", __iconNode29);
|
|
4614
|
+
|
|
4615
|
+
// ../../node_modules/lucide-react/dist/esm/icons/tag.js
|
|
4616
|
+
var __iconNode30 = [
|
|
4617
|
+
[
|
|
4618
|
+
"path",
|
|
4619
|
+
{
|
|
4620
|
+
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
|
|
4621
|
+
key: "vktsd0"
|
|
4622
|
+
}
|
|
4623
|
+
],
|
|
4624
|
+
["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
|
|
4625
|
+
];
|
|
4626
|
+
var Tag = createLucideIcon("tag", __iconNode30);
|
|
4627
|
+
|
|
4628
|
+
// ../../node_modules/lucide-react/dist/esm/icons/trash-2.js
|
|
4629
|
+
var __iconNode31 = [
|
|
4630
|
+
["path", { d: "M10 11v6", key: "nco0om" }],
|
|
4631
|
+
["path", { d: "M14 11v6", key: "outv1u" }],
|
|
4632
|
+
["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
|
|
4633
|
+
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
4634
|
+
["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
|
|
4635
|
+
];
|
|
4636
|
+
var Trash2 = createLucideIcon("trash-2", __iconNode31);
|
|
4637
|
+
|
|
4638
|
+
// ../../node_modules/lucide-react/dist/esm/icons/upload.js
|
|
4639
|
+
var __iconNode32 = [
|
|
4640
|
+
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
4641
|
+
["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
|
|
4642
|
+
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
|
|
4643
|
+
];
|
|
4644
|
+
var Upload = createLucideIcon("upload", __iconNode32);
|
|
4645
|
+
|
|
4646
|
+
// ../../node_modules/lucide-react/dist/esm/icons/x.js
|
|
4647
|
+
var __iconNode33 = [
|
|
4648
|
+
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
4649
|
+
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
4650
|
+
];
|
|
4651
|
+
var X = createLucideIcon("x", __iconNode33);
|
|
4619
4652
|
function ErrorStrip(props) {
|
|
4620
4653
|
var _a, _b;
|
|
4621
4654
|
const {
|
|
@@ -4852,7 +4885,8 @@ function useField(options) {
|
|
|
4852
4885
|
readOnly: readOnlyProp = false,
|
|
4853
4886
|
validate,
|
|
4854
4887
|
getOriginalValue,
|
|
4855
|
-
onValueChange
|
|
4888
|
+
onValueChange,
|
|
4889
|
+
onSubmit
|
|
4856
4890
|
} = options;
|
|
4857
4891
|
const ref = React68__namespace.useRef(null);
|
|
4858
4892
|
const stateRef = React68__namespace.useRef({
|
|
@@ -4939,6 +4973,7 @@ function useField(options) {
|
|
|
4939
4973
|
main,
|
|
4940
4974
|
ignore,
|
|
4941
4975
|
required,
|
|
4976
|
+
onSubmit,
|
|
4942
4977
|
ref,
|
|
4943
4978
|
get defaultValue() {
|
|
4944
4979
|
return stateRef.current.original;
|
|
@@ -4972,7 +5007,8 @@ function useField(options) {
|
|
|
4972
5007
|
if (onValueChange) {
|
|
4973
5008
|
onValueChange(value2, old, variant);
|
|
4974
5009
|
}
|
|
4975
|
-
}
|
|
5010
|
+
},
|
|
5011
|
+
variant: options.variant
|
|
4976
5012
|
// Flags not directly on the Field interface but used via `as any`
|
|
4977
5013
|
// in core-provider (getValue/setValue/reset).
|
|
4978
5014
|
};
|
|
@@ -8064,25 +8100,6 @@ function getGlobalCountryList() {
|
|
|
8064
8100
|
cachedCountries = DEFAULT_COUNTRIES;
|
|
8065
8101
|
return cachedCountries;
|
|
8066
8102
|
}
|
|
8067
|
-
|
|
8068
|
-
// src/lib/register-global.ts
|
|
8069
|
-
function registerPaletteUtil(key, value) {
|
|
8070
|
-
if (typeof window === "undefined") return;
|
|
8071
|
-
if (!window["form-palette"]) {
|
|
8072
|
-
window["form-palette"] = {};
|
|
8073
|
-
}
|
|
8074
|
-
window["form-palette"][key] = value;
|
|
8075
|
-
}
|
|
8076
|
-
function getPaletteUtil(key, defaultValue) {
|
|
8077
|
-
if (typeof window === "undefined") {
|
|
8078
|
-
return defaultValue;
|
|
8079
|
-
}
|
|
8080
|
-
const registry3 = window["form-palette"];
|
|
8081
|
-
if (registry3 && key in registry3) {
|
|
8082
|
-
return registry3[key];
|
|
8083
|
-
}
|
|
8084
|
-
return defaultValue;
|
|
8085
|
-
}
|
|
8086
8103
|
var TOKEN_CHARS = /* @__PURE__ */ new Set(["9", "a", "*"]);
|
|
8087
8104
|
function compileMask(pattern, placeholderChar = "_") {
|
|
8088
8105
|
return { pattern, placeholderChar };
|
|
@@ -19566,10 +19583,6 @@ function pickerBtnSize(size) {
|
|
|
19566
19583
|
return "h-7 w-7";
|
|
19567
19584
|
}
|
|
19568
19585
|
}
|
|
19569
|
-
function toArray(v2) {
|
|
19570
|
-
if (v2 == null) return [];
|
|
19571
|
-
return Array.isArray(v2) ? v2 : [v2];
|
|
19572
|
-
}
|
|
19573
19586
|
function normaliseFileLike(input) {
|
|
19574
19587
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
19575
19588
|
const asAny = input;
|
|
@@ -19727,6 +19740,7 @@ var ShadcnFileVariant = React68__namespace.forwardRef(function ShadcnFileVariant
|
|
|
19727
19740
|
formatFileName,
|
|
19728
19741
|
formatFileSize = formatSizeDefault,
|
|
19729
19742
|
placeholder = "Select file...",
|
|
19743
|
+
asRaw,
|
|
19730
19744
|
className,
|
|
19731
19745
|
custom,
|
|
19732
19746
|
dropAreaClassName,
|
|
@@ -27192,6 +27206,7 @@ function InputField(props) {
|
|
|
27192
27206
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
27193
27207
|
const {
|
|
27194
27208
|
variant,
|
|
27209
|
+
onSubmit,
|
|
27195
27210
|
// Field identity / wiring
|
|
27196
27211
|
name,
|
|
27197
27212
|
bind,
|
|
@@ -27323,6 +27338,8 @@ function InputField(props) {
|
|
|
27323
27338
|
alias,
|
|
27324
27339
|
main,
|
|
27325
27340
|
ignore,
|
|
27341
|
+
onSubmit,
|
|
27342
|
+
variant,
|
|
27326
27343
|
required,
|
|
27327
27344
|
defaultValue,
|
|
27328
27345
|
validate
|