@bindu-dashing/dam-solution-v2 5.8.169 → 5.8.172
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/build/AssetType/AddFieldProperties.d.ts +2 -1
- package/build/AssetType/AddFieldProperties.js +81 -26
- package/build/AssetType/AssetTemplatesTable.js +11 -2
- package/build/AssetType/CreateOrEditAssetTemplate.js +9 -2
- package/build/AssetType/DraggedField.js +22 -4
- package/build/AssetType/EditAssetTemplate.js +64 -7
- package/build/AssetType/FieldsSection.d.ts +1 -1
- package/build/AssetType/FieldsSection.js +60 -27
- package/build/MyDrive/fileDetails/MetaForm.js +9 -3
- package/build/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { InputTypeEntity } from "../utilities/constants/interface";
|
|
2
|
-
export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpdateField, currentInputType, index, allFields, }: {
|
|
2
|
+
export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpdateField, currentInputType, index, allFields, onCancel, }: {
|
|
3
3
|
field: InputTypeEntity | undefined;
|
|
4
4
|
setCurrentFieldIndex: (value: number | null) => void;
|
|
5
5
|
onUpdateField: (updatedValues: any, field: InputTypeEntity, index: number | null) => void;
|
|
6
6
|
currentInputType: InputTypeEntity | undefined;
|
|
7
7
|
index: number | null;
|
|
8
8
|
allFields: InputTypeEntity[];
|
|
9
|
+
onCancel?: (index: number | null) => void;
|
|
9
10
|
}): JSX.Element;
|
|
@@ -23,11 +23,38 @@ import dayjs from "dayjs";
|
|
|
23
23
|
import { DATE_FORMAT, DATE_WITH_TIME_FORMAT } from "../hocs/appConstants";
|
|
24
24
|
import { showNotification } from "../common/notifications";
|
|
25
25
|
import { UPDATE_SUCCESS } from "../utilities/constants/messages";
|
|
26
|
-
export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpdateField, currentInputType, index, allFields, }) {
|
|
26
|
+
export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpdateField, currentInputType, index, allFields, onCancel, }) {
|
|
27
27
|
const { styles } = useDamConfig();
|
|
28
28
|
const navigate = useAppNavigate();
|
|
29
29
|
const [defaultValueInput, setDefaultValueInput] = useState("");
|
|
30
30
|
const [loading, setLoading] = useState(false);
|
|
31
|
+
const [form] = Form.useForm();
|
|
32
|
+
// Watch form values and errors to determine if Update button should be enabled
|
|
33
|
+
const formValues = Form.useWatch([], form);
|
|
34
|
+
const [isFormValid, setIsFormValid] = useState(false);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const checkFormValidity = () => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
try {
|
|
38
|
+
// Check if required fields are filled and valid
|
|
39
|
+
const errors = form.getFieldsError();
|
|
40
|
+
const touchedFields = form.isFieldsTouched(['name', 'placeholder'], true);
|
|
41
|
+
const hasErrors = errors.some((error) => error.errors.length > 0);
|
|
42
|
+
// Get current form values
|
|
43
|
+
const values = form.getFieldsValue();
|
|
44
|
+
const nameFilled = !!(values.name && typeof values.name === 'string' && values.name.trim() !== '');
|
|
45
|
+
const placeholderFilled = !!(values.placeholder && typeof values.placeholder === 'string' && values.placeholder.trim() !== '');
|
|
46
|
+
// Enable button only if:
|
|
47
|
+
// 1. Required fields are filled
|
|
48
|
+
// 2. No validation errors
|
|
49
|
+
// 3. Fields are touched (user has interacted with them)
|
|
50
|
+
setIsFormValid(Boolean(!!touchedFields && nameFilled && placeholderFilled && !hasErrors));
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
setIsFormValid(false);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
checkFormValidity();
|
|
57
|
+
}, [formValues, form]);
|
|
31
58
|
const onUpdate = (values) => __awaiter(this, void 0, void 0, function* () {
|
|
32
59
|
try {
|
|
33
60
|
setLoading(true);
|
|
@@ -51,7 +78,6 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
51
78
|
setLoading(false);
|
|
52
79
|
}
|
|
53
80
|
});
|
|
54
|
-
const [form] = Form.useForm();
|
|
55
81
|
const getFormattedDefaultValue = (values) => {
|
|
56
82
|
const defaultName = get(field, "defaultName");
|
|
57
83
|
const defaultValue = get(values, "defaultValue");
|
|
@@ -103,6 +129,16 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
103
129
|
useEffect(() => {
|
|
104
130
|
form.setFieldsValue(Object.assign(Object.assign({}, field), { defaultValue: getInitialDefaultValue(get(field, "inputTypeSettings", {})) }));
|
|
105
131
|
handleFormValuesChange();
|
|
132
|
+
// Check initial form validity after setting field values
|
|
133
|
+
setTimeout(() => {
|
|
134
|
+
const errors = form.getFieldsError();
|
|
135
|
+
const touchedFields = form.isFieldsTouched(['name', 'placeholder'], true);
|
|
136
|
+
const hasErrors = errors.some((error) => error.errors && error.errors.length > 0);
|
|
137
|
+
const values = form.getFieldsValue();
|
|
138
|
+
const nameFilled = !!(values.name && typeof values.name === 'string' && values.name.trim() !== '');
|
|
139
|
+
const placeholderFilled = !!(values.placeholder && typeof values.placeholder === 'string' && values.placeholder.trim() !== '');
|
|
140
|
+
setIsFormValid(Boolean(!!touchedFields && nameFilled && placeholderFilled && !hasErrors));
|
|
141
|
+
}, 100);
|
|
106
142
|
}, [field, form]);
|
|
107
143
|
// Update defaultValueInput whenever form values change
|
|
108
144
|
const handleFormValuesChange = () => {
|
|
@@ -111,14 +147,15 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
111
147
|
const defaultName = currentInputType === null || currentInputType === void 0 ? void 0 : currentInputType.defaultName;
|
|
112
148
|
const options = ((_a = formValues.options) === null || _a === void 0 ? void 0 : _a.filter((opt) => (opt === null || opt === void 0 ? void 0 : opt.label) && (opt === null || opt === void 0 ? void 0 : opt.value))) || [];
|
|
113
149
|
const settings = formValues.inputTypeSettings || {};
|
|
114
|
-
|
|
150
|
+
// Use a specific placeholder for default value input, or fallback to field placeholder
|
|
151
|
+
const defaultValuePlaceholder = "Enter default value";
|
|
115
152
|
const item = {
|
|
116
153
|
_id: "defaultValue",
|
|
117
154
|
name: "Default Value",
|
|
118
155
|
defaultName,
|
|
119
156
|
options,
|
|
120
157
|
inputTypeSettings: settings,
|
|
121
|
-
placeholder,
|
|
158
|
+
placeholder: defaultValuePlaceholder,
|
|
122
159
|
};
|
|
123
160
|
// Add rule: defaultValue must be one of the options when defaultName is SELECT
|
|
124
161
|
let rules = [];
|
|
@@ -152,33 +189,37 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
152
189
|
return Promise.resolve();
|
|
153
190
|
// For DATE
|
|
154
191
|
if (defaultName === InputTypes.DATE) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
192
|
+
// Check if value has time methods (dayjs object with time support)
|
|
193
|
+
// When showTime is enabled, dayjs object will have hour/minute/second methods
|
|
194
|
+
// 00:00:00 is a valid time, so we check for the presence of time methods, not non-zero values
|
|
195
|
+
const hasTimeMethods = value &&
|
|
196
|
+
typeof value.hour === "function" &&
|
|
197
|
+
typeof value.minute === "function" &&
|
|
198
|
+
typeof value.second === "function";
|
|
199
|
+
if (allowTime && !hasTimeMethods) {
|
|
161
200
|
return Promise.reject("Please select a date with time (hour/minute/second).");
|
|
162
201
|
}
|
|
163
|
-
if (!allowTime &&
|
|
202
|
+
if (!allowTime && hasTimeMethods) {
|
|
164
203
|
return Promise.reject("Time is not allowed. Please select only a date.");
|
|
165
204
|
}
|
|
166
205
|
}
|
|
167
206
|
// For DATE_RANGE
|
|
168
207
|
if (defaultName === InputTypes.DATE_RANGE && Array.isArray(value)) {
|
|
169
208
|
const [start, end] = value;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
209
|
+
// Check for presence of time methods, not non-zero values
|
|
210
|
+
// 00:00:00 is a valid time selection
|
|
211
|
+
const startHasTimeMethods = start &&
|
|
212
|
+
typeof start.hour === "function" &&
|
|
213
|
+
typeof start.minute === "function" &&
|
|
214
|
+
typeof start.second === "function";
|
|
215
|
+
const endHasTimeMethods = end &&
|
|
216
|
+
typeof end.hour === "function" &&
|
|
217
|
+
typeof end.minute === "function" &&
|
|
218
|
+
typeof end.second === "function";
|
|
219
|
+
if (allowTime && (!startHasTimeMethods || !endHasTimeMethods)) {
|
|
179
220
|
return Promise.reject("Please select both start and end dates with time.");
|
|
180
221
|
}
|
|
181
|
-
if (!allowTime && (
|
|
222
|
+
if (!allowTime && (startHasTimeMethods || endHasTimeMethods)) {
|
|
182
223
|
return Promise.reject("Time is not allowed. Please select only dates.");
|
|
183
224
|
}
|
|
184
225
|
}
|
|
@@ -189,8 +230,18 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
189
230
|
// Pass rules to getFormItem
|
|
190
231
|
const defaultValueItem = getFormItem(Object.assign(Object.assign({}, item), { additionalRules: rules }), true);
|
|
191
232
|
setDefaultValueInput(defaultValueItem);
|
|
233
|
+
// Check form validity after values change
|
|
234
|
+
setTimeout(() => {
|
|
235
|
+
const errors = form.getFieldsError();
|
|
236
|
+
const touchedFields = form.isFieldsTouched(['name', 'placeholder'], true);
|
|
237
|
+
const hasErrors = errors.some((error) => error.errors && error.errors.length > 0);
|
|
238
|
+
const values = form.getFieldsValue();
|
|
239
|
+
const nameFilled = !!(values.name && typeof values.name === 'string' && values.name.trim() !== '');
|
|
240
|
+
const placeholderFilled = !!(values.placeholder && typeof values.placeholder === 'string' && values.placeholder.trim() !== '');
|
|
241
|
+
setIsFormValid(Boolean(!!touchedFields && nameFilled && placeholderFilled && !hasErrors));
|
|
242
|
+
}, 0);
|
|
192
243
|
};
|
|
193
|
-
return (_jsxs("div", { className: "md-lib-p-4", children: [_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx("h2", { className: "md-lib-text-xl md-lib-font-semibold", children: "Properties" }), _jsxs("p", { className: "md-lib-ml-auto md-lib-text-sm md-lib-truncate", style: { color: styles === null || styles === void 0 ? void 0 : styles.secondaryTextColor }, children: ["Type: ", get(field, "name", "N/A")] })] }), _jsx("div", { className: "md-lib-mt-4", children: _jsxs(Form, { layout: "vertical", form: form, requiredMark:
|
|
244
|
+
return (_jsxs("div", { className: "md-lib-p-4", children: [_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx("h2", { className: "md-lib-text-xl md-lib-font-semibold", children: "Properties" }), _jsxs("p", { className: "md-lib-ml-auto md-lib-text-sm md-lib-truncate", style: { color: styles === null || styles === void 0 ? void 0 : styles.secondaryTextColor }, children: ["Type: ", get(field, "name", "N/A")] })] }), _jsx("div", { className: "md-lib-mt-4 md-lib-relative", children: _jsxs(Form, { layout: "vertical", form: form, requiredMark: true, scrollToFirstError: true, onFinish: onUpdate, initialValues: field, onValuesChange: handleFormValuesChange, className: "md-lib-pb-20", children: [_jsx(Form.Item, { name: "isMandatory", valuePropName: "checked", children: _jsx(Checkbox, { children: "Marks as mandatory field" }) }), _jsx(Form.Item, { name: "name", label: "Field Name", rules: [
|
|
194
245
|
{ required: true, message: "Name is required" },
|
|
195
246
|
{
|
|
196
247
|
validator: (_, value) => {
|
|
@@ -214,8 +265,12 @@ export default function AddFieldProperties({ field, setCurrentFieldIndex, onUpda
|
|
|
214
265
|
InputTypes.TEAM,
|
|
215
266
|
InputTypes.CHECKBOX,
|
|
216
267
|
InputTypes.RADIO,
|
|
217
|
-
], get(currentInputType, "defaultName")) && (_jsx(OptionsField, { field: field, supportedTypes: get(currentInputType, "supportedTypes", []), currentInputType: currentInputType }))] })] }), _jsxs(Form.Item, { className: "md-lib-flex md-lib-items-center md-lib-justify-end md-lib-absolute md-lib-bottom-0 md-lib-right-0
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
268
|
+
], get(currentInputType, "defaultName")) && (_jsx(OptionsField, { field: field, supportedTypes: get(currentInputType, "supportedTypes", []), currentInputType: currentInputType }))] })] }), _jsxs(Form.Item, { className: "md-lib-flex md-lib-items-center md-lib-justify-end md-lib-absolute md-lib-bottom-0 md-lib-right-0 md-lib-pr-4 md-lib-pb-4", children: [_jsx(Button, { color: "primary", variant: "text", onClick: () => {
|
|
269
|
+
if (onCancel && index !== null) {
|
|
270
|
+
onCancel(index);
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
setCurrentFieldIndex(null);
|
|
274
|
+
}
|
|
275
|
+
}, size: "large", children: "Cancel" }), _jsx(Button, { color: "primary", htmlType: "submit", className: "md-lib-ml-2 md-lib-border-primaryColor md-lib-text-primaryColor", size: "large", loading: loading, disabled: !isFormValid || loading, children: "Update" })] })] }) })] }));
|
|
221
276
|
}
|
|
@@ -40,16 +40,25 @@ function AssetTemplatesTable({ assetTemplates, totalPages, totalCount, filters =
|
|
|
40
40
|
setState((prevState) => (Object.assign(Object.assign({}, prevState), { selectedAsset: asset, showConfirmPopup: !prevState.showConfirmPopup, actionLoading: false, updateAssetId: updateAssetId })));
|
|
41
41
|
};
|
|
42
42
|
const onDeleteTemplate = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const assetId = get(selectedAsset, "_id");
|
|
44
|
+
if (!assetId) {
|
|
45
|
+
showNotification("Unable to delete: Asset ID is missing", NotificationStatus.ERROR);
|
|
46
|
+
toggleDeletConfirm();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
43
49
|
setState((prevState) => (Object.assign(Object.assign({}, prevState), { actionLoading: true })));
|
|
44
50
|
try {
|
|
45
|
-
const response = yield api.delete(FETCH_ASSET_URL.replace(":assetId",
|
|
51
|
+
const response = yield api.delete(FETCH_ASSET_URL.replace(":assetId", assetId));
|
|
46
52
|
onFetchAssetTemplates(Object.assign(Object.assign({}, filters), { page: DEFAULT_PAGE }));
|
|
47
53
|
toggleDeletConfirm();
|
|
48
54
|
showNotification(get(response, "data.message", DELETE_SUCCESS), NotificationStatus.SUCCESS);
|
|
49
55
|
}
|
|
50
56
|
catch (error) {
|
|
51
57
|
setState((prevState) => (Object.assign(Object.assign({}, prevState), { actionLoading: false })));
|
|
52
|
-
|
|
58
|
+
const errorMessage = get(error, "response.data.message") ||
|
|
59
|
+
get(error, "message") ||
|
|
60
|
+
SOMETHING_WENT_WRONG;
|
|
61
|
+
showNotification(errorMessage, NotificationStatus.ERROR);
|
|
53
62
|
}
|
|
54
63
|
});
|
|
55
64
|
const onUpdateTemplate = (values, assetId) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -48,14 +48,21 @@ export default function CreateOrEditAssetTemplate() {
|
|
|
48
48
|
getTemplateData();
|
|
49
49
|
}, [mergedParams]);
|
|
50
50
|
const getInputTypesData = () => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
var _a;
|
|
51
52
|
setState((prevState) => {
|
|
52
53
|
return Object.assign(Object.assign({}, prevState), { inputTypesLoading: true });
|
|
53
54
|
});
|
|
54
55
|
try {
|
|
55
56
|
const response = yield api.get(FETCH_INPUT_TYPES_URL);
|
|
57
|
+
const filteredData = (_a = get(response, "data", [])) === null || _a === void 0 ? void 0 : _a.filter((input) => get(input, "defaultName") !== InputTypes.PERSON);
|
|
58
|
+
// Sort widgets alphabetically by name
|
|
59
|
+
const sortedData = filteredData === null || filteredData === void 0 ? void 0 : filteredData.sort((a, b) => {
|
|
60
|
+
const nameA = get(a, "name", "").toLowerCase();
|
|
61
|
+
const nameB = get(b, "name", "").toLowerCase();
|
|
62
|
+
return nameA.localeCompare(nameB);
|
|
63
|
+
});
|
|
56
64
|
setState((prevState) => {
|
|
57
|
-
|
|
58
|
-
return Object.assign(Object.assign({}, prevState), { inputTypesData: (_a = get(response, "data", [])) === null || _a === void 0 ? void 0 : _a.filter((input) => get(input, "defaultName") !== InputTypes.PERSON), inputTypesLoading: false });
|
|
65
|
+
return Object.assign(Object.assign({}, prevState), { inputTypesData: sortedData || [], inputTypesLoading: false });
|
|
59
66
|
});
|
|
60
67
|
}
|
|
61
68
|
catch (err) {
|
|
@@ -17,9 +17,9 @@ export default function DraggedField({ provided, field, onAddLabel, onDeleteFiel
|
|
|
17
17
|
// const initialName = get(field, "name", "");
|
|
18
18
|
// setFieldName(initialName);
|
|
19
19
|
// }, [field]);
|
|
20
|
-
const defaultName = get(field, "defaultName");
|
|
20
|
+
const defaultName = get(field, "defaultName", null);
|
|
21
21
|
const id = get(field, "_id");
|
|
22
|
-
const IconComponent = getWidgetIcon(
|
|
22
|
+
const IconComponent = getWidgetIcon(defaultName);
|
|
23
23
|
return (_jsxs("div", { className: `md-lib-flex md-lib-relative md-lib-gap-2 md-lib-border md-lib-h-100 md-lib-rounded-md md-lib-cursor-pointer md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-mb-2 ${currentFieldIndex === index && !showOutputFormat
|
|
24
24
|
? "md-lib-border-primaryColor"
|
|
25
25
|
: "md-lib-border-borderColor dark:md-lib-border-darkBorderColor"}`,
|
|
@@ -35,6 +35,24 @@ export default function DraggedField({ provided, field, onAddLabel, onDeleteFiel
|
|
|
35
35
|
className: "md-lib-flex md-lib-items-center md-lib-rounded-s" }, provided.dragHandleProps, { children: _jsx(MdDragIndicatorIcon, { size: ICON_SIZE, className: "md-lib-h-100" }) })), _jsxs("div", { className: "md-lib-flex-1 md-lib-p-2 md-lib-w-100", children: [_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2 md-lib-mb-3", children: [IconComponent && _jsx(IconComponent, {}), _jsx("label", { className: "md-lib-font-semibold", children: get(field, "name", "Field Name") }), !showOutputFormat && (_jsxs("div", { className: `md-lib-flex md-lib-items-center md-lib-gap-2 md-lib-absolute md-lib-right-3 md-lib--top-3 md-lib-border md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-rounded-md md-lib-p-1 ${currentFieldIndex === index ? "md-lib-border-primaryColor" : "md-lib-hidden"}`, children: [_jsx(MdOutlineEditIcon, { size: ICON_SIZE, className: "md-lib-cursor-pointer", onClick: () => setCurrentFieldIndex(index), "aria-disabled": showOutputFormat }), _jsx(IoMdCloseIcon, { size: ICON_SIZE, className: "md-lib-cursor-pointer", onClick: (e) => {
|
|
36
36
|
e.stopPropagation();
|
|
37
37
|
onDeleteField(index);
|
|
38
|
-
}, "aria-disabled": showOutputFormat })] }))] }), _jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [(defaultName === InputTypes.TEXT || !defaultName) && (
|
|
39
|
-
|
|
38
|
+
}, "aria-disabled": showOutputFormat })] }))] }), _jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [(defaultName === InputTypes.TEXT || !defaultName) && (() => {
|
|
39
|
+
const charLimitSettings = get(field, "inputTypeSettings.CHARACTER_LIMIT", {});
|
|
40
|
+
const charLimitEnabled = get(charLimitSettings, "allow", false);
|
|
41
|
+
const maxValue = get(charLimitSettings, "maxValue");
|
|
42
|
+
const maxLength = charLimitEnabled && maxValue ? maxValue : 255; // Default to 255
|
|
43
|
+
return (_jsx(Input, { placeholder: get(field, "placeholder", ""), style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none", maxLength: maxLength, showCount: true }));
|
|
44
|
+
})(), defaultName === InputTypes.PARAGRAPH && (() => {
|
|
45
|
+
const charLimitSettings = get(field, "inputTypeSettings.CHARACTER_LIMIT", {});
|
|
46
|
+
const charLimitEnabled = get(charLimitSettings, "allow", false);
|
|
47
|
+
const maxValue = get(charLimitSettings, "maxValue");
|
|
48
|
+
const maxLength = charLimitEnabled && maxValue ? maxValue : 255; // Default to 255
|
|
49
|
+
return (_jsx(Input.TextArea, { rows: 2, placeholder: get(field, "placeholder", ""), style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none", maxLength: maxLength, showCount: true }));
|
|
50
|
+
})(), defaultName === InputTypes.NUMBERS && (_jsx(InputNumber, { placeholder: get(field, "placeholder", ""), style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none" })), defaultName === InputTypes.DATE && (_jsx(DatePicker, { style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none" })), defaultName === InputTypes.DATE_RANGE && (_jsx(RangePicker, { placeholder: ["Start", "End"], style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none" })), (defaultName === InputTypes.SELECT ||
|
|
51
|
+
defaultName === InputTypes.TEAM) && (_jsx(Select, { placeholder: get(field, "placeholder", ""), style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none", disabled: true })), defaultName === InputTypes.LINK && (() => {
|
|
52
|
+
const charLimitSettings = get(field, "inputTypeSettings.CHARACTER_LIMIT", {});
|
|
53
|
+
const charLimitEnabled = get(charLimitSettings, "allow", false);
|
|
54
|
+
const maxValue = get(charLimitSettings, "maxValue");
|
|
55
|
+
const maxLength = charLimitEnabled && maxValue ? maxValue : 255; // Default to 255
|
|
56
|
+
return (_jsx(Input, { placeholder: get(field, "placeholder", ""), style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none", maxLength: maxLength, showCount: true }));
|
|
57
|
+
})(), defaultName === InputTypes.RADIO && (_jsx(Radio.Group, { options: [], style: { width: "100%" }, size: "large", className: "md-lib-pointer-events-none" })), defaultName === InputTypes.CHECKBOX && (_jsx(Checkbox.Group, { options: [], style: { width: "100%" }, className: "md-lib-pointer-events-none" })), showOutputFormat && (_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx(Checkbox, { onChange: (e) => onUpdateOutputFormat(index, "required", e.target.checked), checked: get(outputFormatField, "required", false), children: "Required" }), _jsx(Input, { placeholder: "Separator", value: get(outputFormatField, "separator", ""), onChange: (e) => onUpdateOutputFormat(index, "separator", e.target.value) })] }))] })] })] }));
|
|
40
58
|
}
|
|
@@ -47,8 +47,14 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
47
47
|
const navigate = useAppNavigate();
|
|
48
48
|
const damConfig = useDamConfig();
|
|
49
49
|
const api = useMemo(() => createApiClient(damConfig), [damConfig]);
|
|
50
|
+
// Track original values for change detection
|
|
51
|
+
const originalName = useMemo(() => get(assetTemplate, "name", ""), [assetTemplate]);
|
|
52
|
+
const originalDescription = useMemo(() => get(assetTemplate, "description", ""), [assetTemplate]);
|
|
53
|
+
const originalFields = useMemo(() => get(assetTemplate, "metadataFields", []), [assetTemplate]);
|
|
54
|
+
const originalImagePickerOutputFormat = useMemo(() => get(assetTemplate, "imagePickerOutputFormat", []), [assetTemplate]);
|
|
50
55
|
const [state, setState] = useState({
|
|
51
56
|
name: get(assetTemplate, "name", ""),
|
|
57
|
+
description: get(assetTemplate, "description", ""),
|
|
52
58
|
currentFieldIndex: null,
|
|
53
59
|
fields: get(assetTemplate, "metadataFields", []),
|
|
54
60
|
loading: false,
|
|
@@ -59,10 +65,28 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
59
65
|
});
|
|
60
66
|
useEffect(() => {
|
|
61
67
|
setState((prevState) => {
|
|
62
|
-
return Object.assign(Object.assign({}, prevState), { name: get(assetTemplate, "name", ""), fields: get(assetTemplate, "metadataFields", []), imagePickerOutputFormat: get(assetTemplate, "imagePickerOutputFormat", []) });
|
|
68
|
+
return Object.assign(Object.assign({}, prevState), { name: get(assetTemplate, "name", ""), description: get(assetTemplate, "description", ""), fields: get(assetTemplate, "metadataFields", []), imagePickerOutputFormat: get(assetTemplate, "imagePickerOutputFormat", []) });
|
|
63
69
|
});
|
|
64
70
|
}, [assetTemplate]);
|
|
65
|
-
const { name, currentFieldIndex, fields, loading, showOutputFormat, imagePickerOutputFormat, imagePickerOutputFormatError, } = state;
|
|
71
|
+
const { name, description, currentFieldIndex, fields, loading, showOutputFormat, imagePickerOutputFormat, imagePickerOutputFormatError, } = state;
|
|
72
|
+
// Check if there are changes to name or description
|
|
73
|
+
const hasNameOrDescriptionChanges = useMemo(() => {
|
|
74
|
+
return name.trim() !== originalName.trim() ||
|
|
75
|
+
description.trim() !== originalDescription.trim();
|
|
76
|
+
}, [name, description, originalName, originalDescription]);
|
|
77
|
+
// Check if there are changes to fields
|
|
78
|
+
const hasFieldChanges = useMemo(() => {
|
|
79
|
+
if (fields.length !== originalFields.length)
|
|
80
|
+
return true;
|
|
81
|
+
// Simple comparison - can be enhanced if needed
|
|
82
|
+
return JSON.stringify(fields) !== JSON.stringify(originalFields);
|
|
83
|
+
}, [fields, originalFields]);
|
|
84
|
+
// Check if there are changes to imagePickerOutputFormat
|
|
85
|
+
const hasImagePickerOutputFormatChanges = useMemo(() => {
|
|
86
|
+
return JSON.stringify(imagePickerOutputFormat) !== JSON.stringify(originalImagePickerOutputFormat);
|
|
87
|
+
}, [imagePickerOutputFormat, originalImagePickerOutputFormat]);
|
|
88
|
+
// Enable save button if there are changes and no field is being edited
|
|
89
|
+
const canSave = hasNameOrDescriptionChanges || hasFieldChanges || hasImagePickerOutputFormatChanges;
|
|
66
90
|
const transformInputTypePayload = (updatedValues, field, mapId) => {
|
|
67
91
|
const supportedTypes = get(field, "supportedTypes", []);
|
|
68
92
|
const inputTypeSettings = {};
|
|
@@ -114,7 +138,36 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
114
138
|
return acc;
|
|
115
139
|
}, false);
|
|
116
140
|
};
|
|
141
|
+
const validateFields = () => {
|
|
142
|
+
// Check if template name is provided
|
|
143
|
+
if (!name || name.trim() === "") {
|
|
144
|
+
showNotification("Template name is required", NotificationStatus.ERROR);
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
// Validate all fields have required properties
|
|
148
|
+
for (let i = 0; i < fields.length; i++) {
|
|
149
|
+
const field = fields[i];
|
|
150
|
+
if (!get(field, "name") || get(field, "name", "").trim() === "") {
|
|
151
|
+
showNotification(`Field ${i + 1}: Name is required`, NotificationStatus.ERROR);
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
if (!get(field, "placeholder") || get(field, "placeholder", "").trim() === "") {
|
|
155
|
+
showNotification(`Field ${i + 1}: Placeholder is required`, NotificationStatus.ERROR);
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return true;
|
|
160
|
+
};
|
|
117
161
|
const handleSaveTemplate = () => __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
// Don't allow saving if a field is currently being edited
|
|
163
|
+
if (currentFieldIndex !== null) {
|
|
164
|
+
showNotification("Please finish editing the current field before saving", NotificationStatus.WARN);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
// Validate fields before saving
|
|
168
|
+
if (!validateFields()) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
118
171
|
const imagePickerOutputFormatHasErrors = validateImagePickerOutputFormat();
|
|
119
172
|
if (!imagePickerOutputFormatHasErrors) {
|
|
120
173
|
if (!id) {
|
|
@@ -126,6 +179,7 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
126
179
|
try {
|
|
127
180
|
const response = yield api.put(FETCH_ASSET_URL.replace(":assetId", id), {
|
|
128
181
|
name: name,
|
|
182
|
+
description: description,
|
|
129
183
|
metadataFields: map(fields, (field) => {
|
|
130
184
|
const currentInputType = find(inputTypes, (input) => get(field, "defaultName") === get(input, "defaultName"));
|
|
131
185
|
return transformInputTypePayload(field, currentInputType, get(field, "mapId", ""));
|
|
@@ -191,15 +245,18 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
191
245
|
if (navigate) {
|
|
192
246
|
navigate(ASSETS_SCREEN);
|
|
193
247
|
}
|
|
194
|
-
}, className: "md-lib-cursor-pointer" }),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
248
|
+
}, className: "md-lib-cursor-pointer" }), _jsxs("div", { className: "md-lib-flex md-lib-flex-col md-lib-border-l md-lib-pl-4 md-lib-ml-4", children: [_jsx(Paragraph, { className: "md-lib-text-xl md-lib-asset-template-title", style: { marginBottom: "0px !important" }, editable: {
|
|
249
|
+
onChange: (val) => setState((prevState) => (Object.assign(Object.assign({}, prevState), { name: val }))),
|
|
250
|
+
icon: _jsx(FiEdit2Icon, { size: 15, className: "md-lib-ml-2" }),
|
|
251
|
+
}, children: name }), _jsx(Paragraph, { className: "md-lib-text-sm md-lib-text-gray-500 dark:md-lib-text-gray-400 md-lib-mt-1", style: { marginBottom: "0px !important" }, editable: {
|
|
252
|
+
onChange: (val) => setState((prevState) => (Object.assign(Object.assign({}, prevState), { description: val }))),
|
|
253
|
+
icon: _jsx(FiEdit2Icon, { size: 15, className: "md-lib-ml-2" }),
|
|
254
|
+
}, children: description || "Add description" })] })] })),
|
|
198
255
|
right: (_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2 md-lib-ml-auto", children: [imagePickerOutputFormatError && (_jsx("p", { className: "md-lib-text-sm md-lib-text-red-500", children: "Please ensure that all required fields (except the last one) have separators configured" })), _jsx(CustomButton, { label: "Cancel", onClick: () => {
|
|
199
256
|
if (navigate) {
|
|
200
257
|
navigate(ASSETS_SCREEN);
|
|
201
258
|
}
|
|
202
|
-
} }), _jsx(CustomButton, { label: "Save", type: currentFieldIndex !== null ? "default" : "primary", icon: _jsx(FiSaveIcon, {}), disabled: currentFieldIndex !== null, onClick: handleSaveTemplate, loading: loading })] })),
|
|
259
|
+
} }), _jsx(CustomButton, { label: "Save", type: currentFieldIndex !== null || !canSave ? "default" : "primary", icon: _jsx(FiSaveIcon, {}), disabled: currentFieldIndex !== null || !canSave, onClick: handleSaveTemplate, loading: loading })] })),
|
|
203
260
|
}, onChange: (key) => setState((prevState) => {
|
|
204
261
|
return Object.assign(Object.assign({}, prevState), { activeTab: key, currentFieldIndex: key === "2" ? null : prevState.currentFieldIndex });
|
|
205
262
|
}) }) }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SetStateAction } from "react";
|
|
2
2
|
import { InputTypeEntity } from "../utilities/constants/interface";
|
|
3
|
-
export declare const getWidgetIcon: (defaultName: string) => import("react-icons").IconType | null;
|
|
3
|
+
export declare const getWidgetIcon: (defaultName: string | undefined | null) => import("react-icons").IconType | null;
|
|
4
4
|
export default function FieldsSection({ name, inputTypes, transformInputTypePayload, currentFieldIndex, setCurrentFieldIndex, fields, setState, showOutputFormat, imagePickerOutputFormat, }: {
|
|
5
5
|
name: string;
|
|
6
6
|
inputTypes: InputTypeEntity[];
|
|
@@ -35,31 +35,47 @@ import { EMPTY_ASSET_TEMPLATE_WIDGETS_URL } from "../utilities/constants/imageUr
|
|
|
35
35
|
import _ from "lodash";
|
|
36
36
|
import useAppParams from "../utilities/useAppParams";
|
|
37
37
|
export const getWidgetIcon = (defaultName) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
38
|
+
// Guard against undefined, null, or non-string values
|
|
39
|
+
// Use explicit checks and ensure we have a valid string before calling toUpperCase
|
|
40
|
+
if (defaultName === undefined || defaultName === null) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
// Ensure it's a string type
|
|
44
|
+
const nameString = String(defaultName).trim();
|
|
45
|
+
if (!nameString) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
switch (nameString.toUpperCase()) {
|
|
50
|
+
case InputTypes.TEXT:
|
|
51
|
+
return CiText;
|
|
52
|
+
case InputTypes.PARAGRAPH:
|
|
53
|
+
return BsTextParagraph;
|
|
54
|
+
case InputTypes.NUMBERS:
|
|
55
|
+
return RiNumbersLine;
|
|
56
|
+
case InputTypes.DATE:
|
|
57
|
+
return CiCalendarDate;
|
|
58
|
+
case InputTypes.DATE_RANGE:
|
|
59
|
+
return MdOutlineDateRange;
|
|
60
|
+
case InputTypes.SELECT:
|
|
61
|
+
return GoSingleSelect;
|
|
62
|
+
case InputTypes.LINK:
|
|
63
|
+
return CiLink;
|
|
64
|
+
case InputTypes.RADIO:
|
|
65
|
+
return IoIosRadioButtonOff;
|
|
66
|
+
case InputTypes.CHECKBOX:
|
|
67
|
+
return IoCheckboxOutline;
|
|
68
|
+
case InputTypes.PERSON:
|
|
69
|
+
return FaRegUser;
|
|
70
|
+
case InputTypes.TEAM:
|
|
71
|
+
return MdOutlineGroup;
|
|
72
|
+
default:
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.warn('Error in getWidgetIcon:', error, 'defaultName:', defaultName);
|
|
78
|
+
return null;
|
|
63
79
|
}
|
|
64
80
|
};
|
|
65
81
|
export default function FieldsSection({ name, inputTypes, transformInputTypePayload, currentFieldIndex, setCurrentFieldIndex, fields, setState, showOutputFormat, imagePickerOutputFormat, }) {
|
|
@@ -215,7 +231,7 @@ export default function FieldsSection({ name, inputTypes, transformInputTypePayl
|
|
|
215
231
|
showNotification(INPUT_SETTINGS_VALIDATION_ERROR, NotificationStatus.WARN);
|
|
216
232
|
}, children: _jsxs("div", { className: `md-lib-grid ${showOutputFormat ? "md-lib-grid-cols-1" : "md-lib-grid-cols-4"} ${showOutputFormat ? "md-lib-h-screen" : ""}`, children: [showOutputFormat && (_jsxs("div", { className: "md-lib-p-8", children: [_jsx("p", { className: "md-lib-text-sm md-lib-text-orange-500", children: "Note: Please ensure that all required fields has separators" }), _jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx("p", { className: "md-lib-text-sm md-lib-font-semibold", children: "Sample File Format: " }), _jsx("pre", { children: getFormattedValue(imagePickerOutputFormat) })] })] })), !showOutputFormat && (_jsx(Droppable, { droppableId: "droppable1", children: (provided) => (_jsxs("div", Object.assign({}, provided.droppableProps, { ref: provided.innerRef, children: [_jsxs("div", { className: "md-lib-p-3 md-lib-col-span-1 md-lib-border-r dark:md-lib-border-darkBorderColor dark:md-lib-bg-darkPrimary", children: [_jsx(Typography.Title, { level: 4, children: "Form Widgets" }), _jsx("p", { className: "md-lib-text-sm md-lib-description md-lib-mb-3", children: "Drag and drop form elements in additional section" }), map(inputTypes, (type, index) => {
|
|
217
233
|
const IconComponent = getWidgetIcon(get(type, "defaultName"));
|
|
218
|
-
return (_jsx(Draggable, { draggableId: get(type, "_id"), index: index, children: (provided) => (_jsxs("div", Object.assign({ className: "md-lib-flex md-lib-items-center md-lib-gap-2 md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-p-3 md-lib-mb-2 md-lib-rounded", ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { children: [IconComponent && (_jsx(IconComponent, { size: ICON_SIZE })), _jsx("
|
|
234
|
+
return (_jsx(Draggable, { draggableId: get(type, "_id"), index: index, children: (provided) => (_jsxs("div", Object.assign({ className: "md-lib-flex md-lib-items-center md-lib-gap-2 md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-p-3 md-lib-mb-2 md-lib-rounded", ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { children: [IconComponent && (_jsx("div", { className: "md-lib-flex md-lib-items-center md-lib-flex-shrink-0", children: _jsx(IconComponent, { size: ICON_SIZE }) })), _jsx("span", { className: "md-lib-leading-normal md-lib-text-base", children: get(type, "name") })] }))) }, get(type, "_id")));
|
|
219
235
|
})] }), provided.placeholder] }))) })), _jsx("div", { className: `${!!currentField && !showOutputFormat ? "md-lib-col-span-2" : "md-lib-col-span-3"} dark:md-lib-bg-darkPrimary`, children: _jsx(Droppable, { droppableId: "droppable2", children: (provided) => (_jsxs("div", Object.assign({}, provided.droppableProps, { ref: provided.innerRef, className: "md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-rounded-[20px] md-lib-my-4 md-lib-mx-8", children: [_jsx("p", { className: "md-lib-text-xl md-lib-border-b md-lib-p-3 md-lib-asset-template-title md-lib-truncate", children: name }), _jsx("div", { className: "md-lib-p-4", children: get(fields, "length") === 0 ? (_jsxs("div", { className: "md-lib-flex md-lib-flex-col md-lib-items-center md-lib-justify-center", children: [_jsx("img", { src: EMPTY_ASSET_TEMPLATE_WIDGETS_URL, alt: "Empty Asset Template Widgets", width: 250, height: 250 }), _jsx("p", { className: "md-lib-text-sm md-lib-description md-lib-mt-2", children: "Drag fields to create form" })] })) : (map(showOutputFormat ? imagePickerOutputFormat : fields, (field, index) => (_jsx(Draggable, { draggableId: `${(field === null || field === void 0 ? void 0 : field._id)
|
|
220
236
|
? `selected-${get(field, "_id")}`
|
|
221
237
|
: `selected-${index}`}`, index: index, children: (provided) => (_jsx("div", Object.assign({ ref: provided.innerRef }, provided.draggableProps, { children: _jsx(DraggedField, { provided: provided, field: field, outputFormatField: imagePickerOutputFormat === null || imagePickerOutputFormat === void 0 ? void 0 : imagePickerOutputFormat[index], onAddLabel: onAddLabel, onDeleteField: onDeleteField, onUpdateOutputFormat: onUpdateOutputFormat, setCurrentFieldIndex: (val) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -235,5 +251,22 @@ export default function FieldsSection({ name, inputTypes, transformInputTypePayl
|
|
|
235
251
|
setCurrentFieldIndex(val);
|
|
236
252
|
}), currentFieldIndex: currentFieldIndex, index: index, showOutputFormat: showOutputFormat }) }))) }, `${(field === null || field === void 0 ? void 0 : field._id)
|
|
237
253
|
? `selected-${get(field, "_id")}`
|
|
238
|
-
: `selected-${index}`}`)))) }), provided.placeholder] }))) }) }), !!currentField && !showOutputFormat && (_jsx("div", { className: "md-lib-col-span-1 md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor", children: _jsx(AddFieldProperties, { field: currentField, index: currentFieldIndex, setCurrentFieldIndex: (val) => setCurrentFieldIndex(val), onUpdateField: (updatedValues, field, index) => onUpdateField(updatedValues, field, index), currentInputType: currentInputType, allFields: fields
|
|
254
|
+
: `selected-${index}`}`)))) }), provided.placeholder] }))) }) }), !!currentField && !showOutputFormat && (_jsx("div", { className: "md-lib-col-span-1 md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor", children: _jsx(AddFieldProperties, { field: currentField, index: currentFieldIndex, setCurrentFieldIndex: (val) => setCurrentFieldIndex(val), onUpdateField: (updatedValues, field, index) => onUpdateField(updatedValues, field, index), currentInputType: currentInputType, allFields: fields, onCancel: (index) => {
|
|
255
|
+
if (index !== null) {
|
|
256
|
+
const fieldToCancel = fields[index];
|
|
257
|
+
// If field doesn't have _id, it's a new unsaved field - remove it
|
|
258
|
+
if (!get(fieldToCancel, "_id")) {
|
|
259
|
+
const updatedFields = filter(fields, (field, i) => i !== index);
|
|
260
|
+
const updatedImagePickerOutputFormat = filter(imagePickerOutputFormat, (field) => get(field, "mapId") !== get(fieldToCancel, "mapId"));
|
|
261
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { fields: updatedFields, currentFieldIndex: null, imagePickerOutputFormat: updatedImagePickerOutputFormat })));
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// Existing field - just close the properties panel
|
|
265
|
+
setCurrentFieldIndex(null);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
setCurrentFieldIndex(null);
|
|
270
|
+
}
|
|
271
|
+
} }) }))] }) }), showConfirmModal && (_jsx(DeleteConfirmationModal, { showDeleteModal: showConfirmModal, toggleDeleteModal: toggleConfirmModal, okText: DELETE_OK_TEXT, onOk: onDeleteExistedField, loading: loading, description: DELETE_CONFIRMATION_MESSAGE.replace(":action", "Delete").replace(":entity", `${get(selectedField, "name", "this field")}`), subHeading: DELETE_MESSAGE_DESCRIPTION }))] }));
|
|
239
272
|
}
|
|
@@ -74,6 +74,7 @@ export const getFormItem = (item, fromDefaultValue, userOptions) => {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
// CHARACTER_LIMIT
|
|
77
|
+
let maxLength = 255; // Default to 255 characters
|
|
77
78
|
if (get(settings, "CHARACTER_LIMIT.allow", null) === true) {
|
|
78
79
|
const min = get(settings, "CHARACTER_LIMIT.minValue");
|
|
79
80
|
const max = get(settings, "CHARACTER_LIMIT.maxValue");
|
|
@@ -90,6 +91,11 @@ export const getFormItem = (item, fromDefaultValue, userOptions) => {
|
|
|
90
91
|
message = `Maximum ${max} characters allowed.`;
|
|
91
92
|
}
|
|
92
93
|
rules.push(Object.assign(Object.assign(Object.assign({}, (hasMin ? { min } : {})), (hasMax ? { max } : {})), { message }));
|
|
94
|
+
// Set maxLength for Input/TextArea components - use configured max or default to 255
|
|
95
|
+
if (hasMax && isNumber(max)) {
|
|
96
|
+
maxLength = max;
|
|
97
|
+
}
|
|
98
|
+
// If character limit is enabled but no max is set, keep default 255
|
|
93
99
|
}
|
|
94
100
|
// REGEX
|
|
95
101
|
if (get(settings, "REGEX.allow") && get(settings, "REGEX.value")) {
|
|
@@ -126,9 +132,9 @@ export const getFormItem = (item, fromDefaultValue, userOptions) => {
|
|
|
126
132
|
}
|
|
127
133
|
switch (defaultName) {
|
|
128
134
|
case InputTypes.TEXT:
|
|
129
|
-
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input, { placeholder: placeholder }) }, name));
|
|
135
|
+
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input, { placeholder: placeholder, maxLength: maxLength, showCount: true }) }, name));
|
|
130
136
|
case InputTypes.PARAGRAPH:
|
|
131
|
-
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input.TextArea, { rows: 4, placeholder: placeholder }) }, name));
|
|
137
|
+
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input.TextArea, { rows: 4, placeholder: placeholder, maxLength: maxLength, showCount: true }) }, name));
|
|
132
138
|
case InputTypes.DATE_RANGE:
|
|
133
139
|
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(RangePicker, { showTime: !!get(settings, `${InputSupportedTypes.ALLOW_TIME}.allow`), style: { width: "100%" }, placeholder: ["Start", "End"], placement: "bottomLeft" }) }, name));
|
|
134
140
|
case InputTypes.LINK:
|
|
@@ -136,7 +142,7 @@ export const getFormItem = (item, fromDefaultValue, userOptions) => {
|
|
|
136
142
|
type: "url",
|
|
137
143
|
message: INVALID_URL,
|
|
138
144
|
});
|
|
139
|
-
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input, { placeholder: placeholder }) }, name));
|
|
145
|
+
return (_jsx(Form.Item, { name: itemName, label: label, rules: rules, children: _jsx(Input, { placeholder: placeholder, maxLength: maxLength, showCount: true }) }, name));
|
|
140
146
|
case InputTypes.CHECKBOX:
|
|
141
147
|
return (_jsx(Form.Item, { name: itemName, label: label, children: _jsx(Checkbox.Group, { options: map(options, (opt) => ({
|
|
142
148
|
label: get(opt, "label"),
|
package/build/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.md-lib-pointer-events-none{pointer-events:none}.md-lib-fixed{position:fixed}.md-lib-absolute{position:absolute}.md-lib-relative{position:relative}.md-lib-inset-0{inset:0}.\!-md-lib-left-full{left:-100%!important}.md-lib--top-3{top:-.75rem}.md-lib-bottom-0{bottom:0}.md-lib-bottom-10{bottom:2.5rem}.md-lib-bottom-6{bottom:1.5rem}.md-lib-left-0{left:0}.md-lib-left-1{left:.25rem}.md-lib-left-1\/2{left:50%}.md-lib-left-6{left:1.5rem}.md-lib-right-0{right:0}.md-lib-right-1{right:.25rem}.md-lib-right-3{right:.75rem}.md-lib-right-6{right:1.5rem}.md-lib-top-1{top:.25rem}.md-lib-top-1\/2{top:50%}.md-lib-top-16{top:4rem}.md-lib-z-30{z-index:30}.md-lib-z-50{z-index:50}.md-lib-z-\[1000\]{z-index:1000}.md-lib-z-\[1001\]{z-index:1001}.md-lib-order-2{order:2}.md-lib-col-span-1{grid-column:span 1/span 1}.md-lib-col-span-2{grid-column:span 2/span 2}.md-lib-col-span-3{grid-column:span 3/span 3}.md-lib-m-2{margin:.5rem}.\!md-lib-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.md-lib-mx-2\.5{margin-left:.625rem;margin-right:.625rem}.md-lib-mx-8{margin-left:2rem;margin-right:2rem}.md-lib-mx-auto{margin-left:auto;margin-right:auto}.md-lib-my-3{margin-bottom:.75rem;margin-top:.75rem}.md-lib-my-4{margin-bottom:1rem;margin-top:1rem}.md-lib-mb-0{margin-bottom:0}.md-lib-mb-1{margin-bottom:.25rem}.md-lib-mb-2{margin-bottom:.5rem}.md-lib-mb-3{margin-bottom:.75rem}.md-lib-mb-4{margin-bottom:1rem}.md-lib-mb-5{margin-bottom:1.25rem}.md-lib-mb-6{margin-bottom:1.5rem}.md-lib-mb-8{margin-bottom:2rem}.md-lib-ml-1{margin-left:.25rem}.md-lib-ml-12{margin-left:3rem}.md-lib-ml-2{margin-left:.5rem}.md-lib-ml-4{margin-left:1rem}.md-lib-ml-auto{margin-left:auto}.md-lib-mr-2{margin-right:.5rem}.md-lib-mt-1{margin-top:.25rem}.md-lib-mt-2{margin-top:.5rem}.md-lib-mt-3{margin-top:.75rem}.md-lib-mt-4{margin-top:1rem}.md-lib-mt-8{margin-top:2rem}.md-lib-mt-\[3px\]{margin-top:3px}.md-lib-block{display:block}.md-lib-inline-block{display:inline-block}.md-lib-flex{display:flex}.md-lib-inline-table{display:inline-table}.md-lib-grid{display:grid}.md-lib-hidden{display:none}.md-lib-aspect-square{aspect-ratio:1/1}.md-lib-aspect-video{aspect-ratio:16/9}.\!md-lib-h-screen{height:100vh!important}.md-lib-h-10{height:2.5rem}.md-lib-h-11{height:2.75rem}.md-lib-h-12{height:3rem}.md-lib-h-16{height:4rem}.md-lib-h-20{height:5rem}.md-lib-h-28{height:7rem}.md-lib-h-4{height:1rem}.md-lib-h-5{height:1.25rem}.md-lib-h-52{height:13rem}.md-lib-h-72{height:18rem}.md-lib-h-8{height:2rem}.md-lib-h-\[300px\]{height:300px}.md-lib-h-\[33px\]{height:33px}.md-lib-h-\[calc\(100vh-65px\)\]{height:calc(100vh - 65px)}.md-lib-h-\[inherit\]{height:inherit}.md-lib-h-auto{height:auto}.md-lib-h-full{height:100%}.md-lib-h-screen{height:100vh}.md-lib-max-h-\[calc\(100\%-161px\)\]{max-height:calc(100% - 161px)}.md-lib-max-h-\[calc\(100\%-76px\)\]{max-height:calc(100% - 76px)}.md-lib-max-h-\[calc\(100vh-100px\)\]{max-height:calc(100vh - 100px)}.md-lib-max-h-\[calc\(100vh-65px\)\]{max-height:calc(100vh - 65px)}.md-lib-max-h-full{max-height:100%}.md-lib-min-h-0{min-height:0}.md-lib-min-h-14{min-height:3.5rem}.md-lib-min-h-36{min-height:9rem}.md-lib-min-h-\[calc\(100vh-127px\)\]{min-height:calc(100vh - 127px)}.md-lib-min-h-\[calc\(100vh-135px\)\]{min-height:calc(100vh - 135px)}.md-lib-min-h-full{min-height:100%}.\!md-lib-w-12{width:3rem!important}.md-lib-w-10{width:2.5rem}.md-lib-w-11\/12{width:91.666667%}.md-lib-w-12{width:3rem}.md-lib-w-4{width:1rem}.md-lib-w-4\/5{width:80%}.md-lib-w-40{width:10rem}.md-lib-w-5{width:1.25rem}.md-lib-w-56{width:14rem}.md-lib-w-6{width:1.5rem}.md-lib-w-8{width:2rem}.md-lib-w-80{width:20rem}.md-lib-w-96{width:24rem}.md-lib-w-\[100px\]{width:100px}.md-lib-w-\[120px\]{width:120px}.md-lib-w-\[150px\]{width:150px}.md-lib-w-\[1px\]{width:1px}.md-lib-w-\[280px\]{width:280px}.md-lib-w-\[400px\]{width:400px}.md-lib-w-\[80px\]{width:80px}.md-lib-w-\[calc\(100\%-20px\)\]{width:calc(100% - 20px)}.md-lib-w-\[calc\(100\%-24px\)\]{width:calc(100% - 24px)}.md-lib-w-\[calc\(100\%-5px\)\]{width:calc(100% - 5px)}.md-lib-w-full{width:100%}.md-lib-w-screen{width:100vw}.md-lib-min-w-\[120px\]{min-width:120px}.md-lib-min-w-\[200px\]{min-width:200px}.md-lib-min-w-\[280px\]{min-width:280px}.md-lib-min-w-\[320px\]{min-width:320px}.md-lib-min-w-\[3rem\]{min-width:3rem}.md-lib-min-w-fit{min-width:fit-content}.md-lib-max-w-28{max-width:7rem}.md-lib-max-w-2xl{max-width:42rem}.md-lib-max-w-3xl{max-width:48rem}.md-lib-max-w-40{max-width:10rem}.md-lib-max-w-4xl{max-width:56rem}.md-lib-max-w-64{max-width:16rem}.md-lib-max-w-6xl{max-width:72rem}.md-lib-max-w-7xl{max-width:80rem}.md-lib-max-w-\[180px\]{max-width:180px}.md-lib-max-w-\[200px\]{max-width:200px}.md-lib-max-w-\[240px\]{max-width:240px}.md-lib-max-w-\[calc\(100vw-180px\)\]{max-width:calc(100vw - 180px)}.md-lib-max-w-full{max-width:100%}.md-lib-max-w-md{max-width:28rem}.md-lib-flex-1{flex:1 1 0%}.md-lib-flex-shrink-0,.md-lib-shrink-0{flex-shrink:0}.-md-lib-translate-x-1\/2{--tw-translate-x:-50%}.-md-lib-translate-x-1\/2,.-md-lib-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-md-lib-translate-y-1\/2{--tw-translate-y:-50%}.md-lib-translate-y-0{--tw-translate-y:0px}.md-lib-translate-y-0,.md-lib-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-translate-y-4{--tw-translate-y:1rem}.md-lib-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-cursor-default{cursor:default}.md-lib-cursor-not-allowed{cursor:not-allowed}.md-lib-cursor-pointer{cursor:pointer}.md-lib-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md-lib-flex-col{flex-direction:column}.md-lib-flex-wrap{flex-wrap:wrap}.md-lib-items-start{align-items:flex-start}.md-lib-items-end{align-items:flex-end}.md-lib-items-center{align-items:center}.md-lib-justify-end{justify-content:flex-end}.md-lib-justify-center{justify-content:center}.md-lib-justify-between{justify-content:space-between}.md-lib-gap-1{gap:.25rem}.md-lib-gap-2{gap:.5rem}.md-lib-gap-3{gap:.75rem}.md-lib-gap-4{gap:1rem}.md-lib-gap-5{gap:1.25rem}.md-lib-gap-6{gap:1.5rem}.md-lib-gap-8{gap:2rem}.md-lib-gap-x-4{column-gap:1rem}.md-lib-gap-y-10{row-gap:2.5rem}.md-lib-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.md-lib-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.md-lib-self-start{align-self:flex-start}.md-lib-overflow-auto{overflow:auto}.md-lib-overflow-hidden{overflow:hidden}.md-lib-overflow-x-auto{overflow-x:auto}.md-lib-overflow-y-auto{overflow-y:auto}.md-lib-overflow-y-scroll{overflow-y:scroll}.md-lib-truncate{overflow:hidden;text-overflow:ellipsis}.md-lib-truncate,.md-lib-whitespace-nowrap{white-space:nowrap}.\!md-lib-rounded-lg{border-radius:.5rem!important}.md-lib-rounded{border-radius:.25rem}.md-lib-rounded-\[20px\]{border-radius:20px}.md-lib-rounded-full{border-radius:9999px}.md-lib-rounded-lg{border-radius:.5rem}.md-lib-rounded-md{border-radius:.375rem}.md-lib-rounded-none{border-radius:0}.md-lib-rounded-xl{border-radius:.75rem}.md-lib-rounded-s{border-end-start-radius:.25rem;border-start-start-radius:.25rem}.md-lib-border{border-width:1px}.md-lib-border-0{border-width:0}.md-lib-border-2{border-width:2px}.md-lib-border-4{border-width:4px}.md-lib-border-b{border-bottom-width:1px}.md-lib-border-l{border-left-width:1px}.md-lib-border-r{border-right-width:1px}.md-lib-border-dashed{border-style:dashed}.md-lib-border-none{border-style:none}.md-lib-border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.md-lib-border-borderColor{border-color:var(--color-border,#9aa8bc33)}.md-lib-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.md-lib-border-primaryColor{border-color:var(--color-primary,#0b6d97)}.md-lib-border-secondaryBorderColor{--tw-border-opacity:1;border-color:rgb(237 242 247/var(--tw-border-opacity,1))}.md-lib-border-secondaryHoverColor{--tw-border-opacity:1;border-color:rgb(203 212 225/var(--tw-border-opacity,1))}.md-lib-border-secondaryTextColor{--tw-border-opacity:1;border-color:rgb(114 129 151/var(--tw-border-opacity,1))}.md-lib-bg-\[\#DEE4ED\]{--tw-bg-opacity:1;background-color:rgb(222 228 237/var(--tw-bg-opacity,1))}.md-lib-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.md-lib-bg-black\/50{background-color:#00000080}.md-lib-bg-borderColor{background-color:var(--color-border,#9aa8bc33)}.md-lib-bg-darkPrimaryBg{--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryColor{background-color:var(--color-secondary,#eceff4)}.md-lib-bg-secondaryHoverColor{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryTextColor{--tw-bg-opacity:1;background-color:rgb(114 129 151/var(--tw-bg-opacity,1))}.md-lib-bg-textColorActive{background-color:var(--color-text-active,#f6f8fb)}.md-lib-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md-lib-object-contain{object-fit:contain}.md-lib-object-cover{object-fit:cover}.md-lib-p-1{padding:.25rem}.md-lib-p-2{padding:.5rem}.md-lib-p-3{padding:.75rem}.md-lib-p-4{padding:1rem}.md-lib-p-5{padding:1.25rem}.md-lib-p-6{padding:1.5rem}.md-lib-p-8{padding:2rem}.\!md-lib-px-4{padding-left:1rem!important;padding-right:1rem!important}.md-lib-px-2{padding-left:.5rem;padding-right:.5rem}.md-lib-px-3{padding-left:.75rem;padding-right:.75rem}.md-lib-px-4{padding-left:1rem;padding-right:1rem}.md-lib-px-5{padding-left:1.25rem;padding-right:1.25rem}.md-lib-px-6{padding-left:1.5rem;padding-right:1.5rem}.md-lib-py-1{padding-bottom:.25rem;padding-top:.25rem}.md-lib-py-2{padding-bottom:.5rem;padding-top:.5rem}.md-lib-py-3{padding-bottom:.75rem;padding-top:.75rem}.md-lib-py-4{padding-bottom:1rem;padding-top:1rem}.md-lib-pb-2{padding-bottom:.5rem}.md-lib-pb-4{padding-bottom:1rem}.md-lib-pb-6{padding-bottom:1.5rem}.md-lib-pb-7{padding-bottom:1.75rem}.md-lib-pl-2{padding-left:.5rem}.md-lib-pl-4{padding-left:1rem}.md-lib-pr-2{padding-right:.5rem}.md-lib-pr-\[10px\]{padding-right:10px}.md-lib-pt-1{padding-top:.25rem}.md-lib-pt-2{padding-top:.5rem}.md-lib-pt-2\.5{padding-top:.625rem}.md-lib-pt-3{padding-top:.75rem}.md-lib-pt-4{padding-top:1rem}.md-lib-pt-5{padding-top:1.25rem}.md-lib-text-center{text-align:center}.md-lib-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.md-lib-text-2xl{font-size:1.5rem;line-height:2rem}.md-lib-text-3xl{font-size:1.875rem;line-height:2.25rem}.md-lib-text-4xl{font-size:2.25rem;line-height:2.5rem}.md-lib-text-\[15px\]{font-size:15px}.md-lib-text-\[16px\]{font-size:16px}.md-lib-text-\[20px\]{font-size:20px}.md-lib-text-\[22px\]{font-size:22px}.md-lib-text-base{font-size:1rem;line-height:1.5rem}.md-lib-text-lg{font-size:1.125rem;line-height:1.75rem}.md-lib-text-sm{font-size:.875rem;line-height:1.25rem}.md-lib-text-xl{font-size:1.25rem;line-height:1.75rem}.md-lib-text-xs{font-size:.75rem;line-height:1rem}.md-lib-font-bold{font-weight:700}.md-lib-font-medium{font-weight:500}.md-lib-font-semibold{font-weight:600}.md-lib-capitalize{text-transform:capitalize}.md-lib-leading-relaxed{line-height:1.625}.md-lib-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md-lib-text-borderColor{color:var(--color-border,#9aa8bc33)}.md-lib-text-dangerColor{color:var(--color-danger,#e42131)}.md-lib-text-darkTextColor{--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.md-lib-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.md-lib-text-headingText{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1))}.md-lib-text-imagesColor{--tw-text-opacity:1;color:rgb(251 137 81/var(--tw-text-opacity,1))}.md-lib-text-musicColor{--tw-text-opacity:1;color:rgb(95 140 230/var(--tw-text-opacity,1))}.md-lib-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.md-lib-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.md-lib-text-otherColor{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.md-lib-text-primaryColor{color:var(--color-primary,#0b6d97)}.md-lib-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.md-lib-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.md-lib-text-secondaryTextColor{--tw-text-opacity:1;color:rgb(114 129 151/var(--tw-text-opacity,1))}.md-lib-text-textColor{color:var(--color-text,#1a212b)}.md-lib-text-themeGreen{--tw-text-opacity:1;color:rgb(1 106 28/var(--tw-text-opacity,1))}.md-lib-text-videosColor{--tw-text-opacity:1;color:rgb(81 224 152/var(--tw-text-opacity,1))}.md-lib-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.md-lib-opacity-0{opacity:0}.md-lib-opacity-100{opacity:1}.md-lib-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.md-lib-shadow-lg,.md-lib-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.md-lib-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.md-lib-shadow-none,.md-lib-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.md-lib-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-duration-300{transition-duration:.3s}.md-lib-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--icon-color:#000;--table-bgcolor:#f8f9fa;--hover-color:#efeffe;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#0b6d97;--text-color:#fff;--text-primary:#001325eb;--theme-primary-hover:#0b6d97cc;--theme-secondary:#eceff4;--arrrow-color:#fff;--border-color:#9aa8bc33;--shadow-color:hsla(0,0%,79%,.667);--theme-danger:#e42131;--theme-danger-hover:#e42131cc;--menu-arrow:#fff;--text-disabled:#00000040;--radio-btn:#c2c2c2;--bar-bg-color:#f5f5f5}.dark{--icon-color:#d5d8df!important;--table-bgcolor:#30324e!important;--hover-color:#3f4259!important;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#181b34!important;--text-color:#d5d8df!important;--text-primary:#e5e6ea!important;--theme-secondary:#30324e!important;--theme-primary-hover:#212642!important;--foreground-rgb:255,255,255!important;--background-start-rgb:0,0,0!important;--background-end-rgb:0,0,0!important;--arrrow-color:#30324e!important;--border-color:#4b4e69!important;--shadow-color:rgba(33,33,33,.667);--menu-arrow:#212642!important;--text-disabled:#ffffff40!important;--radio-btn:#4b4e69!important;--bar-bg-color:#30324e!important}.ant-layout-sider-children{display:flex;flex-direction:column}body{background:rgb(var(--background-start-rgb));color:rgb(var(--foreground-rgb));font-family:Inter}.ant-form-item-label label{color:#728197!important;font-size:12px!important;font-style:normal;line-height:18px}.search-input{border-radius:100px;width:320px}.page-height{height:calc(100vh - 65px)!important}.ant-btn-dangerous{background-color:var(--theme-danger)!important}.description{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1));font-size:.75rem;font-style:normal;font-weight:500;line-height:1rem;line-height:18px}.grid-radio-btns label{align-items:center;display:inline-flex;justify-content:center;width:6rem}.grid-radio-btns label:first-child{border-bottom-left-radius:9999px!important;border-top-left-radius:9999px!important}.grid-radio-btns label:last-child{border-bottom-right-radius:9999px!important;border-top-right-radius:9999px!important}*{box-sizing:border-box;margin:0;padding:0}.asset-management-page{max-height:calc(100vh - 115px);overflow-y:scroll;padding:10px 20px}.asset-management-page .asset-management-table .header{align-items:center;display:flex;margin-bottom:20px;margin-top:10px}.asset-management-page .asset-management-table .header .page-title{width:300px}.asset-management-page .asset-management-table .header .right-section{display:contents;margin-left:auto}.asset-management-page .asset-management-table .header .right-section .search-bar{margin-right:20px}.asset-management-page .asset-management-table .mobile-search-bar{display:none}.page-title.ant-typography{margin:0!important}.asset-management-table{margin-top:30px}.create-asset-page .form .metadata-field-container{align-items:center;display:flex;margin-bottom:10px;width:100%}.create-asset-page .form .metadata-field{background-color:#f5f5f5;border-radius:4px;padding:20px}.create-asset-page .form .metadata-field .ant-row{margin:0!important}.assetType-table .ant-table-content{min-height:calc(100vh - 210px)}.assetType-table .ant-table-footer .assetType-pagination{display:flex;justify-content:flex-end}.row-dragging{background:var(--color,#18bfcd);border:1px solid #f0f0f0;color:#fff}.asset-management-table .ant-table-container .ant-table-cell{width:50%}.is-dragging-over .row-dragging{background:var(--color,#18bfcd)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:400px}@media (max-width:767px){.asset-management-page .asset-management-table .header .right-section .search-bar{display:none}.asset-management-page .asset-management-table .mobile-search-bar{display:block;margin-bottom:10px}.asset-management-page .asset-management-table .header{margin-bottom:5px}.assetType-table .ant-table-content{min-height:calc(100vh - 235px)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:160px}}.create-asset-page .dam-loading{align-items:center;display:flex;height:calc(100vh - 200px);justify-content:center}.ant-typography{margin-bottom:0!important}.ant-btn-color-default{box-shadow:none!important}.ant-switch .ant-switch-inner{background-color:#9aa8bc33}.ant-btn-primary{color:#fff!important}.ant-btn-color-primary{box-shadow:none!important}.ant-tree-treenode{height:34px}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle,.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{vertical-align:-webkit-baseline-middle}.ant-tree .ant-tree-switcher{margin-inline-end:0!important}.ant-tree .ant-tree-switcher:before{height:33px!important}.ant-tree .ant-tree-node-content-wrapper{padding-left:0!important}.ant-tree .ant-tree-node-selected:hover{color:#eee!important}.tui-image-editor-header-logo{display:none!important}.ant-tree-treenode-draggable .ant-tree-draggable-icon{width:0!important}.share-link-dropdown .ant-select-selection-wrap,.share-link-dropdown .ant-select-selection-wrap .ant-select-selection-item{height:100%}.hover\:md-lib-border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:md-lib-border-primaryColor:hover{border-color:var(--color-primary,#0b6d97)}.hover\:md-lib-bg-black\/70:hover{background-color:#000000b3}.hover\:md-lib-bg-borderColor:hover{background-color:var(--color-border,#9aa8bc33)}.hover\:md-lib-bg-secondaryColor:hover{background-color:var(--color-secondary,#eceff4)}.hover\:md-lib-bg-secondaryHoverColor:hover{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.focus\:md-lib-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:md-lib-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:md-lib-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.dark\:md-lib-border-darkBorderColor:is(.md-lib-dark *){--tw-border-opacity:1;border-color:rgb(75 78 105/var(--tw-border-opacity,1))}.dark\:md-lib-bg-darkBorderColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(75 78 105/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimary:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(24 27 52/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryBg:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryTextColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(150 153 166/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-white\/20:is(.md-lib-dark *){background-color:#fff3}.dark\:md-lib-text-darkBorderColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(75 78 105/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkSecondaryTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(150 153 166/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.dark\:md-lib-text-white:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:md-lib-bg-darkSecondaryColor:hover:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.dark\:hover\:md-lib-bg-white\/30:hover:is(.md-lib-dark *){background-color:#ffffff4d}.hover\:dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *):hover{--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:md-lib-block{display:block}.md\:md-lib-w-\[720px\]{width:720px}.md\:md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:md-lib-grid-cols-\[auto\2c 1fr\]{grid-template-columns:auto 1fr}}@media (min-width:1024px){.lg\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
|
|
1
|
+
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.md-lib-pointer-events-none{pointer-events:none}.md-lib-fixed{position:fixed}.md-lib-absolute{position:absolute}.md-lib-relative{position:relative}.md-lib-inset-0{inset:0}.\!-md-lib-left-full{left:-100%!important}.md-lib--top-3{top:-.75rem}.md-lib-bottom-0{bottom:0}.md-lib-bottom-10{bottom:2.5rem}.md-lib-bottom-6{bottom:1.5rem}.md-lib-left-0{left:0}.md-lib-left-1{left:.25rem}.md-lib-left-1\/2{left:50%}.md-lib-left-6{left:1.5rem}.md-lib-right-0{right:0}.md-lib-right-1{right:.25rem}.md-lib-right-3{right:.75rem}.md-lib-right-6{right:1.5rem}.md-lib-top-1{top:.25rem}.md-lib-top-1\/2{top:50%}.md-lib-top-16{top:4rem}.md-lib-z-30{z-index:30}.md-lib-z-50{z-index:50}.md-lib-z-\[1000\]{z-index:1000}.md-lib-z-\[1001\]{z-index:1001}.md-lib-order-2{order:2}.md-lib-col-span-1{grid-column:span 1/span 1}.md-lib-col-span-2{grid-column:span 2/span 2}.md-lib-col-span-3{grid-column:span 3/span 3}.md-lib-m-2{margin:.5rem}.md-lib-mx-2\.5{margin-left:.625rem;margin-right:.625rem}.md-lib-mx-8{margin-left:2rem;margin-right:2rem}.md-lib-mx-auto{margin-left:auto;margin-right:auto}.md-lib-my-3{margin-bottom:.75rem;margin-top:.75rem}.md-lib-my-4{margin-bottom:1rem;margin-top:1rem}.md-lib-mb-0{margin-bottom:0}.md-lib-mb-1{margin-bottom:.25rem}.md-lib-mb-2{margin-bottom:.5rem}.md-lib-mb-3{margin-bottom:.75rem}.md-lib-mb-4{margin-bottom:1rem}.md-lib-mb-5{margin-bottom:1.25rem}.md-lib-mb-6{margin-bottom:1.5rem}.md-lib-mb-8{margin-bottom:2rem}.md-lib-ml-1{margin-left:.25rem}.md-lib-ml-12{margin-left:3rem}.md-lib-ml-2{margin-left:.5rem}.md-lib-ml-4{margin-left:1rem}.md-lib-ml-auto{margin-left:auto}.md-lib-mr-2{margin-right:.5rem}.md-lib-mt-1{margin-top:.25rem}.md-lib-mt-2{margin-top:.5rem}.md-lib-mt-3{margin-top:.75rem}.md-lib-mt-4{margin-top:1rem}.md-lib-mt-8{margin-top:2rem}.md-lib-mt-\[3px\]{margin-top:3px}.md-lib-block{display:block}.md-lib-inline-block{display:inline-block}.md-lib-flex{display:flex}.md-lib-inline-table{display:inline-table}.md-lib-grid{display:grid}.md-lib-hidden{display:none}.md-lib-aspect-square{aspect-ratio:1/1}.md-lib-aspect-video{aspect-ratio:16/9}.\!md-lib-h-screen{height:100vh!important}.md-lib-h-10{height:2.5rem}.md-lib-h-11{height:2.75rem}.md-lib-h-12{height:3rem}.md-lib-h-16{height:4rem}.md-lib-h-20{height:5rem}.md-lib-h-28{height:7rem}.md-lib-h-4{height:1rem}.md-lib-h-5{height:1.25rem}.md-lib-h-52{height:13rem}.md-lib-h-72{height:18rem}.md-lib-h-8{height:2rem}.md-lib-h-\[300px\]{height:300px}.md-lib-h-\[33px\]{height:33px}.md-lib-h-\[calc\(100vh-65px\)\]{height:calc(100vh - 65px)}.md-lib-h-\[inherit\]{height:inherit}.md-lib-h-auto{height:auto}.md-lib-h-full{height:100%}.md-lib-h-screen{height:100vh}.md-lib-max-h-\[calc\(100\%-161px\)\]{max-height:calc(100% - 161px)}.md-lib-max-h-\[calc\(100\%-76px\)\]{max-height:calc(100% - 76px)}.md-lib-max-h-\[calc\(100vh-100px\)\]{max-height:calc(100vh - 100px)}.md-lib-max-h-\[calc\(100vh-65px\)\]{max-height:calc(100vh - 65px)}.md-lib-max-h-full{max-height:100%}.md-lib-min-h-0{min-height:0}.md-lib-min-h-14{min-height:3.5rem}.md-lib-min-h-36{min-height:9rem}.md-lib-min-h-\[calc\(100vh-127px\)\]{min-height:calc(100vh - 127px)}.md-lib-min-h-\[calc\(100vh-135px\)\]{min-height:calc(100vh - 135px)}.md-lib-min-h-full{min-height:100%}.\!md-lib-w-12{width:3rem!important}.md-lib-w-10{width:2.5rem}.md-lib-w-11\/12{width:91.666667%}.md-lib-w-12{width:3rem}.md-lib-w-4{width:1rem}.md-lib-w-4\/5{width:80%}.md-lib-w-40{width:10rem}.md-lib-w-5{width:1.25rem}.md-lib-w-56{width:14rem}.md-lib-w-6{width:1.5rem}.md-lib-w-8{width:2rem}.md-lib-w-80{width:20rem}.md-lib-w-96{width:24rem}.md-lib-w-\[100px\]{width:100px}.md-lib-w-\[120px\]{width:120px}.md-lib-w-\[150px\]{width:150px}.md-lib-w-\[1px\]{width:1px}.md-lib-w-\[280px\]{width:280px}.md-lib-w-\[400px\]{width:400px}.md-lib-w-\[80px\]{width:80px}.md-lib-w-\[calc\(100\%-20px\)\]{width:calc(100% - 20px)}.md-lib-w-\[calc\(100\%-24px\)\]{width:calc(100% - 24px)}.md-lib-w-\[calc\(100\%-5px\)\]{width:calc(100% - 5px)}.md-lib-w-full{width:100%}.md-lib-w-screen{width:100vw}.md-lib-min-w-\[120px\]{min-width:120px}.md-lib-min-w-\[200px\]{min-width:200px}.md-lib-min-w-\[280px\]{min-width:280px}.md-lib-min-w-\[320px\]{min-width:320px}.md-lib-min-w-\[3rem\]{min-width:3rem}.md-lib-min-w-fit{min-width:fit-content}.md-lib-max-w-28{max-width:7rem}.md-lib-max-w-2xl{max-width:42rem}.md-lib-max-w-3xl{max-width:48rem}.md-lib-max-w-40{max-width:10rem}.md-lib-max-w-4xl{max-width:56rem}.md-lib-max-w-64{max-width:16rem}.md-lib-max-w-6xl{max-width:72rem}.md-lib-max-w-7xl{max-width:80rem}.md-lib-max-w-\[180px\]{max-width:180px}.md-lib-max-w-\[200px\]{max-width:200px}.md-lib-max-w-\[240px\]{max-width:240px}.md-lib-max-w-\[calc\(100vw-180px\)\]{max-width:calc(100vw - 180px)}.md-lib-max-w-full{max-width:100%}.md-lib-max-w-md{max-width:28rem}.md-lib-flex-1{flex:1 1 0%}.md-lib-flex-shrink-0,.md-lib-shrink-0{flex-shrink:0}.-md-lib-translate-x-1\/2{--tw-translate-x:-50%}.-md-lib-translate-x-1\/2,.-md-lib-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-md-lib-translate-y-1\/2{--tw-translate-y:-50%}.md-lib-translate-y-0{--tw-translate-y:0px}.md-lib-translate-y-0,.md-lib-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-translate-y-4{--tw-translate-y:1rem}.md-lib-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-cursor-default{cursor:default}.md-lib-cursor-not-allowed{cursor:not-allowed}.md-lib-cursor-pointer{cursor:pointer}.md-lib-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md-lib-flex-col{flex-direction:column}.md-lib-flex-wrap{flex-wrap:wrap}.md-lib-items-start{align-items:flex-start}.md-lib-items-end{align-items:flex-end}.md-lib-items-center{align-items:center}.md-lib-justify-end{justify-content:flex-end}.md-lib-justify-center{justify-content:center}.md-lib-justify-between{justify-content:space-between}.md-lib-gap-1{gap:.25rem}.md-lib-gap-2{gap:.5rem}.md-lib-gap-3{gap:.75rem}.md-lib-gap-4{gap:1rem}.md-lib-gap-5{gap:1.25rem}.md-lib-gap-6{gap:1.5rem}.md-lib-gap-8{gap:2rem}.md-lib-gap-x-4{column-gap:1rem}.md-lib-gap-y-10{row-gap:2.5rem}.md-lib-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.md-lib-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.md-lib-self-start{align-self:flex-start}.md-lib-overflow-auto{overflow:auto}.md-lib-overflow-hidden{overflow:hidden}.md-lib-overflow-x-auto{overflow-x:auto}.md-lib-overflow-y-auto{overflow-y:auto}.md-lib-overflow-y-scroll{overflow-y:scroll}.md-lib-truncate{overflow:hidden;text-overflow:ellipsis}.md-lib-truncate,.md-lib-whitespace-nowrap{white-space:nowrap}.\!md-lib-rounded-lg{border-radius:.5rem!important}.md-lib-rounded{border-radius:.25rem}.md-lib-rounded-\[20px\]{border-radius:20px}.md-lib-rounded-full{border-radius:9999px}.md-lib-rounded-lg{border-radius:.5rem}.md-lib-rounded-md{border-radius:.375rem}.md-lib-rounded-none{border-radius:0}.md-lib-rounded-xl{border-radius:.75rem}.md-lib-rounded-s{border-end-start-radius:.25rem;border-start-start-radius:.25rem}.md-lib-border{border-width:1px}.md-lib-border-0{border-width:0}.md-lib-border-2{border-width:2px}.md-lib-border-4{border-width:4px}.md-lib-border-b{border-bottom-width:1px}.md-lib-border-l{border-left-width:1px}.md-lib-border-r{border-right-width:1px}.md-lib-border-dashed{border-style:dashed}.md-lib-border-none{border-style:none}.md-lib-border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.md-lib-border-borderColor{border-color:var(--color-border,#9aa8bc33)}.md-lib-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.md-lib-border-primaryColor{border-color:var(--color-primary,#0b6d97)}.md-lib-border-secondaryBorderColor{--tw-border-opacity:1;border-color:rgb(237 242 247/var(--tw-border-opacity,1))}.md-lib-border-secondaryHoverColor{--tw-border-opacity:1;border-color:rgb(203 212 225/var(--tw-border-opacity,1))}.md-lib-border-secondaryTextColor{--tw-border-opacity:1;border-color:rgb(114 129 151/var(--tw-border-opacity,1))}.md-lib-bg-\[\#DEE4ED\]{--tw-bg-opacity:1;background-color:rgb(222 228 237/var(--tw-bg-opacity,1))}.md-lib-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.md-lib-bg-black\/50{background-color:#00000080}.md-lib-bg-borderColor{background-color:var(--color-border,#9aa8bc33)}.md-lib-bg-darkPrimaryBg{--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryColor{background-color:var(--color-secondary,#eceff4)}.md-lib-bg-secondaryHoverColor{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryTextColor{--tw-bg-opacity:1;background-color:rgb(114 129 151/var(--tw-bg-opacity,1))}.md-lib-bg-textColorActive{background-color:var(--color-text-active,#f6f8fb)}.md-lib-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md-lib-object-contain{object-fit:contain}.md-lib-object-cover{object-fit:cover}.md-lib-p-1{padding:.25rem}.md-lib-p-2{padding:.5rem}.md-lib-p-3{padding:.75rem}.md-lib-p-4{padding:1rem}.md-lib-p-5{padding:1.25rem}.md-lib-p-6{padding:1.5rem}.md-lib-p-8{padding:2rem}.\!md-lib-px-4{padding-left:1rem!important;padding-right:1rem!important}.md-lib-px-2{padding-left:.5rem;padding-right:.5rem}.md-lib-px-3{padding-left:.75rem;padding-right:.75rem}.md-lib-px-4{padding-left:1rem;padding-right:1rem}.md-lib-px-5{padding-left:1.25rem;padding-right:1.25rem}.md-lib-px-6{padding-left:1.5rem;padding-right:1.5rem}.md-lib-py-1{padding-bottom:.25rem;padding-top:.25rem}.md-lib-py-2{padding-bottom:.5rem;padding-top:.5rem}.md-lib-py-3{padding-bottom:.75rem;padding-top:.75rem}.md-lib-py-4{padding-bottom:1rem;padding-top:1rem}.md-lib-pb-2{padding-bottom:.5rem}.md-lib-pb-20{padding-bottom:5rem}.md-lib-pb-4{padding-bottom:1rem}.md-lib-pb-6{padding-bottom:1.5rem}.md-lib-pb-7{padding-bottom:1.75rem}.md-lib-pl-2{padding-left:.5rem}.md-lib-pl-4{padding-left:1rem}.md-lib-pr-2{padding-right:.5rem}.md-lib-pr-4{padding-right:1rem}.md-lib-pr-\[10px\]{padding-right:10px}.md-lib-pt-1{padding-top:.25rem}.md-lib-pt-2{padding-top:.5rem}.md-lib-pt-2\.5{padding-top:.625rem}.md-lib-pt-3{padding-top:.75rem}.md-lib-pt-4{padding-top:1rem}.md-lib-pt-5{padding-top:1.25rem}.md-lib-text-center{text-align:center}.md-lib-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.md-lib-text-2xl{font-size:1.5rem;line-height:2rem}.md-lib-text-3xl{font-size:1.875rem;line-height:2.25rem}.md-lib-text-4xl{font-size:2.25rem;line-height:2.5rem}.md-lib-text-\[15px\]{font-size:15px}.md-lib-text-\[16px\]{font-size:16px}.md-lib-text-\[20px\]{font-size:20px}.md-lib-text-\[22px\]{font-size:22px}.md-lib-text-base{font-size:1rem;line-height:1.5rem}.md-lib-text-lg{font-size:1.125rem;line-height:1.75rem}.md-lib-text-sm{font-size:.875rem;line-height:1.25rem}.md-lib-text-xl{font-size:1.25rem;line-height:1.75rem}.md-lib-text-xs{font-size:.75rem;line-height:1rem}.md-lib-font-bold{font-weight:700}.md-lib-font-medium{font-weight:500}.md-lib-font-semibold{font-weight:600}.md-lib-capitalize{text-transform:capitalize}.md-lib-leading-normal{line-height:1.5}.md-lib-leading-relaxed{line-height:1.625}.md-lib-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md-lib-text-borderColor{color:var(--color-border,#9aa8bc33)}.md-lib-text-dangerColor{color:var(--color-danger,#e42131)}.md-lib-text-darkTextColor{--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.md-lib-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.md-lib-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.md-lib-text-headingText{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1))}.md-lib-text-imagesColor{--tw-text-opacity:1;color:rgb(251 137 81/var(--tw-text-opacity,1))}.md-lib-text-musicColor{--tw-text-opacity:1;color:rgb(95 140 230/var(--tw-text-opacity,1))}.md-lib-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.md-lib-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.md-lib-text-otherColor{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.md-lib-text-primaryColor{color:var(--color-primary,#0b6d97)}.md-lib-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.md-lib-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.md-lib-text-secondaryTextColor{--tw-text-opacity:1;color:rgb(114 129 151/var(--tw-text-opacity,1))}.md-lib-text-textColor{color:var(--color-text,#1a212b)}.md-lib-text-themeGreen{--tw-text-opacity:1;color:rgb(1 106 28/var(--tw-text-opacity,1))}.md-lib-text-videosColor{--tw-text-opacity:1;color:rgb(81 224 152/var(--tw-text-opacity,1))}.md-lib-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.md-lib-opacity-0{opacity:0}.md-lib-opacity-100{opacity:1}.md-lib-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.md-lib-shadow-lg,.md-lib-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.md-lib-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.md-lib-shadow-none,.md-lib-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.md-lib-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-duration-300{transition-duration:.3s}.md-lib-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--icon-color:#000;--table-bgcolor:#f8f9fa;--hover-color:#efeffe;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#0b6d97;--text-color:#fff;--text-primary:#001325eb;--theme-primary-hover:#0b6d97cc;--theme-secondary:#eceff4;--arrrow-color:#fff;--border-color:#9aa8bc33;--shadow-color:hsla(0,0%,79%,.667);--theme-danger:#e42131;--theme-danger-hover:#e42131cc;--menu-arrow:#fff;--text-disabled:#00000040;--radio-btn:#c2c2c2;--bar-bg-color:#f5f5f5}.dark{--icon-color:#d5d8df!important;--table-bgcolor:#30324e!important;--hover-color:#3f4259!important;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#181b34!important;--text-color:#d5d8df!important;--text-primary:#e5e6ea!important;--theme-secondary:#30324e!important;--theme-primary-hover:#212642!important;--foreground-rgb:255,255,255!important;--background-start-rgb:0,0,0!important;--background-end-rgb:0,0,0!important;--arrrow-color:#30324e!important;--border-color:#4b4e69!important;--shadow-color:rgba(33,33,33,.667);--menu-arrow:#212642!important;--text-disabled:#ffffff40!important;--radio-btn:#4b4e69!important;--bar-bg-color:#30324e!important}.ant-layout-sider-children{display:flex;flex-direction:column}body{background:rgb(var(--background-start-rgb));color:rgb(var(--foreground-rgb));font-family:Inter}.ant-form-item-label label{color:#728197!important;font-size:12px!important;font-style:normal;line-height:18px}.search-input{border-radius:100px;width:320px}.page-height{height:calc(100vh - 65px)!important}.ant-btn-dangerous{background-color:var(--theme-danger)!important}.description{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1));font-size:.75rem;font-style:normal;font-weight:500;line-height:1rem;line-height:18px}.grid-radio-btns label{align-items:center;display:inline-flex;justify-content:center;width:6rem}.grid-radio-btns label:first-child{border-bottom-left-radius:9999px!important;border-top-left-radius:9999px!important}.grid-radio-btns label:last-child{border-bottom-right-radius:9999px!important;border-top-right-radius:9999px!important}*{box-sizing:border-box;margin:0;padding:0}.asset-management-page{max-height:calc(100vh - 115px);overflow-y:scroll;padding:10px 20px}.asset-management-page .asset-management-table .header{align-items:center;display:flex;margin-bottom:20px;margin-top:10px}.asset-management-page .asset-management-table .header .page-title{width:300px}.asset-management-page .asset-management-table .header .right-section{display:contents;margin-left:auto}.asset-management-page .asset-management-table .header .right-section .search-bar{margin-right:20px}.asset-management-page .asset-management-table .mobile-search-bar{display:none}.page-title.ant-typography{margin:0!important}.asset-management-table{margin-top:30px}.create-asset-page .form .metadata-field-container{align-items:center;display:flex;margin-bottom:10px;width:100%}.create-asset-page .form .metadata-field{background-color:#f5f5f5;border-radius:4px;padding:20px}.create-asset-page .form .metadata-field .ant-row{margin:0!important}.assetType-table .ant-table-content{min-height:calc(100vh - 210px)}.assetType-table .ant-table-footer .assetType-pagination{display:flex;justify-content:flex-end}.row-dragging{background:var(--color,#18bfcd);border:1px solid #f0f0f0;color:#fff}.asset-management-table .ant-table-container .ant-table-cell{width:50%}.is-dragging-over .row-dragging{background:var(--color,#18bfcd)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:400px}@media (max-width:767px){.asset-management-page .asset-management-table .header .right-section .search-bar{display:none}.asset-management-page .asset-management-table .mobile-search-bar{display:block;margin-bottom:10px}.asset-management-page .asset-management-table .header{margin-bottom:5px}.assetType-table .ant-table-content{min-height:calc(100vh - 235px)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:160px}}.create-asset-page .dam-loading{align-items:center;display:flex;height:calc(100vh - 200px);justify-content:center}.ant-typography{margin-bottom:0!important}.ant-btn-color-default{box-shadow:none!important}.ant-switch .ant-switch-inner{background-color:#9aa8bc33}.ant-btn-primary{color:#fff!important}.ant-btn-color-primary{box-shadow:none!important}.ant-tree-treenode{height:34px}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle,.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{vertical-align:-webkit-baseline-middle}.ant-tree .ant-tree-switcher{margin-inline-end:0!important}.ant-tree .ant-tree-switcher:before{height:33px!important}.ant-tree .ant-tree-node-content-wrapper{padding-left:0!important}.ant-tree .ant-tree-node-selected:hover{color:#eee!important}.tui-image-editor-header-logo{display:none!important}.ant-tree-treenode-draggable .ant-tree-draggable-icon{width:0!important}.share-link-dropdown .ant-select-selection-wrap,.share-link-dropdown .ant-select-selection-wrap .ant-select-selection-item{height:100%}.hover\:md-lib-border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:md-lib-border-primaryColor:hover{border-color:var(--color-primary,#0b6d97)}.hover\:md-lib-bg-black\/70:hover{background-color:#000000b3}.hover\:md-lib-bg-borderColor:hover{background-color:var(--color-border,#9aa8bc33)}.hover\:md-lib-bg-secondaryColor:hover{background-color:var(--color-secondary,#eceff4)}.hover\:md-lib-bg-secondaryHoverColor:hover{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.focus\:md-lib-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:md-lib-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:md-lib-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.dark\:md-lib-border-darkBorderColor:is(.md-lib-dark *){--tw-border-opacity:1;border-color:rgb(75 78 105/var(--tw-border-opacity,1))}.dark\:md-lib-bg-darkBorderColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(75 78 105/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimary:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(24 27 52/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryBg:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryTextColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(150 153 166/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-white\/20:is(.md-lib-dark *){background-color:#fff3}.dark\:md-lib-text-darkBorderColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(75 78 105/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkSecondaryTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(150 153 166/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.dark\:md-lib-text-gray-400:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:md-lib-text-white:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:md-lib-bg-darkSecondaryColor:hover:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.dark\:hover\:md-lib-bg-white\/30:hover:is(.md-lib-dark *){background-color:#ffffff4d}.hover\:dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *):hover{--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:md-lib-block{display:block}.md\:md-lib-w-\[720px\]{width:720px}.md\:md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:md-lib-grid-cols-\[auto\2c 1fr\]{grid-template-columns:auto 1fr}}@media (min-width:1024px){.lg\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
|