@woodylab/payload 0.0.13 → 0.0.14

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.
@@ -1,9 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var config_index = require('../index-CXPLqpSF.js');
4
- require('../fieldRoles-R8Vcp6gr.js');
3
+ var config_index = require('../index-CLgZ1WQl.js');
4
+ require('../fieldRoles-BH5WwJxZ.js');
5
5
 
6
6
 
7
7
 
8
+ exports.configFooter = config_index.configFooter;
9
+ exports.configHeader = config_index.configHeader;
8
10
  exports.configSettings = config_index.configSettings;
9
11
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1 +1,3 @@
1
1
  export { default as configSettings } from './globals/configSettings';
2
+ export { default as configHeader } from './globals/configHeader';
3
+ export { default as configFooter } from './globals/configFooter';
@@ -1,3 +1,3 @@
1
- export { c as configSettings } from '../index-B_DiVlN7.js';
2
- import '../fieldRoles-bNqKk0DO.js';
1
+ export { b as configFooter, a as configHeader, c as configSettings } from '../index-Dzl-zwNY.js';
2
+ import '../fieldRoles-BbW92YWL.js';
3
3
  //# sourceMappingURL=index.esm.js.map
@@ -37,6 +37,35 @@ const fieldCheckbox = (override) => ({
37
37
  ...override,
38
38
  });
39
39
 
40
+ const fieldNumber = (override) => ({
41
+ name: 'number',
42
+ label: 'Number',
43
+ type: 'number',
44
+ required: false,
45
+ ...override,
46
+ });
47
+
48
+ const fieldRelationship = (relationTo, override) => ({
49
+ name: 'relationship',
50
+ label: 'Relationship',
51
+ type: 'relationship',
52
+ relationTo,
53
+ required: false,
54
+ ...override,
55
+ });
56
+
57
+ const fieldRichText = (override) => ({
58
+ name: 'richText',
59
+ label: 'Rich Text',
60
+ type: 'richText',
61
+ required: false,
62
+ admin: {
63
+ placeholder: 'Insert text here',
64
+ rows: 5,
65
+ },
66
+ ...override,
67
+ });
68
+
40
69
  const fieldSelect = (override) => ({
41
70
  name: 'select',
42
71
  label: 'select',
@@ -46,6 +75,134 @@ const fieldSelect = (override) => ({
46
75
  ...override
47
76
  });
48
77
 
78
+ const fieldContainerProps = (customFields = []) => {
79
+ return {
80
+ name: 'ctrP',
81
+ label: 'Proprietà container',
82
+ type: 'group',
83
+ fields: [
84
+ ...customFields,
85
+ fieldRichText({ name: 'body', label: 'Contenuto', required: false }),
86
+ fieldContainerWidths(),
87
+ {
88
+ type: 'tabs',
89
+ tabs: [
90
+ {
91
+ label: 'Stile',
92
+ fields: [
93
+ fieldUpload('media', { name: 'bgi', label: 'Immagine di sfondo' }),
94
+ //WFieldColor({name:'bgc', label:'Colore di sfondo', required:false}),
95
+ {
96
+ name: 'borderRadius',
97
+ type: 'select',
98
+ label: 'Angoli arrotondati',
99
+ defaultValue: 'rounded-none',
100
+ options: [
101
+ { label: 'Nessuno', value: 'rounded-none' },
102
+ { label: 'Piccolo', value: 'rounded-sm' },
103
+ { label: 'Medio', value: 'rounded-md' },
104
+ { label: 'Grande', value: 'rounded-lg' },
105
+ { label: 'Extra Grande', value: 'rounded-xl' },
106
+ { label: 'Massimo', value: 'rounded-full' },
107
+ ],
108
+ admin: {
109
+ width: '50%',
110
+ description: 'Imposta lo stile degli angoli arrotondati del contenitore.',
111
+ },
112
+ },
113
+ {
114
+ name: 'boxShadow',
115
+ type: 'select',
116
+ label: 'Ombra contenitore',
117
+ defaultValue: 'shadow-none', // Default: nessuna ombra
118
+ options: [
119
+ { label: 'Nessuna', value: 'shadow-none' },
120
+ { label: 'Piccola', value: 'shadow-sm' },
121
+ { label: 'Normale', value: 'shadow' },
122
+ { label: 'Media', value: 'shadow-md' },
123
+ { label: 'Grande', value: 'shadow-lg' },
124
+ { label: 'Extra Grande', value: 'shadow-xl' },
125
+ { label: 'Massima', value: 'shadow-2xl' },
126
+ ],
127
+ admin: {
128
+ width: '50%',
129
+ description: 'Imposta lo stile dell\'ombra per il contenitore.',
130
+ },
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ label: 'Dimensioni',
136
+ fields: [
137
+ fieldHeights(),
138
+ {
139
+ type: 'tabs',
140
+ tabs: [
141
+ {
142
+ label: 'Margini',
143
+ fields: [
144
+ fieldMargins()
145
+ ]
146
+ },
147
+ {
148
+ label: 'Paddings',
149
+ fields: [
150
+ fieldPaddings()
151
+ ]
152
+ }
153
+ ]
154
+ }
155
+ ]
156
+ }
157
+ ]
158
+ },
159
+ ]
160
+ };
161
+ };
162
+
163
+ const fieldThemeColor = (override) => ({
164
+ name: override?.name || 'color',
165
+ label: override?.label || 'Colore',
166
+ type: 'select',
167
+ required: override?.required ?? false,
168
+ options: [
169
+ { label: 'Default', value: '' },
170
+ { label: 'Foreground', value: 'foreground' },
171
+ { label: 'Primary', value: 'primary' },
172
+ { label: 'Secondary', value: 'secondary' },
173
+ { label: 'Accent', value: 'accent' },
174
+ { label: 'Dark', value: 'dark' },
175
+ { label: 'Light', value: 'light' },
176
+ { label: 'White', value: 'white' },
177
+ { label: 'Black', value: 'black' },
178
+ ],
179
+ admin: {
180
+ ...override?.admin,
181
+ },
182
+ });
183
+
184
+ const fieldConfigProps = (customFields = []) => {
185
+ return {
186
+ name: 'config',
187
+ label: 'Configurazione',
188
+ type: 'group',
189
+ fields: [
190
+ ...customFields,
191
+ ],
192
+ };
193
+ };
194
+
195
+ const fieldContentProps = (customFields = []) => {
196
+ return {
197
+ name: 'cntP',
198
+ label: 'Contenuto',
199
+ type: 'group',
200
+ fields: [
201
+ ...customFields,
202
+ ],
203
+ };
204
+ };
205
+
49
206
  /**
50
207
  * Costante che definisce le varianti di larghezza del container come classi Tailwind
51
208
  */
@@ -689,6 +846,409 @@ var index = /*#__PURE__*/Object.freeze({
689
846
  TailwindWidths: TailwindWidths
690
847
  });
691
848
 
849
+ /**
850
+ * Genera un campo per la selezione delle altezze
851
+ * @returns Field - Campo di tipo `select` per PayloadCMS
852
+ */
853
+ const fieldViewportHeights = () => {
854
+ return fieldSelect({
855
+ name: 'h',
856
+ label: 'Altezza',
857
+ type: 'select',
858
+ options: [{ value: '', label: '(Nessuno)' }, ...TailwindViewportHeights.map(h => ({ value: `h-${h}`, label: h }))],
859
+ admin: {
860
+ description: 'Definisce l’altezza dell’elemento.',
861
+ width: '50%'
862
+ },
863
+ });
864
+ };
865
+
866
+ const fieldSectionProps = (customFields = []) => {
867
+ return {
868
+ name: 'sctP',
869
+ label: 'Proprietà sezione',
870
+ type: 'group',
871
+ fields: [
872
+ ...customFields,
873
+ fieldRichText({ name: 'body', label: 'Contenuto', required: false }),
874
+ {
875
+ type: 'tabs',
876
+ tabs: [
877
+ {
878
+ label: 'Stile',
879
+ fields: [
880
+ fieldUpload('media', { name: 'bgi', label: 'Immagine di sfondo' }),
881
+ fieldThemeColor({ name: 'bgc', label: 'Colore di sfondo', required: false }),
882
+ ]
883
+ }
884
+ ]
885
+ },
886
+ {
887
+ type: 'tabs',
888
+ tabs: [
889
+ {
890
+ label: 'Dimensioni',
891
+ fields: [
892
+ fieldViewportHeights(),
893
+ {
894
+ type: 'tabs',
895
+ tabs: [{
896
+ label: 'Margini',
897
+ fields: [
898
+ fieldMargins()
899
+ ]
900
+ },
901
+ {
902
+ label: 'Paddings',
903
+ fields: [
904
+ fieldPaddings()
905
+ ]
906
+ }
907
+ ]
908
+ }
909
+ ]
910
+ }
911
+ ]
912
+ },
913
+ ],
914
+ };
915
+ };
916
+
917
+ const fieldSectionTabs = (options = {}) => {
918
+ const { config = true, section = true, container = true, content = true, configFields = [], sectionFields = [], containerFields = [], contentFields = [] } = options;
919
+ const tabs = [];
920
+ if (config) {
921
+ tabs.push({
922
+ label: 'Configurazione',
923
+ fields: [
924
+ fieldConfigProps(configFields)
925
+ ],
926
+ });
927
+ }
928
+ // Tab per la sezione
929
+ if (section) {
930
+ tabs.push({
931
+ label: 'Sezione',
932
+ fields: [
933
+ fieldSectionProps(sectionFields)
934
+ ],
935
+ });
936
+ }
937
+ // Tab per il container
938
+ if (container) {
939
+ tabs.push({
940
+ label: 'Container',
941
+ fields: [
942
+ fieldContainerProps(containerFields)
943
+ ],
944
+ });
945
+ }
946
+ // Tab per il contenuto
947
+ if (content) {
948
+ tabs.push({
949
+ label: 'Contenuto',
950
+ fields: [
951
+ fieldContentProps(contentFields)
952
+ ],
953
+ });
954
+ }
955
+ return {
956
+ type: 'tabs',
957
+ tabs: tabs,
958
+ };
959
+ };
960
+
961
+ /**
962
+ * Genera un campo per la selezione delle larghezze del container
963
+ * @returns Field - Campo di tipo `select` per PayloadCMS
964
+ */
965
+ const fieldContainerWidths = () => {
966
+ return fieldSelect({
967
+ name: 'container',
968
+ label: 'Larghezza del container',
969
+ options: [{ value: '', label: '(Nessuno)' }, ...TailwindContainerWidths],
970
+ admin: {
971
+ description: 'Seleziona una larghezza massima per il container. Usa "None" per una larghezza a schermo intero.',
972
+ },
973
+ });
974
+ };
975
+
976
+ /**
977
+ * Genera un campo per la selezione delle altezze
978
+ * @returns Field - Campo di tipo `select` per PayloadCMS
979
+ */
980
+ const fieldHeights = () => {
981
+ return fieldSelect({
982
+ name: 'h',
983
+ label: 'Altezza',
984
+ type: 'select',
985
+ defaultValue: 'h-full',
986
+ options: [{ value: '', label: '(Nessuno)' }, ...TailwindHeights.map(h => ({ value: `h-${h}`, label: h }))],
987
+ admin: {
988
+ description: 'Definisce l’altezza dell’elemento.',
989
+ },
990
+ });
991
+ };
992
+
993
+ const concatMarginFields = (args) => {
994
+ const { value, siblingData, operation, } = args;
995
+ if (operation === 'create' || operation === 'update') {
996
+ const margins = siblingData || {};
997
+ const { all, x, y, t, r, b, l } = margins;
998
+ const classes = [];
999
+ if (all)
1000
+ classes.push(`m-${all}`);
1001
+ if (x)
1002
+ classes.push(`mx-${x}`);
1003
+ if (y)
1004
+ classes.push(`my-${y}`);
1005
+ if (t)
1006
+ classes.push(`mt-${t}`);
1007
+ if (r)
1008
+ classes.push(`mr-${r}`);
1009
+ if (b)
1010
+ classes.push(`mb-${b}`);
1011
+ if (l)
1012
+ classes.push(`ml-${l}`);
1013
+ return classes.join(' ');
1014
+ }
1015
+ return value;
1016
+ };
1017
+ /**
1018
+ * Genera un campo per la selezione dinamica dei margini
1019
+ * @returns Field - Campo di tipo `group` per PayloadCMS
1020
+ */
1021
+ const fieldMargins = () => {
1022
+ return {
1023
+ name: 'm',
1024
+ label: 'Margini',
1025
+ type: 'group',
1026
+ fields: [
1027
+ {
1028
+ name: 'className',
1029
+ label: 'Classi CSS Margini',
1030
+ type: 'text',
1031
+ hooks: {
1032
+ beforeChange: [concatMarginFields],
1033
+ },
1034
+ admin: {
1035
+ readOnly: true,
1036
+ description: 'Questa stringa verrà generata automaticamente in base ai campi sottostanti.',
1037
+ },
1038
+ },
1039
+ {
1040
+ type: 'row',
1041
+ fields: [
1042
+ fieldNumber({
1043
+ name: 'all',
1044
+ label: 'Tutti i lati',
1045
+ type: 'number',
1046
+ min: 0,
1047
+ max: 96,
1048
+ admin: {
1049
+ width: '33%'
1050
+ }
1051
+ }),
1052
+ fieldNumber({
1053
+ name: 'x',
1054
+ label: 'Orizzontale',
1055
+ type: 'number',
1056
+ min: 0,
1057
+ max: 96,
1058
+ admin: {
1059
+ width: '33%'
1060
+ }
1061
+ }),
1062
+ fieldNumber({
1063
+ name: 'y',
1064
+ label: 'Verticale',
1065
+ type: 'number',
1066
+ min: 0,
1067
+ max: 96,
1068
+ admin: {
1069
+ width: '33%'
1070
+ }
1071
+ }),
1072
+ fieldNumber({
1073
+ name: 't',
1074
+ label: 'Top',
1075
+ type: 'number',
1076
+ min: 0,
1077
+ max: 96,
1078
+ admin: {
1079
+ width: '25%'
1080
+ }
1081
+ }),
1082
+ fieldNumber({
1083
+ name: 'r',
1084
+ label: 'Right',
1085
+ type: 'number',
1086
+ min: 0,
1087
+ max: 96,
1088
+ admin: {
1089
+ width: '25%'
1090
+ }
1091
+ }),
1092
+ fieldNumber({
1093
+ name: 'b',
1094
+ label: 'Bottom',
1095
+ type: 'number',
1096
+ min: 0,
1097
+ max: 96,
1098
+ admin: {
1099
+ width: '25%'
1100
+ }
1101
+ }),
1102
+ fieldNumber({
1103
+ name: 'l',
1104
+ label: 'Left',
1105
+ type: 'number',
1106
+ min: 0,
1107
+ max: 96,
1108
+ admin: {
1109
+ width: '25%'
1110
+ }
1111
+ }),
1112
+ ]
1113
+ }
1114
+ ],
1115
+ admin: {
1116
+ description: 'Definisce lo spazio esterno generale, orizzontale, verticale o per ciascun lato.',
1117
+ },
1118
+ };
1119
+ };
1120
+
1121
+ /**
1122
+ * Hook per concatenare le classi CSS di padding
1123
+ */
1124
+ const concatPaddingFields = (args) => {
1125
+ const { value, siblingData, operation, } = args;
1126
+ if (operation === 'create' || operation === 'update') {
1127
+ const paddings = siblingData || {};
1128
+ const { all, x, y, t, r, b, l } = paddings;
1129
+ const classes = [];
1130
+ if (all)
1131
+ classes.push(`p-${all}`);
1132
+ if (x)
1133
+ classes.push(`px-${x}`);
1134
+ if (y)
1135
+ classes.push(`py-${y}`);
1136
+ if (t)
1137
+ classes.push(`pt-${t}`);
1138
+ if (r)
1139
+ classes.push(`pr-${r}`);
1140
+ if (b)
1141
+ classes.push(`pb-${b}`);
1142
+ if (l)
1143
+ classes.push(`pl-${l}`);
1144
+ return classes.join(' ');
1145
+ }
1146
+ return value;
1147
+ };
1148
+ /**
1149
+ * Genera un campo per la selezione dinamica dei padding
1150
+ * @returns Field - Campo di tipo `group` per PayloadCMS
1151
+ */
1152
+ const fieldPaddings = () => {
1153
+ return {
1154
+ name: 'p',
1155
+ label: 'Padding',
1156
+ type: 'group',
1157
+ fields: [
1158
+ {
1159
+ name: 'className',
1160
+ label: 'Classi CSS Padding',
1161
+ type: 'text',
1162
+ hooks: {
1163
+ beforeChange: [concatPaddingFields],
1164
+ },
1165
+ admin: {
1166
+ readOnly: true,
1167
+ description: 'Questa stringa verrà generata automaticamente in base ai campi sottostanti.',
1168
+ },
1169
+ },
1170
+ {
1171
+ type: 'row',
1172
+ fields: [
1173
+ fieldNumber({
1174
+ name: 'all',
1175
+ label: 'Tutti i lati',
1176
+ type: 'number',
1177
+ min: 0,
1178
+ max: 96,
1179
+ admin: {
1180
+ width: '33%'
1181
+ }
1182
+ }),
1183
+ fieldNumber({
1184
+ name: 'x',
1185
+ label: 'Orizzontale',
1186
+ type: 'number',
1187
+ min: 0,
1188
+ max: 96,
1189
+ admin: {
1190
+ width: '33%'
1191
+ }
1192
+ }),
1193
+ fieldNumber({
1194
+ name: 'y',
1195
+ label: 'Verticale',
1196
+ type: 'number',
1197
+ min: 0,
1198
+ max: 96,
1199
+ admin: {
1200
+ width: '33%'
1201
+ }
1202
+ }),
1203
+ fieldNumber({
1204
+ name: 't',
1205
+ label: 'Top',
1206
+ type: 'number',
1207
+ min: 0,
1208
+ max: 96,
1209
+ admin: {
1210
+ width: '25%'
1211
+ }
1212
+ }),
1213
+ fieldNumber({
1214
+ name: 'r',
1215
+ label: 'Right',
1216
+ type: 'number',
1217
+ min: 0,
1218
+ max: 96,
1219
+ admin: {
1220
+ width: '25%'
1221
+ }
1222
+ }),
1223
+ fieldNumber({
1224
+ name: 'b',
1225
+ label: 'Bottom',
1226
+ type: 'number',
1227
+ min: 0,
1228
+ max: 96,
1229
+ admin: {
1230
+ width: '25%'
1231
+ }
1232
+ }),
1233
+ fieldNumber({
1234
+ name: 'l',
1235
+ label: 'Left',
1236
+ type: 'number',
1237
+ min: 0,
1238
+ max: 96,
1239
+ admin: {
1240
+ width: '25%'
1241
+ }
1242
+ }),
1243
+ ]
1244
+ }
1245
+ ],
1246
+ admin: {
1247
+ description: 'Definisce lo spazio interno generale, orizzontale, verticale o per ciascun lato.',
1248
+ },
1249
+ };
1250
+ };
1251
+
692
1252
  var UserRole;
693
1253
  (function (UserRole) {
694
1254
  UserRole["ADMIN"] = "admin";
@@ -721,15 +1281,26 @@ const fieldRoles = (override) => ({
721
1281
  },
722
1282
  });
723
1283
 
724
- exports.TailwindContainerWidths = TailwindContainerWidths;
725
- exports.TailwindHeights = TailwindHeights;
726
1284
  exports.TailwindTextSizes = TailwindTextSizes;
727
- exports.TailwindViewportHeights = TailwindViewportHeights;
728
1285
  exports.fieldArray = fieldArray;
729
1286
  exports.fieldCheckbox = fieldCheckbox;
1287
+ exports.fieldConfigProps = fieldConfigProps;
1288
+ exports.fieldContainerProps = fieldContainerProps;
1289
+ exports.fieldContainerWidths = fieldContainerWidths;
1290
+ exports.fieldContentProps = fieldContentProps;
1291
+ exports.fieldHeights = fieldHeights;
1292
+ exports.fieldMargins = fieldMargins;
1293
+ exports.fieldNumber = fieldNumber;
1294
+ exports.fieldPaddings = fieldPaddings;
1295
+ exports.fieldRelationship = fieldRelationship;
1296
+ exports.fieldRichText = fieldRichText;
730
1297
  exports.fieldRoles = fieldRoles;
1298
+ exports.fieldSectionProps = fieldSectionProps;
1299
+ exports.fieldSectionTabs = fieldSectionTabs;
731
1300
  exports.fieldSelect = fieldSelect;
732
1301
  exports.fieldText = fieldText;
1302
+ exports.fieldThemeColor = fieldThemeColor;
733
1303
  exports.fieldUpload = fieldUpload;
1304
+ exports.fieldViewportHeights = fieldViewportHeights;
734
1305
  exports.index = index;
735
- //# sourceMappingURL=fieldRoles-R8Vcp6gr.js.map
1306
+ //# sourceMappingURL=fieldRoles-BH5WwJxZ.js.map