@solidstarters/solid-core-ui 1.1.43 → 1.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/common/SolidModuleHome.d.ts +1 -5
- package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
- package/dist/components/common/SolidModuleHome.js +2 -8
- package/dist/components/common/SolidModuleHome.js.map +1 -1
- package/dist/components/common/SolidThemeProvider.d.ts +2 -0
- package/dist/components/common/SolidThemeProvider.d.ts.map +1 -0
- package/dist/components/common/SolidThemeProvider.js +38 -0
- package/dist/components/common/SolidThemeProvider.js.map +1 -0
- package/dist/components/core/form/fields/SolidEmailField.js +1 -1
- package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +11 -11
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +33 -7
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +4 -3
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +34 -33
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +39 -15
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +17 -7
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +8 -8
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +20 -19
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/resources/globals.css +71 -22
- package/package.json +1 -1
- package/publish.js +3 -0
- package/src/components/common/SolidModuleHome.tsx +52 -59
- package/src/components/common/SolidThemeProvider.tsx +44 -0
- package/src/components/core/form/fields/SolidEmailField.tsx +1 -1
- package/src/components/core/kanban/KanbanBoard.tsx +36 -34
- package/src/components/core/kanban/KanbanCard.tsx +37 -24
- package/src/components/core/kanban/KanbanColumn.tsx +10 -5
- package/src/components/core/kanban/SolidKanbanView.tsx +30 -42
- package/src/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +106 -38
- package/src/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +61 -16
- package/src/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +1 -1
- package/src/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +14 -13
- package/src/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +1 -1
- package/src/components/core/list/SolidListViewConfigure.tsx +1 -1
- package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +43 -33
- package/src/resources/globals.css +71 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaSingleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaSingleColumn.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SolidMediaSingleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaSingleColumn.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AA8BnE,QAAA,MAAM,sBAAsB,uFAAwF,yBAAyB,4CAqC5I,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from 'react';
|
|
3
4
|
import { Column } from "primereact/column";
|
|
5
|
+
import { classNames } from 'primereact/utils';
|
|
6
|
+
var isImageFile = function (url) {
|
|
7
|
+
return /\.(jpg|jpeg|png|gif|bmp|webp)$/i.test(url);
|
|
8
|
+
};
|
|
9
|
+
var MediaWithFallback = function (_a) {
|
|
10
|
+
var src = _a.src, alt = _a.alt, onClick = _a.onClick;
|
|
11
|
+
var _b = useState(false), isBroken = _b[0], setIsBroken = _b[1];
|
|
12
|
+
return (_jsx("div", { style: { width: 40, height: 40, display: 'flex', alignItems: 'center', justifyContent: 'center' }, children: !isBroken && isImageFile(src) ? (_jsx("img", { src: src, alt: alt, className: "shadow-2 border-round", width: 40, height: 40, style: { objectFit: "cover" }, onError: function () { return setIsBroken(true); }, onClick: onClick })) : (_jsx("i", { className: classNames(isImageFile(src) ? "pi pi-image" : "pi pi-file", "text-3xl text-gray-400") }) // Image or file icon
|
|
13
|
+
) }));
|
|
14
|
+
};
|
|
4
15
|
var SolidMediaSingleColumn = function (_a) {
|
|
5
|
-
// const filterable = column.attrs.filterable;
|
|
6
16
|
var _b;
|
|
7
17
|
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox;
|
|
8
|
-
var filterable = false;
|
|
9
|
-
var showFilterOperator = false;
|
|
10
|
-
var columnDataType = undefined;
|
|
11
18
|
var header = (_b = column.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
|
|
12
|
-
var
|
|
19
|
+
var mediaBodyTemplate = function (product) {
|
|
13
20
|
var _a;
|
|
14
21
|
if (!((_a = product === null || product === void 0 ? void 0 : product._media) === null || _a === void 0 ? void 0 : _a[fieldMetadata.name]))
|
|
15
22
|
return null;
|
|
16
|
-
var
|
|
17
|
-
return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
:
|
|
24
|
-
_jsx("div", { style: { height: 40, width: 40 } }));
|
|
23
|
+
var mediaUrls = product._media[fieldMetadata.name].map(function (i) { return i._full_url; });
|
|
24
|
+
return (mediaUrls.length > 0 ? (_jsx(MediaWithFallback, { src: mediaUrls[0], alt: "product-media", onClick: function (event) {
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
setLightboxUrls([{ src: mediaUrls[0], downloadUrl: mediaUrls[0] }]);
|
|
27
|
+
setOpenLightbox(true);
|
|
28
|
+
} })) : (_jsx("i", { className: "pi pi-image text-3xl text-gray-400" }) // Default fallback icon
|
|
29
|
+
));
|
|
25
30
|
};
|
|
26
|
-
return (_jsx(Column, { field: fieldMetadata.name, header: header, body:
|
|
27
|
-
// className="text-sm"
|
|
28
|
-
sortable: column.attrs.sortable,
|
|
29
|
-
// filter={filterable}
|
|
30
|
-
dataType: columnDataType, showFilterOperator: showFilterOperator, filterPlaceholder: "Search by ".concat(fieldMetadata.displayName), style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }, fieldMetadata.name));
|
|
31
|
+
return (_jsx(Column, { field: fieldMetadata.name, header: header, body: mediaBodyTemplate, sortable: column.attrs.sortable, showFilterOperator: false, filterPlaceholder: "Search by ".concat(fieldMetadata.displayName), style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }, fieldMetadata.name));
|
|
31
32
|
};
|
|
32
33
|
export default SolidMediaSingleColumn;
|
|
33
34
|
//# sourceMappingURL=SolidMediaSingleColumn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaSingleColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaSingleColumn.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"SolidMediaSingleColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaSingleColumn.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1529,21 +1529,14 @@ li.header-li-px {
|
|
|
1529
1529
|
font-size: 0.8rem;
|
|
1530
1530
|
}
|
|
1531
1531
|
|
|
1532
|
-
.kanban-options-panel .p-overlaypanel-content {
|
|
1533
|
-
padding: 0 !important;
|
|
1534
|
-
}
|
|
1535
|
-
|
|
1536
|
-
.kanban-options-panel .p-overlaypanel-content span {
|
|
1537
|
-
padding: 0 !important;
|
|
1538
|
-
font-size: 1rem;
|
|
1539
|
-
}
|
|
1540
|
-
|
|
1541
1532
|
.kanban-column {
|
|
1542
1533
|
flex: 1;
|
|
1543
|
-
|
|
1544
|
-
|
|
1534
|
+
min-width: 270px;
|
|
1535
|
+
width: 100%;
|
|
1536
|
+
max-width: 270px;
|
|
1537
|
+
/* background: #f0f0f5;
|
|
1545
1538
|
border: 8px;
|
|
1546
|
-
padding: 0.2rem;
|
|
1539
|
+
padding: 0.2rem; */
|
|
1547
1540
|
}
|
|
1548
1541
|
|
|
1549
1542
|
.kanban-card {
|
|
@@ -1565,19 +1558,15 @@ li.header-li-px {
|
|
|
1565
1558
|
color: #4b4d52;
|
|
1566
1559
|
}
|
|
1567
1560
|
|
|
1568
|
-
.kanban-group-heading {
|
|
1569
|
-
font-size: 1rem;
|
|
1570
|
-
font-weight: 600;
|
|
1571
|
-
letter-spacing: 2px;
|
|
1572
|
-
}
|
|
1573
|
-
|
|
1574
1561
|
.kanban-column-folded {
|
|
1575
1562
|
flex-grow: 0;
|
|
1576
|
-
background: #
|
|
1563
|
+
background: #F4F4F4;
|
|
1577
1564
|
border: 8px;
|
|
1578
1565
|
padding: 5px;
|
|
1579
1566
|
height: 100%;
|
|
1580
|
-
|
|
1567
|
+
min-width:fit-content;
|
|
1568
|
+
width: 100%;
|
|
1569
|
+
max-width:fit-content;
|
|
1581
1570
|
}
|
|
1582
1571
|
|
|
1583
1572
|
.kaban-heading-area {
|
|
@@ -2902,6 +2891,66 @@ li.header-li-px {
|
|
|
2902
2891
|
max-width: calc(20% - 10px);
|
|
2903
2892
|
}
|
|
2904
2893
|
|
|
2905
|
-
.
|
|
2906
|
-
|
|
2894
|
+
.solid-kanban-card {
|
|
2895
|
+
box-shadow: none;
|
|
2896
|
+
border-radius: 0.5rem;
|
|
2897
|
+
border: 1px solid rgba(216, 226, 234, 0.60);
|
|
2898
|
+
background: #FFF;
|
|
2899
|
+
padding: 9px;
|
|
2900
|
+
}
|
|
2901
|
+
|
|
2902
|
+
.kanban-group-heading {
|
|
2903
|
+
font-weight: 600;
|
|
2904
|
+
display: flex;
|
|
2905
|
+
align-items: center;
|
|
2906
|
+
gap: 10px;
|
|
2907
|
+
}
|
|
2908
|
+
|
|
2909
|
+
.kanban-count-badge {
|
|
2910
|
+
display: flex;
|
|
2911
|
+
width: 1.5rem;
|
|
2912
|
+
height: 1.5rem;
|
|
2913
|
+
padding: 0.125rem;
|
|
2914
|
+
justify-content: center;
|
|
2915
|
+
align-items: center;
|
|
2916
|
+
flex-shrink: 0;
|
|
2917
|
+
border-radius: 6.25rem;
|
|
2918
|
+
background: #F6FAFF;
|
|
2919
|
+
font-size: 0.75rem;
|
|
2920
|
+
font-weight: 600;
|
|
2921
|
+
color: var(--primary-color);
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
.kanban-image-preview {
|
|
2925
|
+
/* width: 100px; */
|
|
2926
|
+
/* width: 240px;
|
|
2927
|
+
height: 120px;
|
|
2928
|
+
flex-shrink: 0; */
|
|
2929
|
+
width: 100%;
|
|
2930
|
+
border-radius: 8px;
|
|
2931
|
+
max-height: 120px;
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2934
|
+
.solid-kanban-board-wrapper {
|
|
2935
|
+
border-top: 1px solid #CED0D6;
|
|
2936
|
+
overflow: hidden;
|
|
2937
|
+
height: calc(100vh - 64px) !important;
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
.solid-kanban-board-scroll-context {
|
|
2941
|
+
overflow: auto;
|
|
2942
|
+
height: 100%;
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
.kanban-column-cogwheel.p-button.p-button-icon-only.p-button-rounded {
|
|
2946
|
+
height: 2rem;
|
|
2947
|
+
width: 2rem;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
.kanban-column-cogwheel.p-button.p-button-secondary.p-button-text:not(:disabled):active {
|
|
2951
|
+
background: transparent;
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2954
|
+
.kanban-column-cogwheel.p-button.p-button-secondary.p-button-text:not(:disabled):hover {
|
|
2955
|
+
background: transparent;
|
|
2907
2956
|
}
|
package/package.json
CHANGED
package/publish.js
CHANGED
|
@@ -6,6 +6,9 @@ try {
|
|
|
6
6
|
console.log(`🔄 Updating package version (${versionType})...`);
|
|
7
7
|
execSync(`npm version ${versionType}`, { stdio: "inherit" });
|
|
8
8
|
|
|
9
|
+
console.log("📦 Pushing to git ...");
|
|
10
|
+
execSync("git push", { stdio: "inherit" });
|
|
11
|
+
|
|
9
12
|
console.log("📦 Publishing package...");
|
|
10
13
|
execSync("npm publish", { stdio: "inherit" });
|
|
11
14
|
|
|
@@ -1,65 +1,58 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
moduleName: string;
|
|
5
|
-
}
|
|
6
|
-
export const SolidModuleHome = (params: SolidModuleParams) => {
|
|
7
|
-
const formatName = (moduleName: string) => {
|
|
8
|
-
return moduleName
|
|
9
|
-
.split('-')
|
|
10
|
-
.map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize each word
|
|
11
|
-
.join(' ');
|
|
12
|
-
};
|
|
2
|
+
|
|
3
|
+
export const SolidModuleHome = () => {
|
|
13
4
|
return (
|
|
14
|
-
<div className="
|
|
15
|
-
<div className="
|
|
16
|
-
<div className="
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<div className="text-700 mb-6">Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.</div>
|
|
21
|
-
<div className="grid">
|
|
22
|
-
<div className="col-12 md:col-4 mb-4 px-5">
|
|
23
|
-
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
24
|
-
<i className="pi pi-desktop text-4xl text-blue-500"></i>
|
|
25
|
-
</span>
|
|
26
|
-
<div className="text-900 text-xl mb-3 font-medium">Built for Developers</div>
|
|
27
|
-
<span className="text-700 line-height-3">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</span>
|
|
28
|
-
</div>
|
|
29
|
-
<div className="col-12 md:col-4 mb-4 px-5">
|
|
30
|
-
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
31
|
-
<i className="pi pi-lock text-4xl text-blue-500"></i>
|
|
32
|
-
</span>
|
|
33
|
-
<div className="text-900 text-xl mb-3 font-medium">End-to-End Encryption</div>
|
|
34
|
-
<span className="text-700 line-height-3">Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis.</span>
|
|
35
|
-
</div>
|
|
36
|
-
<div className="col-12 md:col-4 mb-4 px-5">
|
|
37
|
-
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
38
|
-
<i className="pi pi-check-circle text-4xl text-blue-500"></i>
|
|
39
|
-
</span>
|
|
40
|
-
<div className="text-900 text-xl mb-3 font-medium">Easy to Use</div>
|
|
41
|
-
<span className="text-700 line-height-3">Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper.</span>
|
|
42
|
-
</div>
|
|
43
|
-
<div className="col-12 md:col-4 mb-4 px-5">
|
|
44
|
-
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
45
|
-
<i className="pi pi-globe text-4xl text-blue-500"></i>
|
|
46
|
-
</span>
|
|
47
|
-
<div className="text-900 text-xl mb-3 font-medium">Fast & Global Support</div>
|
|
48
|
-
<span className="text-700 line-height-3">Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus.</span>
|
|
49
|
-
</div>
|
|
50
|
-
<div className="col-12 md:col-4 mb-4 px-5">
|
|
51
|
-
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
52
|
-
<i className="pi pi-github text-4xl text-blue-500"></i>
|
|
53
|
-
</span>
|
|
54
|
-
<div className="text-900 text-xl mb-3 font-medium">Open Source</div>
|
|
55
|
-
<span className="text-700 line-height-3">Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. </span>
|
|
5
|
+
<div className="h-screen surface-0 text-center p-5">
|
|
6
|
+
<div className="row">
|
|
7
|
+
<div className="col-11 mx-auto">
|
|
8
|
+
<div className="mb-3 font-bold text-3xl">
|
|
9
|
+
<span className="text-900">One Product, </span>
|
|
10
|
+
<span className="text-primary">Many Solutions</span>
|
|
56
11
|
</div>
|
|
57
|
-
<div className="
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
12
|
+
<div className="text-700 mb-6">Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.</div>
|
|
13
|
+
<div className="grid">
|
|
14
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
15
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
16
|
+
<i className="pi pi-desktop text-4xl text-primary"></i>
|
|
17
|
+
</span>
|
|
18
|
+
<div className="text-900 text-xl mb-3 font-medium">Built for Developers</div>
|
|
19
|
+
<span className="text-700 line-height-3">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
22
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
23
|
+
<i className="pi pi-lock text-4xl text-primary"></i>
|
|
24
|
+
</span>
|
|
25
|
+
<div className="text-900 text-xl mb-3 font-medium">End-to-End Encryption</div>
|
|
26
|
+
<span className="text-700 line-height-3">Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis.</span>
|
|
27
|
+
</div>
|
|
28
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
29
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
30
|
+
<i className="pi pi-check-circle text-4xl text-primary"></i>
|
|
31
|
+
</span>
|
|
32
|
+
<div className="text-900 text-xl mb-3 font-medium">Easy to Use</div>
|
|
33
|
+
<span className="text-700 line-height-3">Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper.</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
36
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
37
|
+
<i className="pi pi-globe text-4xl text-primary"></i>
|
|
38
|
+
</span>
|
|
39
|
+
<div className="text-900 text-xl mb-3 font-medium">Fast & Global Support</div>
|
|
40
|
+
<span className="text-700 line-height-3">Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus.</span>
|
|
41
|
+
</div>
|
|
42
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
43
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
44
|
+
<i className="pi pi-github text-4xl text-primary"></i>
|
|
45
|
+
</span>
|
|
46
|
+
<div className="text-900 text-xl mb-3 font-medium">Open Source</div>
|
|
47
|
+
<span className="text-700 line-height-3">Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. </span>
|
|
48
|
+
</div>
|
|
49
|
+
<div className="col-12 md:col-4 md:mb-4 mb-0 px-3">
|
|
50
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
51
|
+
<i className="pi pi-shield text-4xl text-primary"></i>
|
|
52
|
+
</span>
|
|
53
|
+
<div className="text-900 text-xl mb-3 font-medium">Trusted Securitty</div>
|
|
54
|
+
<span className="text-700 line-height-3">Mattis rhoncus urna neque viverra justo nec ultrices. Id cursus metus aliquam eleifend.</span>
|
|
55
|
+
</div>
|
|
63
56
|
</div>
|
|
64
57
|
</div>
|
|
65
58
|
</div>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { usePathname } from "next/navigation";
|
|
5
|
+
import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
|
|
6
|
+
|
|
7
|
+
export const SolidThemeProvider = () => {
|
|
8
|
+
const pathname = usePathname();
|
|
9
|
+
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
|
|
10
|
+
const [theme, setTheme] = useState("solid-light-purple");
|
|
11
|
+
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (pathname.includes("/auth")) {
|
|
14
|
+
trigger("");
|
|
15
|
+
}
|
|
16
|
+
}, [pathname, trigger]);
|
|
17
|
+
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (pathname.includes("/auth") && solidSettingsData?.data?.authPagesTheme) {
|
|
20
|
+
const selectedTheme =
|
|
21
|
+
solidSettingsData.data.authPagesTheme === "dark" ? "solid-dark-purple" : "solid-light-purple";
|
|
22
|
+
setTheme(selectedTheme);
|
|
23
|
+
} else {
|
|
24
|
+
setTheme("solid-light-purple");
|
|
25
|
+
}
|
|
26
|
+
}, [pathname, solidSettingsData]);
|
|
27
|
+
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
// Find or create <link> element
|
|
30
|
+
let themeLink = document.getElementById("theme-css") as HTMLLinkElement;
|
|
31
|
+
|
|
32
|
+
// if (!themeLink) {
|
|
33
|
+
// themeLink = document.createElement("link");
|
|
34
|
+
// themeLink.id = "theme-css";
|
|
35
|
+
// themeLink.rel = "stylesheet";
|
|
36
|
+
// document.head.appendChild(themeLink);
|
|
37
|
+
// }
|
|
38
|
+
|
|
39
|
+
// Update theme link dynamically
|
|
40
|
+
themeLink.href = `/themes/${theme}/theme.css`;
|
|
41
|
+
}, [theme]);
|
|
42
|
+
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
@@ -54,7 +54,7 @@ export class SolidEmailField implements ISolidField {
|
|
|
54
54
|
// 3. regular expression
|
|
55
55
|
if (fieldMetadata.regexPattern) {
|
|
56
56
|
const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? `${fieldLabel} has invalid data.`
|
|
57
|
-
schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);
|
|
57
|
+
schema = schema.matches(new RegExp(fieldMetadata.regexPattern), regexPatternNotMatchingErrorMsg);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
return schema;
|
|
@@ -24,7 +24,7 @@ interface ApiResponse {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaData, setKanbanViewData, handleLoadMore, onDragEnd, handleSwimLinPagination
|
|
27
|
+
export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaData, setKanbanViewData, handleLoadMore, onDragEnd, handleSwimLinPagination, setLightboxUrls, setOpenLightbox }: any) => {
|
|
28
28
|
const [loading, setLoading] = useState<boolean>(true);
|
|
29
29
|
// State to manage the folded status of each column
|
|
30
30
|
const [foldedStates, setFoldedStates] = useState<Record<string, boolean>>({});
|
|
@@ -70,9 +70,10 @@ export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaDa
|
|
|
70
70
|
// Render the Kanban board
|
|
71
71
|
return (
|
|
72
72
|
//@ts-ignore
|
|
73
|
-
<
|
|
74
|
-
<
|
|
75
|
-
|
|
73
|
+
<div className="solid-kanban-board-wrapper">
|
|
74
|
+
<DragDropContext onDragEnd={onDragEnd}>
|
|
75
|
+
<div className="flex gap-4 px-5 py-4 solid-kanban-board-scroll-context">
|
|
76
|
+
{/* {Object.entries(kanbanViewData).map(([groupVal, data]) => {
|
|
76
77
|
const group = {
|
|
77
78
|
label: groupVal,
|
|
78
79
|
count: data.count,
|
|
@@ -90,36 +91,37 @@ export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaDa
|
|
|
90
91
|
/>
|
|
91
92
|
);
|
|
92
93
|
})} */}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
94
|
+
{kanbanViewData.map((data) => {
|
|
95
|
+
const group = {
|
|
96
|
+
label: data.groupName,
|
|
97
|
+
count: data.groupData.meta.totalRecords,
|
|
98
|
+
limit: data.groupData.meta.perPage,
|
|
99
|
+
currentPage: data.groupData.meta.currentPage,
|
|
100
|
+
folded: foldedStates[data.groupName] || false,
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
<KanbanColumn
|
|
105
|
+
key={data.groupName}
|
|
106
|
+
groupedView={groupedView}
|
|
107
|
+
groupByField={data.groupName}
|
|
108
|
+
group={group}
|
|
109
|
+
solidKanbanViewMetaData={solidKanbanViewMetaData}
|
|
110
|
+
groupData={data.groupData.records}
|
|
111
|
+
toggleFold={toggleFold}
|
|
112
|
+
handleLoadMore={handleLoadMore}
|
|
113
|
+
setLightboxUrls={setLightboxUrls}
|
|
114
|
+
setOpenLightbox={setOpenLightbox}
|
|
115
|
+
/>
|
|
116
|
+
);
|
|
117
|
+
})}
|
|
118
|
+
{groupedView !== false &&
|
|
119
|
+
<div className="kanban-load-more-folded">
|
|
120
|
+
<a className="kaban-load-more" onClick={handleSwimLinPagination}>load More</a></div>
|
|
121
|
+
}
|
|
122
|
+
</div>
|
|
123
|
+
</DragDropContext>
|
|
124
|
+
</div>
|
|
123
125
|
);
|
|
124
126
|
}
|
|
125
127
|
|
|
@@ -49,41 +49,53 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
|
|
|
49
49
|
const SolidRow = ({ children, attrs }: any) => {
|
|
50
50
|
const className = attrs.className;
|
|
51
51
|
return (
|
|
52
|
-
<div className={`row ${className}`}>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
// <div className={`row ${className}`}>
|
|
53
|
+
// <div className="s_group">
|
|
54
|
+
// <div>
|
|
55
|
+
// {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
56
|
+
// <div className="grid">{children}</div>
|
|
57
|
+
// </div>
|
|
58
|
+
// </div>
|
|
59
|
+
// </div>
|
|
60
|
+
<>
|
|
61
|
+
{attrs.label && <p className="">{attrs.label}</p>}
|
|
62
|
+
<div className={`row ${className}`}>
|
|
63
|
+
{children}
|
|
58
64
|
</div>
|
|
59
|
-
|
|
65
|
+
</>
|
|
60
66
|
);
|
|
61
67
|
};
|
|
62
68
|
const SolidColumn = ({ children, attrs }: any) => {
|
|
63
69
|
const className = attrs.className;
|
|
64
70
|
return (
|
|
71
|
+
// <div className={`${className}`}>
|
|
72
|
+
// <div className="s_group">
|
|
73
|
+
// <div>
|
|
74
|
+
// {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
75
|
+
// <div className="grid">{children}</div>
|
|
76
|
+
// </div>
|
|
77
|
+
// </div>
|
|
78
|
+
// </div>
|
|
65
79
|
<div className={`${className}`}>
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
{attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
69
|
-
<div className="grid">{children}</div>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
|
|
80
|
+
{attrs.label && <p className="">{attrs.label}</p>}
|
|
81
|
+
{children}
|
|
73
82
|
</div>
|
|
74
83
|
);
|
|
75
84
|
};
|
|
76
85
|
const SolidImage = ({ children, attrs }: any) => {
|
|
77
86
|
const className = attrs.className;
|
|
78
87
|
return (
|
|
88
|
+
// <div className={`${className}`}>
|
|
89
|
+
// <div className="s_group">
|
|
90
|
+
// <div>
|
|
91
|
+
// {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
92
|
+
// <div className="grid">{children}</div>
|
|
93
|
+
// </div>
|
|
94
|
+
// </div>
|
|
95
|
+
// </div>
|
|
79
96
|
<div className={`${className}`}>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
{attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
83
|
-
<div className="grid">{children}</div>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
|
|
97
|
+
{attrs.label && <p className="">{attrs.label}</p>}
|
|
98
|
+
{children}
|
|
87
99
|
</div>
|
|
88
100
|
);
|
|
89
101
|
};
|
|
@@ -157,17 +169,18 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
|
|
|
157
169
|
ref={provided.innerRef}
|
|
158
170
|
{...provided.draggableProps}
|
|
159
171
|
{...provided.dragHandleProps}
|
|
160
|
-
style={{
|
|
172
|
+
style={{ marginTop: "1rem", ...provided.draggableProps.style }}
|
|
161
173
|
className="kanban-card-container"
|
|
162
174
|
>
|
|
163
175
|
{/* <p className="kanban-card-heading">{data.title}</p> */}
|
|
164
176
|
{/* <p className="kanban-card-content">{data.content}</p> */}
|
|
165
|
-
<
|
|
177
|
+
<div
|
|
166
178
|
style={{
|
|
167
179
|
opacity: snapshot.isDragging ? 0.9 : 1,
|
|
168
180
|
transform: snapshot.isDragging ? "rotate(-2deg)" : "",
|
|
169
181
|
}}
|
|
170
182
|
elevation={snapshot.isDragging ? 3 : 1}
|
|
183
|
+
className="solid-kanban-card"
|
|
171
184
|
>
|
|
172
185
|
{renderFormDynamically(solidKanbanViewMetaData)}
|
|
173
186
|
|
|
@@ -177,7 +190,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
|
|
|
177
190
|
))
|
|
178
191
|
} */}
|
|
179
192
|
{/* <p className="kanban-card-content">{data.content}</p> */}
|
|
180
|
-
</
|
|
193
|
+
</div>
|
|
181
194
|
</div>
|
|
182
195
|
)}
|
|
183
196
|
</Draggable>
|
|
@@ -49,20 +49,25 @@ const KanbanColumn = ({ groupedView, groupByField, solidKanbanViewMetaData, grou
|
|
|
49
49
|
<i className="pi pi-sort-up-fill"></i>
|
|
50
50
|
<i className="pi pi-sort-down-fill"></i>
|
|
51
51
|
</div>
|
|
52
|
-
<p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
|
|
52
|
+
<p className="kanban-group-heading">{`${group.label}`}<span className="kanban-count-badge">{group.count}</span></p>
|
|
53
53
|
</div>
|
|
54
54
|
</a>
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
{!group.folded &&
|
|
58
58
|
<div className="flex align-items-center">
|
|
59
|
-
<p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
|
|
59
|
+
<p className="kanban-group-heading">{`${group.label}`}<span className="kanban-count-badge">{group.count}</span></p>
|
|
60
60
|
</div>
|
|
61
61
|
}
|
|
62
62
|
{!group.folded &&
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
<Button
|
|
64
|
+
onClick={(e: any) => op?.current?.toggle(e)}
|
|
65
|
+
icon='pi pi-cog'
|
|
66
|
+
text
|
|
67
|
+
className="p-0 kanban-column-cogwheel"
|
|
68
|
+
rounded
|
|
69
|
+
severity="secondary"
|
|
70
|
+
/>
|
|
66
71
|
}
|
|
67
72
|
<OverlayPanel ref={op} className="kanban-options-panel">
|
|
68
73
|
|