vee-validate 4.14.1 → 4.14.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.14.1
2
+ * vee-validate v4.14.2
3
3
  * (c) 2024 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -1172,6 +1172,25 @@ function createFieldErrors() {
1172
1172
  };
1173
1173
  }
1174
1174
 
1175
+ const DEVTOOLS_FORMS = {};
1176
+ const DEVTOOLS_FIELDS = {};
1177
+ const INSPECTOR_ID = 'vee-validate-inspector';
1178
+ const COLORS = {
1179
+ error: 0xbd4b4b,
1180
+ success: 0x06d77b,
1181
+ unknown: 0x54436b,
1182
+ white: 0xffffff,
1183
+ black: 0x000000,
1184
+ blue: 0x035397,
1185
+ purple: 0xb980f0,
1186
+ orange: 0xf5a962,
1187
+ gray: 0xbbbfca,
1188
+ };
1189
+ let SELECTED_NODE = null;
1190
+ /**
1191
+ * Plugin API
1192
+ */
1193
+ let API;
1175
1194
  function installDevtoolsPlugin(app) {
1176
1195
  if ((process.env.NODE_ENV !== 'production')) {
1177
1196
  setupDevtoolsPlugin({
@@ -1181,12 +1200,105 @@ function installDevtoolsPlugin(app) {
1181
1200
  homepage: 'https://vee-validate.logaretm.com/v4',
1182
1201
  app,
1183
1202
  logo: 'https://vee-validate.logaretm.com/v4/logo.png',
1184
- }, setupApiHooks);
1203
+ }, api => {
1204
+ console.log('api', api);
1205
+ API = api;
1206
+ api.addInspector({
1207
+ id: INSPECTOR_ID,
1208
+ icon: 'rule',
1209
+ label: 'vee-validate',
1210
+ noSelectionText: 'Select a vee-validate node to inspect',
1211
+ actions: [
1212
+ {
1213
+ icon: 'done_outline',
1214
+ tooltip: 'Validate selected item',
1215
+ action: async () => {
1216
+ if (!SELECTED_NODE) {
1217
+ console.error('There is not a valid selected vee-validate node or component');
1218
+ return;
1219
+ }
1220
+ if (SELECTED_NODE.type === 'field') {
1221
+ await SELECTED_NODE.field.validate();
1222
+ return;
1223
+ }
1224
+ if (SELECTED_NODE.type === 'form') {
1225
+ await SELECTED_NODE.form.validate();
1226
+ return;
1227
+ }
1228
+ if (SELECTED_NODE.type === 'pathState') {
1229
+ await SELECTED_NODE.form.validateField(SELECTED_NODE.state.path);
1230
+ }
1231
+ },
1232
+ },
1233
+ {
1234
+ icon: 'delete_sweep',
1235
+ tooltip: 'Clear validation state of the selected item',
1236
+ action: () => {
1237
+ if (!SELECTED_NODE) {
1238
+ console.error('There is not a valid selected vee-validate node or component');
1239
+ return;
1240
+ }
1241
+ if (SELECTED_NODE.type === 'field') {
1242
+ SELECTED_NODE.field.resetField();
1243
+ return;
1244
+ }
1245
+ if (SELECTED_NODE.type === 'form') {
1246
+ SELECTED_NODE.form.resetForm();
1247
+ }
1248
+ if (SELECTED_NODE.type === 'pathState') {
1249
+ SELECTED_NODE.form.resetField(SELECTED_NODE.state.path);
1250
+ }
1251
+ },
1252
+ },
1253
+ ],
1254
+ });
1255
+ api.on.getInspectorTree(payload => {
1256
+ if (payload.inspectorId !== INSPECTOR_ID) {
1257
+ return;
1258
+ }
1259
+ const forms = Object.values(DEVTOOLS_FORMS);
1260
+ const fields = Object.values(DEVTOOLS_FIELDS);
1261
+ payload.rootNodes = [
1262
+ ...forms.map(mapFormForDevtoolsInspector),
1263
+ ...fields.map(field => mapFieldForDevtoolsInspector(field)),
1264
+ ];
1265
+ });
1266
+ api.on.getInspectorState(payload => {
1267
+ if (payload.inspectorId !== INSPECTOR_ID) {
1268
+ return;
1269
+ }
1270
+ const { form, field, state, type } = decodeNodeId(payload.nodeId);
1271
+ api.unhighlightElement();
1272
+ if (form && type === 'form') {
1273
+ payload.state = buildFormState(form);
1274
+ SELECTED_NODE = { type: 'form', form };
1275
+ api.highlightElement(form._vm);
1276
+ return;
1277
+ }
1278
+ if (state && type === 'pathState' && form) {
1279
+ payload.state = buildFieldState(state);
1280
+ SELECTED_NODE = { type: 'pathState', state, form };
1281
+ return;
1282
+ }
1283
+ if (field && type === 'field') {
1284
+ payload.state = buildFieldState({
1285
+ errors: field.errors.value,
1286
+ dirty: field.meta.dirty,
1287
+ valid: field.meta.valid,
1288
+ touched: field.meta.touched,
1289
+ value: field.value.value,
1290
+ initialValue: field.meta.initialValue,
1291
+ });
1292
+ SELECTED_NODE = { field, type: 'field' };
1293
+ api.highlightElement(field._vm);
1294
+ return;
1295
+ }
1296
+ SELECTED_NODE = null;
1297
+ api.unhighlightElement();
1298
+ });
1299
+ });
1185
1300
  }
1186
1301
  }
1187
- const DEVTOOLS_FORMS = {};
1188
- const DEVTOOLS_FIELDS = {};
1189
- let API;
1190
1302
  const refreshInspector = throttle(() => {
1191
1303
  setTimeout(async () => {
1192
1304
  await nextTick();
@@ -1228,111 +1340,6 @@ function registerSingleFieldWithDevtools(field) {
1228
1340
  });
1229
1341
  refreshInspector();
1230
1342
  }
1231
- const INSPECTOR_ID = 'vee-validate-inspector';
1232
- const COLORS = {
1233
- error: 0xbd4b4b,
1234
- success: 0x06d77b,
1235
- unknown: 0x54436b,
1236
- white: 0xffffff,
1237
- black: 0x000000,
1238
- blue: 0x035397,
1239
- purple: 0xb980f0,
1240
- orange: 0xf5a962,
1241
- gray: 0xbbbfca,
1242
- };
1243
- let SELECTED_NODE = null;
1244
- function setupApiHooks(api) {
1245
- API = api;
1246
- api.addInspector({
1247
- id: INSPECTOR_ID,
1248
- icon: 'rule',
1249
- label: 'vee-validate',
1250
- noSelectionText: 'Select a vee-validate node to inspect',
1251
- actions: [
1252
- {
1253
- icon: 'done_outline',
1254
- tooltip: 'Validate selected item',
1255
- action: async () => {
1256
- if (!SELECTED_NODE) {
1257
- console.error('There is not a valid selected vee-validate node or component');
1258
- return;
1259
- }
1260
- if (SELECTED_NODE.type === 'field') {
1261
- await SELECTED_NODE.field.validate();
1262
- return;
1263
- }
1264
- if (SELECTED_NODE.type === 'form') {
1265
- await SELECTED_NODE.form.validate();
1266
- return;
1267
- }
1268
- if (SELECTED_NODE.type === 'pathState') {
1269
- await SELECTED_NODE.form.validateField(SELECTED_NODE.state.path);
1270
- }
1271
- },
1272
- },
1273
- {
1274
- icon: 'delete_sweep',
1275
- tooltip: 'Clear validation state of the selected item',
1276
- action: () => {
1277
- if (!SELECTED_NODE) {
1278
- console.error('There is not a valid selected vee-validate node or component');
1279
- return;
1280
- }
1281
- if (SELECTED_NODE.type === 'field') {
1282
- SELECTED_NODE.field.resetField();
1283
- return;
1284
- }
1285
- if (SELECTED_NODE.type === 'form') {
1286
- SELECTED_NODE.form.resetForm();
1287
- }
1288
- if (SELECTED_NODE.type === 'pathState') {
1289
- SELECTED_NODE.form.resetField(SELECTED_NODE.state.path);
1290
- }
1291
- },
1292
- },
1293
- ],
1294
- });
1295
- api.on.getInspectorTree(payload => {
1296
- if (payload.inspectorId !== INSPECTOR_ID) {
1297
- return;
1298
- }
1299
- const forms = Object.values(DEVTOOLS_FORMS);
1300
- const fields = Object.values(DEVTOOLS_FIELDS);
1301
- payload.rootNodes = [
1302
- ...forms.map(mapFormForDevtoolsInspector),
1303
- ...fields.map(field => mapFieldForDevtoolsInspector(field)),
1304
- ];
1305
- });
1306
- api.on.getInspectorState((payload, ctx) => {
1307
- if (payload.inspectorId !== INSPECTOR_ID || ctx.currentTab !== `custom-inspector:${INSPECTOR_ID}`) {
1308
- return;
1309
- }
1310
- const { form, field, state, type } = decodeNodeId(payload.nodeId);
1311
- if (form && type === 'form') {
1312
- payload.state = buildFormState(form);
1313
- SELECTED_NODE = { type: 'form', form };
1314
- return;
1315
- }
1316
- if (state && type === 'pathState' && form) {
1317
- payload.state = buildFieldState(state);
1318
- SELECTED_NODE = { type: 'pathState', state, form };
1319
- return;
1320
- }
1321
- if (field && type === 'field') {
1322
- payload.state = buildFieldState({
1323
- errors: field.errors.value,
1324
- dirty: field.meta.dirty,
1325
- valid: field.meta.valid,
1326
- touched: field.meta.touched,
1327
- value: field.value.value,
1328
- initialValue: field.meta.initialValue,
1329
- });
1330
- SELECTED_NODE = { field, type: 'field' };
1331
- return;
1332
- }
1333
- SELECTED_NODE = null;
1334
- });
1335
- }
1336
1343
  function mapFormForDevtoolsInspector(form) {
1337
1344
  const { textColor, bgColor } = getValidityColors(form.meta.value.valid);
1338
1345
  const formTreeNodes = {};