@visns-studio/visns-components 4.7.0 → 4.7.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 (110) hide show
  1. package/dist/104e5636d8ddb791614c.woff2 +0 -0
  2. package/dist/11fe6a83d647de5daf95.woff +0 -0
  3. package/dist/141e2a8c7836495afe2a.woff +0 -0
  4. package/dist/2ba5877f7079830b5383.woff +0 -0
  5. package/dist/2d6836f45b2037be41f3.woff +0 -0
  6. package/dist/399.0a0f3e0d21be1057d599.css +8 -0
  7. package/dist/399.b8f57fa3f8c0c10119e4.js +1 -0
  8. package/dist/47d566c3b1293dfd9d77.woff +0 -0
  9. package/dist/6282a13cbba671a71913.woff2 +0 -0
  10. package/dist/78266f551031aa9db127.woff +0 -0
  11. package/dist/7b7da89f1e3fdcbfe36c.woff2 +0 -0
  12. package/dist/7e78e8338af7efeda712.woff2 +0 -0
  13. package/dist/7fa387951673abf164b1.woff2 +0 -0
  14. package/dist/819d59862c2d0640aad8.woff +0 -0
  15. package/dist/b615e1a6c838ea059a56.woff +0 -0
  16. package/dist/b9b1aa739c660c4ce67c.woff2 +0 -0
  17. package/dist/c5f3640b11df9414facb.woff +0 -0
  18. package/dist/da26d162ff5af71d6590.woff2 +0 -0
  19. package/dist/dd5b2912dbf896310865.woff2 +0 -0
  20. package/dist/f282b331272463c1aa6c.woff2 +0 -0
  21. package/dist/index.css +2902 -0
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.LICENSE.txt +150 -0
  24. package/dist/main.83b033670d64419bb497.css +1 -0
  25. package/dist/main.b1723d17cd2d3513ab62.js +1 -0
  26. package/dist/report.html +39 -0
  27. package/dist/runtime.33c276593b23f8035b8d.js +1 -0
  28. package/package.json +26 -6
  29. package/.idea/codeStyles/Project.xml +0 -50
  30. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  31. package/.idea/deployment.xml +0 -4
  32. package/.idea/modules.xml +0 -8
  33. package/.idea/php.xml +0 -19
  34. package/.idea/vcs.xml +0 -6
  35. package/.idea/visns-components.iml +0 -8
  36. package/.prettierrc.json +0 -7
  37. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
  38. package/.yarn/releases/yarn-3.6.1.cjs +0 -874
  39. package/.yarnrc.yml +0 -7
  40. package/components/cms/DataGrid.jsx +0 -1461
  41. package/components/cms/DropZone.jsx +0 -349
  42. package/components/cms/Field.jsx +0 -802
  43. package/components/cms/Form.jsx +0 -476
  44. package/components/cms/generic/CmsDetail.jsx +0 -36
  45. package/components/cms/generic/CmsIndex.jsx +0 -73
  46. package/components/cms/generic/CmsSort.jsx +0 -125
  47. package/components/cms/sorting/Item.jsx +0 -115
  48. package/components/cms/sorting/List.jsx +0 -30
  49. package/components/crm/AsyncSelect.jsx +0 -125
  50. package/components/crm/Autocomplete.jsx +0 -174
  51. package/components/crm/Breadcrumb.jsx +0 -52
  52. package/components/crm/Call.jsx +0 -220
  53. package/components/crm/DataGrid.jsx +0 -2701
  54. package/components/crm/Download.jsx +0 -101
  55. package/components/crm/Fetch.jsx +0 -119
  56. package/components/crm/Field.jsx +0 -1557
  57. package/components/crm/Form.jsx +0 -1409
  58. package/components/crm/Loader.jsx +0 -29
  59. package/components/crm/MultiSelect.jsx +0 -78
  60. package/components/crm/Navigation.jsx +0 -619
  61. package/components/crm/Notification.jsx +0 -197
  62. package/components/crm/QrCode.jsx +0 -83
  63. package/components/crm/Select.jsx +0 -58
  64. package/components/crm/SelectList.jsx +0 -21
  65. package/components/crm/TableFilter.jsx +0 -198
  66. package/components/crm/auth/Login.jsx +0 -223
  67. package/components/crm/auth/Profile.jsx +0 -280
  68. package/components/crm/auth/Reset.jsx +0 -111
  69. package/components/crm/auth/Verify.jsx +0 -174
  70. package/components/crm/auth/styles/Login.module.css +0 -243
  71. package/components/crm/auth/styles/Profile.module.css +0 -222
  72. package/components/crm/auth/styles/Reset.module.css +0 -216
  73. package/components/crm/auth/styles/Verify.module.css +0 -216
  74. package/components/crm/generic/AuditLog.jsx +0 -108
  75. package/components/crm/generic/AuditLogs.jsx +0 -115
  76. package/components/crm/generic/GenericAuth.jsx +0 -166
  77. package/components/crm/generic/GenericDashboard.jsx +0 -42
  78. package/components/crm/generic/GenericDetail.jsx +0 -1499
  79. package/components/crm/generic/GenericDynamic.jsx +0 -915
  80. package/components/crm/generic/GenericFormBuilder.jsx +0 -1765
  81. package/components/crm/generic/GenericIndex.jsx +0 -376
  82. package/components/crm/generic/GenericMain.jsx +0 -129
  83. package/components/crm/generic/GenericSort.jsx +0 -188
  84. package/components/crm/generic/NotificationList.jsx +0 -64
  85. package/components/crm/generic/styles/AuditLog.module.css +0 -147
  86. package/components/crm/generic/styles/AuditLogs.module.css +0 -92
  87. package/components/crm/generic/styles/GenericDetail.module.css +0 -634
  88. package/components/crm/generic/styles/GenericDynamic.module.css +0 -932
  89. package/components/crm/generic/styles/GenericFormBuilder.module.css +0 -944
  90. package/components/crm/generic/styles/GenericIndex.module.css +0 -247
  91. package/components/crm/generic/styles/GenericMain.module.css +0 -91
  92. package/components/crm/generic/styles/GenericSort.module.css +0 -123
  93. package/components/crm/generic/styles/NotificationList.module.css +0 -67
  94. package/components/crm/sorting/Item.jsx +0 -117
  95. package/components/crm/sorting/List.jsx +0 -32
  96. package/components/crm/sorting/styles/Item.module.css +0 -68
  97. package/components/crm/sorting/styles/List.module.css +0 -68
  98. package/components/crm/styles/AsyncSelect.module.css +0 -8
  99. package/components/crm/styles/Autocomplete.module.css +0 -44
  100. package/components/crm/styles/DataGrid.module.css +0 -210
  101. package/components/crm/styles/Field.module.css +0 -311
  102. package/components/crm/styles/Form.module.css +0 -499
  103. package/components/crm/styles/Loader.module.css +0 -94
  104. package/components/crm/styles/MultiSelect.module.css +0 -8
  105. package/components/crm/styles/Navigation.module.css +0 -978
  106. package/components/crm/styles/Notification.module.css +0 -147
  107. package/components/crm/styles/QrCode.module.css +0 -87
  108. package/components/crm/styles/TableFilter.module.css +0 -52
  109. package/components/styles/global.css +0 -73
  110. package/index.js +0 -86
@@ -1,247 +0,0 @@
1
- .grid__row {
2
- width: 100%;
3
- display: flex;
4
- align-items: flex-start;
5
- flex-wrap: nowrap;
6
- height: auto;
7
- gap: 1rem;
8
- }
9
-
10
- .grid__three {
11
- width: 33%;
12
- background: var(--item-color);
13
- border-radius: var(--br);
14
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
15
- box-sizing: border-box;
16
- overflow: visible;
17
- position: relative;
18
- padding: 20px;
19
- margin: 8px 0;
20
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
21
- }
22
-
23
- .grid__half {
24
- width: 50%;
25
- background: var(--item-color);
26
- border-radius: 6px;
27
- border: 1px solid #dadce0;
28
- box-sizing: border-box;
29
- overflow: visible;
30
- position: relative;
31
- padding: 20px;
32
- margin: 8px 0;
33
- box-shadow: 0 4px 0 rgba(var(--primary-color), 0.05);
34
- }
35
-
36
- .grid__full {
37
- width: 100%;
38
- background: var(--item-color);
39
- border-radius: var(--br);
40
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
41
- box-sizing: border-box;
42
- overflow: visible;
43
- position: relative;
44
- padding: 2px;
45
- margin: 8px 0;
46
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
47
- }
48
-
49
- .grid__dashfull {
50
- width: 100%;
51
- background: var(--item-color);
52
- border-radius: 6px;
53
- border: 1px solid #dadce0;
54
- box-sizing: border-box;
55
- overflow: visible;
56
- position: relative;
57
- padding: 20px;
58
- margin: 8px 0;
59
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
60
- }
61
-
62
- .grid__subrow {
63
- width: 100%;
64
- display: flex;
65
- flex-wrap: wrap;
66
- height: auto;
67
- gap: 0.5rem;
68
- }
69
-
70
- .grid__subnav {
71
- flex: 1;
72
- background: rgba(var(--item-color-rgb), 1.01);
73
- border-radius: var(--br);
74
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
75
- box-sizing: border-box;
76
- padding: 5px;
77
- margin: 8px 0;
78
- height: auto;
79
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
80
- }
81
-
82
- .grid__subnav > ul {
83
- width: 100%;
84
- list-style: none;
85
- padding: 0;
86
- margin: 0;
87
- display: flex;
88
- flex-wrap: wrap;
89
- }
90
-
91
- .grid__subnav > ul li {
92
- width: 100%;
93
- margin-bottom: 3px;
94
- }
95
-
96
- .grid__subnav > ul li a {
97
- width: 100%;
98
- padding: 8px 20px;
99
- box-sizing: border-box;
100
- display: block;
101
- text-decoration: none;
102
- background: rgba(var(--primary-color-rgb), 0.05);
103
- color: var(--primary-color);
104
- border-radius: 5px;
105
- transition: background 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
106
- outline: none;
107
- cursor: pointer;
108
- }
109
-
110
- .grid__subnav > ul li:hover a {
111
- background: var(--primary-color);
112
- color: var(--tertiary-color);
113
- }
114
-
115
- .grid__subnav > ul li .subactive {
116
- font-weight: 700;
117
- background: var(--primary-color);
118
- color: var(--tertiary-color);
119
- }
120
-
121
- .grid__minheight {
122
- min-height: 300px;
123
- }
124
-
125
- .noborder {
126
- border: none !important;
127
- }
128
-
129
- .grid__subcontent {
130
- flex: 0 1 80%;
131
- background: var(--item-color);
132
- border-radius: var(--br);
133
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
134
- box-sizing: border-box;
135
- padding: 2px;
136
- margin: 8px 0;
137
- height: auto;
138
- position: relative;
139
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
140
- }
141
-
142
- .grid__subcontent h2 {
143
- color: var(--primary-color);
144
- font-size: 1.35em;
145
- padding: 0;
146
- margin: 0 0 30px 0;
147
- }
148
-
149
- .crmtitle {
150
- border: none;
151
- min-height: auto;
152
- padding: 10px 20px;
153
- margin: 0;
154
- background: var(--tertiary-color);
155
- border-radius: var(--br);
156
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
157
- position: relative;
158
- }
159
-
160
- .crmtitle h1 {
161
- font-weight: 700;
162
- font-size: 1.45em;
163
- margin: 0;
164
- padding: 0.65rem 0;
165
- }
166
-
167
- .crmtitle h1 a {
168
- text-decoration: none;
169
- color: rgba(var(--secondary-color-rgb), 1.1);
170
- font-weight: 300;
171
- }
172
-
173
- .crmtitle h1 svg {
174
- color: rgba(var(--primary-color-rgb), 0.25);
175
- position: relative;
176
- top: 2px;
177
- margin: 0 0.25rem;
178
- }
179
-
180
- .crmtitleSimple {
181
- border: none;
182
- min-height: auto;
183
- padding: 0.65rem 1rem;
184
- margin-bottom: 0.15rem;
185
- background: var(--tertiary-color);
186
- border-radius: var(--br);
187
- box-sizing: border-box;
188
- display: flex;
189
- flex-wrap: nowrap;
190
- justify-content: space-between;
191
- align-items: center;
192
-
193
- h1 {
194
- font-size: 1.25rem;
195
- margin: 0;
196
- padding: 0;
197
- }
198
- }
199
-
200
- .titleInfo {
201
- position: absolute;
202
- right: 2em;
203
- top: 24px;
204
- }
205
-
206
- .titleInfo span {
207
- font-size: 0.875em;
208
- color: rgba(var(--paragraph-color-rgb), 0.65);
209
- }
210
-
211
- .btn {
212
- width: max-content;
213
- display: inline-block;
214
- position: relative;
215
- padding: 0.65rem 1rem;
216
- cursor: pointer;
217
- font-size: 1rem;
218
- color: var(--tertiary-color);
219
- text-decoration: none;
220
- overflow: hidden;
221
- background: var(--primary-color);
222
- border: 1px solid rgba(var(--primary-color--rgb), 1.1);
223
- border-radius: var(--br);
224
- outline: none;
225
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
226
- font-size: 1.25em;
227
- }
228
-
229
- .btn:hover {
230
- color: var(--primary-color);
231
- background: var(--highlight-color);
232
- border: 1px solid rgba(var(--highlight-color-rgb), 1.05);
233
- }
234
-
235
- .polActions {
236
- position: fixed;
237
- bottom: 15px;
238
- right: 20px;
239
- width: auto;
240
- }
241
-
242
- .polActions button {
243
- display: block;
244
- float: left;
245
- padding: 0.35em 1em;
246
- margin: 0 0.15em;
247
- }
@@ -1,91 +0,0 @@
1
- .header {
2
- background: var(--primary-color);
3
- color: var(--primary-color);
4
- position: fixed;
5
- top: 0;
6
- width: 100%;
7
- z-index: 995;
8
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
9
- }
10
-
11
- .headerAlternate {
12
- background: white;
13
- color: var(--paragraph-color);
14
- position: fixed;
15
- top: 0;
16
- width: 100%;
17
- z-index: 995;
18
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
19
- }
20
-
21
- .content {
22
- display: flex;
23
- flex: 1;
24
- flex-direction: column;
25
- background: var(--bg);
26
-
27
- .content-header {
28
- background: rgba(var(--tertiary-color-rgb), 1.1);
29
- border-bottom: 1px solid rgba(0, 0, 0, 0.14);
30
- box-sizing: border-box;
31
- padding: 1em;
32
- height: 52.5px;
33
- box-shadow: 1px 0px 0px rgba(255, 255, 255, 0.5);
34
- display: flex;
35
- flex-wrap: nowrap;
36
- justify-content: space-between;
37
- }
38
-
39
- .content-title {
40
- width: 40%;
41
-
42
- h1 {
43
- padding: 0;
44
- margin: 0;
45
- font-size: 1em;
46
- line-height: 1.25;
47
- text-transform: uppercase;
48
- color: var(--primary-color);
49
- letter-spacing: -0.025em;
50
- }
51
- }
52
-
53
- .content-actions {
54
- width: 40%;
55
-
56
- ul {
57
- display: flex;
58
- padding: 0;
59
- margin: 0;
60
- list-style: none;
61
- justify-content: flex-end;
62
-
63
- li {
64
- padding: 0 10px;
65
- text-align: center;
66
-
67
- i {
68
- font-size: 1.25em;
69
- }
70
-
71
- a {
72
- text-decoration: none;
73
- color: var(--paragraph-color);
74
- }
75
- }
76
- }
77
- }
78
-
79
- .content-main {
80
- background: var(--bg);
81
- flex: 1;
82
- }
83
- }
84
-
85
- .padding {
86
- padding: 5em 1em 1em 1em;
87
- }
88
-
89
- .paddingSimple {
90
- padding: 1rem;
91
- }
@@ -1,123 +0,0 @@
1
- .grid {
2
- width: 100%;
3
- display: flex;
4
- align-items: flex-start;
5
- flex-wrap: nowrap;
6
- height: auto;
7
- gap: 1rem;
8
- }
9
-
10
- .grid__row {
11
- width: 100%;
12
- display: flex;
13
- align-items: flex-start;
14
- flex-wrap: nowrap;
15
- height: auto;
16
- gap: 1rem;
17
- }
18
-
19
- .grid__full {
20
- width: 100%;
21
- background: var(--item-color);
22
- border-radius: var(--br);
23
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
24
- box-sizing: border-box;
25
- overflow: visible;
26
- position: relative;
27
- padding: 2px;
28
- margin: 8px 0;
29
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
30
- }
31
-
32
- .crmtitle {
33
- border: none;
34
- min-height: auto;
35
- padding: 5px 20px;
36
- margin: 0;
37
- background: var(--tertiary-color);
38
- border-radius: var(--br);
39
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
40
- position: relative;
41
- display: flex;
42
- align-items: center;
43
-
44
- h1 {
45
- font-weight: 700;
46
- font-size: 1.15em;
47
- margin: 0;
48
- padding: 0.65rem 0;
49
- display: flex;
50
- align-items: center;
51
- gap: 0.25rem;
52
-
53
- a {
54
- text-decoration: none;
55
- color: rgba(var(--secondary-color-rgb), 1.1);
56
- }
57
-
58
- svg {
59
- color: rgba(var(--primary-color-rgb), 0.25);
60
- position: relative;
61
- top: 0;
62
- margin: 0 0.5rem;
63
- max-width: 15px;
64
- }
65
- }
66
- }
67
-
68
- .dragitem {
69
- list-style: none;
70
- display: flex;
71
- justify-content: center;
72
- align-items: center;
73
- flex-wrap: wrap;
74
- border-radius: 5px;
75
- border: 1px solid rgba(var(--primary-color-rgb), 0.2);
76
- box-shadow: 0px 0px 20px rgba(var(--primary-color-rgb), 0.25);
77
- padding: 1.25rem;
78
- box-sizing: border-box;
79
- cursor: grab;
80
- list-style: none;
81
- color: var(--paragraph-color);
82
-
83
- svg {
84
- width: 100%;
85
- max-width: 18px;
86
- position: absolute;
87
- left: 5px;
88
- top: 5px;
89
- }
90
-
91
- .pencil-edit {
92
- width: 100%;
93
- max-width: 18px;
94
- position: absolute;
95
- left: 5px;
96
- top: 30px;
97
- }
98
-
99
- .trash-delete {
100
- width: 100%;
101
- max-width: 18px;
102
- position: absolute;
103
- left: 5px;
104
- top: 60px;
105
- }
106
-
107
- .sortimg {
108
- width: 50px;
109
- position: relative;
110
- height: 50px;
111
- margin-left: auto;
112
- border-radius: 5px;
113
- overflow: hidden;
114
-
115
- img {
116
- display: block;
117
- object-fit: cover;
118
- height: 100%;
119
- width: 100%;
120
- overflow: hidden;
121
- }
122
- }
123
- }
@@ -1,67 +0,0 @@
1
- .grid {
2
- width: 100%;
3
- display: flex;
4
- align-items: flex-start;
5
- flex-wrap: nowrap;
6
- height: auto;
7
- gap: 1rem;
8
- }
9
-
10
- .grid__row {
11
- width: 100%;
12
- display: flex;
13
- align-items: flex-start;
14
- flex-wrap: nowrap;
15
- height: auto;
16
- gap: 1rem;
17
- }
18
-
19
- .grid__full {
20
- width: 100%;
21
- background: var(--item-color);
22
- border-radius: var(--br);
23
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
24
- box-sizing: border-box;
25
- overflow: visible;
26
- position: relative;
27
- padding: 2px;
28
- margin: 8px 0;
29
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
30
- }
31
-
32
- .crmtitle {
33
- border: none;
34
- min-height: auto;
35
- padding: 5px 20px;
36
- margin: 0;
37
- background: var(--primary-color);
38
- border-radius: var(--br);
39
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
40
- position: relative;
41
- display: flex;
42
- align-items: center;
43
-
44
- h1 {
45
- color: var(--background-color);
46
- font-weight: 700;
47
- font-size: 1.15em;
48
- margin: 0;
49
- padding: 0.65rem 0;
50
- display: flex;
51
- align-items: center;
52
- gap: 0.25rem;
53
-
54
- a {
55
- text-decoration: none;
56
- color: var(--secondary-color);
57
- }
58
-
59
- svg {
60
- color: rgba(var(--tertiary-color-rgb), 0.5);
61
- position: relative;
62
- top: 0;
63
- margin: 0 0.5rem;
64
- max-width: 15px;
65
- }
66
- }
67
- }
@@ -1,117 +0,0 @@
1
- import React from 'react';
2
- import { SortableElement, sortableHandle } from 'react-sortable-hoc';
3
- import { ChevronVertical, Pencil, TrashCan } from 'akar-icons';
4
-
5
- import styles from './styles/Item.module.css';
6
-
7
- const DragHandle = sortableHandle(() => (
8
- <ChevronVertical className="drag-handle" strokeWidth={1} size={26} />
9
- ));
10
-
11
- // Utility function to truncate text
12
- const truncateText = (text, maxLength) => {
13
- if (text && text.length > maxLength) {
14
- return `${text.substring(0, maxLength)}...`;
15
- }
16
- return text;
17
- };
18
-
19
- const SortableItem = ({
20
- containerIndex,
21
- handleClick,
22
- handleEdit,
23
- handleDelete,
24
- showImage,
25
- value,
26
- }) => {
27
- const renderImage = (d) => {
28
- let htmlContainer = '';
29
-
30
- if (showImage) {
31
- const imageUrl = d.image_url || d.file_url;
32
- htmlContainer = imageUrl ? (
33
- <div className={styles.sortimg}>
34
- <img src={imageUrl} alt="" />
35
- </div>
36
- ) : (
37
- <div className={styles.sortimg}>
38
- {/* Placeholder image */}
39
- <img
40
- src="data:image/png;base64,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"
41
- alt="Placeholder"
42
- />
43
- </div>
44
- );
45
- }
46
-
47
- return htmlContainer;
48
- };
49
-
50
- const renderEditButton = () => {
51
- if (!handleEdit) return null;
52
-
53
- if (showImage) {
54
- if (
55
- value.hasOwnProperty('file_title') &&
56
- value.hasOwnProperty('file_description')
57
- ) {
58
- return <EditButton />;
59
- }
60
- return null;
61
- }
62
-
63
- return <EditButton />;
64
- };
65
-
66
- const EditButton = () => (
67
- <Pencil
68
- className={styles['pencil-edit']}
69
- strokeWidth={1}
70
- size={26}
71
- onClick={(e) => {
72
- e.preventDefault();
73
- e.stopPropagation();
74
- handleEdit(value);
75
- }}
76
- />
77
- );
78
-
79
- return (
80
- <li
81
- onClick={(e) => {
82
- e.preventDefault();
83
- if (handleClick) {
84
- handleClick(containerIndex);
85
- }
86
- }}
87
- >
88
- <DragHandle />
89
- {truncateText(
90
- value.label || value.file_title || value.file_name,
91
- 30
92
- )}
93
-
94
- {renderImage(value)}
95
-
96
- {renderEditButton()}
97
-
98
- {handleDelete && (
99
- <TrashCan
100
- className={styles['trash-delete']}
101
- strokeWidth={1}
102
- size={26}
103
- onClick={(e) => {
104
- e.preventDefault();
105
- e.stopPropagation();
106
- handleDelete(
107
- value.id || containerIndex,
108
- value.label || value.file_name
109
- );
110
- }}
111
- />
112
- )}
113
- </li>
114
- );
115
- };
116
-
117
- export default SortableElement(SortableItem);
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import VisnsSortableItem from './Item';
3
- import { SortableContainer } from 'react-sortable-hoc';
4
-
5
- import styles from './styles/List.module.css';
6
-
7
- const SortableList = ({
8
- handleClick,
9
- handleDelete,
10
- handleEdit,
11
- items,
12
- showImage,
13
- }) => {
14
- return (
15
- <ul className={styles.sortlist}>
16
- {items.map((value, index) => (
17
- <VisnsSortableItem
18
- key={`item-${index}`}
19
- containerIndex={index}
20
- index={index}
21
- handleClick={handleClick}
22
- handleDelete={handleDelete}
23
- handleEdit={handleEdit}
24
- showImage={showImage}
25
- value={value}
26
- />
27
- ))}
28
- </ul>
29
- );
30
- };
31
-
32
- export default SortableContainer(SortableList);