@solidxai/core-ui 0.1.18-beta.0 → 0.1.18-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/components/core/form/SolidVersionHistory.d.ts.map +1 -1
  2. package/dist/components/core/form/SolidVersionHistory.js +1 -1
  3. package/dist/components/core/form/SolidVersionHistory.js.map +1 -1
  4. package/dist/components/core/form/SolidVersionHistory.tsx +1 -9
  5. package/dist/components/core/form/fields/SolidDateField.js +1 -1
  6. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  7. package/dist/components/core/form/fields/SolidDateField.tsx +1 -1
  8. package/dist/components/core/form/fields/SolidDateTimeField.js +1 -1
  9. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  10. package/dist/components/core/form/fields/SolidDateTimeField.tsx +1 -1
  11. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  12. package/dist/components/core/form/fields/SolidIntegerField.js +10 -10
  13. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  14. package/dist/components/core/form/fields/SolidIntegerField.tsx +22 -23
  15. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  16. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  17. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  18. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  19. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +3 -3
  20. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  21. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +3 -5
  22. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  23. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +41 -41
  24. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  25. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +6 -12
  26. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +1 -1
  27. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  28. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +1 -1
  29. package/dist/components/core/model/FieldMetaDataForm.css +22 -2
  30. package/dist/components/core/model/FieldMetaDataForm.js +2 -2
  31. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  32. package/dist/components/core/model/FieldMetaDataForm.tsx +2 -2
  33. package/dist/components/core/users/CreateUser.js +1 -1
  34. package/dist/components/core/users/CreateUser.js.map +1 -1
  35. package/dist/components/core/users/CreateUser.tsx +6 -6
  36. package/dist/resources/solid-custom.css +21 -3
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidVersionHistory.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidVersionHistory.tsx"],"names":[],"mappings":"AAKA,KAAK,wBAAwB,GAAG;IAC5B,MAAM,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAAY,GAAG,uCAQjD,CAAC;AA4BF,eAAO,MAAM,mBAAmB,8BAA+B,wBAAwB,4CA4GtF,CAAC"}
1
+ {"version":3,"file":"SolidVersionHistory.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidVersionHistory.tsx"],"names":[],"mappings":"AAKA,KAAK,wBAAwB,GAAG;IAC5B,MAAM,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAAY,GAAG,uCAQjD,CAAC;AA4BF,eAAO,MAAM,mBAAmB,8BAA+B,wBAAwB,4CAoGtF,CAAC"}
@@ -120,6 +120,6 @@ export var SolidVersionHistory = function (_a) {
120
120
  if (!chainId) {
121
121
  return (_jsx("div", { className: "p-3 text-sm text-color-secondary", children: "Version history will be available after this record is saved." }));
122
122
  }
123
- return (_jsxs("div", { className: "w-full p-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 pb-2", children: [_jsx("h3", { className: "m-0 text-base font-semibold", children: "Version History" }), _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", icon: "si si-refresh", onClick: fetchVersions, loading: isLoading })] }), _jsx("div", { className: "overflow-x-auto rounded border border-[var(--surface-border)]", children: _jsxs("table", { className: "w-full border-collapse text-sm", children: [_jsx("thead", { className: "bg-[var(--surface-ground)] text-left", children: _jsxs("tr", { children: [_jsx("th", { className: "p-2 font-semibold", children: "Version" }), _jsx("th", { className: "p-2 font-semibold", children: "Status" }), _jsx("th", { className: "p-2 font-semibold", children: "Created" }), _jsx("th", { className: "p-2 font-semibold", children: "Updated By" }), _jsx("th", { className: "p-2 font-semibold", children: "Published" }), _jsx("th", { className: "p-2 font-semibold text-right", children: "Action" })] }) }), _jsxs("tbody", { children: [versionRecords.length === 0 && (_jsx("tr", { children: _jsx("td", { className: "p-3 text-center text-color-secondary", colSpan: 6, children: isLoading ? 'Loading versions...' : 'No versions found' }) })), versionRecords.map(function (record) { return (_jsxs("tr", { className: "border-t border-[var(--surface-border)]", children: [_jsxs("td", { className: "p-2", children: ["#", record.id, record.isLatest ? ' · Latest' : ''] }), _jsx("td", { className: "p-2", children: _jsx("span", { className: "solid-version-status-pill ".concat(getVersionStatusClassName(record)), children: getWorkflowStatusLabel(record) }) }), _jsxs("td", { className: "p-2", children: [_jsx("div", { children: formatVersionDate(record.createdAt) }), _jsx("div", { className: "text-xs text-color-secondary", children: getUserDisplay(record.createdBy) })] }), _jsx("td", { className: "p-2", children: getUserDisplay(record.updatedBy) }), _jsx("td", { className: "p-2", children: record.publishedAt ? formatVersionDate(record.publishedAt) : '-' }), _jsx("td", { className: "p-2 text-right", children: _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", icon: "si si-eye", className: "solid-icon-button", tooltip: "Open version", "aria-label": "Open version", onClick: function () { return openVersionInNewTab(record.id); } }) })] }, record.id)); })] })] }) })] }));
123
+ return (_jsxs("div", { className: "w-full p-2", children: [_jsx("div", { className: "flex items-center gap-2 pb-2", children: _jsx("h3", { className: "m-0 text-base font-semibold", children: "Version History" }) }), _jsx("div", { className: "overflow-x-auto rounded border border-[var(--surface-border)]", children: _jsxs("table", { className: "w-full border-collapse text-sm", children: [_jsx("thead", { className: "bg-[var(--surface-ground)] text-left", children: _jsxs("tr", { children: [_jsx("th", { className: "p-2 font-semibold", children: "Version" }), _jsx("th", { className: "p-2 font-semibold", children: "Status" }), _jsx("th", { className: "p-2 font-semibold", children: "Created" }), _jsx("th", { className: "p-2 font-semibold", children: "Updated By" }), _jsx("th", { className: "p-2 font-semibold", children: "Published" }), _jsx("th", { className: "p-2 font-semibold text-right", children: "Action" })] }) }), _jsxs("tbody", { children: [versionRecords.length === 0 && (_jsx("tr", { children: _jsx("td", { className: "p-3 text-center text-color-secondary", colSpan: 6, children: isLoading ? 'Loading versions...' : 'No versions found' }) })), versionRecords.map(function (record) { return (_jsxs("tr", { className: "border-t border-[var(--surface-border)]", children: [_jsxs("td", { className: "p-2", children: ["#", record.id, record.isLatest ? ' · Latest' : ''] }), _jsx("td", { className: "p-2", children: _jsx("span", { className: "solid-version-status-pill ".concat(getVersionStatusClassName(record)), children: getWorkflowStatusLabel(record) }) }), _jsxs("td", { className: "p-2", children: [_jsx("div", { children: formatVersionDate(record.createdAt) }), _jsx("div", { className: "text-xs text-color-secondary", children: getUserDisplay(record.createdBy) })] }), _jsx("td", { className: "p-2", children: getUserDisplay(record.updatedBy) }), _jsx("td", { className: "p-2", children: record.publishedAt ? formatVersionDate(record.publishedAt) : '-' }), _jsx("td", { className: "p-2 text-right", children: _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", icon: "si si-eye", className: "solid-icon-button", tooltip: "Open version", "aria-label": "Open version", onClick: function () { return openVersionInNewTab(record.id); } }) })] }, record.id)); })] })] }) })] }));
124
124
  };
125
125
  //# sourceMappingURL=SolidVersionHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidVersionHistory.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidVersionHistory.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport qs from \"qs\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\ntype SolidVersionHistoryProps = {\n params: {\n moduleName: string;\n modelName: string;\n };\n currentRecord: any;\n onRefresh?: () => void;\n};\n\nexport const getWorkflowStatusLabel = (record: any) => {\n if (record?.isPublished) {\n return 'Published';\n }\n if (record?.publishedAt && record?.isLatest === false) {\n return 'Archived';\n }\n return 'Draft';\n};\n\nconst getVersionStatusClassName = (record: any) => {\n const status = getWorkflowStatusLabel(record);\n if (status === 'Archived') return 'solid-version-status-pill--archived';\n if (status === 'Published') return 'solid-version-status-pill--published';\n return 'solid-version-status-pill--draft';\n};\n\nconst formatVersionDate = (value?: string | null) => {\n if (!value) return '-';\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) return value;\n return date.toLocaleString([], {\n day: '2-digit',\n month: '2-digit',\n year: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n });\n};\n\nconst getUserDisplay = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') return value.fullName || value.name || value.id || '-';\n return value;\n};\n\nexport const SolidVersionHistory = ({ params, currentRecord }: SolidVersionHistoryProps) => {\n const entityApi = useMemo(() => createSolidEntityApi(params.modelName), [params.modelName]);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [getVersions, { data, isLoading }] = useLazyGetSolidEntitiesQuery();\n const chainId = currentRecord?.initialEntityVersionId || currentRecord?.id;\n\n const fetchVersions = async () => {\n if (!chainId) return;\n const queryString = qs.stringify({\n filters: {\n $or: [\n { initialEntityVersionId: { $eq: chainId } },\n { id: { $eq: chainId } },\n ],\n },\n sort: ['createdAt:desc'],\n populate: ['createdBy', 'updatedBy'],\n }, { encodeValuesOnly: true });\n await getVersions(queryString);\n };\n\n useEffect(() => {\n fetchVersions();\n }, [chainId]);\n\n const openVersionInNewTab = (recordId: number | string) => {\n const versionUrl = `/admin/core/${params.moduleName}/${params.modelName}/form/${recordId}?viewMode=view`;\n window.open(versionUrl, '_blank', 'noopener,noreferrer');\n };\n\n const records = data?.records || [];\n const hasCopiedVersions = records.some((record: any) => String(record.id) !== String(chainId));\n const versionRecords = hasCopiedVersions ? records : [];\n\n if (!chainId) {\n return (\n <div className=\"p-3 text-sm text-color-secondary\">\n Version history will be available after this record is saved.\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n <div className=\"flex items-center justify-between gap-2 pb-2\">\n <h3 className=\"m-0 text-base font-semibold\">Version History</h3>\n <SolidButton\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n icon=\"si si-refresh\"\n onClick={fetchVersions}\n loading={isLoading}\n />\n </div>\n <div className=\"overflow-x-auto rounded border border-[var(--surface-border)]\">\n <table className=\"w-full border-collapse text-sm\">\n <thead className=\"bg-[var(--surface-ground)] text-left\">\n <tr>\n <th className=\"p-2 font-semibold\">Version</th>\n <th className=\"p-2 font-semibold\">Status</th>\n <th className=\"p-2 font-semibold\">Created</th>\n <th className=\"p-2 font-semibold\">Updated By</th>\n <th className=\"p-2 font-semibold\">Published</th>\n <th className=\"p-2 font-semibold text-right\">Action</th>\n </tr>\n </thead>\n <tbody>\n {versionRecords.length === 0 && (\n <tr>\n <td className=\"p-3 text-center text-color-secondary\" colSpan={6}>\n {isLoading ? 'Loading versions...' : 'No versions found'}\n </td>\n </tr>\n )}\n {versionRecords.map((record: any) => (\n <tr key={record.id} className=\"border-t border-[var(--surface-border)]\">\n <td className=\"p-2\">#{record.id}{record.isLatest ? ' · Latest' : ''}</td>\n <td className=\"p-2\">\n <span className={`solid-version-status-pill ${getVersionStatusClassName(record)}`}>\n {getWorkflowStatusLabel(record)}\n </span>\n </td>\n <td className=\"p-2\">\n <div>{formatVersionDate(record.createdAt)}</div>\n <div className=\"text-xs text-color-secondary\">{getUserDisplay(record.createdBy)}</div>\n </td>\n <td className=\"p-2\">{getUserDisplay(record.updatedBy)}</td>\n <td className=\"p-2\">{record.publishedAt ? formatVersionDate(record.publishedAt) : '-'}</td>\n <td className=\"p-2 text-right\">\n <SolidButton\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n icon=\"si si-eye\"\n className=\"solid-icon-button\"\n tooltip=\"Open version\"\n aria-label=\"Open version\"\n onClick={() => openVersionInNewTab(record.id)}\n />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidVersionHistory.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidVersionHistory.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport qs from \"qs\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\ntype SolidVersionHistoryProps = {\n params: {\n moduleName: string;\n modelName: string;\n };\n currentRecord: any;\n onRefresh?: () => void;\n};\n\nexport const getWorkflowStatusLabel = (record: any) => {\n if (record?.isPublished) {\n return 'Published';\n }\n if (record?.publishedAt && record?.isLatest === false) {\n return 'Archived';\n }\n return 'Draft';\n};\n\nconst getVersionStatusClassName = (record: any) => {\n const status = getWorkflowStatusLabel(record);\n if (status === 'Archived') return 'solid-version-status-pill--archived';\n if (status === 'Published') return 'solid-version-status-pill--published';\n return 'solid-version-status-pill--draft';\n};\n\nconst formatVersionDate = (value?: string | null) => {\n if (!value) return '-';\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) return value;\n return date.toLocaleString([], {\n day: '2-digit',\n month: '2-digit',\n year: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n });\n};\n\nconst getUserDisplay = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') return value.fullName || value.name || value.id || '-';\n return value;\n};\n\nexport const SolidVersionHistory = ({ params, currentRecord }: SolidVersionHistoryProps) => {\n const entityApi = useMemo(() => createSolidEntityApi(params.modelName), [params.modelName]);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [getVersions, { data, isLoading }] = useLazyGetSolidEntitiesQuery();\n const chainId = currentRecord?.initialEntityVersionId || currentRecord?.id;\n\n const fetchVersions = async () => {\n if (!chainId) return;\n const queryString = qs.stringify({\n filters: {\n $or: [\n { initialEntityVersionId: { $eq: chainId } },\n { id: { $eq: chainId } },\n ],\n },\n sort: ['createdAt:desc'],\n populate: ['createdBy', 'updatedBy'],\n }, { encodeValuesOnly: true });\n await getVersions(queryString);\n };\n\n useEffect(() => {\n fetchVersions();\n }, [chainId]);\n\n const openVersionInNewTab = (recordId: number | string) => {\n const versionUrl = `/admin/core/${params.moduleName}/${params.modelName}/form/${recordId}?viewMode=view`;\n window.open(versionUrl, '_blank', 'noopener,noreferrer');\n };\n\n const records = data?.records || [];\n const hasCopiedVersions = records.some((record: any) => String(record.id) !== String(chainId));\n const versionRecords = hasCopiedVersions ? records : [];\n\n if (!chainId) {\n return (\n <div className=\"p-3 text-sm text-color-secondary\">\n Version history will be available after this record is saved.\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n <div className=\"flex items-center gap-2 pb-2\">\n <h3 className=\"m-0 text-base font-semibold\">Version History</h3>\n </div>\n <div className=\"overflow-x-auto rounded border border-[var(--surface-border)]\">\n <table className=\"w-full border-collapse text-sm\">\n <thead className=\"bg-[var(--surface-ground)] text-left\">\n <tr>\n <th className=\"p-2 font-semibold\">Version</th>\n <th className=\"p-2 font-semibold\">Status</th>\n <th className=\"p-2 font-semibold\">Created</th>\n <th className=\"p-2 font-semibold\">Updated By</th>\n <th className=\"p-2 font-semibold\">Published</th>\n <th className=\"p-2 font-semibold text-right\">Action</th>\n </tr>\n </thead>\n <tbody>\n {versionRecords.length === 0 && (\n <tr>\n <td className=\"p-3 text-center text-color-secondary\" colSpan={6}>\n {isLoading ? 'Loading versions...' : 'No versions found'}\n </td>\n </tr>\n )}\n {versionRecords.map((record: any) => (\n <tr key={record.id} className=\"border-t border-[var(--surface-border)]\">\n <td className=\"p-2\">#{record.id}{record.isLatest ? ' · Latest' : ''}</td>\n <td className=\"p-2\">\n <span className={`solid-version-status-pill ${getVersionStatusClassName(record)}`}>\n {getWorkflowStatusLabel(record)}\n </span>\n </td>\n <td className=\"p-2\">\n <div>{formatVersionDate(record.createdAt)}</div>\n <div className=\"text-xs text-color-secondary\">{getUserDisplay(record.createdBy)}</div>\n </td>\n <td className=\"p-2\">{getUserDisplay(record.updatedBy)}</td>\n <td className=\"p-2\">{record.publishedAt ? formatVersionDate(record.publishedAt) : '-'}</td>\n <td className=\"p-2 text-right\">\n <SolidButton\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n icon=\"si si-eye\"\n className=\"solid-icon-button\"\n tooltip=\"Open version\"\n aria-label=\"Open version\"\n onClick={() => openVersionInNewTab(record.id)}\n />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n"]}
@@ -92,16 +92,8 @@ export const SolidVersionHistory = ({ params, currentRecord }: SolidVersionHisto
92
92
 
93
93
  return (
94
94
  <div className="w-full p-2">
95
- <div className="flex items-center justify-between gap-2 pb-2">
95
+ <div className="flex items-center gap-2 pb-2">
96
96
  <h3 className="m-0 text-base font-semibold">Version History</h3>
97
- <SolidButton
98
- type="button"
99
- size="sm"
100
- variant="outline"
101
- icon="si si-refresh"
102
- onClick={fetchVersions}
103
- loading={isLoading}
104
- />
105
97
  </div>
106
98
  <div className="overflow-x-auto rounded border border-[var(--surface-border)]">
107
99
  <table className="w-full border-collapse text-sm">
@@ -147,7 +147,7 @@ export var DefaultDateFormEditWidget = function (_a) {
147
147
  fieldContext.onChange(syntheticEvent, "onFieldChange");
148
148
  };
149
149
  return (_jsxs("div", { className: "relative", children: [_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel != false &&
150
- _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidDatePicker, { selected: parsedValue !== null && parsedValue !== void 0 ? parsedValue : undefined, onChange: function (date) { return handleChange(date); }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: formReadonly || fieldReadonly || readOnlyPermission, placeholderText: fieldLayoutInfo.attrs.placeholder, className: "" })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }) }))] }));
150
+ _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidDatePicker, { selected: parsedValue !== null && parsedValue !== void 0 ? parsedValue : undefined, onChange: function (date) { return handleChange(date); }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: formReadonly || fieldReadonly || readOnlyPermission, placeholderText: fieldLayoutInfo.attrs.placeholder, inputClassName: styles.fieldInput })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }) }))] }));
151
151
  };
152
152
  export var DefaultDateFormViewWidget = function (_a) {
153
153
  var _b, _c, _d;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDateField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidDateField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\nconst toDateValue = (value: any) => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n};\n\nexport class SolidDateField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n\n if (value instanceof Date && !isNaN(value.getTime())) {\n const localDate = new Date(value);\n const utcDate = new Date(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate()));\n // \"2025-06-10T00:00:00.000Z\"\n const isoString = utcDate.toISOString();\n formData.append(fieldLayoutInfo.attrs.name, isoString.split('T')[0]);\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.DateSchema<Date | null | undefined> = Yup.date();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable();\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultDateFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultDateFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\n\nexport const DefaultDateFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const parsedValue = toDateValue(formik.values[fieldLayoutInfo.attrs.name]);\n\n const handleChange = (date: Date | null) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, date, \"date\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n };\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidDatePicker\n selected={parsedValue ?? undefined}\n onChange={(date: Date | null) => handleChange(date as Date | null)}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n placeholderText={fieldLayoutInfo.attrs.placeholder}\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\nexport const DefaultDateFormViewWidget = ({ formik, fieldContext, }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format as string | undefined;\n\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n\n"]}
1
+ {"version":3,"file":"SolidDateField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidDateField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\nconst toDateValue = (value: any) => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n};\n\nexport class SolidDateField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n\n if (value instanceof Date && !isNaN(value.getTime())) {\n const localDate = new Date(value);\n const utcDate = new Date(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate()));\n // \"2025-06-10T00:00:00.000Z\"\n const isoString = utcDate.toISOString();\n formData.append(fieldLayoutInfo.attrs.name, isoString.split('T')[0]);\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.DateSchema<Date | null | undefined> = Yup.date();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable();\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultDateFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultDateFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\n\nexport const DefaultDateFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const parsedValue = toDateValue(formik.values[fieldLayoutInfo.attrs.name]);\n\n const handleChange = (date: Date | null) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, date, \"date\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n };\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidDatePicker\n selected={parsedValue ?? undefined}\n onChange={(date: Date | null) => handleChange(date as Date | null)}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n placeholderText={fieldLayoutInfo.attrs.placeholder}\n inputClassName={styles.fieldInput}\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\nexport const DefaultDateFormViewWidget = ({ formik, fieldContext, }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format as string | undefined;\n\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n\n"]}
@@ -153,7 +153,7 @@ export const DefaultDateFormEditWidget = ({ formik, fieldContext }: SolidFormFie
153
153
  disabled={formDisabled || fieldDisabled || readOnlyPermission}
154
154
  readOnly={formReadonly || fieldReadonly || readOnlyPermission}
155
155
  placeholderText={fieldLayoutInfo.attrs.placeholder}
156
- className=""
156
+ inputClassName={styles.fieldInput}
157
157
  />
158
158
  </div>
159
159
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
@@ -145,7 +145,7 @@ export var DefaultDateTimeFormEditWidget = function (_a) {
145
145
  fieldContext.onChange(syntheticEvent, "onFieldChange");
146
146
  };
147
147
  return (_jsxs("div", { className: "relative", children: [_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel != false &&
148
- _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidDatePicker, { selected: parsedValue !== null && parsedValue !== void 0 ? parsedValue : undefined, onChange: function (date) { return handleChange(date); }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: formReadonly || fieldReadonly || readOnlyPermission, showTimeSelect: true, dateFormat: "yyyy-MM-dd h:mm aa", placeholderText: fieldLayoutInfo.attrs.placeholder, className: "" })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }) }))] }));
148
+ _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidDatePicker, { selected: parsedValue !== null && parsedValue !== void 0 ? parsedValue : undefined, onChange: function (date) { return handleChange(date); }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: formReadonly || fieldReadonly || readOnlyPermission, showTimeSelect: true, dateFormat: "yyyy-MM-dd h:mm aa", placeholderText: fieldLayoutInfo.attrs.placeholder, inputClassName: styles.fieldInput })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_o = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _o === void 0 ? void 0 : _o.toString() }) }))] }));
149
149
  };
150
150
  export var DefaultDateTimeFormViewWidget = function (_a) {
151
151
  var _b, _c, _d;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDateTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidDateTimeField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport dayjs from \"dayjs\";\nimport styles from \"./solidFields.module.css\";\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nconst toDateValue = (value: any) => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n};\n\nexport class SolidDateTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date && !isNaN(value.getTime())) {\n formData.append(fieldLayoutInfo.attrs.name, dayjs(value).utc().format('YYYY-MM-DD HH:mm:ss'));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.DateSchema<Date | null | undefined> = Yup.date();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable();\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultDateTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultDateTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultDateTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const parsedValue = toDateValue(formik.values[fieldLayoutInfo.attrs.name]);\n\n const handleChange = (date: Date | null) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, date, \"datetime-local\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n };\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={parsedValue ?? undefined}\n onChange={(date: Date | null) => handleChange(date as Date | null)}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n showTimeSelect\n dateFormat=\"yyyy-MM-dd h:mm aa\"\n placeholderText={fieldLayoutInfo.attrs.placeholder}\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultDateTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format as string | undefined;\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} showTime={true} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidDateTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidDateTimeField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport dayjs from \"dayjs\";\nimport styles from \"./solidFields.module.css\";\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nconst toDateValue = (value: any) => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n};\n\nexport class SolidDateTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date && !isNaN(value.getTime())) {\n formData.append(fieldLayoutInfo.attrs.name, dayjs(value).utc().format('YYYY-MM-DD HH:mm:ss'));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.DateSchema<Date | null | undefined> = Yup.date();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable();\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultDateTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultDateTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultDateTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const parsedValue = toDateValue(formik.values[fieldLayoutInfo.attrs.name]);\n\n const handleChange = (date: Date | null) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, date, \"datetime-local\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n };\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={parsedValue ?? undefined}\n onChange={(date: Date | null) => handleChange(date as Date | null)}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n showTimeSelect\n dateFormat=\"yyyy-MM-dd h:mm aa\"\n placeholderText={fieldLayoutInfo.attrs.placeholder}\n inputClassName={styles.fieldInput}\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultDateTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format as string | undefined;\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} showTime={true} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
@@ -156,7 +156,7 @@ export const DefaultDateTimeFormEditWidget = ({ formik, fieldContext }: SolidFor
156
156
  showTimeSelect
157
157
  dateFormat="yyyy-MM-dd h:mm aa"
158
158
  placeholderText={fieldLayoutInfo.attrs.placeholder}
159
- className=""
159
+ inputClassName={styles.fieldInput}
160
160
  />
161
161
  </div>
162
162
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIntegerField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidIntegerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AASzE,qBAAa,iBAAkB,YAAW,WAAW;IAEjD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IAenB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAwB9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAiC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAYjE;AAGD,eAAO,MAAM,4BAA4B,6BAA8B,yBAAyB,4CAe/F,CAAA;AAID,eAAO,MAAM,4BAA4B,6BAA8B,yBAAyB,4CAyD/F,CAAA;AAED,eAAO,MAAM,qCAAqC,6BAA8B,yBAAyB,4CA2GxG,CAAC"}
1
+ {"version":3,"file":"SolidIntegerField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidIntegerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AASzE,qBAAa,iBAAkB,YAAW,WAAW;IAEjD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IAenB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAwB9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAiC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAYjE;AAGD,eAAO,MAAM,4BAA4B,6BAA8B,yBAAyB,4CAe/F,CAAA;AAID,eAAO,MAAM,4BAA4B,6BAA8B,yBAAyB,4CAwD/F,CAAA;AAED,eAAO,MAAM,qCAAqC,6BAA8B,yBAAyB,4CA2GxG,CAAC"}
@@ -152,16 +152,16 @@ export var DefaultIntegerFormEditWidget = function (_a) {
152
152
  var formDisabled = (_l = (_k = (_j = solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.disabled;
153
153
  var formReadonly = (_p = (_o = (_m = solidFormViewMetaData.data.solidView) === null || _m === void 0 ? void 0 : _m.layout) === null || _o === void 0 ? void 0 : _o.attrs) === null || _p === void 0 ? void 0 : _p.readonly;
154
154
  return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel != false &&
155
- _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx("div", { className: styles.fieldNumberWrapper, children: _jsx(SolidNumberInput, { readOnly: formReadonly || fieldReadonly || readOnlyPermission, disabled: formDisabled || fieldDisabled, id: fieldLayoutInfo.attrs.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) {
156
- var nextVal = typeof e.value === "number" ? e.value : null;
157
- fieldContext.onChange({
158
- target: {
159
- name: fieldLayoutInfo.attrs.name,
160
- value: nextVal,
161
- type: "number",
162
- },
163
- }, "onFieldChange");
164
- }, value: formik.values[fieldLayoutInfo.attrs.name] || '', autoComplete: autoComplete }) }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_q = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _q === void 0 ? void 0 : _q.toString() }))] }));
155
+ _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidNumberInput, { className: styles.fieldInput, readOnly: formReadonly || fieldReadonly || readOnlyPermission, disabled: formDisabled || fieldDisabled, id: fieldLayoutInfo.attrs.name, "aria-describedby": "".concat(fieldLayoutInfo.attrs.name, "-help"), onChange: function (e) {
156
+ var nextVal = typeof e.value === "number" ? e.value : null;
157
+ fieldContext.onChange({
158
+ target: {
159
+ name: fieldLayoutInfo.attrs.name,
160
+ value: nextVal,
161
+ type: "number",
162
+ },
163
+ }, "onFieldChange");
164
+ }, value: formik.values[fieldLayoutInfo.attrs.name] || '', autoComplete: autoComplete }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_q = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _q === void 0 ? void 0 : _q.toString() }))] }));
165
165
  };
166
166
  export var SolidIntegerSliderStyleFormEditWidget = function (_a) {
167
167
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidIntegerField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidIntegerField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from \"yup\";\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport styles from \"./solidFields.module.css\";\nimport { useState } from \"react\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { Range } from \"react-range\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidNumberInput } from \"../../../shad-cn-ui\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\n\nexport class SolidIntegerField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n if (this.fieldContext.parentData && this.fieldContext.parentData[fieldName]) {\n const parentDataForKey = this.fieldContext.parentData[fieldName];\n if (parentDataForKey && typeof parentDataForKey !== 'object') {\n return this.fieldContext.parentData[fieldName]\n }\n }\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.NumberSchema<number | null | undefined> = Yup.number();\n\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultIntegerFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultIntegerFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultIntegerFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{value != null && typeof value !== \"object\" ? value : ''}</p>\n </div>\n );\n}\n\n\n\nexport const DefaultIntegerFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: any) => {\n const nextVal = typeof e.value === \"number\" ? e.value : null;\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: nextVal,\n type: \"number\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n autoComplete={autoComplete}\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidIntegerSliderStyleFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const min = fieldMetadata.min || 0;\n const max = fieldMetadata.max || 5;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const fieldName = fieldLayoutInfo.attrs.name;\n const currentValue = Number(formik.values[fieldName] ?? min);\n\n return (\n <div className=\"w-full\" style={{ height: '60px' }}>\n {showFieldLabel != false && (\n <div className=\"font-medium mb-2\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n </div>\n )}\n <div className=\"relative h-12\">\n <Range\n step={1}\n min={min}\n max={max}\n values={[currentValue]}\n onChange={(values) => {\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: values[0],\n type: \"number\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n renderTrack={({ props, children }) => {\n const percent = ((currentValue - min) / (max - min)) * 100;\n return (\n <div\n {...props}\n style={{\n ...props.style,\n height: \"10px\",\n width: \"100%\",\n borderRadius: \"8px\",\n backgroundColor: \"var(--primary-light-color)\",\n position: \"relative\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n height: \"100%\",\n width: `${percent}%`,\n backgroundColor: \"var(--primary-color)\",\n borderRadius: \"5px\",\n top: 0,\n left: 0,\n }}\n />\n {children}\n </div>\n )\n }}\n renderThumb={({ props }) => (\n <div\n {...props}\n key={props.key}\n style={{\n ...props.style,\n height: \"18px\",\n width: \"18px\",\n border: \"4px solid var(--surface-0)\",\n borderRadius: '50%',\n backgroundColor: \"var(--primary-color)\",\n }}\n />\n )}\n />\n <div className=\"flex items-center justify-between mt-2\">\n {Array.from({ length: max - min + 1 }, (_, i) => {\n const num = i + min;\n return (\n <span\n key={num}\n className=\"text-sm\"\n >\n {num === 0 ? '' : num}\n </span>\n );\n })}\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-2\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidIntegerField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidIntegerField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from \"yup\";\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport styles from \"./solidFields.module.css\";\nimport { useState } from \"react\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { Range } from \"react-range\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidNumberInput } from \"../../../shad-cn-ui\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\n\nexport class SolidIntegerField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n if (this.fieldContext.parentData && this.fieldContext.parentData[fieldName]) {\n const parentDataForKey = this.fieldContext.parentData[fieldName];\n if (parentDataForKey && typeof parentDataForKey !== 'object') {\n return this.fieldContext.parentData[fieldName]\n }\n }\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.NumberSchema<number | null | undefined> = Yup.number();\n\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultIntegerFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultIntegerFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultIntegerFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{value != null && typeof value !== \"object\" ? value : ''}</p>\n </div>\n );\n}\n\n\n\nexport const DefaultIntegerFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const autoComplete = fieldLayoutInfo?.attrs?.autoComplete || 'on';\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidNumberInput\n className={styles.fieldInput}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: any) => {\n const nextVal = typeof e.value === \"number\" ? e.value : null;\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: nextVal,\n type: \"number\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n autoComplete={autoComplete}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidIntegerSliderStyleFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const min = fieldMetadata.min || 0;\n const max = fieldMetadata.max || 5;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const fieldName = fieldLayoutInfo.attrs.name;\n const currentValue = Number(formik.values[fieldName] ?? min);\n\n return (\n <div className=\"w-full\" style={{ height: '60px' }}>\n {showFieldLabel != false && (\n <div className=\"font-medium mb-2\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n </div>\n )}\n <div className=\"relative h-12\">\n <Range\n step={1}\n min={min}\n max={max}\n values={[currentValue]}\n onChange={(values) => {\n fieldContext.onChange(\n {\n target: {\n name: fieldName,\n value: values[0],\n type: \"number\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n renderTrack={({ props, children }) => {\n const percent = ((currentValue - min) / (max - min)) * 100;\n return (\n <div\n {...props}\n style={{\n ...props.style,\n height: \"10px\",\n width: \"100%\",\n borderRadius: \"8px\",\n backgroundColor: \"var(--primary-light-color)\",\n position: \"relative\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n height: \"100%\",\n width: `${percent}%`,\n backgroundColor: \"var(--primary-color)\",\n borderRadius: \"5px\",\n top: 0,\n left: 0,\n }}\n />\n {children}\n </div>\n )\n }}\n renderThumb={({ props }) => (\n <div\n {...props}\n key={props.key}\n style={{\n ...props.style,\n height: \"18px\",\n width: \"18px\",\n border: \"4px solid var(--surface-0)\",\n borderRadius: '50%',\n backgroundColor: \"var(--primary-color)\",\n }}\n />\n )}\n />\n <div className=\"flex items-center justify-between mt-2\">\n {Array.from({ length: max - min + 1 }, (_, i) => {\n const num = i + min;\n return (\n <span\n key={num}\n className=\"text-sm\"\n >\n {num === 0 ? '' : num}\n </span>\n );\n })}\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-2\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n </div>\n );\n};\n"]}
@@ -161,29 +161,28 @@ export const DefaultIntegerFormEditWidget = ({ formik, fieldContext }: SolidForm
161
161
  <SolidFieldTooltip fieldContext={fieldContext} />
162
162
  </label>
163
163
  }
164
- <div className={styles.fieldNumberWrapper}>
165
- <SolidNumberInput
166
- readOnly={formReadonly || fieldReadonly || readOnlyPermission}
167
- disabled={formDisabled || fieldDisabled}
168
- id={fieldLayoutInfo.attrs.name}
169
- aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
170
- onChange={(e: any) => {
171
- const nextVal = typeof e.value === "number" ? e.value : null;
172
- fieldContext.onChange(
173
- {
174
- target: {
175
- name: fieldLayoutInfo.attrs.name,
176
- value: nextVal,
177
- type: "number",
178
- },
179
- } as any,
180
- "onFieldChange"
181
- );
182
- }}
183
- value={formik.values[fieldLayoutInfo.attrs.name] || ''}
184
- autoComplete={autoComplete}
185
- />
186
- </div>
164
+ <SolidNumberInput
165
+ className={styles.fieldInput}
166
+ readOnly={formReadonly || fieldReadonly || readOnlyPermission}
167
+ disabled={formDisabled || fieldDisabled}
168
+ id={fieldLayoutInfo.attrs.name}
169
+ aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
170
+ onChange={(e: any) => {
171
+ const nextVal = typeof e.value === "number" ? e.value : null;
172
+ fieldContext.onChange(
173
+ {
174
+ target: {
175
+ name: fieldLayoutInfo.attrs.name,
176
+ value: nextVal,
177
+ type: "number",
178
+ },
179
+ } as any,
180
+ "onFieldChange"
181
+ );
182
+ }}
183
+ value={formik.values[fieldLayoutInfo.attrs.name] || ''}
184
+ autoComplete={autoComplete}
185
+ />
187
186
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
188
187
  <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>
189
188
  )}
@@ -178,7 +178,7 @@ export var DefaultTimeFormEditWidget = function (_a) {
178
178
  var nextValue = (_a = date) !== null && _a !== void 0 ? _a : null;
179
179
  var syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, nextValue, "time", nextValue ? true : undefined);
180
180
  fieldContext.onChange(syntheticEvent, "onFieldChange");
181
- }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: readOnlyPermission, timeOnly: true, showTimeSelect: true, dateFormat: "HH:mm", className: "" })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_l = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _l === void 0 ? void 0 : _l.toString() }) }))] }));
181
+ }, disabled: formDisabled || fieldDisabled || readOnlyPermission, readOnly: readOnlyPermission, timeOnly: true, showTimeSelect: true, dateFormat: "HH:mm", inputClassName: styles.fieldInput })] }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "absolute mt-1", children: _jsx(SolidMessage, { severity: "error", text: (_l = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _l === void 0 ? void 0 : _l.toString() }) }))] }));
182
182
  };
183
183
  export var DefaultTimeFormViewWidget = function (_a) {
184
184
  var _b, _c, _d;