@frollo/frollo-web-ui 0.0.16 → 0.0.17

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/cjs/index.js CHANGED
@@ -83,7 +83,7 @@ function commonjsRequire (path) {
83
83
  };
84
84
 
85
85
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
86
- var global$o =
86
+ var global$r =
87
87
  // eslint-disable-next-line es/no-global-this -- safe
88
88
  check(typeof globalThis == 'object' && globalThis) ||
89
89
  check(typeof window == 'object' && window) ||
@@ -91,21 +91,21 @@ var global$o =
91
91
  check(typeof self == 'object' && self) ||
92
92
  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
93
93
  // eslint-disable-next-line no-new-func -- fallback
94
- (function () { return this; })() || Function('return this')();var objectGetOwnPropertyDescriptor = {};var fails$9 = function (exec) {
94
+ (function () { return this; })() || Function('return this')();var objectGetOwnPropertyDescriptor = {};var fails$a = function (exec) {
95
95
  try {
96
96
  return !!exec();
97
97
  } catch (error) {
98
98
  return true;
99
99
  }
100
- };var fails$8 = fails$9;
100
+ };var fails$9 = fails$a;
101
101
 
102
102
  // Detect IE8's incomplete defineProperty implementation
103
- var descriptors = !fails$8(function () {
103
+ var descriptors = !fails$9(function () {
104
104
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
105
105
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
106
- });var fails$7 = fails$9;
106
+ });var fails$8 = fails$a;
107
107
 
108
- var functionBindNative = !fails$7(function () {
108
+ var functionBindNative = !fails$8(function () {
109
109
  var test = (function () { /* empty */ }).bind();
110
110
  // eslint-disable-next-line no-prototype-builtins -- safe
111
111
  return typeof test != 'function' || test.hasOwnProperty('prototype');
@@ -118,15 +118,15 @@ var functionCall = NATIVE_BIND$2 ? call$4.bind(call$4) : function () {
118
118
  };var objectPropertyIsEnumerable = {};'use strict';
119
119
  var $propertyIsEnumerable$1 = {}.propertyIsEnumerable;
120
120
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
121
- var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
121
+ var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
122
122
 
123
123
  // Nashorn ~ JDK8 bug
124
- var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable$1.call({ 1: 2 }, 1);
124
+ var NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable$1.call({ 1: 2 }, 1);
125
125
 
126
126
  // `Object.prototype.propertyIsEnumerable` method implementation
127
127
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
128
128
  var f$5 = objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
129
- var descriptor = getOwnPropertyDescriptor$1(this, V);
129
+ var descriptor = getOwnPropertyDescriptor$2(this, V);
130
130
  return !!descriptor && descriptor.enumerable;
131
131
  } : $propertyIsEnumerable$1;var createPropertyDescriptor$2 = function (bitmap, value) {
132
132
  return {
@@ -140,77 +140,77 @@ var f$5 = objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumer
140
140
  var FunctionPrototype$2 = Function.prototype;
141
141
  var bind$2 = FunctionPrototype$2.bind;
142
142
  var call$3 = FunctionPrototype$2.call;
143
- var uncurryThis$e = NATIVE_BIND$1 && bind$2.bind(call$3, call$3);
143
+ var uncurryThis$i = NATIVE_BIND$1 && bind$2.bind(call$3, call$3);
144
144
 
145
145
  var functionUncurryThis = NATIVE_BIND$1 ? function (fn) {
146
- return fn && uncurryThis$e(fn);
146
+ return fn && uncurryThis$i(fn);
147
147
  } : function (fn) {
148
148
  return fn && function () {
149
149
  return call$3.apply(fn, arguments);
150
150
  };
151
- };var uncurryThis$d = functionUncurryThis;
151
+ };var uncurryThis$h = functionUncurryThis;
152
152
 
153
- var toString$2 = uncurryThis$d({}.toString);
154
- var stringSlice = uncurryThis$d(''.slice);
153
+ var toString$4 = uncurryThis$h({}.toString);
154
+ var stringSlice = uncurryThis$h(''.slice);
155
155
 
156
156
  var classofRaw$1 = function (it) {
157
- return stringSlice(toString$2(it), 8, -1);
158
- };var global$n = global$o;
159
- var uncurryThis$c = functionUncurryThis;
160
- var fails$6 = fails$9;
161
- var classof$4 = classofRaw$1;
157
+ return stringSlice(toString$4(it), 8, -1);
158
+ };var global$q = global$r;
159
+ var uncurryThis$g = functionUncurryThis;
160
+ var fails$7 = fails$a;
161
+ var classof$5 = classofRaw$1;
162
162
 
163
- var Object$4 = global$n.Object;
164
- var split = uncurryThis$c(''.split);
163
+ var Object$4 = global$q.Object;
164
+ var split = uncurryThis$g(''.split);
165
165
 
166
166
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
167
- var indexedObject = fails$6(function () {
167
+ var indexedObject = fails$7(function () {
168
168
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
169
169
  // eslint-disable-next-line no-prototype-builtins -- safe
170
170
  return !Object$4('z').propertyIsEnumerable(0);
171
171
  }) ? function (it) {
172
- return classof$4(it) == 'String' ? split(it, '') : Object$4(it);
173
- } : Object$4;var global$m = global$o;
172
+ return classof$5(it) == 'String' ? split(it, '') : Object$4(it);
173
+ } : Object$4;var global$p = global$r;
174
174
 
175
- var TypeError$7 = global$m.TypeError;
175
+ var TypeError$9 = global$p.TypeError;
176
176
 
177
177
  // `RequireObjectCoercible` abstract operation
178
178
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
179
- var requireObjectCoercible$2 = function (it) {
180
- if (it == undefined) throw TypeError$7("Can't call method on " + it);
179
+ var requireObjectCoercible$3 = function (it) {
180
+ if (it == undefined) throw TypeError$9("Can't call method on " + it);
181
181
  return it;
182
182
  };// toObject with fallback for non-array-like ES3 strings
183
183
  var IndexedObject$1 = indexedObject;
184
- var requireObjectCoercible$1 = requireObjectCoercible$2;
184
+ var requireObjectCoercible$2 = requireObjectCoercible$3;
185
185
 
186
186
  var toIndexedObject$5 = function (it) {
187
- return IndexedObject$1(requireObjectCoercible$1(it));
187
+ return IndexedObject$1(requireObjectCoercible$2(it));
188
188
  };// `IsCallable` abstract operation
189
189
  // https://tc39.es/ecma262/#sec-iscallable
190
- var isCallable$c = function (argument) {
190
+ var isCallable$e = function (argument) {
191
191
  return typeof argument == 'function';
192
- };var isCallable$b = isCallable$c;
192
+ };var isCallable$d = isCallable$e;
193
193
 
194
- var isObject$7 = function (it) {
195
- return typeof it == 'object' ? it !== null : isCallable$b(it);
196
- };var global$l = global$o;
197
- var isCallable$a = isCallable$c;
194
+ var isObject$8 = function (it) {
195
+ return typeof it == 'object' ? it !== null : isCallable$d(it);
196
+ };var global$o = global$r;
197
+ var isCallable$c = isCallable$e;
198
198
 
199
199
  var aFunction = function (argument) {
200
- return isCallable$a(argument) ? argument : undefined;
200
+ return isCallable$c(argument) ? argument : undefined;
201
201
  };
202
202
 
203
203
  var getBuiltIn$5 = function (namespace, method) {
204
- return arguments.length < 2 ? aFunction(global$l[namespace]) : global$l[namespace] && global$l[namespace][method];
205
- };var uncurryThis$b = functionUncurryThis;
204
+ return arguments.length < 2 ? aFunction(global$o[namespace]) : global$o[namespace] && global$o[namespace][method];
205
+ };var uncurryThis$f = functionUncurryThis;
206
206
 
207
- var objectIsPrototypeOf = uncurryThis$b({}.isPrototypeOf);var getBuiltIn$4 = getBuiltIn$5;
207
+ var objectIsPrototypeOf = uncurryThis$f({}.isPrototypeOf);var getBuiltIn$4 = getBuiltIn$5;
208
208
 
209
- var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';var global$k = global$o;
209
+ var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';var global$n = global$r;
210
210
  var userAgent = engineUserAgent;
211
211
 
212
- var process = global$k.process;
213
- var Deno = global$k.Deno;
212
+ var process = global$n.process;
213
+ var Deno = global$n.Deno;
214
214
  var versions = process && process.versions || Deno && Deno.version;
215
215
  var v8 = versions && versions.v8;
216
216
  var match, version;
@@ -235,10 +235,10 @@ if (!version && userAgent) {
235
235
  var engineV8Version = version;/* eslint-disable es/no-symbol -- required for testing */
236
236
 
237
237
  var V8_VERSION = engineV8Version;
238
- var fails$5 = fails$9;
238
+ var fails$6 = fails$a;
239
239
 
240
240
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
241
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$5(function () {
241
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$6(function () {
242
242
  var symbol = Symbol();
243
243
  // Chrome 38 Symbol has incorrect toString conversion
244
244
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -251,39 +251,39 @@ var NATIVE_SYMBOL$1 = nativeSymbol;
251
251
 
252
252
  var useSymbolAsUid = NATIVE_SYMBOL$1
253
253
  && !Symbol.sham
254
- && typeof Symbol.iterator == 'symbol';var global$j = global$o;
254
+ && typeof Symbol.iterator == 'symbol';var global$m = global$r;
255
255
  var getBuiltIn$3 = getBuiltIn$5;
256
- var isCallable$9 = isCallable$c;
257
- var isPrototypeOf = objectIsPrototypeOf;
256
+ var isCallable$b = isCallable$e;
257
+ var isPrototypeOf$1 = objectIsPrototypeOf;
258
258
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
259
259
 
260
- var Object$3 = global$j.Object;
260
+ var Object$3 = global$m.Object;
261
261
 
262
- var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
262
+ var isSymbol$3 = USE_SYMBOL_AS_UID$1 ? function (it) {
263
263
  return typeof it == 'symbol';
264
264
  } : function (it) {
265
265
  var $Symbol = getBuiltIn$3('Symbol');
266
- return isCallable$9($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
267
- };var global$i = global$o;
266
+ return isCallable$b($Symbol) && isPrototypeOf$1($Symbol.prototype, Object$3(it));
267
+ };var global$l = global$r;
268
268
 
269
- var String$2 = global$i.String;
269
+ var String$4 = global$l.String;
270
270
 
271
271
  var tryToString$1 = function (argument) {
272
272
  try {
273
- return String$2(argument);
273
+ return String$4(argument);
274
274
  } catch (error) {
275
275
  return 'Object';
276
276
  }
277
- };var global$h = global$o;
278
- var isCallable$8 = isCallable$c;
277
+ };var global$k = global$r;
278
+ var isCallable$a = isCallable$e;
279
279
  var tryToString = tryToString$1;
280
280
 
281
- var TypeError$6 = global$h.TypeError;
281
+ var TypeError$8 = global$k.TypeError;
282
282
 
283
283
  // `Assert: IsCallable(argument) is true`
284
284
  var aCallable$2 = function (argument) {
285
- if (isCallable$8(argument)) return argument;
286
- throw TypeError$6(tryToString(argument) + ' is not a function');
285
+ if (isCallable$a(argument)) return argument;
286
+ throw TypeError$8(tryToString(argument) + ' is not a function');
287
287
  };var aCallable$1 = aCallable$2;
288
288
 
289
289
  // `GetMethod` abstract operation
@@ -291,37 +291,37 @@ var aCallable$2 = function (argument) {
291
291
  var getMethod$1 = function (V, P) {
292
292
  var func = V[P];
293
293
  return func == null ? undefined : aCallable$1(func);
294
- };var global$g = global$o;
294
+ };var global$j = global$r;
295
295
  var call$2 = functionCall;
296
- var isCallable$7 = isCallable$c;
297
- var isObject$6 = isObject$7;
296
+ var isCallable$9 = isCallable$e;
297
+ var isObject$7 = isObject$8;
298
298
 
299
- var TypeError$5 = global$g.TypeError;
299
+ var TypeError$7 = global$j.TypeError;
300
300
 
301
301
  // `OrdinaryToPrimitive` abstract operation
302
302
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
303
303
  var ordinaryToPrimitive$1 = function (input, pref) {
304
304
  var fn, val;
305
- if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$2(fn, input))) return val;
306
- if (isCallable$7(fn = input.valueOf) && !isObject$6(val = call$2(fn, input))) return val;
307
- if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$2(fn, input))) return val;
308
- throw TypeError$5("Can't convert object to primitive value");
309
- };var shared$4 = {exports: {}};var isPure = false;var global$f = global$o;
305
+ if (pref === 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$2(fn, input))) return val;
306
+ if (isCallable$9(fn = input.valueOf) && !isObject$7(val = call$2(fn, input))) return val;
307
+ if (pref !== 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$2(fn, input))) return val;
308
+ throw TypeError$7("Can't convert object to primitive value");
309
+ };var shared$4 = {exports: {}};var isPure = false;var global$i = global$r;
310
310
 
311
311
  // eslint-disable-next-line es/no-object-defineproperty -- safe
312
- var defineProperty$1 = Object.defineProperty;
312
+ var defineProperty$2 = Object.defineProperty;
313
313
 
314
314
  var setGlobal$3 = function (key, value) {
315
315
  try {
316
- defineProperty$1(global$f, key, { value: value, configurable: true, writable: true });
316
+ defineProperty$2(global$i, key, { value: value, configurable: true, writable: true });
317
317
  } catch (error) {
318
- global$f[key] = value;
318
+ global$i[key] = value;
319
319
  } return value;
320
- };var global$e = global$o;
320
+ };var global$h = global$r;
321
321
  var setGlobal$2 = setGlobal$3;
322
322
 
323
323
  var SHARED = '__core-js_shared__';
324
- var store$3 = global$e[SHARED] || setGlobal$2(SHARED, {});
324
+ var store$3 = global$h[SHARED] || setGlobal$2(SHARED, {});
325
325
 
326
326
  var sharedStore = store$3;var IS_PURE = isPure;
327
327
  var store$2 = sharedStore;
@@ -336,48 +336,48 @@ var store$2 = sharedStore;
336
336
  source: 'https://github.com/zloirock/core-js'
337
337
  });
338
338
 
339
- var shared$3 = shared$4.exports;var global$d = global$o;
340
- var requireObjectCoercible = requireObjectCoercible$2;
339
+ var shared$3 = shared$4.exports;var global$g = global$r;
340
+ var requireObjectCoercible$1 = requireObjectCoercible$3;
341
341
 
342
- var Object$2 = global$d.Object;
342
+ var Object$2 = global$g.Object;
343
343
 
344
344
  // `ToObject` abstract operation
345
345
  // https://tc39.es/ecma262/#sec-toobject
346
346
  var toObject$2 = function (argument) {
347
- return Object$2(requireObjectCoercible(argument));
348
- };var uncurryThis$a = functionUncurryThis;
347
+ return Object$2(requireObjectCoercible$1(argument));
348
+ };var uncurryThis$e = functionUncurryThis;
349
349
  var toObject$1 = toObject$2;
350
350
 
351
- var hasOwnProperty = uncurryThis$a({}.hasOwnProperty);
351
+ var hasOwnProperty = uncurryThis$e({}.hasOwnProperty);
352
352
 
353
353
  // `HasOwnProperty` abstract operation
354
354
  // https://tc39.es/ecma262/#sec-hasownproperty
355
355
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
356
356
  return hasOwnProperty(toObject$1(it), key);
357
- };var uncurryThis$9 = functionUncurryThis;
357
+ };var uncurryThis$d = functionUncurryThis;
358
358
 
359
359
  var id = 0;
360
360
  var postfix = Math.random();
361
- var toString$1 = uncurryThis$9(1.0.toString);
361
+ var toString$3 = uncurryThis$d(1.0.toString);
362
362
 
363
363
  var uid$2 = function (key) {
364
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$1(++id + postfix, 36);
365
- };var global$c = global$o;
364
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$3(++id + postfix, 36);
365
+ };var global$f = global$r;
366
366
  var shared$2 = shared$4.exports;
367
- var hasOwn$6 = hasOwnProperty_1;
367
+ var hasOwn$7 = hasOwnProperty_1;
368
368
  var uid$1 = uid$2;
369
369
  var NATIVE_SYMBOL = nativeSymbol;
370
370
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
371
371
 
372
372
  var WellKnownSymbolsStore = shared$2('wks');
373
- var Symbol$1 = global$c.Symbol;
373
+ var Symbol$1 = global$f.Symbol;
374
374
  var symbolFor = Symbol$1 && Symbol$1['for'];
375
375
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
376
376
 
377
377
  var wellKnownSymbol$5 = function (name) {
378
- if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
378
+ if (!hasOwn$7(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
379
379
  var description = 'Symbol.' + name;
380
- if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
380
+ if (NATIVE_SYMBOL && hasOwn$7(Symbol$1, name)) {
381
381
  WellKnownSymbolsStore[name] = Symbol$1[name];
382
382
  } else if (USE_SYMBOL_AS_UID && symbolFor) {
383
383
  WellKnownSymbolsStore[name] = symbolFor(description);
@@ -385,65 +385,65 @@ var wellKnownSymbol$5 = function (name) {
385
385
  WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
386
386
  }
387
387
  } return WellKnownSymbolsStore[name];
388
- };var global$b = global$o;
388
+ };var global$e = global$r;
389
389
  var call$1 = functionCall;
390
- var isObject$5 = isObject$7;
391
- var isSymbol$1 = isSymbol$2;
390
+ var isObject$6 = isObject$8;
391
+ var isSymbol$2 = isSymbol$3;
392
392
  var getMethod = getMethod$1;
393
393
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
394
394
  var wellKnownSymbol$4 = wellKnownSymbol$5;
395
395
 
396
- var TypeError$4 = global$b.TypeError;
396
+ var TypeError$6 = global$e.TypeError;
397
397
  var TO_PRIMITIVE = wellKnownSymbol$4('toPrimitive');
398
398
 
399
399
  // `ToPrimitive` abstract operation
400
400
  // https://tc39.es/ecma262/#sec-toprimitive
401
- var toPrimitive$1 = function (input, pref) {
402
- if (!isObject$5(input) || isSymbol$1(input)) return input;
401
+ var toPrimitive$2 = function (input, pref) {
402
+ if (!isObject$6(input) || isSymbol$2(input)) return input;
403
403
  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
404
404
  var result;
405
405
  if (exoticToPrim) {
406
406
  if (pref === undefined) pref = 'default';
407
407
  result = call$1(exoticToPrim, input, pref);
408
- if (!isObject$5(result) || isSymbol$1(result)) return result;
409
- throw TypeError$4("Can't convert object to primitive value");
408
+ if (!isObject$6(result) || isSymbol$2(result)) return result;
409
+ throw TypeError$6("Can't convert object to primitive value");
410
410
  }
411
411
  if (pref === undefined) pref = 'number';
412
412
  return ordinaryToPrimitive(input, pref);
413
- };var toPrimitive = toPrimitive$1;
414
- var isSymbol = isSymbol$2;
413
+ };var toPrimitive$1 = toPrimitive$2;
414
+ var isSymbol$1 = isSymbol$3;
415
415
 
416
416
  // `ToPropertyKey` abstract operation
417
417
  // https://tc39.es/ecma262/#sec-topropertykey
418
418
  var toPropertyKey$2 = function (argument) {
419
- var key = toPrimitive(argument, 'string');
420
- return isSymbol(key) ? key : key + '';
421
- };var global$a = global$o;
422
- var isObject$4 = isObject$7;
419
+ var key = toPrimitive$1(argument, 'string');
420
+ return isSymbol$1(key) ? key : key + '';
421
+ };var global$d = global$r;
422
+ var isObject$5 = isObject$8;
423
423
 
424
- var document$1 = global$a.document;
424
+ var document$1 = global$d.document;
425
425
  // typeof document.createElement is 'object' in old IE
426
- var EXISTS$1 = isObject$4(document$1) && isObject$4(document$1.createElement);
426
+ var EXISTS$1 = isObject$5(document$1) && isObject$5(document$1.createElement);
427
427
 
428
428
  var documentCreateElement$2 = function (it) {
429
429
  return EXISTS$1 ? document$1.createElement(it) : {};
430
- };var DESCRIPTORS$8 = descriptors;
431
- var fails$4 = fails$9;
430
+ };var DESCRIPTORS$9 = descriptors;
431
+ var fails$5 = fails$a;
432
432
  var createElement = documentCreateElement$2;
433
433
 
434
434
  // Thanks to IE8 for its funny defineProperty
435
- var ie8DomDefine = !DESCRIPTORS$8 && !fails$4(function () {
435
+ var ie8DomDefine = !DESCRIPTORS$9 && !fails$5(function () {
436
436
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
437
437
  return Object.defineProperty(createElement('div'), 'a', {
438
438
  get: function () { return 7; }
439
439
  }).a != 7;
440
- });var DESCRIPTORS$7 = descriptors;
440
+ });var DESCRIPTORS$8 = descriptors;
441
441
  var call = functionCall;
442
442
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
443
443
  var createPropertyDescriptor$1 = createPropertyDescriptor$2;
444
444
  var toIndexedObject$4 = toIndexedObject$5;
445
445
  var toPropertyKey$1 = toPropertyKey$2;
446
- var hasOwn$5 = hasOwnProperty_1;
446
+ var hasOwn$6 = hasOwnProperty_1;
447
447
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
448
448
 
449
449
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -451,42 +451,42 @@ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
451
451
 
452
452
  // `Object.getOwnPropertyDescriptor` method
453
453
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
454
- var f$4 = objectGetOwnPropertyDescriptor.f = DESCRIPTORS$7 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
454
+ var f$4 = objectGetOwnPropertyDescriptor.f = DESCRIPTORS$8 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
455
455
  O = toIndexedObject$4(O);
456
456
  P = toPropertyKey$1(P);
457
457
  if (IE8_DOM_DEFINE$1) try {
458
458
  return $getOwnPropertyDescriptor$1(O, P);
459
459
  } catch (error) { /* empty */ }
460
- if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call(propertyIsEnumerableModule.f, O, P), O[P]);
461
- };var objectDefineProperty = {};var DESCRIPTORS$6 = descriptors;
462
- var fails$3 = fails$9;
460
+ if (hasOwn$6(O, P)) return createPropertyDescriptor$1(!call(propertyIsEnumerableModule.f, O, P), O[P]);
461
+ };var objectDefineProperty = {};var DESCRIPTORS$7 = descriptors;
462
+ var fails$4 = fails$a;
463
463
 
464
464
  // V8 ~ Chrome 36-
465
465
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
466
- var v8PrototypeDefineBug = DESCRIPTORS$6 && fails$3(function () {
466
+ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$4(function () {
467
467
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
468
468
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
469
469
  value: 42,
470
470
  writable: false
471
471
  }).prototype != 42;
472
- });var global$9 = global$o;
473
- var isObject$3 = isObject$7;
472
+ });var global$c = global$r;
473
+ var isObject$4 = isObject$8;
474
474
 
475
- var String$1 = global$9.String;
476
- var TypeError$3 = global$9.TypeError;
475
+ var String$3 = global$c.String;
476
+ var TypeError$5 = global$c.TypeError;
477
477
 
478
478
  // `Assert: Type(argument) is Object`
479
- var anObject$4 = function (argument) {
480
- if (isObject$3(argument)) return argument;
481
- throw TypeError$3(String$1(argument) + ' is not an object');
482
- };var global$8 = global$o;
483
- var DESCRIPTORS$5 = descriptors;
479
+ var anObject$5 = function (argument) {
480
+ if (isObject$4(argument)) return argument;
481
+ throw TypeError$5(String$3(argument) + ' is not an object');
482
+ };var global$b = global$r;
483
+ var DESCRIPTORS$6 = descriptors;
484
484
  var IE8_DOM_DEFINE = ie8DomDefine;
485
485
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
486
- var anObject$3 = anObject$4;
486
+ var anObject$4 = anObject$5;
487
487
  var toPropertyKey = toPropertyKey$2;
488
488
 
489
- var TypeError$2 = global$8.TypeError;
489
+ var TypeError$4 = global$b.TypeError;
490
490
  // eslint-disable-next-line es/no-object-defineproperty -- safe
491
491
  var $defineProperty = Object.defineProperty;
492
492
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -497,10 +497,10 @@ var WRITABLE = 'writable';
497
497
 
498
498
  // `Object.defineProperty` method
499
499
  // https://tc39.es/ecma262/#sec-object.defineproperty
500
- var f$3 = objectDefineProperty.f = DESCRIPTORS$5 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
501
- anObject$3(O);
500
+ var f$3 = objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
501
+ anObject$4(O);
502
502
  P = toPropertyKey(P);
503
- anObject$3(Attributes);
503
+ anObject$4(Attributes);
504
504
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
505
505
  var current = $getOwnPropertyDescriptor(O, P);
506
506
  if (current && current[WRITABLE]) {
@@ -513,63 +513,63 @@ var f$3 = objectDefineProperty.f = DESCRIPTORS$5 ? V8_PROTOTYPE_DEFINE_BUG$1 ? f
513
513
  }
514
514
  } return $defineProperty(O, P, Attributes);
515
515
  } : $defineProperty : function defineProperty(O, P, Attributes) {
516
- anObject$3(O);
516
+ anObject$4(O);
517
517
  P = toPropertyKey(P);
518
- anObject$3(Attributes);
518
+ anObject$4(Attributes);
519
519
  if (IE8_DOM_DEFINE) try {
520
520
  return $defineProperty(O, P, Attributes);
521
521
  } catch (error) { /* empty */ }
522
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
522
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$4('Accessors not supported');
523
523
  if ('value' in Attributes) O[P] = Attributes.value;
524
524
  return O;
525
- };var DESCRIPTORS$4 = descriptors;
525
+ };var DESCRIPTORS$5 = descriptors;
526
526
  var definePropertyModule$3 = objectDefineProperty;
527
527
  var createPropertyDescriptor = createPropertyDescriptor$2;
528
528
 
529
- var createNonEnumerableProperty$4 = DESCRIPTORS$4 ? function (object, key, value) {
529
+ var createNonEnumerableProperty$4 = DESCRIPTORS$5 ? function (object, key, value) {
530
530
  return definePropertyModule$3.f(object, key, createPropertyDescriptor(1, value));
531
531
  } : function (object, key, value) {
532
532
  object[key] = value;
533
533
  return object;
534
- };var redefine$3 = {exports: {}};var uncurryThis$8 = functionUncurryThis;
535
- var isCallable$6 = isCallable$c;
534
+ };var redefine$4 = {exports: {}};var uncurryThis$c = functionUncurryThis;
535
+ var isCallable$8 = isCallable$e;
536
536
  var store$1 = sharedStore;
537
537
 
538
- var functionToString$1 = uncurryThis$8(Function.toString);
538
+ var functionToString$1 = uncurryThis$c(Function.toString);
539
539
 
540
540
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
541
- if (!isCallable$6(store$1.inspectSource)) {
541
+ if (!isCallable$8(store$1.inspectSource)) {
542
542
  store$1.inspectSource = function (it) {
543
543
  return functionToString$1(it);
544
544
  };
545
545
  }
546
546
 
547
- var inspectSource$3 = store$1.inspectSource;var global$7 = global$o;
548
- var isCallable$5 = isCallable$c;
547
+ var inspectSource$3 = store$1.inspectSource;var global$a = global$r;
548
+ var isCallable$7 = isCallable$e;
549
549
  var inspectSource$2 = inspectSource$3;
550
550
 
551
- var WeakMap$1 = global$7.WeakMap;
551
+ var WeakMap$1 = global$a.WeakMap;
552
552
 
553
- var nativeWeakMap = isCallable$5(WeakMap$1) && /native code/.test(inspectSource$2(WeakMap$1));var shared$1 = shared$4.exports;
553
+ var nativeWeakMap = isCallable$7(WeakMap$1) && /native code/.test(inspectSource$2(WeakMap$1));var shared$1 = shared$4.exports;
554
554
  var uid = uid$2;
555
555
 
556
- var keys = shared$1('keys');
556
+ var keys$1 = shared$1('keys');
557
557
 
558
558
  var sharedKey$2 = function (key) {
559
- return keys[key] || (keys[key] = uid(key));
559
+ return keys$1[key] || (keys$1[key] = uid(key));
560
560
  };var hiddenKeys$4 = {};var NATIVE_WEAK_MAP = nativeWeakMap;
561
- var global$6 = global$o;
562
- var uncurryThis$7 = functionUncurryThis;
563
- var isObject$2 = isObject$7;
561
+ var global$9 = global$r;
562
+ var uncurryThis$b = functionUncurryThis;
563
+ var isObject$3 = isObject$8;
564
564
  var createNonEnumerableProperty$3 = createNonEnumerableProperty$4;
565
- var hasOwn$4 = hasOwnProperty_1;
565
+ var hasOwn$5 = hasOwnProperty_1;
566
566
  var shared = sharedStore;
567
567
  var sharedKey$1 = sharedKey$2;
568
568
  var hiddenKeys$3 = hiddenKeys$4;
569
569
 
570
570
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
571
- var TypeError$1 = global$6.TypeError;
572
- var WeakMap = global$6.WeakMap;
571
+ var TypeError$3 = global$9.TypeError;
572
+ var WeakMap = global$9.WeakMap;
573
573
  var set$1, get, has;
574
574
 
575
575
  var enforce = function (it) {
@@ -579,19 +579,19 @@ var enforce = function (it) {
579
579
  var getterFor = function (TYPE) {
580
580
  return function (it) {
581
581
  var state;
582
- if (!isObject$2(it) || (state = get(it)).type !== TYPE) {
583
- throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
582
+ if (!isObject$3(it) || (state = get(it)).type !== TYPE) {
583
+ throw TypeError$3('Incompatible receiver, ' + TYPE + ' required');
584
584
  } return state;
585
585
  };
586
586
  };
587
587
 
588
588
  if (NATIVE_WEAK_MAP || shared.state) {
589
589
  var store = shared.state || (shared.state = new WeakMap());
590
- var wmget = uncurryThis$7(store.get);
591
- var wmhas = uncurryThis$7(store.has);
592
- var wmset = uncurryThis$7(store.set);
590
+ var wmget = uncurryThis$b(store.get);
591
+ var wmhas = uncurryThis$b(store.has);
592
+ var wmset = uncurryThis$b(store.set);
593
593
  set$1 = function (it, metadata) {
594
- if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
594
+ if (wmhas(store, it)) throw new TypeError$3(OBJECT_ALREADY_INITIALIZED);
595
595
  metadata.facade = it;
596
596
  wmset(store, it, metadata);
597
597
  return metadata;
@@ -606,16 +606,16 @@ if (NATIVE_WEAK_MAP || shared.state) {
606
606
  var STATE = sharedKey$1('state');
607
607
  hiddenKeys$3[STATE] = true;
608
608
  set$1 = function (it, metadata) {
609
- if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
609
+ if (hasOwn$5(it, STATE)) throw new TypeError$3(OBJECT_ALREADY_INITIALIZED);
610
610
  metadata.facade = it;
611
611
  createNonEnumerableProperty$3(it, STATE, metadata);
612
612
  return metadata;
613
613
  };
614
614
  get = function (it) {
615
- return hasOwn$4(it, STATE) ? it[STATE] : {};
615
+ return hasOwn$5(it, STATE) ? it[STATE] : {};
616
616
  };
617
617
  has = function (it) {
618
- return hasOwn$4(it, STATE);
618
+ return hasOwn$5(it, STATE);
619
619
  };
620
620
  }
621
621
 
@@ -625,25 +625,25 @@ var internalState = {
625
625
  has: has,
626
626
  enforce: enforce,
627
627
  getterFor: getterFor
628
- };var DESCRIPTORS$3 = descriptors;
629
- var hasOwn$3 = hasOwnProperty_1;
628
+ };var DESCRIPTORS$4 = descriptors;
629
+ var hasOwn$4 = hasOwnProperty_1;
630
630
 
631
631
  var FunctionPrototype$1 = Function.prototype;
632
632
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
633
- var getDescriptor = DESCRIPTORS$3 && Object.getOwnPropertyDescriptor;
633
+ var getDescriptor = DESCRIPTORS$4 && Object.getOwnPropertyDescriptor;
634
634
 
635
- var EXISTS = hasOwn$3(FunctionPrototype$1, 'name');
635
+ var EXISTS = hasOwn$4(FunctionPrototype$1, 'name');
636
636
  // additional protection from minified / mangled / dropped function names
637
637
  var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
638
- var CONFIGURABLE = EXISTS && (!DESCRIPTORS$3 || (DESCRIPTORS$3 && getDescriptor(FunctionPrototype$1, 'name').configurable));
638
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$4 || (DESCRIPTORS$4 && getDescriptor(FunctionPrototype$1, 'name').configurable));
639
639
 
640
640
  var functionName = {
641
641
  EXISTS: EXISTS,
642
642
  PROPER: PROPER,
643
643
  CONFIGURABLE: CONFIGURABLE
644
- };var global$5 = global$o;
645
- var isCallable$4 = isCallable$c;
646
- var hasOwn$2 = hasOwnProperty_1;
644
+ };var global$8 = global$r;
645
+ var isCallable$6 = isCallable$e;
646
+ var hasOwn$3 = hasOwnProperty_1;
647
647
  var createNonEnumerableProperty$2 = createNonEnumerableProperty$4;
648
648
  var setGlobal$1 = setGlobal$3;
649
649
  var inspectSource$1 = inspectSource$3;
@@ -654,17 +654,17 @@ var getInternalState = InternalStateModule.get;
654
654
  var enforceInternalState = InternalStateModule.enforce;
655
655
  var TEMPLATE = String(String).split('String');
656
656
 
657
- (redefine$3.exports = function (O, key, value, options) {
657
+ (redefine$4.exports = function (O, key, value, options) {
658
658
  var unsafe = options ? !!options.unsafe : false;
659
659
  var simple = options ? !!options.enumerable : false;
660
660
  var noTargetGet = options ? !!options.noTargetGet : false;
661
661
  var name = options && options.name !== undefined ? options.name : key;
662
662
  var state;
663
- if (isCallable$4(value)) {
663
+ if (isCallable$6(value)) {
664
664
  if (String(name).slice(0, 7) === 'Symbol(') {
665
665
  name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
666
666
  }
667
- if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
667
+ if (!hasOwn$3(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
668
668
  createNonEnumerableProperty$2(value, 'name', name);
669
669
  }
670
670
  state = enforceInternalState(value);
@@ -672,7 +672,7 @@ var TEMPLATE = String(String).split('String');
672
672
  state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
673
673
  }
674
674
  }
675
- if (O === global$5) {
675
+ if (O === global$8) {
676
676
  if (simple) O[key] = value;
677
677
  else setGlobal$1(key, value);
678
678
  return;
@@ -685,10 +685,10 @@ var TEMPLATE = String(String).split('String');
685
685
  else createNonEnumerableProperty$2(O, key, value);
686
686
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
687
687
  })(Function.prototype, 'toString', function toString() {
688
- return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this);
688
+ return isCallable$6(this) && getInternalState(this).source || inspectSource$1(this);
689
689
  });
690
690
 
691
- var redefine$2 = redefine$3.exports;var objectGetOwnPropertyNames = {};var ceil = Math.ceil;
691
+ var redefine$3 = redefine$4.exports;var objectGetOwnPropertyNames = {};var ceil = Math.ceil;
692
692
  var floor = Math.floor;
693
693
 
694
694
  // `ToIntegerOrInfinity` abstract operation
@@ -727,7 +727,7 @@ var toAbsoluteIndex = toAbsoluteIndex$1;
727
727
  var lengthOfArrayLike$1 = lengthOfArrayLike$2;
728
728
 
729
729
  // `Array.prototype.{ indexOf, includes }` methods implementation
730
- var createMethod$2 = function (IS_INCLUDES) {
730
+ var createMethod$3 = function (IS_INCLUDES) {
731
731
  return function ($this, el, fromIndex) {
732
732
  var O = toIndexedObject$3($this);
733
733
  var length = lengthOfArrayLike$1(O);
@@ -749,26 +749,26 @@ var createMethod$2 = function (IS_INCLUDES) {
749
749
  var arrayIncludes = {
750
750
  // `Array.prototype.includes` method
751
751
  // https://tc39.es/ecma262/#sec-array.prototype.includes
752
- includes: createMethod$2(true),
752
+ includes: createMethod$3(true),
753
753
  // `Array.prototype.indexOf` method
754
754
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
755
- indexOf: createMethod$2(false)
756
- };var uncurryThis$6 = functionUncurryThis;
757
- var hasOwn$1 = hasOwnProperty_1;
755
+ indexOf: createMethod$3(false)
756
+ };var uncurryThis$a = functionUncurryThis;
757
+ var hasOwn$2 = hasOwnProperty_1;
758
758
  var toIndexedObject$2 = toIndexedObject$5;
759
759
  var indexOf = arrayIncludes.indexOf;
760
760
  var hiddenKeys$2 = hiddenKeys$4;
761
761
 
762
- var push$2 = uncurryThis$6([].push);
762
+ var push$2 = uncurryThis$a([].push);
763
763
 
764
764
  var objectKeysInternal = function (object, names) {
765
765
  var O = toIndexedObject$2(object);
766
766
  var i = 0;
767
767
  var result = [];
768
768
  var key;
769
- for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push$2(result, key);
769
+ for (key in O) !hasOwn$2(hiddenKeys$2, key) && hasOwn$2(O, key) && push$2(result, key);
770
770
  // Don't enum bug & hidden keys
771
- while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
771
+ while (names.length > i) if (hasOwn$2(O, key = names[i++])) {
772
772
  ~indexOf(result, key) || push$2(result, key);
773
773
  }
774
774
  return result;
@@ -793,19 +793,19 @@ var f$2 = objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function g
793
793
  return internalObjectKeys$1(O, hiddenKeys$1);
794
794
  };var objectGetOwnPropertySymbols = {};// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
795
795
  var f$1 = objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;var getBuiltIn$2 = getBuiltIn$5;
796
- var uncurryThis$5 = functionUncurryThis;
796
+ var uncurryThis$9 = functionUncurryThis;
797
797
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
798
798
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
799
- var anObject$2 = anObject$4;
799
+ var anObject$3 = anObject$5;
800
800
 
801
- var concat = uncurryThis$5([].concat);
801
+ var concat = uncurryThis$9([].concat);
802
802
 
803
803
  // all object keys, includes non-enumerable and symbols
804
804
  var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {
805
- var keys = getOwnPropertyNamesModule.f(anObject$2(it));
805
+ var keys = getOwnPropertyNamesModule.f(anObject$3(it));
806
806
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
807
807
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
808
- };var hasOwn = hasOwnProperty_1;
808
+ };var hasOwn$1 = hasOwnProperty_1;
809
809
  var ownKeys = ownKeys$1;
810
810
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
811
811
  var definePropertyModule$2 = objectDefineProperty;
@@ -816,38 +816,38 @@ var copyConstructorProperties$1 = function (target, source, exceptions) {
816
816
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
817
817
  for (var i = 0; i < keys.length; i++) {
818
818
  var key = keys[i];
819
- if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
819
+ if (!hasOwn$1(target, key) && !(exceptions && hasOwn$1(exceptions, key))) {
820
820
  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
821
821
  }
822
822
  }
823
- };var fails$2 = fails$9;
824
- var isCallable$3 = isCallable$c;
823
+ };var fails$3 = fails$a;
824
+ var isCallable$5 = isCallable$e;
825
825
 
826
826
  var replacement = /#|\.prototype\./;
827
827
 
828
- var isForced$1 = function (feature, detection) {
828
+ var isForced$2 = function (feature, detection) {
829
829
  var value = data[normalize(feature)];
830
830
  return value == POLYFILL ? true
831
831
  : value == NATIVE ? false
832
- : isCallable$3(detection) ? fails$2(detection)
832
+ : isCallable$5(detection) ? fails$3(detection)
833
833
  : !!detection;
834
834
  };
835
835
 
836
- var normalize = isForced$1.normalize = function (string) {
836
+ var normalize = isForced$2.normalize = function (string) {
837
837
  return String(string).replace(replacement, '.').toLowerCase();
838
838
  };
839
839
 
840
- var data = isForced$1.data = {};
841
- var NATIVE = isForced$1.NATIVE = 'N';
842
- var POLYFILL = isForced$1.POLYFILL = 'P';
840
+ var data = isForced$2.data = {};
841
+ var NATIVE = isForced$2.NATIVE = 'N';
842
+ var POLYFILL = isForced$2.POLYFILL = 'P';
843
843
 
844
- var isForced_1 = isForced$1;var global$4 = global$o;
845
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
844
+ var isForced_1 = isForced$2;var global$7 = global$r;
845
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
846
846
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
847
- var redefine$1 = redefine$3.exports;
847
+ var redefine$2 = redefine$4.exports;
848
848
  var setGlobal = setGlobal$3;
849
849
  var copyConstructorProperties = copyConstructorProperties$1;
850
- var isForced = isForced_1;
850
+ var isForced$1 = isForced_1;
851
851
 
852
852
  /*
853
853
  options.target - name of the target object
@@ -870,19 +870,19 @@ var _export = function (options, source) {
870
870
  var STATIC = options.stat;
871
871
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
872
872
  if (GLOBAL) {
873
- target = global$4;
873
+ target = global$7;
874
874
  } else if (STATIC) {
875
- target = global$4[TARGET] || setGlobal(TARGET, {});
875
+ target = global$7[TARGET] || setGlobal(TARGET, {});
876
876
  } else {
877
- target = (global$4[TARGET] || {}).prototype;
877
+ target = (global$7[TARGET] || {}).prototype;
878
878
  }
879
879
  if (target) for (key in source) {
880
880
  sourceProperty = source[key];
881
881
  if (options.noTargetGet) {
882
- descriptor = getOwnPropertyDescriptor(target, key);
882
+ descriptor = getOwnPropertyDescriptor$1(target, key);
883
883
  targetProperty = descriptor && descriptor.value;
884
884
  } else targetProperty = target[key];
885
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
885
+ FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
886
886
  // contained in target
887
887
  if (!FORCED && targetProperty !== undefined) {
888
888
  if (typeof sourceProperty == typeof targetProperty) continue;
@@ -893,13 +893,13 @@ var _export = function (options, source) {
893
893
  createNonEnumerableProperty$1(sourceProperty, 'sham', true);
894
894
  }
895
895
  // extend global
896
- redefine$1(target, key, sourceProperty, options);
896
+ redefine$2(target, key, sourceProperty, options);
897
897
  }
898
- };var uncurryThis$4 = functionUncurryThis;
898
+ };var uncurryThis$8 = functionUncurryThis;
899
899
  var aCallable = aCallable$2;
900
900
  var NATIVE_BIND = functionBindNative;
901
901
 
902
- var bind$1 = uncurryThis$4(uncurryThis$4.bind);
902
+ var bind$1 = uncurryThis$8(uncurryThis$8.bind);
903
903
 
904
904
  // optional / simple context binding
905
905
  var functionBindContext = function (fn, that) {
@@ -907,13 +907,13 @@ var functionBindContext = function (fn, that) {
907
907
  return that === undefined ? fn : NATIVE_BIND ? bind$1(fn, that) : function (/* ...args */) {
908
908
  return fn.apply(that, arguments);
909
909
  };
910
- };var classof$3 = classofRaw$1;
910
+ };var classof$4 = classofRaw$1;
911
911
 
912
912
  // `IsArray` abstract operation
913
913
  // https://tc39.es/ecma262/#sec-isarray
914
914
  // eslint-disable-next-line es/no-array-isarray -- safe
915
915
  var isArray$1 = Array.isArray || function isArray(argument) {
916
- return classof$3(argument) == 'Array';
916
+ return classof$4(argument) == 'Array';
917
917
  };var wellKnownSymbol$3 = wellKnownSymbol$5;
918
918
 
919
919
  var TO_STRING_TAG$1 = wellKnownSymbol$3('toStringTag');
@@ -921,14 +921,14 @@ var test = {};
921
921
 
922
922
  test[TO_STRING_TAG$1] = 'z';
923
923
 
924
- var toStringTagSupport = String(test) === '[object z]';var global$3 = global$o;
924
+ var toStringTagSupport = String(test) === '[object z]';var global$6 = global$r;
925
925
  var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport;
926
- var isCallable$2 = isCallable$c;
926
+ var isCallable$4 = isCallable$e;
927
927
  var classofRaw = classofRaw$1;
928
928
  var wellKnownSymbol$2 = wellKnownSymbol$5;
929
929
 
930
930
  var TO_STRING_TAG = wellKnownSymbol$2('toStringTag');
931
- var Object$1 = global$3.Object;
931
+ var Object$1 = global$6.Object;
932
932
 
933
933
  // ES3 wrong here
934
934
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -941,7 +941,7 @@ var tryGet = function (it, key) {
941
941
  };
942
942
 
943
943
  // getting tag from ES6+ `Object.prototype.toString`
944
- var classof$2 = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function (it) {
944
+ var classof$3 = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function (it) {
945
945
  var O, tag, result;
946
946
  return it === undefined ? 'Undefined' : it === null ? 'Null'
947
947
  // @@toStringTag case
@@ -949,11 +949,11 @@ var classof$2 = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function (it) {
949
949
  // builtinTag case
950
950
  : CORRECT_ARGUMENTS ? classofRaw(O)
951
951
  // ES3 arguments fallback
952
- : (result = classofRaw(O)) == 'Object' && isCallable$2(O.callee) ? 'Arguments' : result;
953
- };var uncurryThis$3 = functionUncurryThis;
954
- var fails$1 = fails$9;
955
- var isCallable$1 = isCallable$c;
956
- var classof$1 = classof$2;
952
+ : (result = classofRaw(O)) == 'Object' && isCallable$4(O.callee) ? 'Arguments' : result;
953
+ };var uncurryThis$7 = functionUncurryThis;
954
+ var fails$2 = fails$a;
955
+ var isCallable$3 = isCallable$e;
956
+ var classof$2 = classof$3;
957
957
  var getBuiltIn$1 = getBuiltIn$5;
958
958
  var inspectSource = inspectSource$3;
959
959
 
@@ -961,11 +961,11 @@ var noop = function () { /* empty */ };
961
961
  var empty = [];
962
962
  var construct = getBuiltIn$1('Reflect', 'construct');
963
963
  var constructorRegExp = /^\s*(?:class|function)\b/;
964
- var exec = uncurryThis$3(constructorRegExp.exec);
964
+ var exec = uncurryThis$7(constructorRegExp.exec);
965
965
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
966
966
 
967
967
  var isConstructorModern = function isConstructor(argument) {
968
- if (!isCallable$1(argument)) return false;
968
+ if (!isCallable$3(argument)) return false;
969
969
  try {
970
970
  construct(noop, empty, argument);
971
971
  return true;
@@ -975,8 +975,8 @@ var isConstructorModern = function isConstructor(argument) {
975
975
  };
976
976
 
977
977
  var isConstructorLegacy = function isConstructor(argument) {
978
- if (!isCallable$1(argument)) return false;
979
- switch (classof$1(argument)) {
978
+ if (!isCallable$3(argument)) return false;
979
+ switch (classof$2(argument)) {
980
980
  case 'AsyncFunction':
981
981
  case 'GeneratorFunction':
982
982
  case 'AsyncGeneratorFunction': return false;
@@ -995,20 +995,20 @@ isConstructorLegacy.sham = true;
995
995
 
996
996
  // `IsConstructor` abstract operation
997
997
  // https://tc39.es/ecma262/#sec-isconstructor
998
- var isConstructor$1 = !construct || fails$1(function () {
998
+ var isConstructor$1 = !construct || fails$2(function () {
999
999
  var called;
1000
1000
  return isConstructorModern(isConstructorModern.call)
1001
1001
  || !isConstructorModern(Object)
1002
1002
  || !isConstructorModern(function () { called = true; })
1003
1003
  || called;
1004
- }) ? isConstructorLegacy : isConstructorModern;var global$2 = global$o;
1004
+ }) ? isConstructorLegacy : isConstructorModern;var global$5 = global$r;
1005
1005
  var isArray = isArray$1;
1006
1006
  var isConstructor = isConstructor$1;
1007
- var isObject$1 = isObject$7;
1007
+ var isObject$2 = isObject$8;
1008
1008
  var wellKnownSymbol$1 = wellKnownSymbol$5;
1009
1009
 
1010
1010
  var SPECIES = wellKnownSymbol$1('species');
1011
- var Array$1 = global$2.Array;
1011
+ var Array$1 = global$5.Array;
1012
1012
 
1013
1013
  // a part of `ArraySpeciesCreate` abstract operation
1014
1014
  // https://tc39.es/ecma262/#sec-arrayspeciescreate
@@ -1018,7 +1018,7 @@ var arraySpeciesConstructor$1 = function (originalArray) {
1018
1018
  C = originalArray.constructor;
1019
1019
  // cross-realm fallback
1020
1020
  if (isConstructor(C) && (C === Array$1 || isArray(C.prototype))) C = undefined;
1021
- else if (isObject$1(C)) {
1021
+ else if (isObject$2(C)) {
1022
1022
  C = C[SPECIES];
1023
1023
  if (C === null) C = undefined;
1024
1024
  }
@@ -1030,16 +1030,16 @@ var arraySpeciesConstructor$1 = function (originalArray) {
1030
1030
  var arraySpeciesCreate$1 = function (originalArray, length) {
1031
1031
  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
1032
1032
  };var bind = functionBindContext;
1033
- var uncurryThis$2 = functionUncurryThis;
1033
+ var uncurryThis$6 = functionUncurryThis;
1034
1034
  var IndexedObject = indexedObject;
1035
1035
  var toObject = toObject$2;
1036
1036
  var lengthOfArrayLike = lengthOfArrayLike$2;
1037
1037
  var arraySpeciesCreate = arraySpeciesCreate$1;
1038
1038
 
1039
- var push$1 = uncurryThis$2([].push);
1039
+ var push$1 = uncurryThis$6([].push);
1040
1040
 
1041
1041
  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
1042
- var createMethod$1 = function (TYPE) {
1042
+ var createMethod$2 = function (TYPE) {
1043
1043
  var IS_MAP = TYPE == 1;
1044
1044
  var IS_FILTER = TYPE == 2;
1045
1045
  var IS_SOME = TYPE == 3;
@@ -1079,34 +1079,34 @@ var createMethod$1 = function (TYPE) {
1079
1079
  var arrayIteration = {
1080
1080
  // `Array.prototype.forEach` method
1081
1081
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
1082
- forEach: createMethod$1(0),
1082
+ forEach: createMethod$2(0),
1083
1083
  // `Array.prototype.map` method
1084
1084
  // https://tc39.es/ecma262/#sec-array.prototype.map
1085
- map: createMethod$1(1),
1085
+ map: createMethod$2(1),
1086
1086
  // `Array.prototype.filter` method
1087
1087
  // https://tc39.es/ecma262/#sec-array.prototype.filter
1088
- filter: createMethod$1(2),
1088
+ filter: createMethod$2(2),
1089
1089
  // `Array.prototype.some` method
1090
1090
  // https://tc39.es/ecma262/#sec-array.prototype.some
1091
- some: createMethod$1(3),
1091
+ some: createMethod$2(3),
1092
1092
  // `Array.prototype.every` method
1093
1093
  // https://tc39.es/ecma262/#sec-array.prototype.every
1094
- every: createMethod$1(4),
1094
+ every: createMethod$2(4),
1095
1095
  // `Array.prototype.find` method
1096
1096
  // https://tc39.es/ecma262/#sec-array.prototype.find
1097
- find: createMethod$1(5),
1097
+ find: createMethod$2(5),
1098
1098
  // `Array.prototype.findIndex` method
1099
1099
  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
1100
- findIndex: createMethod$1(6),
1100
+ findIndex: createMethod$2(6),
1101
1101
  // `Array.prototype.filterReject` method
1102
1102
  // https://github.com/tc39/proposal-array-filtering
1103
- filterReject: createMethod$1(7)
1103
+ filterReject: createMethod$2(7)
1104
1104
  };'use strict';
1105
- var fails = fails$9;
1105
+ var fails$1 = fails$a;
1106
1106
 
1107
1107
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
1108
1108
  var method = [][METHOD_NAME];
1109
- return !!method && fails(function () {
1109
+ return !!method && fails$1(function () {
1110
1110
  // eslint-disable-next-line no-useless-call -- required for testing
1111
1111
  method.call(null, argument || function () { return 1; }, 1);
1112
1112
  });
@@ -1122,30 +1122,30 @@ var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */)
1122
1122
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1123
1123
  // eslint-disable-next-line es/no-array-prototype-foreach -- safe
1124
1124
  } : [].forEach;'use strict';
1125
- var $$2 = _export;
1125
+ var $$3 = _export;
1126
1126
  var forEach$1 = arrayForEach;
1127
1127
 
1128
1128
  // `Array.prototype.forEach` method
1129
1129
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
1130
1130
  // eslint-disable-next-line es/no-array-prototype-foreach -- safe
1131
- $$2({ target: 'Array', proto: true, forced: [].forEach != forEach$1 }, {
1131
+ $$3({ target: 'Array', proto: true, forced: [].forEach != forEach$1 }, {
1132
1132
  forEach: forEach$1
1133
1133
  });var es_object_toString = {};'use strict';
1134
1134
  var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport;
1135
- var classof = classof$2;
1135
+ var classof$1 = classof$3;
1136
1136
 
1137
1137
  // `Object.prototype.toString` method implementation
1138
1138
  // https://tc39.es/ecma262/#sec-object.prototype.tostring
1139
1139
  var objectToString = TO_STRING_TAG_SUPPORT$1 ? {}.toString : function toString() {
1140
- return '[object ' + classof(this) + ']';
1140
+ return '[object ' + classof$1(this) + ']';
1141
1141
  };var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1142
- var redefine = redefine$3.exports;
1143
- var toString = objectToString;
1142
+ var redefine$1 = redefine$4.exports;
1143
+ var toString$2 = objectToString;
1144
1144
 
1145
1145
  // `Object.prototype.toString` method
1146
1146
  // https://tc39.es/ecma262/#sec-object.prototype.tostring
1147
1147
  if (!TO_STRING_TAG_SUPPORT) {
1148
- redefine(Object.prototype, 'toString', toString, { unsafe: true });
1148
+ redefine$1(Object.prototype, 'toString', toString$2, { unsafe: true });
1149
1149
  }var web_domCollections_forEach = {};// iterable DOM collections
1150
1150
  // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1151
1151
  var domIterables = {
@@ -1186,7 +1186,7 @@ var documentCreateElement$1 = documentCreateElement$2;
1186
1186
  var classList = documentCreateElement$1('span').classList;
1187
1187
  var DOMTokenListPrototype$1 = classList && classList.constructor && classList.constructor.prototype;
1188
1188
 
1189
- var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;var global$1 = global$o;
1189
+ var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;var global$4 = global$r;
1190
1190
  var DOMIterables = domIterables;
1191
1191
  var DOMTokenListPrototype = domTokenListPrototype;
1192
1192
  var forEach = arrayForEach;
@@ -1203,7 +1203,7 @@ var handlePrototype = function (CollectionPrototype) {
1203
1203
 
1204
1204
  for (var COLLECTION_NAME in DOMIterables) {
1205
1205
  if (DOMIterables[COLLECTION_NAME]) {
1206
- handlePrototype(global$1[COLLECTION_NAME] && global$1[COLLECTION_NAME].prototype);
1206
+ handlePrototype(global$4[COLLECTION_NAME] && global$4[COLLECTION_NAME].prototype);
1207
1207
  }
1208
1208
  }
1209
1209
 
@@ -1215,17 +1215,17 @@ var enumBugKeys$1 = enumBugKeys$3;
1215
1215
  // eslint-disable-next-line es/no-object-keys -- safe
1216
1216
  var objectKeys$2 = Object.keys || function keys(O) {
1217
1217
  return internalObjectKeys(O, enumBugKeys$1);
1218
- };var DESCRIPTORS$2 = descriptors;
1219
- var uncurryThis$1 = functionUncurryThis;
1218
+ };var DESCRIPTORS$3 = descriptors;
1219
+ var uncurryThis$5 = functionUncurryThis;
1220
1220
  var objectKeys$1 = objectKeys$2;
1221
1221
  var toIndexedObject$1 = toIndexedObject$5;
1222
1222
  var $propertyIsEnumerable = objectPropertyIsEnumerable.f;
1223
1223
 
1224
- var propertyIsEnumerable = uncurryThis$1($propertyIsEnumerable);
1225
- var push = uncurryThis$1([].push);
1224
+ var propertyIsEnumerable = uncurryThis$5($propertyIsEnumerable);
1225
+ var push = uncurryThis$5([].push);
1226
1226
 
1227
1227
  // `Object.{ entries, values }` methods implementation
1228
- var createMethod = function (TO_ENTRIES) {
1228
+ var createMethod$1 = function (TO_ENTRIES) {
1229
1229
  return function (it) {
1230
1230
  var O = toIndexedObject$1(it);
1231
1231
  var keys = objectKeys$1(O);
@@ -1235,7 +1235,7 @@ var createMethod = function (TO_ENTRIES) {
1235
1235
  var key;
1236
1236
  while (length > i) {
1237
1237
  key = keys[i++];
1238
- if (!DESCRIPTORS$2 || propertyIsEnumerable(O, key)) {
1238
+ if (!DESCRIPTORS$3 || propertyIsEnumerable(O, key)) {
1239
1239
  push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
1240
1240
  }
1241
1241
  }
@@ -1246,865 +1246,289 @@ var createMethod = function (TO_ENTRIES) {
1246
1246
  var objectToArray = {
1247
1247
  // `Object.entries` method
1248
1248
  // https://tc39.es/ecma262/#sec-object.entries
1249
- entries: createMethod(true),
1249
+ entries: createMethod$1(true),
1250
1250
  // `Object.values` method
1251
1251
  // https://tc39.es/ecma262/#sec-object.values
1252
- values: createMethod(false)
1253
- };var $$1 = _export;
1252
+ values: createMethod$1(false)
1253
+ };var $$2 = _export;
1254
1254
  var $entries = objectToArray.entries;
1255
1255
 
1256
1256
  // `Object.entries` method
1257
1257
  // https://tc39.es/ecma262/#sec-object.entries
1258
- $$1({ target: 'Object', stat: true }, {
1258
+ $$2({ target: 'Object', stat: true }, {
1259
1259
  entries: function entries(O) {
1260
1260
  return $entries(O);
1261
1261
  }
1262
- });var script$4 = vue.defineComponent({
1263
- name: 'FwCard',
1264
- props: {
1265
- /**
1266
- * The header title of the card
1267
- */
1268
- title: {
1269
- type: String
1270
- },
1262
+ });function getDevtoolsGlobalHook() {
1263
+ return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
1264
+ }
1265
+ function getTarget() {
1266
+ // @ts-ignore
1267
+ return (typeof navigator !== 'undefined' && typeof window !== 'undefined')
1268
+ ? window
1269
+ : typeof global !== 'undefined'
1270
+ ? global
1271
+ : {};
1272
+ }
1273
+ const isProxyAvailable = typeof Proxy === 'function';const HOOK_SETUP = 'devtools-plugin:setup';
1274
+ const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';class ApiProxy {
1275
+ constructor(plugin, hook) {
1276
+ this.target = null;
1277
+ this.targetQueue = [];
1278
+ this.onQueue = [];
1279
+ this.plugin = plugin;
1280
+ this.hook = hook;
1281
+ const defaultSettings = {};
1282
+ if (plugin.settings) {
1283
+ for (const id in plugin.settings) {
1284
+ const item = plugin.settings[id];
1285
+ defaultSettings[id] = item.defaultValue;
1286
+ }
1287
+ }
1288
+ const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
1289
+ let currentSettings = Object.assign({}, defaultSettings);
1290
+ try {
1291
+ const raw = localStorage.getItem(localSettingsSaveId);
1292
+ const data = JSON.parse(raw);
1293
+ Object.assign(currentSettings, data);
1294
+ }
1295
+ catch (e) {
1296
+ // noop
1297
+ }
1298
+ this.fallbacks = {
1299
+ getSettings() {
1300
+ return currentSettings;
1301
+ },
1302
+ setSettings(value) {
1303
+ try {
1304
+ localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
1305
+ }
1306
+ catch (e) {
1307
+ // noop
1308
+ }
1309
+ currentSettings = value;
1310
+ },
1311
+ };
1312
+ if (hook) {
1313
+ hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
1314
+ if (pluginId === this.plugin.id) {
1315
+ this.fallbacks.setSettings(value);
1316
+ }
1317
+ });
1318
+ }
1319
+ this.proxiedOn = new Proxy({}, {
1320
+ get: (_target, prop) => {
1321
+ if (this.target) {
1322
+ return this.target.on[prop];
1323
+ }
1324
+ else {
1325
+ return (...args) => {
1326
+ this.onQueue.push({
1327
+ method: prop,
1328
+ args,
1329
+ });
1330
+ };
1331
+ }
1332
+ },
1333
+ });
1334
+ this.proxiedTarget = new Proxy({}, {
1335
+ get: (_target, prop) => {
1336
+ if (this.target) {
1337
+ return this.target[prop];
1338
+ }
1339
+ else if (prop === 'on') {
1340
+ return this.proxiedOn;
1341
+ }
1342
+ else if (Object.keys(this.fallbacks).includes(prop)) {
1343
+ return (...args) => {
1344
+ this.targetQueue.push({
1345
+ method: prop,
1346
+ args,
1347
+ resolve: () => { },
1348
+ });
1349
+ return this.fallbacks[prop](...args);
1350
+ };
1351
+ }
1352
+ else {
1353
+ return (...args) => {
1354
+ return new Promise(resolve => {
1355
+ this.targetQueue.push({
1356
+ method: prop,
1357
+ args,
1358
+ resolve,
1359
+ });
1360
+ });
1361
+ };
1362
+ }
1363
+ },
1364
+ });
1365
+ }
1366
+ async setRealTarget(target) {
1367
+ this.target = target;
1368
+ for (const item of this.onQueue) {
1369
+ this.target.on[item.method](...item.args);
1370
+ }
1371
+ for (const item of this.targetQueue) {
1372
+ item.resolve(await this.target[item.method](...item.args));
1373
+ }
1374
+ }
1375
+ }function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
1376
+ const descriptor = pluginDescriptor;
1377
+ const target = getTarget();
1378
+ const hook = getDevtoolsGlobalHook();
1379
+ const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
1380
+ if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
1381
+ hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
1382
+ }
1383
+ else {
1384
+ const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
1385
+ const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
1386
+ list.push({
1387
+ pluginDescriptor: descriptor,
1388
+ setupFn,
1389
+ proxy,
1390
+ });
1391
+ if (proxy)
1392
+ setupFn(proxy.proxiedTarget);
1393
+ }
1394
+ }/**
1395
+ * vee-validate v4.5.9
1396
+ * (c) 2022 Abdelrahman Awad
1397
+ * @license MIT
1398
+ */
1271
1399
 
1272
- /**
1273
- * Title prefix with primary color
1274
- */
1275
- prefixTitle: {
1276
- type: String
1277
- },
1400
+ function isCallable$2(fn) {
1401
+ return typeof fn === 'function';
1402
+ }
1403
+ function isNullOrUndefined(value) {
1404
+ return value === null || value === undefined;
1405
+ }
1406
+ const isObject$1 = (obj) => obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj);
1407
+ function isIndex(value) {
1408
+ return Number(value) >= 0;
1409
+ }
1410
+ function toNumber$1(value) {
1411
+ const n = parseFloat(value);
1412
+ return isNaN(n) ? value : n;
1413
+ }
1278
1414
 
1279
- /**
1280
- * A `router-link` path or object
1281
- */
1282
- to: {
1283
- type: [String, Object]
1284
- },
1415
+ const RULES = {};
1416
+ /**
1417
+ * Adds a custom validator to the list of validation rules.
1418
+ */
1419
+ function defineRule(id, validator) {
1420
+ // makes sure new rules are properly formatted.
1421
+ guardExtend(id, validator);
1422
+ RULES[id] = validator;
1423
+ }
1424
+ /**
1425
+ * Gets an already defined rule
1426
+ */
1427
+ function resolveRule(id) {
1428
+ return RULES[id];
1429
+ }
1430
+ /**
1431
+ * Guards from extension violations.
1432
+ */
1433
+ function guardExtend(id, validator) {
1434
+ if (isCallable$2(validator)) {
1435
+ return;
1436
+ }
1437
+ throw new Error(`Extension Error: The validator '${id}' must be a function.`);
1438
+ }
1285
1439
 
1286
- /**
1287
- * A URL to link to using a native anchor element
1288
- */
1289
- href: String
1290
- },
1291
- setup: function setup(props) {
1292
- var componentName = vue.computed(function () {
1293
- if (props.to) return 'router-link';
1294
- if (props.href) return 'a';
1295
- return 'div';
1296
- });
1297
- return {
1298
- componentName: componentName
1299
- };
1300
- }
1301
- });var _hoisted_1$3 = {
1302
- key: 0,
1303
- "class": "fw-card--header text-lg px-8 py-4 font-bold bg-grey-lightest rounded-t-lg border-opacity-0"
1304
- };
1305
- var _hoisted_2$3 = {
1306
- key: 0,
1307
- "class": "fw-card--prefix-title text-primary"
1308
- };
1309
- var _hoisted_3$3 = {
1310
- key: 1
1311
- };
1312
- var _hoisted_4$3 = {
1313
- key: 1,
1314
- "class": "p-8"
1315
- };
1316
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
1317
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.componentName), {
1318
- to: _ctx.to ? _ctx.to : null,
1319
- href: _ctx.href ? _ctx.href : null,
1320
- tabindex: _ctx.to ? 0 : null,
1321
- "class": vue.normalizeClass(["fw-card shadow-card rounded-lg", _ctx.to || _ctx.href ? 'block cursor-pointer focus:outline-none ring-offset-3 focus:ring focus:ring-primary transform-none transition-transform hover:-translate-y-1' : ''])
1322
- }, {
1323
- "default": vue.withCtx(function () {
1324
- return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$3, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$3, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$3, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
1325
- }),
1326
- _: 3
1327
- }, 8, ["to", "href", "tabindex", "class"]);
1328
- }script$4.render = render$4;var es_array_includes = {};var objectDefineProperties = {};var DESCRIPTORS$1 = descriptors;
1329
- var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1330
- var definePropertyModule$1 = objectDefineProperty;
1331
- var anObject$1 = anObject$4;
1332
- var toIndexedObject = toIndexedObject$5;
1333
- var objectKeys = objectKeys$2;
1334
-
1335
- // `Object.defineProperties` method
1336
- // https://tc39.es/ecma262/#sec-object.defineproperties
1337
- // eslint-disable-next-line es/no-object-defineproperties -- safe
1338
- var f = objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1339
- anObject$1(O);
1340
- var props = toIndexedObject(Properties);
1341
- var keys = objectKeys(Properties);
1342
- var length = keys.length;
1343
- var index = 0;
1344
- var key;
1345
- while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]);
1346
- return O;
1347
- };var getBuiltIn = getBuiltIn$5;
1348
-
1349
- var html$1 = getBuiltIn('document', 'documentElement');/* global ActiveXObject -- old IE, WSH */
1350
-
1351
- var anObject = anObject$4;
1352
- var definePropertiesModule = objectDefineProperties;
1353
- var enumBugKeys = enumBugKeys$3;
1354
- var hiddenKeys = hiddenKeys$4;
1355
- var html = html$1;
1356
- var documentCreateElement = documentCreateElement$2;
1357
- var sharedKey = sharedKey$2;
1358
-
1359
- var GT = '>';
1360
- var LT = '<';
1361
- var PROTOTYPE = 'prototype';
1362
- var SCRIPT = 'script';
1363
- var IE_PROTO = sharedKey('IE_PROTO');
1364
-
1365
- var EmptyConstructor = function () { /* empty */ };
1366
-
1367
- var scriptTag = function (content) {
1368
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1369
- };
1370
-
1371
- // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1372
- var NullProtoObjectViaActiveX = function (activeXDocument) {
1373
- activeXDocument.write(scriptTag(''));
1374
- activeXDocument.close();
1375
- var temp = activeXDocument.parentWindow.Object;
1376
- activeXDocument = null; // avoid memory leak
1377
- return temp;
1378
- };
1379
-
1380
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
1381
- var NullProtoObjectViaIFrame = function () {
1382
- // Thrash, waste and sodomy: IE GC bug
1383
- var iframe = documentCreateElement('iframe');
1384
- var JS = 'java' + SCRIPT + ':';
1385
- var iframeDocument;
1386
- iframe.style.display = 'none';
1387
- html.appendChild(iframe);
1388
- // https://github.com/zloirock/core-js/issues/475
1389
- iframe.src = String(JS);
1390
- iframeDocument = iframe.contentWindow.document;
1391
- iframeDocument.open();
1392
- iframeDocument.write(scriptTag('document.F=Object'));
1393
- iframeDocument.close();
1394
- return iframeDocument.F;
1395
- };
1396
-
1397
- // Check for document.domain and active x support
1398
- // No need to use active x approach when document.domain is not set
1399
- // see https://github.com/es-shims/es5-shim/issues/150
1400
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1401
- // avoid IE GC bug
1402
- var activeXDocument;
1403
- var NullProtoObject = function () {
1404
- try {
1405
- activeXDocument = new ActiveXObject('htmlfile');
1406
- } catch (error) { /* ignore */ }
1407
- NullProtoObject = typeof document != 'undefined'
1408
- ? document.domain && activeXDocument
1409
- ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1410
- : NullProtoObjectViaIFrame()
1411
- : NullProtoObjectViaActiveX(activeXDocument); // WSH
1412
- var length = enumBugKeys.length;
1413
- while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1414
- return NullProtoObject();
1415
- };
1416
-
1417
- hiddenKeys[IE_PROTO] = true;
1418
-
1419
- // `Object.create` method
1420
- // https://tc39.es/ecma262/#sec-object.create
1421
- var objectCreate = Object.create || function create(O, Properties) {
1422
- var result;
1423
- if (O !== null) {
1424
- EmptyConstructor[PROTOTYPE] = anObject(O);
1425
- result = new EmptyConstructor();
1426
- EmptyConstructor[PROTOTYPE] = null;
1427
- // add "__proto__" for Object.getPrototypeOf polyfill
1428
- result[IE_PROTO] = O;
1429
- } else result = NullProtoObject();
1430
- return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1431
- };var wellKnownSymbol = wellKnownSymbol$5;
1432
- var create = objectCreate;
1433
- var definePropertyModule = objectDefineProperty;
1434
-
1435
- var UNSCOPABLES = wellKnownSymbol('unscopables');
1436
- var ArrayPrototype = Array.prototype;
1440
+ const FormContextKey = Symbol('vee-validate-form');
1441
+ const FieldContextKey = Symbol('vee-validate-field-instance');
1442
+ const IS_ABSENT = Symbol('Default empty value');
1437
1443
 
1438
- // Array.prototype[@@unscopables]
1439
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1440
- if (ArrayPrototype[UNSCOPABLES] == undefined) {
1441
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
1442
- configurable: true,
1443
- value: create(null)
1444
- });
1445
- }
1446
-
1447
- // add a key to Array.prototype[@@unscopables]
1448
- var addToUnscopables$1 = function (key) {
1449
- ArrayPrototype[UNSCOPABLES][key] = true;
1450
- };'use strict';
1451
- var $ = _export;
1452
- var $includes = arrayIncludes.includes;
1453
- var addToUnscopables = addToUnscopables$1;
1454
-
1455
- // `Array.prototype.includes` method
1456
- // https://tc39.es/ecma262/#sec-array.prototype.includes
1457
- $({ target: 'Array', proto: true }, {
1458
- includes: function includes(el /* , fromIndex = 0 */) {
1459
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1460
- }
1461
- });
1462
-
1463
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1464
- addToUnscopables('includes');var script$3 = vue.defineComponent({
1465
- name: 'FwButton',
1466
- emits: ['click', 'mouseover', 'mouseout', 'focusin', 'focusout'],
1467
- props: {
1468
- /**
1469
- * A `router-link` path or object
1470
- */
1471
- to: {
1472
- type: [String, Object]
1473
- },
1474
-
1475
- /**
1476
- * A URL to link to using a native anchor element
1477
- */
1478
- href: String,
1479
-
1480
- /**
1481
- * The size of the button. Accepts: 'sm', 'md', 'lg', 'xl', '2xl'
1482
- */
1483
- size: {
1484
- type: String,
1485
- "default": 'lg',
1486
- validator: function validator(value) {
1487
- return ['sm', 'md', 'lg', 'xl', '2xl'].includes(value);
1488
- }
1489
- },
1490
-
1491
- /**
1492
- * The colour variant of the button.
1493
- * Accepts 'primary', 'secondary', 'tertiary', 'error', 'success'
1494
- */
1495
- variant: {
1496
- type: String,
1497
- "default": 'primary',
1498
- validator: function validator(value) {
1499
- return ['primary', 'secondary', 'tertiary', 'error', 'success', 'link', 'text'].includes(value);
1500
- }
1501
- },
1502
-
1503
- /**
1504
- * The type attribute of the button
1505
- */
1506
- buttonType: {
1507
- type: String,
1508
- "default": 'button',
1509
- validator: function validator(value) {
1510
- return ['button', 'submit', 'reset'].includes(value);
1511
- }
1512
- }
1513
- },
1514
- setup: function setup(props, ctx) {
1515
- var buttonClasses = vue.ref({
1516
- primary: {
1517
- text: 'text-tertiary hover:text-primary active:text-primary',
1518
- background: 'bg-primary hover:bg-tertiary active:bg-tertiary',
1519
- border: 'border-primary focus-visible:ring-primary'
1520
- },
1521
- secondary: {
1522
- text: 'text-primary hover:text-tertiary active:text-tertiary',
1523
- background: 'bg-tertiary hover:bg-primary active:bg-primary',
1524
- border: 'border-primary focus-visible:ring-primary'
1525
- },
1526
- tertiary: {
1527
- text: 'text-secondary hover:text-tertiary active:text-tertiary',
1528
- background: 'bg-tertiary hover:bg-secondary active:bg-secondary',
1529
- border: 'border-secondary focus-visible:ring-secondary'
1530
- },
1531
- success: {
1532
- text: 'text-white hover:text-success active:text-success',
1533
- background: 'bg-success hover:bg-white active:bg-white',
1534
- border: 'border-success focus-visible:ring-success'
1535
- },
1536
- error: {
1537
- text: 'text-white hover:text-error active:text-error',
1538
- background: 'bg-error hover:bg-white active:bg-white',
1539
- border: 'border-error focus-visible:ring-error'
1540
- },
1541
- link: {
1542
- text: 'text-primary font-normal underline hover:no-underline active:no-underline focus-visible:no-underline',
1543
- background: '',
1544
- border: 'border-none focus-visible:ring-primary'
1545
- },
1546
- text: {
1547
- text: 'text-body font-medium hover:text-white active:text-white',
1548
- background: 'bg-white hover:bg-body active:bg-body',
1549
- border: 'border-transparent focus-visible:ring-body'
1550
- }
1551
- });
1552
- var sizes = vue.ref({
1553
- sm: 'px-3 py-1 text-sm',
1554
- md: 'px-6 py-1.5 text-md',
1555
- lg: 'px-10 py-2.5 text-lg',
1556
- xl: 'px-12 py-3 text-xl',
1557
- '2xl': 'px-16 py-4 text-2xl'
1558
- });
1559
- var textColorClass = vue.computed(function () {
1560
- return buttonClasses.value[props.variant].text;
1561
- });
1562
- var bgColorClass = vue.computed(function () {
1563
- return buttonClasses.value[props.variant].background;
1564
- });
1565
- var sizeClass = vue.computed(function () {
1566
- return sizes.value[props.size];
1567
- });
1568
- var borderClass = vue.computed(function () {
1569
- return buttonClasses.value[props.variant].border;
1570
- });
1571
- /**
1572
- * @event Click - Native click
1573
- */
1574
-
1575
- var onClick = function onClick(e) {
1576
- return ctx.emit('click', e);
1577
- };
1578
- /**
1579
- * @event mouseover - Native hover
1580
- */
1581
-
1582
-
1583
- var onMouseover = function onMouseover(e) {
1584
- return ctx.emit('mouseover', e);
1585
- };
1586
- /**
1587
- * @event mouseout - Native hover out
1588
- */
1589
-
1590
-
1591
- var onMouseout = function onMouseout(e) {
1592
- return ctx.emit('mouseout', e);
1593
- };
1594
- /**
1595
- * @event focusin - Native focusin
1596
- */
1597
-
1598
-
1599
- var onFocusin = function onFocusin(e) {
1600
- return ctx.emit('focusin', e);
1601
- };
1602
- /**
1603
- * @event focusout - Native focusout
1604
- */
1605
-
1606
-
1607
- var onFocusout = function onFocusout(e) {
1608
- return ctx.emit('focusout', e);
1609
- };
1610
-
1611
- var tagName = vue.computed(function () {
1612
- if (props.to) return 'router-link';
1613
- if (props.href) return 'a';
1614
- return 'button';
1615
- });
1616
- return {
1617
- textColorClass: textColorClass,
1618
- bgColorClass: bgColorClass,
1619
- sizeClass: sizeClass,
1620
- borderClass: borderClass,
1621
- onClick: onClick,
1622
- onMouseover: onMouseover,
1623
- onMouseout: onMouseout,
1624
- onFocusin: onFocusin,
1625
- onFocusout: onFocusout,
1626
- tagName: tagName
1627
- };
1628
- }
1629
- });function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1630
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tagName), {
1631
- "class": vue.normalizeClass(["fw-button inline-block text-center cursor-pointer whitespace-nowrap border-2 focus:outline-0 focus-visible:outline-0 focus:ring-none ring-offset-2 focus-visible:ring", [_ctx.textColorClass, _ctx.bgColorClass, _ctx.sizeClass, _ctx.borderClass, _ctx.variant === 'link' ? 'pl-0 pr-0 pt-0 pb-0 rounded-none font-normal' : 'font-bold rounded-full']]),
1632
- type: _ctx.tagName === 'button' ? _ctx.buttonType : null,
1633
- to: _ctx.to ? _ctx.to : null,
1634
- href: _ctx.href ? _ctx.href : null,
1635
- tabindex: _ctx.to ? 0 : null,
1636
- onClick: _ctx.onClick,
1637
- onFocusin: _ctx.onFocusin,
1638
- onFocusout: _ctx.onFocusout,
1639
- onMouseover: _ctx.onMouseover,
1640
- onMouseout: _ctx.onMouseout
1641
- }, {
1642
- "default": vue.withCtx(function () {
1643
- return [vue.renderSlot(_ctx.$slots, "default")];
1644
- }),
1645
- _: 3
1646
- }, 8, ["class", "type", "to", "href", "tabindex", "onClick", "onFocusin", "onFocusout", "onMouseover", "onMouseout"]);
1647
- }function styleInject(css, ref) {
1648
- if ( ref === void 0 ) ref = {};
1649
- var insertAt = ref.insertAt;
1650
-
1651
- if (!css || typeof document === 'undefined') { return; }
1652
-
1653
- var head = document.head || document.getElementsByTagName('head')[0];
1654
- var style = document.createElement('style');
1655
- style.type = 'text/css';
1656
-
1657
- if (insertAt === 'top') {
1658
- if (head.firstChild) {
1659
- head.insertBefore(style, head.firstChild);
1660
- } else {
1661
- head.appendChild(style);
1662
- }
1663
- } else {
1664
- head.appendChild(style);
1665
- }
1666
-
1667
- if (style.styleSheet) {
1668
- style.styleSheet.cssText = css;
1669
- } else {
1670
- style.appendChild(document.createTextNode(css));
1671
- }
1672
- }var css_248z$3 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1673
- var stylesheet$3 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1674
- styleInject(css_248z$3);script$3.render = render$3;var script$2 = vue.defineComponent({
1675
- name: 'FwNavigationMenu',
1676
- emits: ['action'],
1677
- components: {
1678
- FwButton: script$3
1679
- },
1680
- props: {
1681
- /**
1682
- * An array of menu items
1683
- * `{ to?: string | object; href?: string; label: string; }`
1684
- */
1685
- menuItems: {
1686
- type: Array
1687
- },
1688
-
1689
- /**
1690
- * The label for the action button.
1691
- * Also emits the `action` event.
1692
- */
1693
- actionLabel: {
1694
- type: String
1695
- }
1696
- },
1697
- setup: function setup(_props, ctx) {
1698
- var isMobileMenuOpen = vue.ref(false);
1699
-
1700
- var toggleMobileMenu = function toggleMobileMenu() {
1701
- return isMobileMenuOpen.value = !isMobileMenuOpen.value;
1702
- };
1703
-
1704
- var actionClicked = function actionClicked() {
1705
- return ctx.emit('action');
1706
- };
1707
-
1708
- return {
1709
- isMobileMenuOpen: isMobileMenuOpen,
1710
- toggleMobileMenu: toggleMobileMenu,
1711
- actionClicked: actionClicked
1712
- };
1713
- }
1714
- });var _hoisted_1$2 = {
1715
- "class": "fw-nav-menu relative z-50 h-20 shadow-md"
1716
- };
1717
- var _hoisted_2$2 = {
1718
- "class": "px-6 flex-1 h-full flex bg-white items-stretch justify-between"
1719
- };
1720
- var _hoisted_3$2 = {
1721
- key: 0,
1722
- "class": "flex-shrink-0 flex items-center"
1723
- };
1724
- var _hoisted_4$2 = {
1725
- key: 1,
1726
- "class": "container hidden sm:flex items-center justify-start sm:ml-6"
1727
- };
1728
- var _hoisted_5$2 = {
1729
- "class": "flex space-x-2"
1730
- };
1731
- var _hoisted_6$2 = {
1732
- key: 2,
1733
- "class": "hidden sm:flex items-center justify-start sm:ml-6"
1734
- };
1735
- var _hoisted_7$2 = {
1736
- "class": "flex items-center sm:hidden"
1737
- };
1738
-
1739
- var _hoisted_8$2 = /*#__PURE__*/vue.createElementVNode("span", {
1740
- "class": "sr-only"
1741
- }, "Open main menu", -1);
1742
-
1743
- var _hoisted_9$1 = {
1744
- "class": "block h-6 w-6",
1745
- xmlns: "http://www.w3.org/2000/svg",
1746
- fill: "none",
1747
- viewBox: "0 0 24 24",
1748
- stroke: "currentColor",
1749
- "aria-hidden": "true"
1750
- };
1751
- var _hoisted_10$1 = ["d"];
1752
- var _hoisted_11$1 = {
1753
- key: 0,
1754
- "class": "fw-nav-menu--mobile min-h-screen top-0 left-0 pt-20 absolute w-full flex flex-col justify-between px-2 bg-white shadow-md pb-3 space-y-1"
1755
- };
1756
- var _hoisted_12$1 = {
1757
- "class": "w-full flex flex-col"
1758
- };
1759
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
1760
- var _ctx$menuItems;
1761
-
1762
- var _component_FwButton = vue.resolveComponent("FwButton");
1763
-
1764
- return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$2, [vue.createElementVNode("div", _hoisted_2$2, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [vue.createElementVNode("div", _hoisted_5$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1765
- return vue.openBlock(), vue.createBlock(_component_FwButton, {
1766
- key: i,
1767
- variant: "text",
1768
- href: item.href,
1769
- to: item.to,
1770
- size: "md",
1771
- "aria-current": "page"
1772
- }, {
1773
- "default": vue.withCtx(function () {
1774
- return [vue.createTextVNode(vue.toDisplayString(item.label), 1)];
1775
- }),
1776
- _: 2
1777
- }, 1032, ["href", "to"]);
1778
- }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [vue.createVNode(_component_FwButton, {
1779
- onClick: _ctx.actionClicked,
1780
- size: "md",
1781
- "aria-label": _ctx.actionLabel
1782
- }, {
1783
- "default": vue.withCtx(function () {
1784
- return [vue.createTextVNode(vue.toDisplayString(_ctx.actionLabel), 1)];
1785
- }),
1786
- _: 1
1787
- }, 8, ["onClick", "aria-label"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7$2, [vue.createVNode(_component_FwButton, {
1788
- variant: "text",
1789
- size: "sm",
1790
- onClick: _ctx.toggleMobileMenu
1791
- }, {
1792
- "default": vue.withCtx(function () {
1793
- return [_hoisted_8$2, (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$1, [vue.createElementVNode("path", {
1794
- "stroke-linecap": "round",
1795
- "stroke-linejoin": "round",
1796
- "stroke-width": "2",
1797
- d: _ctx.isMobileMenuOpen ? 'M6 18L18 6M6 6l12 12' : 'M4 6h16M4 12h16M4 18h16'
1798
- }, null, 8, _hoisted_10$1)]))];
1799
- }),
1800
- _: 1
1801
- }, 8, ["onClick"])])]), vue.createVNode(vue.Transition, {
1802
- name: "slideInLeft"
1803
- }, {
1804
- "default": vue.withCtx(function () {
1805
- var _ctx$menuItems2;
1806
-
1807
- return [((_ctx$menuItems2 = _ctx.menuItems) === null || _ctx$menuItems2 === void 0 ? void 0 : _ctx$menuItems2.length) > 0 && _ctx.isMobileMenuOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, [vue.createElementVNode("div", _hoisted_12$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1808
- return vue.openBlock(), vue.createBlock(_component_FwButton, {
1809
- key: i,
1810
- "class": "w-full rounded-md px-2",
1811
- variant: "text",
1812
- href: item.href,
1813
- to: item.to,
1814
- size: "md",
1815
- "aria-current": "page"
1816
- }, {
1817
- "default": vue.withCtx(function () {
1818
- return [vue.createTextVNode(vue.toDisplayString(item.label), 1)];
1819
- }),
1820
- _: 2
1821
- }, 1032, ["href", "to"]);
1822
- }), 128))]), _ctx.actionLabel ? (vue.openBlock(), vue.createBlock(_component_FwButton, {
1823
- key: 0,
1824
- "class": "w-full rounded-md px-2",
1825
- onClick: _ctx.actionClicked,
1826
- size: "md"
1827
- }, {
1828
- "default": vue.withCtx(function () {
1829
- return [vue.createTextVNode(vue.toDisplayString(_ctx.actionLabel), 1)];
1830
- }),
1831
- _: 1
1832
- }, 8, ["onClick"])) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)];
1833
- }),
1834
- _: 1
1835
- })]);
1836
- }var css_248z$2 = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
1837
- var stylesheet$2 = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
1838
- styleInject(css_248z$2);script$2.render = render$2;function getDevtoolsGlobalHook() {
1839
- return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
1840
- }
1841
- function getTarget() {
1842
- // @ts-ignore
1843
- return (typeof navigator !== 'undefined' && typeof window !== 'undefined')
1844
- ? window
1845
- : typeof global !== 'undefined'
1846
- ? global
1847
- : {};
1848
- }
1849
- const isProxyAvailable = typeof Proxy === 'function';const HOOK_SETUP = 'devtools-plugin:setup';
1850
- const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';class ApiProxy {
1851
- constructor(plugin, hook) {
1852
- this.target = null;
1853
- this.targetQueue = [];
1854
- this.onQueue = [];
1855
- this.plugin = plugin;
1856
- this.hook = hook;
1857
- const defaultSettings = {};
1858
- if (plugin.settings) {
1859
- for (const id in plugin.settings) {
1860
- const item = plugin.settings[id];
1861
- defaultSettings[id] = item.defaultValue;
1862
- }
1863
- }
1864
- const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
1865
- let currentSettings = Object.assign({}, defaultSettings);
1866
- try {
1867
- const raw = localStorage.getItem(localSettingsSaveId);
1868
- const data = JSON.parse(raw);
1869
- Object.assign(currentSettings, data);
1870
- }
1871
- catch (e) {
1872
- // noop
1873
- }
1874
- this.fallbacks = {
1875
- getSettings() {
1876
- return currentSettings;
1877
- },
1878
- setSettings(value) {
1879
- try {
1880
- localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
1881
- }
1882
- catch (e) {
1883
- // noop
1884
- }
1885
- currentSettings = value;
1886
- },
1887
- };
1888
- if (hook) {
1889
- hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
1890
- if (pluginId === this.plugin.id) {
1891
- this.fallbacks.setSettings(value);
1892
- }
1893
- });
1894
- }
1895
- this.proxiedOn = new Proxy({}, {
1896
- get: (_target, prop) => {
1897
- if (this.target) {
1898
- return this.target.on[prop];
1899
- }
1900
- else {
1901
- return (...args) => {
1902
- this.onQueue.push({
1903
- method: prop,
1904
- args,
1905
- });
1906
- };
1907
- }
1908
- },
1909
- });
1910
- this.proxiedTarget = new Proxy({}, {
1911
- get: (_target, prop) => {
1912
- if (this.target) {
1913
- return this.target[prop];
1914
- }
1915
- else if (prop === 'on') {
1916
- return this.proxiedOn;
1917
- }
1918
- else if (Object.keys(this.fallbacks).includes(prop)) {
1919
- return (...args) => {
1920
- this.targetQueue.push({
1921
- method: prop,
1922
- args,
1923
- resolve: () => { },
1924
- });
1925
- return this.fallbacks[prop](...args);
1926
- };
1927
- }
1928
- else {
1929
- return (...args) => {
1930
- return new Promise(resolve => {
1931
- this.targetQueue.push({
1932
- method: prop,
1933
- args,
1934
- resolve,
1935
- });
1936
- });
1937
- };
1938
- }
1939
- },
1940
- });
1941
- }
1942
- async setRealTarget(target) {
1943
- this.target = target;
1944
- for (const item of this.onQueue) {
1945
- this.target.on[item.method](...item.args);
1946
- }
1947
- for (const item of this.targetQueue) {
1948
- item.resolve(await this.target[item.method](...item.args));
1949
- }
1950
- }
1951
- }function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
1952
- const descriptor = pluginDescriptor;
1953
- const target = getTarget();
1954
- const hook = getDevtoolsGlobalHook();
1955
- const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
1956
- if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
1957
- hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
1958
- }
1959
- else {
1960
- const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
1961
- const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
1962
- list.push({
1963
- pluginDescriptor: descriptor,
1964
- setupFn,
1965
- proxy,
1966
- });
1967
- if (proxy)
1968
- setupFn(proxy.proxiedTarget);
1969
- }
1970
- }/**
1971
- * vee-validate v4.5.9
1972
- * (c) 2022 Abdelrahman Awad
1973
- * @license MIT
1974
- */
1975
-
1976
- function isCallable(fn) {
1977
- return typeof fn === 'function';
1978
- }
1979
- function isNullOrUndefined(value) {
1980
- return value === null || value === undefined;
1981
- }
1982
- const isObject = (obj) => obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj);
1983
- function isIndex(value) {
1984
- return Number(value) >= 0;
1985
- }
1986
- function toNumber(value) {
1987
- const n = parseFloat(value);
1988
- return isNaN(n) ? value : n;
1989
- }
1990
-
1991
- const RULES = {};
1992
- /**
1993
- * Adds a custom validator to the list of validation rules.
1994
- */
1995
- function defineRule(id, validator) {
1996
- // makes sure new rules are properly formatted.
1997
- guardExtend(id, validator);
1998
- RULES[id] = validator;
1999
- }
2000
- /**
2001
- * Gets an already defined rule
2002
- */
2003
- function resolveRule(id) {
2004
- return RULES[id];
2005
- }
2006
- /**
2007
- * Guards from extension violations.
2008
- */
2009
- function guardExtend(id, validator) {
2010
- if (isCallable(validator)) {
2011
- return;
2012
- }
2013
- throw new Error(`Extension Error: The validator '${id}' must be a function.`);
2014
- }
2015
-
2016
- const FormContextKey = Symbol('vee-validate-form');
2017
- const FieldContextKey = Symbol('vee-validate-field-instance');
2018
- const IS_ABSENT = Symbol('Default empty value');
2019
-
2020
- function isLocator(value) {
2021
- return isCallable(value) && !!value.__locatorRef;
2022
- }
2023
- /**
2024
- * Checks if an tag name is a native HTML tag and not a Vue component
2025
- */
2026
- function isHTMLTag(tag) {
2027
- return ['input', 'textarea', 'select'].includes(tag);
2028
- }
2029
- /**
2030
- * Checks if an input is of type file
2031
- */
2032
- function isFileInputNode(tag, attrs) {
2033
- return isHTMLTag(tag) && attrs.type === 'file';
2034
- }
2035
- function isYupValidator(value) {
2036
- return !!value && isCallable(value.validate);
2037
- }
2038
- function hasCheckedAttr(type) {
2039
- return type === 'checkbox' || type === 'radio';
2040
- }
2041
- function isContainerValue(value) {
2042
- return isObject(value) || Array.isArray(value);
2043
- }
2044
- /**
2045
- * True if the value is an empty object or array
2046
- */
2047
- function isEmptyContainer(value) {
2048
- if (Array.isArray(value)) {
2049
- return value.length === 0;
2050
- }
2051
- return isObject(value) && Object.keys(value).length === 0;
2052
- }
2053
- /**
2054
- * Checks if the path opted out of nested fields using `[fieldName]` syntax
2055
- */
2056
- function isNotNestedPath(path) {
2057
- return /^\[.+\]$/i.test(path);
2058
- }
2059
- /**
2060
- * Checks if an element is a native HTML5 multi-select input element
2061
- */
2062
- function isNativeMultiSelect(el) {
2063
- return isNativeSelect(el) && el.multiple;
2064
- }
2065
- /**
2066
- * Checks if an element is a native HTML5 select input element
2067
- */
2068
- function isNativeSelect(el) {
2069
- return el.tagName === 'SELECT';
2070
- }
2071
- /**
2072
- * Checks if a tag name with attrs object will render a native multi-select element
2073
- */
2074
- function isNativeMultiSelectNode(tag, attrs) {
2075
- // The falsy value array is the values that Vue won't add the `multiple` prop if it has one of these values
2076
- const hasTruthyBindingValue = ![false, null, undefined, 0].includes(attrs.multiple) && !Number.isNaN(attrs.multiple);
2077
- return tag === 'select' && 'multiple' in attrs && hasTruthyBindingValue;
2078
- }
2079
- /**
2080
- * Checks if a node should have a `:value` binding or not
2081
- *
2082
- * These nodes should not have a value binding
2083
- * For files, because they are not reactive
2084
- * For multi-selects because the value binding will reset the value
2085
- */
2086
- function shouldHaveValueBinding(tag, attrs) {
2087
- return isNativeMultiSelectNode(tag, attrs) || isFileInputNode(tag, attrs);
2088
- }
2089
- function isFormSubmitEvent(evt) {
2090
- return isEvent(evt) && evt.target && 'submit' in evt.target;
2091
- }
2092
- function isEvent(evt) {
2093
- if (!evt) {
2094
- return false;
2095
- }
2096
- if (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) {
2097
- return true;
2098
- }
2099
- // this is for IE and Cypress #3161
2100
- /* istanbul ignore next */
2101
- if (evt && evt.srcElement) {
2102
- return true;
2103
- }
2104
- return false;
2105
- }
2106
- function isPropPresent(obj, prop) {
2107
- return prop in obj && obj[prop] !== IS_ABSENT;
1444
+ function isLocator(value) {
1445
+ return isCallable$2(value) && !!value.__locatorRef;
1446
+ }
1447
+ /**
1448
+ * Checks if an tag name is a native HTML tag and not a Vue component
1449
+ */
1450
+ function isHTMLTag(tag) {
1451
+ return ['input', 'textarea', 'select'].includes(tag);
1452
+ }
1453
+ /**
1454
+ * Checks if an input is of type file
1455
+ */
1456
+ function isFileInputNode(tag, attrs) {
1457
+ return isHTMLTag(tag) && attrs.type === 'file';
1458
+ }
1459
+ function isYupValidator(value) {
1460
+ return !!value && isCallable$2(value.validate);
1461
+ }
1462
+ function hasCheckedAttr(type) {
1463
+ return type === 'checkbox' || type === 'radio';
1464
+ }
1465
+ function isContainerValue(value) {
1466
+ return isObject$1(value) || Array.isArray(value);
1467
+ }
1468
+ /**
1469
+ * True if the value is an empty object or array
1470
+ */
1471
+ function isEmptyContainer(value) {
1472
+ if (Array.isArray(value)) {
1473
+ return value.length === 0;
1474
+ }
1475
+ return isObject$1(value) && Object.keys(value).length === 0;
1476
+ }
1477
+ /**
1478
+ * Checks if the path opted out of nested fields using `[fieldName]` syntax
1479
+ */
1480
+ function isNotNestedPath(path) {
1481
+ return /^\[.+\]$/i.test(path);
1482
+ }
1483
+ /**
1484
+ * Checks if an element is a native HTML5 multi-select input element
1485
+ */
1486
+ function isNativeMultiSelect(el) {
1487
+ return isNativeSelect(el) && el.multiple;
1488
+ }
1489
+ /**
1490
+ * Checks if an element is a native HTML5 select input element
1491
+ */
1492
+ function isNativeSelect(el) {
1493
+ return el.tagName === 'SELECT';
1494
+ }
1495
+ /**
1496
+ * Checks if a tag name with attrs object will render a native multi-select element
1497
+ */
1498
+ function isNativeMultiSelectNode(tag, attrs) {
1499
+ // The falsy value array is the values that Vue won't add the `multiple` prop if it has one of these values
1500
+ const hasTruthyBindingValue = ![false, null, undefined, 0].includes(attrs.multiple) && !Number.isNaN(attrs.multiple);
1501
+ return tag === 'select' && 'multiple' in attrs && hasTruthyBindingValue;
1502
+ }
1503
+ /**
1504
+ * Checks if a node should have a `:value` binding or not
1505
+ *
1506
+ * These nodes should not have a value binding
1507
+ * For files, because they are not reactive
1508
+ * For multi-selects because the value binding will reset the value
1509
+ */
1510
+ function shouldHaveValueBinding(tag, attrs) {
1511
+ return isNativeMultiSelectNode(tag, attrs) || isFileInputNode(tag, attrs);
1512
+ }
1513
+ function isFormSubmitEvent(evt) {
1514
+ return isEvent(evt) && evt.target && 'submit' in evt.target;
1515
+ }
1516
+ function isEvent(evt) {
1517
+ if (!evt) {
1518
+ return false;
1519
+ }
1520
+ if (typeof Event !== 'undefined' && isCallable$2(Event) && evt instanceof Event) {
1521
+ return true;
1522
+ }
1523
+ // this is for IE and Cypress #3161
1524
+ /* istanbul ignore next */
1525
+ if (evt && evt.srcElement) {
1526
+ return true;
1527
+ }
1528
+ return false;
1529
+ }
1530
+ function isPropPresent(obj, prop) {
1531
+ return prop in obj && obj[prop] !== IS_ABSENT;
2108
1532
  }
2109
1533
 
2110
1534
  function cleanupNonNestedPath(path) {
@@ -2160,7 +1584,7 @@ function unset(object, key) {
2160
1584
  object.splice(Number(key), 1);
2161
1585
  return;
2162
1586
  }
2163
- if (isObject(object)) {
1587
+ if (isObject$1(object)) {
2164
1588
  delete object[key];
2165
1589
  }
2166
1590
  }
@@ -2342,10 +1766,10 @@ function normalizeRules(rules) {
2342
1766
  return acc;
2343
1767
  }
2344
1768
  // Object is already normalized, skip.
2345
- if (isObject(rules) && rules._$$isNormalized) {
1769
+ if (isObject$1(rules) && rules._$$isNormalized) {
2346
1770
  return rules;
2347
1771
  }
2348
- if (isObject(rules)) {
1772
+ if (isObject$1(rules)) {
2349
1773
  return Object.keys(rules).reduce((prev, curr) => {
2350
1774
  const params = normalizeParams(rules[curr]);
2351
1775
  if (rules[curr] !== false) {
@@ -2377,7 +1801,7 @@ function normalizeParams(params) {
2377
1801
  if (Array.isArray(params)) {
2378
1802
  return params;
2379
1803
  }
2380
- if (isObject(params)) {
1804
+ if (isObject$1(params)) {
2381
1805
  return params;
2382
1806
  }
2383
1807
  return [params];
@@ -2471,7 +1895,7 @@ async function _validate(field, value) {
2471
1895
  return validateFieldWithYup(value, field.rules, { bails: field.bails });
2472
1896
  }
2473
1897
  // if a generic function, use it as the pipeline.
2474
- if (isCallable(field.rules)) {
1898
+ if (isCallable$2(field.rules)) {
2475
1899
  const ctx = {
2476
1900
  field: field.name,
2477
1901
  form: field.formData,
@@ -3044,7 +2468,7 @@ function mapFormForDevtoolsInspector(form) {
3044
2468
  if ('id' in tree) {
3045
2469
  return Object.assign(Object.assign({}, tree), { label: key || tree.label });
3046
2470
  }
3047
- if (isObject(tree)) {
2471
+ if (isObject$1(tree)) {
3048
2472
  return {
3049
2473
  id: `${path.join('.')}`,
3050
2474
  label: key || '',
@@ -3282,7 +2706,7 @@ function _useField(name, rules, opts) {
3282
2706
  if (schema && !isYupValidator(schema)) {
3283
2707
  rulesValue = extractRuleFromSchema(schema, vue.unref(name)) || rulesValue;
3284
2708
  }
3285
- if (isYupValidator(rulesValue) || isCallable(rulesValue)) {
2709
+ if (isYupValidator(rulesValue) || isCallable$2(rulesValue)) {
3286
2710
  return rulesValue;
3287
2711
  }
3288
2712
  return normalizeRules(rulesValue);
@@ -3428,7 +2852,7 @@ function _useField(name, rules, opts) {
3428
2852
  const dependencies = vue.computed(() => {
3429
2853
  const rulesVal = normalizedRules.value;
3430
2854
  // is falsy, a function schema or a yup schema
3431
- if (!rulesVal || isCallable(rulesVal) || isYupValidator(rulesVal)) {
2855
+ if (!rulesVal || isCallable$2(rulesVal) || isYupValidator(rulesVal)) {
3432
2856
  return {};
3433
2857
  }
3434
2858
  return Object.keys(rulesVal).reduce((acc, rule) => {
@@ -3714,7 +3138,7 @@ function resolveValidationTriggers(props) {
3714
3138
  }
3715
3139
  function applyModifiers(value, modifiers) {
3716
3140
  if (modifiers.number) {
3717
- return toNumber(value);
3141
+ return toNumber$1(value);
3718
3142
  }
3719
3143
  return value;
3720
3144
  }
@@ -4424,847 +3848,1728 @@ const FormImpl = vue.defineComponent({
4424
3848
  }
4425
3849
  function slotProps() {
4426
3850
  return {
4427
- meta: meta.value,
4428
- errors: errors.value,
4429
- values: values,
4430
- isSubmitting: isSubmitting.value,
4431
- submitCount: submitCount.value,
4432
- validate,
4433
- validateField,
4434
- handleSubmit: handleScopedSlotSubmit,
4435
- handleReset,
4436
- submitForm,
4437
- setErrors,
4438
- setFieldError,
4439
- setFieldValue,
4440
- setValues,
4441
- setFieldTouched,
4442
- setTouched,
4443
- resetForm,
3851
+ meta: meta.value,
3852
+ errors: errors.value,
3853
+ values: values,
3854
+ isSubmitting: isSubmitting.value,
3855
+ submitCount: submitCount.value,
3856
+ validate,
3857
+ validateField,
3858
+ handleSubmit: handleScopedSlotSubmit,
3859
+ handleReset,
3860
+ submitForm,
3861
+ setErrors,
3862
+ setFieldError,
3863
+ setFieldValue,
3864
+ setValues,
3865
+ setFieldTouched,
3866
+ setTouched,
3867
+ resetForm,
3868
+ };
3869
+ }
3870
+ // expose these functions and methods as part of public API
3871
+ ctx.expose({
3872
+ setFieldError,
3873
+ setErrors,
3874
+ setFieldValue,
3875
+ setValues,
3876
+ setFieldTouched,
3877
+ setTouched,
3878
+ resetForm,
3879
+ validate,
3880
+ validateField,
3881
+ });
3882
+ return function renderForm() {
3883
+ // avoid resolving the form component as itself
3884
+ const tag = props.as === 'form' ? props.as : vue.resolveDynamicComponent(props.as);
3885
+ const children = normalizeChildren(tag, ctx, slotProps);
3886
+ if (!props.as) {
3887
+ return children;
3888
+ }
3889
+ // Attributes to add on a native `form` tag
3890
+ const formAttrs = props.as === 'form'
3891
+ ? {
3892
+ // Disables native validation as vee-validate will handle it.
3893
+ novalidate: true,
3894
+ }
3895
+ : {};
3896
+ return vue.h(tag, Object.assign(Object.assign(Object.assign({}, formAttrs), ctx.attrs), { onSubmit, onReset: handleFormReset }), children);
3897
+ };
3898
+ },
3899
+ });
3900
+ const Form = FormImpl;
3901
+
3902
+ let FIELD_ARRAY_COUNTER = 0;
3903
+ function useFieldArray(arrayPath) {
3904
+ const id = FIELD_ARRAY_COUNTER++;
3905
+ const form = injectWithSelf(FormContextKey, undefined);
3906
+ const fields = vue.ref([]);
3907
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3908
+ const noOp = () => { };
3909
+ const noOpApi = {
3910
+ fields: vue.readonly(fields),
3911
+ remove: noOp,
3912
+ push: noOp,
3913
+ swap: noOp,
3914
+ insert: noOp,
3915
+ update: noOp,
3916
+ replace: noOp,
3917
+ prepend: noOp,
3918
+ };
3919
+ if (!form) {
3920
+ warn('FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly');
3921
+ return noOpApi;
3922
+ }
3923
+ if (!vue.unref(arrayPath)) {
3924
+ warn('FieldArray requires a field path to be provided, did you forget to pass the `name` prop?');
3925
+ return noOpApi;
3926
+ }
3927
+ let entryCounter = 0;
3928
+ function initFields() {
3929
+ const currentValues = getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(arrayPath), []);
3930
+ fields.value = currentValues.map(createEntry);
3931
+ updateEntryFlags();
3932
+ }
3933
+ initFields();
3934
+ function updateEntryFlags() {
3935
+ const fieldsLength = fields.value.length;
3936
+ for (let i = 0; i < fieldsLength; i++) {
3937
+ const entry = fields.value[i];
3938
+ entry.isFirst = i === 0;
3939
+ entry.isLast = i === fieldsLength - 1;
3940
+ }
3941
+ }
3942
+ function createEntry(value) {
3943
+ const key = entryCounter++;
3944
+ const entry = {
3945
+ key,
3946
+ value: vue.computed(() => {
3947
+ const currentValues = getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(arrayPath), []);
3948
+ const idx = fields.value.findIndex(e => e.key === key);
3949
+ return idx === -1 ? value : currentValues[idx];
3950
+ }),
3951
+ isFirst: false,
3952
+ isLast: false,
3953
+ };
3954
+ return entry;
3955
+ }
3956
+ function remove(idx) {
3957
+ const pathName = vue.unref(arrayPath);
3958
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
3959
+ if (!pathValue || !Array.isArray(pathValue)) {
3960
+ return;
3961
+ }
3962
+ const newValue = [...pathValue];
3963
+ newValue.splice(idx, 1);
3964
+ form === null || form === void 0 ? void 0 : form.unsetInitialValue(pathName + `[${idx}]`);
3965
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
3966
+ fields.value.splice(idx, 1);
3967
+ updateEntryFlags();
3968
+ }
3969
+ function push(value) {
3970
+ const pathName = vue.unref(arrayPath);
3971
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
3972
+ const normalizedPathValue = isNullOrUndefined(pathValue) ? [] : pathValue;
3973
+ if (!Array.isArray(normalizedPathValue)) {
3974
+ return;
3975
+ }
3976
+ const newValue = [...normalizedPathValue];
3977
+ newValue.push(value);
3978
+ form === null || form === void 0 ? void 0 : form.stageInitialValue(pathName + `[${newValue.length - 1}]`, value);
3979
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
3980
+ fields.value.push(createEntry(value));
3981
+ updateEntryFlags();
3982
+ }
3983
+ function swap(indexA, indexB) {
3984
+ const pathName = vue.unref(arrayPath);
3985
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
3986
+ if (!Array.isArray(pathValue) || !(indexA in pathValue) || !(indexB in pathValue)) {
3987
+ return;
3988
+ }
3989
+ const newValue = [...pathValue];
3990
+ const newFields = [...fields.value];
3991
+ // the old switcheroo
3992
+ const temp = newValue[indexA];
3993
+ newValue[indexA] = newValue[indexB];
3994
+ newValue[indexB] = temp;
3995
+ const tempEntry = newFields[indexA];
3996
+ newFields[indexA] = newFields[indexB];
3997
+ newFields[indexB] = tempEntry;
3998
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
3999
+ fields.value = newFields;
4000
+ updateEntryFlags();
4001
+ }
4002
+ function insert(idx, value) {
4003
+ const pathName = vue.unref(arrayPath);
4004
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4005
+ if (!Array.isArray(pathValue) || pathValue.length < idx) {
4006
+ return;
4007
+ }
4008
+ const newValue = [...pathValue];
4009
+ const newFields = [...fields.value];
4010
+ newValue.splice(idx, 0, value);
4011
+ newFields.splice(idx, 0, createEntry(value));
4012
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4013
+ fields.value = newFields;
4014
+ updateEntryFlags();
4015
+ }
4016
+ function replace(arr) {
4017
+ const pathName = vue.unref(arrayPath);
4018
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, arr);
4019
+ initFields();
4020
+ }
4021
+ function update(idx, value) {
4022
+ const pathName = vue.unref(arrayPath);
4023
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4024
+ if (!Array.isArray(pathValue) || pathValue.length - 1 < idx) {
4025
+ return;
4026
+ }
4027
+ form === null || form === void 0 ? void 0 : form.setFieldValue(`${pathName}[${idx}]`, value);
4028
+ }
4029
+ function prepend(value) {
4030
+ const pathName = vue.unref(arrayPath);
4031
+ const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4032
+ const normalizedPathValue = isNullOrUndefined(pathValue) ? [] : pathValue;
4033
+ if (!Array.isArray(normalizedPathValue)) {
4034
+ return;
4035
+ }
4036
+ const newValue = [value, ...normalizedPathValue];
4037
+ form === null || form === void 0 ? void 0 : form.stageInitialValue(pathName + `[${newValue.length - 1}]`, value);
4038
+ form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4039
+ fields.value.unshift(createEntry(value));
4040
+ updateEntryFlags();
4041
+ }
4042
+ form.fieldArraysLookup[id] = {
4043
+ reset: initFields,
4044
+ };
4045
+ vue.onBeforeUnmount(() => {
4046
+ delete form.fieldArraysLookup[id];
4047
+ });
4048
+ return {
4049
+ fields: vue.readonly(fields),
4050
+ remove,
4051
+ push,
4052
+ swap,
4053
+ insert,
4054
+ update,
4055
+ replace,
4056
+ prepend,
4057
+ };
4058
+ }
4059
+
4060
+ const FieldArrayImpl = vue.defineComponent({
4061
+ name: 'FieldArray',
4062
+ inheritAttrs: false,
4063
+ props: {
4064
+ name: {
4065
+ type: String,
4066
+ required: true,
4067
+ },
4068
+ },
4069
+ setup(props, ctx) {
4070
+ const { push, remove, swap, insert, replace, update, prepend, fields } = useFieldArray(vue.toRef(props, 'name'));
4071
+ function slotProps() {
4072
+ return {
4073
+ fields: fields.value,
4074
+ push,
4075
+ remove,
4076
+ swap,
4077
+ insert,
4078
+ update,
4079
+ replace,
4080
+ prepend,
4081
+ };
4082
+ }
4083
+ ctx.expose({
4084
+ push,
4085
+ remove,
4086
+ swap,
4087
+ insert,
4088
+ update,
4089
+ replace,
4090
+ prepend,
4091
+ });
4092
+ return () => {
4093
+ const children = normalizeChildren(undefined, ctx, slotProps);
4094
+ return children;
4095
+ };
4096
+ },
4097
+ });
4098
+ const FieldArray = FieldArrayImpl;
4099
+
4100
+ const ErrorMessageImpl = vue.defineComponent({
4101
+ name: 'ErrorMessage',
4102
+ props: {
4103
+ as: {
4104
+ type: String,
4105
+ default: undefined,
4106
+ },
4107
+ name: {
4108
+ type: String,
4109
+ required: true,
4110
+ },
4111
+ },
4112
+ setup(props, ctx) {
4113
+ const form = vue.inject(FormContextKey, undefined);
4114
+ const message = vue.computed(() => {
4115
+ return form === null || form === void 0 ? void 0 : form.errors.value[props.name];
4116
+ });
4117
+ function slotProps() {
4118
+ return {
4119
+ message: message.value,
4444
4120
  };
4445
4121
  }
4446
- // expose these functions and methods as part of public API
4447
- ctx.expose({
4448
- setFieldError,
4449
- setErrors,
4450
- setFieldValue,
4451
- setValues,
4452
- setFieldTouched,
4453
- setTouched,
4454
- resetForm,
4455
- validate,
4456
- validateField,
4457
- });
4458
- return function renderForm() {
4459
- // avoid resolving the form component as itself
4460
- const tag = props.as === 'form' ? props.as : vue.resolveDynamicComponent(props.as);
4122
+ return () => {
4123
+ // Renders nothing if there are no messages
4124
+ if (!message.value) {
4125
+ return undefined;
4126
+ }
4127
+ const tag = (props.as ? vue.resolveDynamicComponent(props.as) : props.as);
4461
4128
  const children = normalizeChildren(tag, ctx, slotProps);
4462
- if (!props.as) {
4129
+ const attrs = Object.assign({ role: 'alert' }, ctx.attrs);
4130
+ // If no tag was specified and there are children
4131
+ // render the slot as is without wrapping it
4132
+ if (!tag && (Array.isArray(children) || !children) && (children === null || children === void 0 ? void 0 : children.length)) {
4463
4133
  return children;
4464
4134
  }
4465
- // Attributes to add on a native `form` tag
4466
- const formAttrs = props.as === 'form'
4467
- ? {
4468
- // Disables native validation as vee-validate will handle it.
4469
- novalidate: true,
4470
- }
4471
- : {};
4472
- return vue.h(tag, Object.assign(Object.assign(Object.assign({}, formAttrs), ctx.attrs), { onSubmit, onReset: handleFormReset }), children);
4135
+ // If no children in slot
4136
+ // render whatever specified and fallback to a <span> with the message in it's contents
4137
+ if ((Array.isArray(children) || !children) && !(children === null || children === void 0 ? void 0 : children.length)) {
4138
+ return vue.h(tag || 'span', attrs, message.value);
4139
+ }
4140
+ return vue.h(tag, attrs, children);
4473
4141
  };
4474
4142
  },
4475
4143
  });
4476
- const Form = FormImpl;
4144
+ const ErrorMessage = ErrorMessageImpl;
4477
4145
 
4478
- let FIELD_ARRAY_COUNTER = 0;
4479
- function useFieldArray(arrayPath) {
4480
- const id = FIELD_ARRAY_COUNTER++;
4481
- const form = injectWithSelf(FormContextKey, undefined);
4482
- const fields = vue.ref([]);
4483
- // eslint-disable-next-line @typescript-eslint/no-empty-function
4484
- const noOp = () => { };
4485
- const noOpApi = {
4486
- fields: vue.readonly(fields),
4487
- remove: noOp,
4488
- push: noOp,
4489
- swap: noOp,
4490
- insert: noOp,
4491
- update: noOp,
4492
- replace: noOp,
4493
- prepend: noOp,
4494
- };
4146
+ function useResetForm() {
4147
+ const form = injectWithSelf(FormContextKey);
4495
4148
  if (!form) {
4496
- warn('FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly');
4497
- return noOpApi;
4498
- }
4499
- if (!vue.unref(arrayPath)) {
4500
- warn('FieldArray requires a field path to be provided, did you forget to pass the `name` prop?');
4501
- return noOpApi;
4149
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4502
4150
  }
4503
- let entryCounter = 0;
4504
- function initFields() {
4505
- const currentValues = getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(arrayPath), []);
4506
- fields.value = currentValues.map(createEntry);
4507
- updateEntryFlags();
4151
+ return function resetForm(state) {
4152
+ if (!form) {
4153
+ return;
4154
+ }
4155
+ return form.resetForm(state);
4156
+ };
4157
+ }
4158
+
4159
+ /**
4160
+ * If a field is dirty or not
4161
+ */
4162
+ function useIsFieldDirty(path) {
4163
+ const form = injectWithSelf(FormContextKey);
4164
+ let field = path ? undefined : vue.inject(FieldContextKey);
4165
+ return vue.computed(() => {
4166
+ if (path) {
4167
+ field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4168
+ }
4169
+ if (!field) {
4170
+ warn(`field with name ${vue.unref(path)} was not found`);
4171
+ return false;
4172
+ }
4173
+ return field.meta.dirty;
4174
+ });
4175
+ }
4176
+
4177
+ /**
4178
+ * If a field is touched or not
4179
+ */
4180
+ function useIsFieldTouched(path) {
4181
+ const form = injectWithSelf(FormContextKey);
4182
+ let field = path ? undefined : vue.inject(FieldContextKey);
4183
+ return vue.computed(() => {
4184
+ if (path) {
4185
+ field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4186
+ }
4187
+ if (!field) {
4188
+ warn(`field with name ${vue.unref(path)} was not found`);
4189
+ return false;
4190
+ }
4191
+ return field.meta.touched;
4192
+ });
4193
+ }
4194
+
4195
+ /**
4196
+ * If a field is validated and is valid
4197
+ */
4198
+ function useIsFieldValid(path) {
4199
+ const form = injectWithSelf(FormContextKey);
4200
+ let field = path ? undefined : vue.inject(FieldContextKey);
4201
+ return vue.computed(() => {
4202
+ if (path) {
4203
+ field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4204
+ }
4205
+ if (!field) {
4206
+ warn(`field with name ${vue.unref(path)} was not found`);
4207
+ return false;
4208
+ }
4209
+ return field.meta.valid;
4210
+ });
4211
+ }
4212
+
4213
+ /**
4214
+ * If the form is submitting or not
4215
+ */
4216
+ function useIsSubmitting() {
4217
+ const form = injectWithSelf(FormContextKey);
4218
+ if (!form) {
4219
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4508
4220
  }
4509
- initFields();
4510
- function updateEntryFlags() {
4511
- const fieldsLength = fields.value.length;
4512
- for (let i = 0; i < fieldsLength; i++) {
4513
- const entry = fields.value[i];
4514
- entry.isFirst = i === 0;
4515
- entry.isLast = i === fieldsLength - 1;
4221
+ return vue.computed(() => {
4222
+ var _a;
4223
+ return (_a = form === null || form === void 0 ? void 0 : form.isSubmitting.value) !== null && _a !== void 0 ? _a : false;
4224
+ });
4225
+ }
4226
+
4227
+ /**
4228
+ * Validates a single field
4229
+ */
4230
+ function useValidateField(path) {
4231
+ const form = injectWithSelf(FormContextKey);
4232
+ let field = path ? undefined : vue.inject(FieldContextKey);
4233
+ return function validateField() {
4234
+ if (path) {
4235
+ field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4236
+ }
4237
+ if (!field) {
4238
+ warn(`field with name ${vue.unref(path)} was not found`);
4239
+ return Promise.resolve({
4240
+ errors: [],
4241
+ valid: true,
4242
+ });
4516
4243
  }
4244
+ return field.validate();
4245
+ };
4246
+ }
4247
+
4248
+ /**
4249
+ * If the form is dirty or not
4250
+ */
4251
+ function useIsFormDirty() {
4252
+ const form = injectWithSelf(FormContextKey);
4253
+ if (!form) {
4254
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4517
4255
  }
4518
- function createEntry(value) {
4519
- const key = entryCounter++;
4520
- const entry = {
4521
- key,
4522
- value: vue.computed(() => {
4523
- const currentValues = getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(arrayPath), []);
4524
- const idx = fields.value.findIndex(e => e.key === key);
4525
- return idx === -1 ? value : currentValues[idx];
4526
- }),
4527
- isFirst: false,
4528
- isLast: false,
4529
- };
4530
- return entry;
4256
+ return vue.computed(() => {
4257
+ var _a;
4258
+ return (_a = form === null || form === void 0 ? void 0 : form.meta.value.dirty) !== null && _a !== void 0 ? _a : false;
4259
+ });
4260
+ }
4261
+
4262
+ /**
4263
+ * If the form is touched or not
4264
+ */
4265
+ function useIsFormTouched() {
4266
+ const form = injectWithSelf(FormContextKey);
4267
+ if (!form) {
4268
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4531
4269
  }
4532
- function remove(idx) {
4533
- const pathName = vue.unref(arrayPath);
4534
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4535
- if (!pathValue || !Array.isArray(pathValue)) {
4536
- return;
4537
- }
4538
- const newValue = [...pathValue];
4539
- newValue.splice(idx, 1);
4540
- form === null || form === void 0 ? void 0 : form.unsetInitialValue(pathName + `[${idx}]`);
4541
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4542
- fields.value.splice(idx, 1);
4543
- updateEntryFlags();
4270
+ return vue.computed(() => {
4271
+ var _a;
4272
+ return (_a = form === null || form === void 0 ? void 0 : form.meta.value.touched) !== null && _a !== void 0 ? _a : false;
4273
+ });
4274
+ }
4275
+
4276
+ /**
4277
+ * If the form has been validated and is valid
4278
+ */
4279
+ function useIsFormValid() {
4280
+ const form = injectWithSelf(FormContextKey);
4281
+ if (!form) {
4282
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4544
4283
  }
4545
- function push(value) {
4546
- const pathName = vue.unref(arrayPath);
4547
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4548
- const normalizedPathValue = isNullOrUndefined(pathValue) ? [] : pathValue;
4549
- if (!Array.isArray(normalizedPathValue)) {
4550
- return;
4551
- }
4552
- const newValue = [...normalizedPathValue];
4553
- newValue.push(value);
4554
- form === null || form === void 0 ? void 0 : form.stageInitialValue(pathName + `[${newValue.length - 1}]`, value);
4555
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4556
- fields.value.push(createEntry(value));
4557
- updateEntryFlags();
4284
+ return vue.computed(() => {
4285
+ var _a;
4286
+ return (_a = form === null || form === void 0 ? void 0 : form.meta.value.valid) !== null && _a !== void 0 ? _a : false;
4287
+ });
4288
+ }
4289
+
4290
+ /**
4291
+ * Validate multiple fields
4292
+ */
4293
+ function useValidateForm() {
4294
+ const form = injectWithSelf(FormContextKey);
4295
+ if (!form) {
4296
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4558
4297
  }
4559
- function swap(indexA, indexB) {
4560
- const pathName = vue.unref(arrayPath);
4561
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4562
- if (!Array.isArray(pathValue) || !(indexA in pathValue) || !(indexB in pathValue)) {
4563
- return;
4298
+ return function validateField() {
4299
+ if (!form) {
4300
+ return Promise.resolve({ results: {}, errors: {}, valid: true });
4564
4301
  }
4565
- const newValue = [...pathValue];
4566
- const newFields = [...fields.value];
4567
- // the old switcheroo
4568
- const temp = newValue[indexA];
4569
- newValue[indexA] = newValue[indexB];
4570
- newValue[indexB] = temp;
4571
- const tempEntry = newFields[indexA];
4572
- newFields[indexA] = newFields[indexB];
4573
- newFields[indexB] = tempEntry;
4574
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4575
- fields.value = newFields;
4576
- updateEntryFlags();
4302
+ return form.validate();
4303
+ };
4304
+ }
4305
+
4306
+ /**
4307
+ * The number of form's submission count
4308
+ */
4309
+ function useSubmitCount() {
4310
+ const form = injectWithSelf(FormContextKey);
4311
+ if (!form) {
4312
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4577
4313
  }
4578
- function insert(idx, value) {
4579
- const pathName = vue.unref(arrayPath);
4580
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4581
- if (!Array.isArray(pathValue) || pathValue.length < idx) {
4582
- return;
4314
+ return vue.computed(() => {
4315
+ var _a;
4316
+ return (_a = form === null || form === void 0 ? void 0 : form.submitCount.value) !== null && _a !== void 0 ? _a : 0;
4317
+ });
4318
+ }
4319
+
4320
+ /**
4321
+ * Gives access to a field's current value
4322
+ */
4323
+ function useFieldValue(path) {
4324
+ const form = injectWithSelf(FormContextKey);
4325
+ // We don't want to use self injected context as it doesn't make sense
4326
+ const field = path ? undefined : vue.inject(FieldContextKey);
4327
+ return vue.computed(() => {
4328
+ if (path) {
4329
+ return getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(path));
4583
4330
  }
4584
- const newValue = [...pathValue];
4585
- const newFields = [...fields.value];
4586
- newValue.splice(idx, 0, value);
4587
- newFields.splice(idx, 0, createEntry(value));
4588
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4589
- fields.value = newFields;
4590
- updateEntryFlags();
4331
+ return vue.unref(field === null || field === void 0 ? void 0 : field.value);
4332
+ });
4333
+ }
4334
+
4335
+ /**
4336
+ * Gives access to a form's values
4337
+ */
4338
+ function useFormValues() {
4339
+ const form = injectWithSelf(FormContextKey);
4340
+ if (!form) {
4341
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4591
4342
  }
4592
- function replace(arr) {
4593
- const pathName = vue.unref(arrayPath);
4594
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, arr);
4595
- initFields();
4343
+ return vue.computed(() => {
4344
+ return (form === null || form === void 0 ? void 0 : form.values) || {};
4345
+ });
4346
+ }
4347
+
4348
+ /**
4349
+ * Gives access to all form errors
4350
+ */
4351
+ function useFormErrors() {
4352
+ const form = injectWithSelf(FormContextKey);
4353
+ if (!form) {
4354
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4596
4355
  }
4597
- function update(idx, value) {
4598
- const pathName = vue.unref(arrayPath);
4599
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4600
- if (!Array.isArray(pathValue) || pathValue.length - 1 < idx) {
4601
- return;
4356
+ return vue.computed(() => {
4357
+ return ((form === null || form === void 0 ? void 0 : form.errors.value) || {});
4358
+ });
4359
+ }
4360
+
4361
+ /**
4362
+ * Gives access to a single field error
4363
+ */
4364
+ function useFieldError(path) {
4365
+ const form = injectWithSelf(FormContextKey);
4366
+ // We don't want to use self injected context as it doesn't make sense
4367
+ const field = path ? undefined : vue.inject(FieldContextKey);
4368
+ return vue.computed(() => {
4369
+ if (path) {
4370
+ return form === null || form === void 0 ? void 0 : form.errors.value[vue.unref(path)];
4602
4371
  }
4603
- form === null || form === void 0 ? void 0 : form.setFieldValue(`${pathName}[${idx}]`, value);
4372
+ return field === null || field === void 0 ? void 0 : field.errorMessage.value;
4373
+ });
4374
+ }
4375
+
4376
+ function useSubmitForm(cb) {
4377
+ const form = injectWithSelf(FormContextKey);
4378
+ if (!form) {
4379
+ warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4604
4380
  }
4605
- function prepend(value) {
4606
- const pathName = vue.unref(arrayPath);
4607
- const pathValue = getFromPath(form === null || form === void 0 ? void 0 : form.values, pathName);
4608
- const normalizedPathValue = isNullOrUndefined(pathValue) ? [] : pathValue;
4609
- if (!Array.isArray(normalizedPathValue)) {
4381
+ const onSubmit = form ? form.handleSubmit(cb) : undefined;
4382
+ return function submitForm(e) {
4383
+ if (!onSubmit) {
4610
4384
  return;
4611
4385
  }
4612
- const newValue = [value, ...normalizedPathValue];
4613
- form === null || form === void 0 ? void 0 : form.stageInitialValue(pathName + `[${newValue.length - 1}]`, value);
4614
- form === null || form === void 0 ? void 0 : form.setFieldValue(pathName, newValue);
4615
- fields.value.unshift(createEntry(value));
4616
- updateEntryFlags();
4617
- }
4618
- form.fieldArraysLookup[id] = {
4619
- reset: initFields,
4620
- };
4621
- vue.onBeforeUnmount(() => {
4622
- delete form.fieldArraysLookup[id];
4623
- });
4624
- return {
4625
- fields: vue.readonly(fields),
4626
- remove,
4627
- push,
4628
- swap,
4629
- insert,
4630
- update,
4631
- replace,
4632
- prepend,
4386
+ return onSubmit(e);
4633
4387
  };
4388
+ }var es_array_includes = {};var objectDefineProperties = {};var DESCRIPTORS$2 = descriptors;
4389
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
4390
+ var definePropertyModule$1 = objectDefineProperty;
4391
+ var anObject$2 = anObject$5;
4392
+ var toIndexedObject = toIndexedObject$5;
4393
+ var objectKeys = objectKeys$2;
4394
+
4395
+ // `Object.defineProperties` method
4396
+ // https://tc39.es/ecma262/#sec-object.defineproperties
4397
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
4398
+ var f = objectDefineProperties.f = DESCRIPTORS$2 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
4399
+ anObject$2(O);
4400
+ var props = toIndexedObject(Properties);
4401
+ var keys = objectKeys(Properties);
4402
+ var length = keys.length;
4403
+ var index = 0;
4404
+ var key;
4405
+ while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]);
4406
+ return O;
4407
+ };var getBuiltIn = getBuiltIn$5;
4408
+
4409
+ var html$1 = getBuiltIn('document', 'documentElement');/* global ActiveXObject -- old IE, WSH */
4410
+
4411
+ var anObject$1 = anObject$5;
4412
+ var definePropertiesModule = objectDefineProperties;
4413
+ var enumBugKeys = enumBugKeys$3;
4414
+ var hiddenKeys = hiddenKeys$4;
4415
+ var html = html$1;
4416
+ var documentCreateElement = documentCreateElement$2;
4417
+ var sharedKey = sharedKey$2;
4418
+
4419
+ var GT = '>';
4420
+ var LT = '<';
4421
+ var PROTOTYPE = 'prototype';
4422
+ var SCRIPT = 'script';
4423
+ var IE_PROTO = sharedKey('IE_PROTO');
4424
+
4425
+ var EmptyConstructor = function () { /* empty */ };
4426
+
4427
+ var scriptTag = function (content) {
4428
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
4429
+ };
4430
+
4431
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
4432
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
4433
+ activeXDocument.write(scriptTag(''));
4434
+ activeXDocument.close();
4435
+ var temp = activeXDocument.parentWindow.Object;
4436
+ activeXDocument = null; // avoid memory leak
4437
+ return temp;
4438
+ };
4439
+
4440
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
4441
+ var NullProtoObjectViaIFrame = function () {
4442
+ // Thrash, waste and sodomy: IE GC bug
4443
+ var iframe = documentCreateElement('iframe');
4444
+ var JS = 'java' + SCRIPT + ':';
4445
+ var iframeDocument;
4446
+ iframe.style.display = 'none';
4447
+ html.appendChild(iframe);
4448
+ // https://github.com/zloirock/core-js/issues/475
4449
+ iframe.src = String(JS);
4450
+ iframeDocument = iframe.contentWindow.document;
4451
+ iframeDocument.open();
4452
+ iframeDocument.write(scriptTag('document.F=Object'));
4453
+ iframeDocument.close();
4454
+ return iframeDocument.F;
4455
+ };
4456
+
4457
+ // Check for document.domain and active x support
4458
+ // No need to use active x approach when document.domain is not set
4459
+ // see https://github.com/es-shims/es5-shim/issues/150
4460
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
4461
+ // avoid IE GC bug
4462
+ var activeXDocument;
4463
+ var NullProtoObject = function () {
4464
+ try {
4465
+ activeXDocument = new ActiveXObject('htmlfile');
4466
+ } catch (error) { /* ignore */ }
4467
+ NullProtoObject = typeof document != 'undefined'
4468
+ ? document.domain && activeXDocument
4469
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
4470
+ : NullProtoObjectViaIFrame()
4471
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
4472
+ var length = enumBugKeys.length;
4473
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
4474
+ return NullProtoObject();
4475
+ };
4476
+
4477
+ hiddenKeys[IE_PROTO] = true;
4478
+
4479
+ // `Object.create` method
4480
+ // https://tc39.es/ecma262/#sec-object.create
4481
+ var objectCreate = Object.create || function create(O, Properties) {
4482
+ var result;
4483
+ if (O !== null) {
4484
+ EmptyConstructor[PROTOTYPE] = anObject$1(O);
4485
+ result = new EmptyConstructor();
4486
+ EmptyConstructor[PROTOTYPE] = null;
4487
+ // add "__proto__" for Object.getPrototypeOf polyfill
4488
+ result[IE_PROTO] = O;
4489
+ } else result = NullProtoObject();
4490
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
4491
+ };var wellKnownSymbol = wellKnownSymbol$5;
4492
+ var create = objectCreate;
4493
+ var definePropertyModule = objectDefineProperty;
4494
+
4495
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
4496
+ var ArrayPrototype = Array.prototype;
4497
+
4498
+ // Array.prototype[@@unscopables]
4499
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
4500
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
4501
+ definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
4502
+ configurable: true,
4503
+ value: create(null)
4504
+ });
4634
4505
  }
4635
4506
 
4636
- const FieldArrayImpl = vue.defineComponent({
4637
- name: 'FieldArray',
4638
- inheritAttrs: false,
4639
- props: {
4640
- name: {
4641
- type: String,
4642
- required: true,
4643
- },
4644
- },
4645
- setup(props, ctx) {
4646
- const { push, remove, swap, insert, replace, update, prepend, fields } = useFieldArray(vue.toRef(props, 'name'));
4647
- function slotProps() {
4648
- return {
4649
- fields: fields.value,
4650
- push,
4651
- remove,
4652
- swap,
4653
- insert,
4654
- update,
4655
- replace,
4656
- prepend,
4657
- };
4658
- }
4659
- ctx.expose({
4660
- push,
4661
- remove,
4662
- swap,
4663
- insert,
4664
- update,
4665
- replace,
4666
- prepend,
4667
- });
4668
- return () => {
4669
- const children = normalizeChildren(undefined, ctx, slotProps);
4670
- return children;
4671
- };
4672
- },
4673
- });
4674
- const FieldArray = FieldArrayImpl;
4507
+ // add a key to Array.prototype[@@unscopables]
4508
+ var addToUnscopables$2 = function (key) {
4509
+ ArrayPrototype[UNSCOPABLES][key] = true;
4510
+ };'use strict';
4511
+ var $$1 = _export;
4512
+ var $includes = arrayIncludes.includes;
4513
+ var addToUnscopables$1 = addToUnscopables$2;
4514
+
4515
+ // `Array.prototype.includes` method
4516
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
4517
+ $$1({ target: 'Array', proto: true }, {
4518
+ includes: function includes(el /* , fromIndex = 0 */) {
4519
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
4520
+ }
4521
+ });
4522
+
4523
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
4524
+ addToUnscopables$1('includes');var script$6 = vue.defineComponent({
4525
+ name: 'FwInput',
4526
+ emits: ['update:modelValue'],
4527
+ components: {
4528
+ InputField: Field
4529
+ },
4530
+ props: {
4531
+ /**
4532
+ * The input v-model
4533
+ */
4534
+ modelValue: {
4535
+ type: String,
4536
+ "default": ''
4537
+ },
4538
+
4539
+ /**
4540
+ * The name of the input field. Must be unique per form.
4541
+ */
4542
+ name: {
4543
+ type: String,
4544
+ required: true
4545
+ },
4546
+
4547
+ /**
4548
+ * The input type. Accepts `text` | `password`
4549
+ */
4550
+ type: {
4551
+ type: String,
4552
+ "default": 'text',
4553
+ validator: function validator(value) {
4554
+ return ['text', 'password'].includes(value);
4555
+ }
4556
+ },
4557
+
4558
+ /**
4559
+ * Label for the input. Also renders to an aria-label attribute
4560
+ */
4561
+ label: {
4562
+ type: String
4563
+ },
4564
+
4565
+ /**
4566
+ * The placeholder text of the input
4567
+ */
4568
+ placeholder: {
4569
+ type: String,
4570
+ "default": ''
4571
+ },
4572
+
4573
+ /**
4574
+ * Validation rules. Accepts a string, object, function or schema.
4575
+ */
4576
+ rules: {
4577
+ type: [String, Object, Function]
4578
+ },
4579
+
4580
+ /**
4581
+ * Converts the input into a readonly disabled field
4582
+ */
4583
+ readonly: {
4584
+ type: Boolean,
4585
+ "default": false
4586
+ },
4587
+
4588
+ /**
4589
+ * The hint text shown below the input
4590
+ */
4591
+ hint: {
4592
+ type: String
4593
+ }
4594
+ },
4595
+ setup: function setup(props, ctx) {
4596
+ var inputValue = vue.computed({
4597
+ get: function get() {
4598
+ return props.modelValue;
4599
+ },
4600
+ set: function set(state) {
4601
+ return ctx.emit('update:modelValue', state);
4602
+ }
4603
+ });
4604
+ return {
4605
+ inputValue: inputValue
4606
+ };
4607
+ }
4608
+ });var es_function_name = {};var DESCRIPTORS$1 = descriptors;
4609
+ var FUNCTION_NAME_EXISTS = functionName.EXISTS;
4610
+ var uncurryThis$4 = functionUncurryThis;
4611
+ var defineProperty$1 = objectDefineProperty.f;
4612
+
4613
+ var FunctionPrototype = Function.prototype;
4614
+ var functionToString = uncurryThis$4(FunctionPrototype.toString);
4615
+ var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
4616
+ var regExpExec = uncurryThis$4(nameRE.exec);
4617
+ var NAME = 'name';
4618
+
4619
+ // Function instances `.name` property
4620
+ // https://tc39.es/ecma262/#sec-function-instances-name
4621
+ if (DESCRIPTORS$1 && !FUNCTION_NAME_EXISTS) {
4622
+ defineProperty$1(FunctionPrototype, NAME, {
4623
+ configurable: true,
4624
+ get: function () {
4625
+ try {
4626
+ return regExpExec(nameRE, functionToString(this))[1];
4627
+ } catch (error) {
4628
+ return '';
4629
+ }
4630
+ }
4631
+ });
4632
+ }var _hoisted_1$5 = {
4633
+ "class": "fw-input w-full"
4634
+ };
4635
+ var _hoisted_2$4 = {
4636
+ "class": "flex flex-col"
4637
+ };
4638
+ var _hoisted_3$4 = {
4639
+ "class": "flex flex-row justify-between"
4640
+ };
4641
+ var _hoisted_4$3 = ["for"];
4642
+ var _hoisted_5$2 = {
4643
+ key: 1
4644
+ };
4645
+ var _hoisted_6$2 = {
4646
+ "class": "relative"
4647
+ };
4648
+ var _hoisted_7$2 = {
4649
+ key: 0,
4650
+ "class": "flex text-black absolute w-9 h-full inset-y-0 left-0 items-center pl-3 pointer-events-none"
4651
+ };
4652
+ var _hoisted_8$2 = ["placeholder", "type", "readonly", "disabled"];
4653
+
4654
+ var _hoisted_9$1 = /*#__PURE__*/vue.createElementVNode("svg", {
4655
+ fill: "currentColor",
4656
+ "aria-hidden": "true",
4657
+ focusable: "false",
4658
+ role: "img",
4659
+ xmlns: "http://www.w3.org/2000/svg",
4660
+ viewBox: "0 0 512 512"
4661
+ }, [/*#__PURE__*/vue.createElementVNode("path", {
4662
+ d: "M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM232 152C232 138.8\n 242.8 128 256 128s24 10.75 24 24v128c0 13.25-10.75 24-24 24S232 293.3 232 280V152zM256 400c-17.36\n 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 385.9 273.4\n 400 256 400z"
4663
+ })], -1);
4664
+
4665
+ var _hoisted_10$1 = [_hoisted_9$1];
4666
+ var _hoisted_11$1 = {
4667
+ key: 1,
4668
+ "class": "flex text-black absolute w-10 h-full inset-y-0 right-0 items-center pr-3"
4669
+ };
4670
+ var _hoisted_12$1 = {
4671
+ "class": "italic text-right text-sm font-medium mt-2 min-h-[21px]"
4672
+ };
4673
+ var _hoisted_13 = {
4674
+ key: 0,
4675
+ "class": "text-error"
4676
+ };
4677
+ var _hoisted_14 = {
4678
+ key: 1
4679
+ };
4680
+ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
4681
+ var _component_InputField = vue.resolveComponent("InputField");
4682
+
4683
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [vue.createVNode(_component_InputField, {
4684
+ modelValue: _ctx.inputValue,
4685
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
4686
+ return _ctx.inputValue = $event;
4687
+ }),
4688
+ name: _ctx.name,
4689
+ rules: _ctx.rules
4690
+ }, {
4691
+ "default": vue.withCtx(function (_ref) {
4692
+ var field = _ref.field,
4693
+ errors = _ref.errors,
4694
+ errorMessage = _ref.errorMessage,
4695
+ meta = _ref.meta;
4696
+ return [vue.createElementVNode("div", _hoisted_2$4, [vue.createElementVNode("div", _hoisted_3$4, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4697
+ key: 0,
4698
+ "for": _ctx.name,
4699
+ "class": "block mb-2"
4700
+ }, vue.toDisplayString(_ctx.label), 9, _hoisted_4$3)) : vue.createCommentVNode("", true), _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$2, [vue.renderSlot(_ctx.$slots, "action")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_6$2, [_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [vue.renderSlot(_ctx.$slots, "prefix")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
4701
+ placeholder: _ctx.placeholder,
4702
+ type: _ctx.type,
4703
+ readonly: _ctx.readonly,
4704
+ disabled: _ctx.readonly,
4705
+ "class": ["border-2 border-grey-lightest rounded-lg focus:outline-none focus:ring-2 focus:ring-primary block w-full p-2.5", {
4706
+ 'pl-10': !!_ctx.$slots.prefix,
4707
+ 'pr-20': !!_ctx.$slots.suffix
4708
+ }]
4709
+ }), null, 16, _hoisted_8$2), vue.createVNode(vue.Transition, {
4710
+ name: "fwFadeIn"
4711
+ }, {
4712
+ "default": vue.withCtx(function () {
4713
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("div", {
4714
+ key: 0,
4715
+ "class": vue.normalizeClass(["flex text-error absolute w-9 h-full inset-y-0 right-0 items-center pr-3 pointer-events-none", _ctx.$slots.suffix ? 'mr-8' : ''])
4716
+ }, _hoisted_10$1, 2)) : vue.createCommentVNode("", true)];
4717
+ }),
4718
+ _: 2
4719
+ }, 1024), _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, [vue.renderSlot(_ctx.$slots, "suffix")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_12$1, [vue.createVNode(vue.Transition, {
4720
+ name: "fwFadeIn",
4721
+ mode: "out-in"
4722
+ }, {
4723
+ "default": vue.withCtx(function () {
4724
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_13, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
4725
+ }),
4726
+ _: 2
4727
+ }, 1024)])])];
4728
+ }),
4729
+ _: 3
4730
+ }, 8, ["modelValue", "name", "rules"])]);
4731
+ }function styleInject(css, ref) {
4732
+ if ( ref === void 0 ) ref = {};
4733
+ var insertAt = ref.insertAt;
4675
4734
 
4676
- const ErrorMessageImpl = vue.defineComponent({
4677
- name: 'ErrorMessage',
4678
- props: {
4679
- as: {
4680
- type: String,
4681
- default: undefined,
4682
- },
4683
- name: {
4684
- type: String,
4685
- required: true,
4686
- },
4687
- },
4688
- setup(props, ctx) {
4689
- const form = vue.inject(FormContextKey, undefined);
4690
- const message = vue.computed(() => {
4691
- return form === null || form === void 0 ? void 0 : form.errors.value[props.name];
4692
- });
4693
- function slotProps() {
4694
- return {
4695
- message: message.value,
4696
- };
4697
- }
4698
- return () => {
4699
- // Renders nothing if there are no messages
4700
- if (!message.value) {
4701
- return undefined;
4702
- }
4703
- const tag = (props.as ? vue.resolveDynamicComponent(props.as) : props.as);
4704
- const children = normalizeChildren(tag, ctx, slotProps);
4705
- const attrs = Object.assign({ role: 'alert' }, ctx.attrs);
4706
- // If no tag was specified and there are children
4707
- // render the slot as is without wrapping it
4708
- if (!tag && (Array.isArray(children) || !children) && (children === null || children === void 0 ? void 0 : children.length)) {
4709
- return children;
4710
- }
4711
- // If no children in slot
4712
- // render whatever specified and fallback to a <span> with the message in it's contents
4713
- if ((Array.isArray(children) || !children) && !(children === null || children === void 0 ? void 0 : children.length)) {
4714
- return vue.h(tag || 'span', attrs, message.value);
4715
- }
4716
- return vue.h(tag, attrs, children);
4717
- };
4718
- },
4719
- });
4720
- const ErrorMessage = ErrorMessageImpl;
4735
+ if (!css || typeof document === 'undefined') { return; }
4721
4736
 
4722
- function useResetForm() {
4723
- const form = injectWithSelf(FormContextKey);
4724
- if (!form) {
4725
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4726
- }
4727
- return function resetForm(state) {
4728
- if (!form) {
4729
- return;
4730
- }
4731
- return form.resetForm(state);
4732
- };
4733
- }
4737
+ var head = document.head || document.getElementsByTagName('head')[0];
4738
+ var style = document.createElement('style');
4739
+ style.type = 'text/css';
4734
4740
 
4735
- /**
4736
- * If a field is dirty or not
4737
- */
4738
- function useIsFieldDirty(path) {
4739
- const form = injectWithSelf(FormContextKey);
4740
- let field = path ? undefined : vue.inject(FieldContextKey);
4741
- return vue.computed(() => {
4742
- if (path) {
4743
- field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4744
- }
4745
- if (!field) {
4746
- warn(`field with name ${vue.unref(path)} was not found`);
4747
- return false;
4748
- }
4749
- return field.meta.dirty;
4750
- });
4751
- }
4741
+ if (insertAt === 'top') {
4742
+ if (head.firstChild) {
4743
+ head.insertBefore(style, head.firstChild);
4744
+ } else {
4745
+ head.appendChild(style);
4746
+ }
4747
+ } else {
4748
+ head.appendChild(style);
4749
+ }
4752
4750
 
4753
- /**
4754
- * If a field is touched or not
4755
- */
4756
- function useIsFieldTouched(path) {
4757
- const form = injectWithSelf(FormContextKey);
4758
- let field = path ? undefined : vue.inject(FieldContextKey);
4759
- return vue.computed(() => {
4760
- if (path) {
4761
- field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4762
- }
4763
- if (!field) {
4764
- warn(`field with name ${vue.unref(path)} was not found`);
4765
- return false;
4766
- }
4767
- return field.meta.touched;
4768
- });
4769
- }
4751
+ if (style.styleSheet) {
4752
+ style.styleSheet.cssText = css;
4753
+ } else {
4754
+ style.appendChild(document.createTextNode(css));
4755
+ }
4756
+ }var css_248z$3 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
4757
+ var stylesheet$3 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
4758
+ styleInject(css_248z$3);script$6.render = render$6;var script$5 = vue.defineComponent({
4759
+ name: 'FwCheckbox',
4760
+ components: {
4761
+ InputField: Field
4762
+ },
4763
+ props: {
4764
+ /**
4765
+ * The name of the input field. Must be unique per form.
4766
+ */
4767
+ name: {
4768
+ type: String,
4769
+ required: true
4770
+ },
4770
4771
 
4771
- /**
4772
- * If a field is validated and is valid
4773
- */
4774
- function useIsFieldValid(path) {
4775
- const form = injectWithSelf(FormContextKey);
4776
- let field = path ? undefined : vue.inject(FieldContextKey);
4777
- return vue.computed(() => {
4778
- if (path) {
4779
- field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4780
- }
4781
- if (!field) {
4782
- warn(`field with name ${vue.unref(path)} was not found`);
4783
- return false;
4784
- }
4785
- return field.meta.valid;
4786
- });
4787
- }
4772
+ /**
4773
+ * Label for the input. Also renders to an aria-label attribute
4774
+ */
4775
+ label: {
4776
+ type: String
4777
+ },
4788
4778
 
4789
- /**
4790
- * If the form is submitting or not
4791
- */
4792
- function useIsSubmitting() {
4793
- const form = injectWithSelf(FormContextKey);
4794
- if (!form) {
4795
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4796
- }
4797
- return vue.computed(() => {
4798
- var _a;
4799
- return (_a = form === null || form === void 0 ? void 0 : form.isSubmitting.value) !== null && _a !== void 0 ? _a : false;
4800
- });
4801
- }
4779
+ /**
4780
+ * Validation rules. Accepts a string, object, function or schema.
4781
+ */
4782
+ rules: {
4783
+ type: [String, Object, Function]
4784
+ },
4802
4785
 
4803
- /**
4804
- * Validates a single field
4805
- */
4806
- function useValidateField(path) {
4807
- const form = injectWithSelf(FormContextKey);
4808
- let field = path ? undefined : vue.inject(FieldContextKey);
4809
- return function validateField() {
4810
- if (path) {
4811
- field = normalizeField(form === null || form === void 0 ? void 0 : form.fieldsByPath.value[vue.unref(path)]);
4812
- }
4813
- if (!field) {
4814
- warn(`field with name ${vue.unref(path)} was not found`);
4815
- return Promise.resolve({
4816
- errors: [],
4817
- valid: true,
4818
- });
4819
- }
4820
- return field.validate();
4821
- };
4822
- }
4786
+ /**
4787
+ * The hint text shown below the input
4788
+ */
4789
+ hint: {
4790
+ type: String
4791
+ }
4792
+ }
4793
+ });var _hoisted_1$4 = {
4794
+ "class": "fw-checkbox w-full"
4795
+ };
4796
+ var _hoisted_2$3 = {
4797
+ "class": "flex flex-col"
4798
+ };
4799
+ var _hoisted_3$3 = ["for"];
4800
+ var _hoisted_4$2 = ["value", "name"];
4801
+ var _hoisted_5$1 = ["innerHTML"];
4802
+ var _hoisted_6$1 = {
4803
+ "class": "italic text-sm font-medium min-h-[21px]"
4804
+ };
4805
+ var _hoisted_7$1 = {
4806
+ key: 0,
4807
+ "class": "text-error"
4808
+ };
4809
+ var _hoisted_8$1 = {
4810
+ key: 1
4811
+ };
4812
+ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
4813
+ var _component_InputField = vue.resolveComponent("InputField");
4814
+
4815
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [vue.createVNode(_component_InputField, {
4816
+ name: _ctx.name,
4817
+ value: _ctx.name,
4818
+ type: "checkbox",
4819
+ rules: _ctx.rules
4820
+ }, {
4821
+ "default": vue.withCtx(function (_ref) {
4822
+ var field = _ref.field,
4823
+ errors = _ref.errors,
4824
+ errorMessage = _ref.errorMessage,
4825
+ meta = _ref.meta;
4826
+ return [vue.createElementVNode("div", _hoisted_2$3, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4827
+ key: 0,
4828
+ "for": _ctx.name,
4829
+ "class": "inline-flex items-center mb-3"
4830
+ }, [vue.createElementVNode("input", vue.mergeProps(field, {
4831
+ value: _ctx.name,
4832
+ name: _ctx.name,
4833
+ type: "checkbox",
4834
+ "class": "text-primary w-6 h-6 cursor-pointer bg-white border-grey-light border rounded"
4835
+ }), null, 16, _hoisted_4$2), vue.createElementVNode("span", {
4836
+ "class": "ml-2",
4837
+ innerHTML: _ctx.label
4838
+ }, null, 8, _hoisted_5$1)], 8, _hoisted_3$3)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_6$1, [vue.createVNode(vue.Transition, {
4839
+ name: "fwFadeIn",
4840
+ mode: "out-in"
4841
+ }, {
4842
+ "default": vue.withCtx(function () {
4843
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$1, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$1, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
4844
+ }),
4845
+ _: 2
4846
+ }, 1024)])])];
4847
+ }),
4848
+ _: 1
4849
+ }, 8, ["name", "value", "rules"])]);
4850
+ }var css_248z$2 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
4851
+ var stylesheet$2 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
4852
+ styleInject(css_248z$2);script$5.render = render$5;var script$4 = vue.defineComponent({
4853
+ name: 'FwCard',
4854
+ props: {
4855
+ /**
4856
+ * The header title of the card
4857
+ */
4858
+ title: {
4859
+ type: String
4860
+ },
4823
4861
 
4824
- /**
4825
- * If the form is dirty or not
4826
- */
4827
- function useIsFormDirty() {
4828
- const form = injectWithSelf(FormContextKey);
4829
- if (!form) {
4830
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4831
- }
4832
- return vue.computed(() => {
4833
- var _a;
4834
- return (_a = form === null || form === void 0 ? void 0 : form.meta.value.dirty) !== null && _a !== void 0 ? _a : false;
4835
- });
4836
- }
4862
+ /**
4863
+ * Title prefix with primary color
4864
+ */
4865
+ prefixTitle: {
4866
+ type: String
4867
+ },
4837
4868
 
4838
- /**
4839
- * If the form is touched or not
4840
- */
4841
- function useIsFormTouched() {
4842
- const form = injectWithSelf(FormContextKey);
4843
- if (!form) {
4844
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4845
- }
4846
- return vue.computed(() => {
4847
- var _a;
4848
- return (_a = form === null || form === void 0 ? void 0 : form.meta.value.touched) !== null && _a !== void 0 ? _a : false;
4849
- });
4850
- }
4869
+ /**
4870
+ * A `router-link` path or object
4871
+ */
4872
+ to: {
4873
+ type: [String, Object]
4874
+ },
4851
4875
 
4852
- /**
4853
- * If the form has been validated and is valid
4854
- */
4855
- function useIsFormValid() {
4856
- const form = injectWithSelf(FormContextKey);
4857
- if (!form) {
4858
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4859
- }
4860
- return vue.computed(() => {
4861
- var _a;
4862
- return (_a = form === null || form === void 0 ? void 0 : form.meta.value.valid) !== null && _a !== void 0 ? _a : false;
4863
- });
4864
- }
4876
+ /**
4877
+ * A URL to link to using a native anchor element
4878
+ */
4879
+ href: String
4880
+ },
4881
+ setup: function setup(props) {
4882
+ var componentName = vue.computed(function () {
4883
+ if (props.to) return 'router-link';
4884
+ if (props.href) return 'a';
4885
+ return 'div';
4886
+ });
4887
+ return {
4888
+ componentName: componentName
4889
+ };
4890
+ }
4891
+ });var _hoisted_1$3 = {
4892
+ key: 0,
4893
+ "class": "fw-card--header text-lg px-8 py-4 font-bold bg-grey-lightest rounded-t-lg border-opacity-0"
4894
+ };
4895
+ var _hoisted_2$2 = {
4896
+ key: 0,
4897
+ "class": "fw-card--prefix-title text-primary"
4898
+ };
4899
+ var _hoisted_3$2 = {
4900
+ key: 1
4901
+ };
4902
+ var _hoisted_4$1 = {
4903
+ key: 1,
4904
+ "class": "p-8"
4905
+ };
4906
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
4907
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.componentName), {
4908
+ to: _ctx.to ? _ctx.to : null,
4909
+ href: _ctx.href ? _ctx.href : null,
4910
+ tabindex: _ctx.to ? 0 : null,
4911
+ "class": vue.normalizeClass(["fw-card shadow-card rounded-lg", _ctx.to || _ctx.href ? 'block cursor-pointer focus:outline-none ring-offset-3 focus:ring focus:ring-primary transform-none transition-transform hover:-translate-y-1' : ''])
4912
+ }, {
4913
+ "default": vue.withCtx(function () {
4914
+ return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$3, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$2, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$2, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
4915
+ }),
4916
+ _: 3
4917
+ }, 8, ["to", "href", "tabindex", "class"]);
4918
+ }script$4.render = render$4;var script$3 = vue.defineComponent({
4919
+ name: 'FwButton',
4920
+ emits: ['click', 'mouseover', 'mouseout', 'focusin', 'focusout'],
4921
+ props: {
4922
+ /**
4923
+ * A `router-link` path or object
4924
+ */
4925
+ to: {
4926
+ type: [String, Object]
4927
+ },
4865
4928
 
4866
- /**
4867
- * Validate multiple fields
4868
- */
4869
- function useValidateForm() {
4870
- const form = injectWithSelf(FormContextKey);
4871
- if (!form) {
4872
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4873
- }
4874
- return function validateField() {
4875
- if (!form) {
4876
- return Promise.resolve({ results: {}, errors: {}, valid: true });
4877
- }
4878
- return form.validate();
4879
- };
4880
- }
4929
+ /**
4930
+ * A URL to link to using a native anchor element
4931
+ */
4932
+ href: String,
4881
4933
 
4882
- /**
4883
- * The number of form's submission count
4884
- */
4885
- function useSubmitCount() {
4886
- const form = injectWithSelf(FormContextKey);
4887
- if (!form) {
4888
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4889
- }
4890
- return vue.computed(() => {
4891
- var _a;
4892
- return (_a = form === null || form === void 0 ? void 0 : form.submitCount.value) !== null && _a !== void 0 ? _a : 0;
4893
- });
4894
- }
4934
+ /**
4935
+ * The size of the button. Accepts: 'sm', 'md', 'lg', 'xl', '2xl'
4936
+ */
4937
+ size: {
4938
+ type: String,
4939
+ "default": 'lg',
4940
+ validator: function validator(value) {
4941
+ return ['sm', 'md', 'lg', 'xl', '2xl'].includes(value);
4942
+ }
4943
+ },
4895
4944
 
4896
- /**
4897
- * Gives access to a field's current value
4898
- */
4899
- function useFieldValue(path) {
4900
- const form = injectWithSelf(FormContextKey);
4901
- // We don't want to use self injected context as it doesn't make sense
4902
- const field = path ? undefined : vue.inject(FieldContextKey);
4903
- return vue.computed(() => {
4904
- if (path) {
4905
- return getFromPath(form === null || form === void 0 ? void 0 : form.values, vue.unref(path));
4906
- }
4907
- return vue.unref(field === null || field === void 0 ? void 0 : field.value);
4908
- });
4909
- }
4945
+ /**
4946
+ * The colour variant of the button.
4947
+ * Accepts 'primary', 'secondary', 'tertiary', 'error', 'success'
4948
+ */
4949
+ variant: {
4950
+ type: String,
4951
+ "default": 'primary',
4952
+ validator: function validator(value) {
4953
+ return ['primary', 'secondary', 'tertiary', 'error', 'success', 'link', 'text'].includes(value);
4954
+ }
4955
+ },
4910
4956
 
4911
- /**
4912
- * Gives access to a form's values
4913
- */
4914
- function useFormValues() {
4915
- const form = injectWithSelf(FormContextKey);
4916
- if (!form) {
4917
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4918
- }
4919
- return vue.computed(() => {
4920
- return (form === null || form === void 0 ? void 0 : form.values) || {};
4921
- });
4922
- }
4957
+ /**
4958
+ * The type attribute of the button
4959
+ */
4960
+ buttonType: {
4961
+ type: String,
4962
+ "default": 'button',
4963
+ validator: function validator(value) {
4964
+ return ['button', 'submit', 'reset'].includes(value);
4965
+ }
4966
+ }
4967
+ },
4968
+ setup: function setup(props, ctx) {
4969
+ var buttonClasses = vue.ref({
4970
+ primary: {
4971
+ text: 'text-tertiary hover:text-primary active:text-primary',
4972
+ background: 'bg-primary hover:bg-tertiary active:bg-tertiary',
4973
+ border: 'border-primary focus-visible:ring-primary'
4974
+ },
4975
+ secondary: {
4976
+ text: 'text-primary hover:text-tertiary active:text-tertiary',
4977
+ background: 'bg-tertiary hover:bg-primary active:bg-primary',
4978
+ border: 'border-primary focus-visible:ring-primary'
4979
+ },
4980
+ tertiary: {
4981
+ text: 'text-secondary hover:text-tertiary active:text-tertiary',
4982
+ background: 'bg-tertiary hover:bg-secondary active:bg-secondary',
4983
+ border: 'border-secondary focus-visible:ring-secondary'
4984
+ },
4985
+ success: {
4986
+ text: 'text-white hover:text-success active:text-success',
4987
+ background: 'bg-success hover:bg-white active:bg-white',
4988
+ border: 'border-success focus-visible:ring-success'
4989
+ },
4990
+ error: {
4991
+ text: 'text-white hover:text-error active:text-error',
4992
+ background: 'bg-error hover:bg-white active:bg-white',
4993
+ border: 'border-error focus-visible:ring-error'
4994
+ },
4995
+ link: {
4996
+ text: 'text-primary font-normal underline hover:no-underline active:no-underline focus-visible:no-underline',
4997
+ background: '',
4998
+ border: 'border-none focus-visible:ring-primary'
4999
+ },
5000
+ text: {
5001
+ text: 'text-body font-medium hover:text-white active:text-white',
5002
+ background: 'bg-white hover:bg-body active:bg-body',
5003
+ border: 'border-transparent focus-visible:ring-body'
5004
+ }
5005
+ });
5006
+ var sizes = vue.ref({
5007
+ sm: 'px-3 py-1 text-sm',
5008
+ md: 'px-6 py-1.5 text-md',
5009
+ lg: 'px-10 py-2.5 text-lg',
5010
+ xl: 'px-12 py-3 text-xl',
5011
+ '2xl': 'px-16 py-4 text-2xl'
5012
+ });
5013
+ var textColorClass = vue.computed(function () {
5014
+ return buttonClasses.value[props.variant].text;
5015
+ });
5016
+ var bgColorClass = vue.computed(function () {
5017
+ return buttonClasses.value[props.variant].background;
5018
+ });
5019
+ var sizeClass = vue.computed(function () {
5020
+ return sizes.value[props.size];
5021
+ });
5022
+ var borderClass = vue.computed(function () {
5023
+ return buttonClasses.value[props.variant].border;
5024
+ });
5025
+ /**
5026
+ * @event Click - Native click
5027
+ */
4923
5028
 
4924
- /**
4925
- * Gives access to all form errors
4926
- */
4927
- function useFormErrors() {
4928
- const form = injectWithSelf(FormContextKey);
4929
- if (!form) {
4930
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4931
- }
4932
- return vue.computed(() => {
4933
- return ((form === null || form === void 0 ? void 0 : form.errors.value) || {});
4934
- });
4935
- }
5029
+ var onClick = function onClick(e) {
5030
+ return ctx.emit('click', e);
5031
+ };
5032
+ /**
5033
+ * @event mouseover - Native hover
5034
+ */
4936
5035
 
4937
- /**
4938
- * Gives access to a single field error
4939
- */
4940
- function useFieldError(path) {
4941
- const form = injectWithSelf(FormContextKey);
4942
- // We don't want to use self injected context as it doesn't make sense
4943
- const field = path ? undefined : vue.inject(FieldContextKey);
4944
- return vue.computed(() => {
4945
- if (path) {
4946
- return form === null || form === void 0 ? void 0 : form.errors.value[vue.unref(path)];
4947
- }
4948
- return field === null || field === void 0 ? void 0 : field.errorMessage.value;
4949
- });
4950
- }
4951
5036
 
4952
- function useSubmitForm(cb) {
4953
- const form = injectWithSelf(FormContextKey);
4954
- if (!form) {
4955
- warn('No vee-validate <Form /> or `useForm` was detected in the component tree');
4956
- }
4957
- const onSubmit = form ? form.handleSubmit(cb) : undefined;
4958
- return function submitForm(e) {
4959
- if (!onSubmit) {
4960
- return;
4961
- }
4962
- return onSubmit(e);
4963
- };
4964
- }var script$1 = vue.defineComponent({
4965
- name: 'FwInput',
4966
- emits: ['update:modelValue'],
4967
- components: {
4968
- InputField: Field
4969
- },
4970
- props: {
5037
+ var onMouseover = function onMouseover(e) {
5038
+ return ctx.emit('mouseover', e);
5039
+ };
4971
5040
  /**
4972
- * The input v-model
5041
+ * @event mouseout - Native hover out
4973
5042
  */
4974
- modelValue: {
4975
- type: String,
4976
- "default": ''
4977
- },
4978
5043
 
5044
+
5045
+ var onMouseout = function onMouseout(e) {
5046
+ return ctx.emit('mouseout', e);
5047
+ };
4979
5048
  /**
4980
- * The name of the input field. Must be unique per form.
5049
+ * @event focusin - Native focusin
4981
5050
  */
4982
- name: {
4983
- type: String,
4984
- required: true
4985
- },
4986
5051
 
5052
+
5053
+ var onFocusin = function onFocusin(e) {
5054
+ return ctx.emit('focusin', e);
5055
+ };
4987
5056
  /**
4988
- * The input type. Accepts `text` | `password`
5057
+ * @event focusout - Native focusout
4989
5058
  */
4990
- type: {
4991
- type: String,
4992
- "default": 'text',
4993
- validator: function validator(value) {
4994
- return ['text', 'password'].includes(value);
4995
- }
4996
- },
4997
5059
 
5060
+
5061
+ var onFocusout = function onFocusout(e) {
5062
+ return ctx.emit('focusout', e);
5063
+ };
5064
+
5065
+ var tagName = vue.computed(function () {
5066
+ if (props.to) return 'router-link';
5067
+ if (props.href) return 'a';
5068
+ return 'button';
5069
+ });
5070
+ return {
5071
+ textColorClass: textColorClass,
5072
+ bgColorClass: bgColorClass,
5073
+ sizeClass: sizeClass,
5074
+ borderClass: borderClass,
5075
+ onClick: onClick,
5076
+ onMouseover: onMouseover,
5077
+ onMouseout: onMouseout,
5078
+ onFocusin: onFocusin,
5079
+ onFocusout: onFocusout,
5080
+ tagName: tagName
5081
+ };
5082
+ }
5083
+ });function render$3(_ctx, _cache, $props, $setup, $data, $options) {
5084
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tagName), {
5085
+ "class": vue.normalizeClass(["fw-button inline-block text-center cursor-pointer whitespace-nowrap border-2 focus:outline-0 focus-visible:outline-0 focus:ring-none ring-offset-2 focus-visible:ring", [_ctx.textColorClass, _ctx.bgColorClass, _ctx.sizeClass, _ctx.borderClass, _ctx.variant === 'link' ? 'pl-0 pr-0 pt-0 pb-0 rounded-none font-normal' : 'font-bold rounded-full']]),
5086
+ type: _ctx.tagName === 'button' ? _ctx.buttonType : null,
5087
+ to: _ctx.to ? _ctx.to : null,
5088
+ href: _ctx.href ? _ctx.href : null,
5089
+ tabindex: _ctx.to ? 0 : null,
5090
+ onClick: _ctx.onClick,
5091
+ onFocusin: _ctx.onFocusin,
5092
+ onFocusout: _ctx.onFocusout,
5093
+ onMouseover: _ctx.onMouseover,
5094
+ onMouseout: _ctx.onMouseout
5095
+ }, {
5096
+ "default": vue.withCtx(function () {
5097
+ return [vue.renderSlot(_ctx.$slots, "default")];
5098
+ }),
5099
+ _: 3
5100
+ }, 8, ["class", "type", "to", "href", "tabindex", "onClick", "onFocusin", "onFocusout", "onMouseover", "onMouseout"]);
5101
+ }var css_248z$1 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
5102
+ var stylesheet$1 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
5103
+ styleInject(css_248z$1);script$3.render = render$3;var script$2 = vue.defineComponent({
5104
+ name: 'FwNavigationMenu',
5105
+ emits: ['action'],
5106
+ components: {
5107
+ FwButton: script$3
5108
+ },
5109
+ props: {
4998
5110
  /**
4999
- * Label for the input. Also renders to an aria-label attribute
5111
+ * An array of menu items
5112
+ * `{ to?: string | object; href?: string; label: string; }`
5000
5113
  */
5001
- label: {
5002
- type: String
5114
+ menuItems: {
5115
+ type: Array
5003
5116
  },
5004
5117
 
5005
5118
  /**
5006
- * The placeholder text of the input
5119
+ * The label for the action button.
5120
+ * Also emits the `action` event.
5007
5121
  */
5008
- placeholder: {
5009
- type: String,
5010
- "default": ''
5011
- },
5122
+ actionLabel: {
5123
+ type: String
5124
+ }
5125
+ },
5126
+ setup: function setup(_props, ctx) {
5127
+ var isMobileMenuOpen = vue.ref(false);
5128
+
5129
+ var toggleMobileMenu = function toggleMobileMenu() {
5130
+ return isMobileMenuOpen.value = !isMobileMenuOpen.value;
5131
+ };
5132
+
5133
+ var actionClicked = function actionClicked() {
5134
+ return ctx.emit('action');
5135
+ };
5136
+
5137
+ return {
5138
+ isMobileMenuOpen: isMobileMenuOpen,
5139
+ toggleMobileMenu: toggleMobileMenu,
5140
+ actionClicked: actionClicked
5141
+ };
5142
+ }
5143
+ });var _hoisted_1$2 = {
5144
+ "class": "fw-nav-menu relative z-50 h-20 shadow-md"
5145
+ };
5146
+ var _hoisted_2$1 = {
5147
+ "class": "px-6 flex-1 h-full flex bg-white items-stretch justify-between"
5148
+ };
5149
+ var _hoisted_3$1 = {
5150
+ key: 0,
5151
+ "class": "flex-shrink-0 flex items-center"
5152
+ };
5153
+ var _hoisted_4 = {
5154
+ key: 1,
5155
+ "class": "container hidden sm:flex items-center justify-start sm:ml-6"
5156
+ };
5157
+ var _hoisted_5 = {
5158
+ "class": "flex space-x-2"
5159
+ };
5160
+ var _hoisted_6 = {
5161
+ key: 2,
5162
+ "class": "hidden sm:flex items-center justify-start sm:ml-6"
5163
+ };
5164
+ var _hoisted_7 = {
5165
+ "class": "flex items-center sm:hidden"
5166
+ };
5167
+
5168
+ var _hoisted_8 = /*#__PURE__*/vue.createElementVNode("span", {
5169
+ "class": "sr-only"
5170
+ }, "Open main menu", -1);
5171
+
5172
+ var _hoisted_9 = {
5173
+ "class": "block h-6 w-6",
5174
+ xmlns: "http://www.w3.org/2000/svg",
5175
+ fill: "none",
5176
+ viewBox: "0 0 24 24",
5177
+ stroke: "currentColor",
5178
+ "aria-hidden": "true"
5179
+ };
5180
+ var _hoisted_10 = ["d"];
5181
+ var _hoisted_11 = {
5182
+ key: 0,
5183
+ "class": "fw-nav-menu--mobile min-h-screen top-0 left-0 pt-20 absolute w-full flex flex-col justify-between px-2 bg-white shadow-md pb-3 space-y-1"
5184
+ };
5185
+ var _hoisted_12 = {
5186
+ "class": "w-full flex flex-col"
5187
+ };
5188
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
5189
+ var _ctx$menuItems;
5190
+
5191
+ var _component_FwButton = vue.resolveComponent("FwButton");
5192
+
5193
+ return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$2, [vue.createElementVNode("div", _hoisted_2$1, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [vue.createElementVNode("div", _hoisted_5, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
5194
+ return vue.openBlock(), vue.createBlock(_component_FwButton, {
5195
+ key: i,
5196
+ variant: "text",
5197
+ href: item.href,
5198
+ to: item.to,
5199
+ size: "md",
5200
+ "aria-current": "page"
5201
+ }, {
5202
+ "default": vue.withCtx(function () {
5203
+ return [vue.createTextVNode(vue.toDisplayString(item.label), 1)];
5204
+ }),
5205
+ _: 2
5206
+ }, 1032, ["href", "to"]);
5207
+ }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [vue.createVNode(_component_FwButton, {
5208
+ onClick: _ctx.actionClicked,
5209
+ size: "md",
5210
+ "aria-label": _ctx.actionLabel
5211
+ }, {
5212
+ "default": vue.withCtx(function () {
5213
+ return [vue.createTextVNode(vue.toDisplayString(_ctx.actionLabel), 1)];
5214
+ }),
5215
+ _: 1
5216
+ }, 8, ["onClick", "aria-label"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7, [vue.createVNode(_component_FwButton, {
5217
+ variant: "text",
5218
+ size: "sm",
5219
+ onClick: _ctx.toggleMobileMenu
5220
+ }, {
5221
+ "default": vue.withCtx(function () {
5222
+ return [_hoisted_8, (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9, [vue.createElementVNode("path", {
5223
+ "stroke-linecap": "round",
5224
+ "stroke-linejoin": "round",
5225
+ "stroke-width": "2",
5226
+ d: _ctx.isMobileMenuOpen ? 'M6 18L18 6M6 6l12 12' : 'M4 6h16M4 12h16M4 18h16'
5227
+ }, null, 8, _hoisted_10)]))];
5228
+ }),
5229
+ _: 1
5230
+ }, 8, ["onClick"])])]), vue.createVNode(vue.Transition, {
5231
+ name: "slideInLeft"
5232
+ }, {
5233
+ "default": vue.withCtx(function () {
5234
+ var _ctx$menuItems2;
5235
+
5236
+ return [((_ctx$menuItems2 = _ctx.menuItems) === null || _ctx$menuItems2 === void 0 ? void 0 : _ctx$menuItems2.length) > 0 && _ctx.isMobileMenuOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, [vue.createElementVNode("div", _hoisted_12, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
5237
+ return vue.openBlock(), vue.createBlock(_component_FwButton, {
5238
+ key: i,
5239
+ "class": "w-full rounded-md px-2",
5240
+ variant: "text",
5241
+ href: item.href,
5242
+ to: item.to,
5243
+ size: "md",
5244
+ "aria-current": "page"
5245
+ }, {
5246
+ "default": vue.withCtx(function () {
5247
+ return [vue.createTextVNode(vue.toDisplayString(item.label), 1)];
5248
+ }),
5249
+ _: 2
5250
+ }, 1032, ["href", "to"]);
5251
+ }), 128))]), _ctx.actionLabel ? (vue.openBlock(), vue.createBlock(_component_FwButton, {
5252
+ key: 0,
5253
+ "class": "w-full rounded-md px-2",
5254
+ onClick: _ctx.actionClicked,
5255
+ size: "md"
5256
+ }, {
5257
+ "default": vue.withCtx(function () {
5258
+ return [vue.createTextVNode(vue.toDisplayString(_ctx.actionLabel), 1)];
5259
+ }),
5260
+ _: 1
5261
+ }, 8, ["onClick"])) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)];
5262
+ }),
5263
+ _: 1
5264
+ })]);
5265
+ }var css_248z = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
5266
+ var stylesheet = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
5267
+ styleInject(css_248z);script$2.render = render$2;var es_number_constructor = {};var global$3 = global$r;
5268
+ var isCallable$1 = isCallable$e;
5269
+
5270
+ var String$2 = global$3.String;
5271
+ var TypeError$2 = global$3.TypeError;
5272
+
5273
+ var aPossiblePrototype$1 = function (argument) {
5274
+ if (typeof argument == 'object' || isCallable$1(argument)) return argument;
5275
+ throw TypeError$2("Can't set " + String$2(argument) + ' as a prototype');
5276
+ };/* eslint-disable no-proto -- safe */
5277
+
5278
+ var uncurryThis$3 = functionUncurryThis;
5279
+ var anObject = anObject$5;
5280
+ var aPossiblePrototype = aPossiblePrototype$1;
5281
+
5282
+ // `Object.setPrototypeOf` method
5283
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
5284
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
5285
+ // eslint-disable-next-line es/no-object-setprototypeof -- safe
5286
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
5287
+ var CORRECT_SETTER = false;
5288
+ var test = {};
5289
+ var setter;
5290
+ try {
5291
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
5292
+ setter = uncurryThis$3(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
5293
+ setter(test, []);
5294
+ CORRECT_SETTER = test instanceof Array;
5295
+ } catch (error) { /* empty */ }
5296
+ return function setPrototypeOf(O, proto) {
5297
+ anObject(O);
5298
+ aPossiblePrototype(proto);
5299
+ if (CORRECT_SETTER) setter(O, proto);
5300
+ else O.__proto__ = proto;
5301
+ return O;
5302
+ };
5303
+ }() : undefined);var isCallable = isCallable$e;
5304
+ var isObject = isObject$8;
5305
+ var setPrototypeOf = objectSetPrototypeOf;
5306
+
5307
+ // makes subclassing work correct for wrapped built-ins
5308
+ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
5309
+ var NewTarget, NewTargetPrototype;
5310
+ if (
5311
+ // it can work only with native `setPrototypeOf`
5312
+ setPrototypeOf &&
5313
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
5314
+ isCallable(NewTarget = dummy.constructor) &&
5315
+ NewTarget !== Wrapper &&
5316
+ isObject(NewTargetPrototype = NewTarget.prototype) &&
5317
+ NewTargetPrototype !== Wrapper.prototype
5318
+ ) setPrototypeOf($this, NewTargetPrototype);
5319
+ return $this;
5320
+ };var uncurryThis$2 = functionUncurryThis;
5321
+
5322
+ // `thisNumberValue` abstract operation
5323
+ // https://tc39.es/ecma262/#sec-thisnumbervalue
5324
+ var thisNumberValue$1 = uncurryThis$2(1.0.valueOf);var global$2 = global$r;
5325
+ var classof = classof$3;
5326
+
5327
+ var String$1 = global$2.String;
5328
+
5329
+ var toString$1 = function (argument) {
5330
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
5331
+ return String$1(argument);
5332
+ };// a string of all valid unicode whitespaces
5333
+ var whitespaces$1 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
5334
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';var uncurryThis$1 = functionUncurryThis;
5335
+ var requireObjectCoercible = requireObjectCoercible$3;
5336
+ var toString = toString$1;
5337
+ var whitespaces = whitespaces$1;
5338
+
5339
+ var replace = uncurryThis$1(''.replace);
5340
+ var whitespace = '[' + whitespaces + ']';
5341
+ var ltrim = RegExp('^' + whitespace + whitespace + '*');
5342
+ var rtrim = RegExp(whitespace + whitespace + '*$');
5343
+
5344
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
5345
+ var createMethod = function (TYPE) {
5346
+ return function ($this) {
5347
+ var string = toString(requireObjectCoercible($this));
5348
+ if (TYPE & 1) string = replace(string, ltrim, '');
5349
+ if (TYPE & 2) string = replace(string, rtrim, '');
5350
+ return string;
5351
+ };
5352
+ };
5012
5353
 
5013
- /**
5014
- * Validation rules. Accepts a string, object, function or schema.
5015
- */
5016
- rules: {
5017
- type: [String, Object, Function]
5018
- },
5354
+ var stringTrim = {
5355
+ // `String.prototype.{ trimLeft, trimStart }` methods
5356
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
5357
+ start: createMethod(1),
5358
+ // `String.prototype.{ trimRight, trimEnd }` methods
5359
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
5360
+ end: createMethod(2),
5361
+ // `String.prototype.trim` method
5362
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
5363
+ trim: createMethod(3)
5364
+ };'use strict';
5365
+ var DESCRIPTORS = descriptors;
5366
+ var global$1 = global$r;
5367
+ var uncurryThis = functionUncurryThis;
5368
+ var isForced = isForced_1;
5369
+ var redefine = redefine$4.exports;
5370
+ var hasOwn = hasOwnProperty_1;
5371
+ var inheritIfRequired = inheritIfRequired$1;
5372
+ var isPrototypeOf = objectIsPrototypeOf;
5373
+ var isSymbol = isSymbol$3;
5374
+ var toPrimitive = toPrimitive$2;
5375
+ var fails = fails$a;
5376
+ var getOwnPropertyNames = objectGetOwnPropertyNames.f;
5377
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
5378
+ var defineProperty = objectDefineProperty.f;
5379
+ var thisNumberValue = thisNumberValue$1;
5380
+ var trim = stringTrim.trim;
5381
+
5382
+ var NUMBER = 'Number';
5383
+ var NativeNumber = global$1[NUMBER];
5384
+ var NumberPrototype = NativeNumber.prototype;
5385
+ var TypeError$1 = global$1.TypeError;
5386
+ var arraySlice = uncurryThis(''.slice);
5387
+ var charCodeAt = uncurryThis(''.charCodeAt);
5388
+
5389
+ // `ToNumeric` abstract operation
5390
+ // https://tc39.es/ecma262/#sec-tonumeric
5391
+ var toNumeric = function (value) {
5392
+ var primValue = toPrimitive(value, 'number');
5393
+ return typeof primValue == 'bigint' ? primValue : toNumber(primValue);
5394
+ };
5019
5395
 
5020
- /**
5021
- * Converts the input into a readonly disabled field
5022
- */
5023
- readonly: {
5024
- type: Boolean,
5025
- "default": false
5026
- },
5396
+ // `ToNumber` abstract operation
5397
+ // https://tc39.es/ecma262/#sec-tonumber
5398
+ var toNumber = function (argument) {
5399
+ var it = toPrimitive(argument, 'number');
5400
+ var first, third, radix, maxCode, digits, length, index, code;
5401
+ if (isSymbol(it)) throw TypeError$1('Cannot convert a Symbol value to a number');
5402
+ if (typeof it == 'string' && it.length > 2) {
5403
+ it = trim(it);
5404
+ first = charCodeAt(it, 0);
5405
+ if (first === 43 || first === 45) {
5406
+ third = charCodeAt(it, 2);
5407
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
5408
+ } else if (first === 48) {
5409
+ switch (charCodeAt(it, 1)) {
5410
+ case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
5411
+ case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
5412
+ default: return +it;
5413
+ }
5414
+ digits = arraySlice(it, 2);
5415
+ length = digits.length;
5416
+ for (index = 0; index < length; index++) {
5417
+ code = charCodeAt(digits, index);
5418
+ // parseInt parses a string to a first unavailable symbol
5419
+ // but ToNumber should return NaN if a string contains unavailable symbols
5420
+ if (code < 48 || code > maxCode) return NaN;
5421
+ } return parseInt(digits, radix);
5422
+ }
5423
+ } return +it;
5424
+ };
5027
5425
 
5426
+ // `Number` constructor
5427
+ // https://tc39.es/ecma262/#sec-number-constructor
5428
+ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
5429
+ var NumberWrapper = function Number(value) {
5430
+ var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
5431
+ var dummy = this;
5432
+ // check on 1..constructor(foo) case
5433
+ return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })
5434
+ ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;
5435
+ };
5436
+ for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
5437
+ // ES3:
5438
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
5439
+ // ES2015 (in case, if modules with ES2015 Number statics required before):
5440
+ 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +
5441
+ // ESNext
5442
+ 'fromString,range'
5443
+ ).split(','), j = 0, key; keys.length > j; j++) {
5444
+ if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {
5445
+ defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
5446
+ }
5447
+ }
5448
+ NumberWrapper.prototype = NumberPrototype;
5449
+ NumberPrototype.constructor = NumberWrapper;
5450
+ redefine(global$1, NUMBER, NumberWrapper);
5451
+ }var script$1 = vue.defineComponent({
5452
+ name: 'FwTabs',
5453
+ emits: ['update:modelValue'],
5454
+ props: {
5028
5455
  /**
5029
- * The hint text shown below the input
5456
+ * The active tab v-model
5030
5457
  */
5031
- hint: {
5032
- type: String
5458
+ modelValue: {
5459
+ type: Number,
5460
+ required: true
5033
5461
  }
5034
5462
  },
5035
5463
  setup: function setup(props, ctx) {
5036
- var inputValue = vue.computed({
5037
- get: function get() {
5038
- return props.modelValue;
5039
- },
5040
- set: function set(state) {
5041
- return ctx.emit('update:modelValue', state);
5042
- }
5464
+ var active = vue.computed(function () {
5465
+ return props.modelValue;
5466
+ });
5467
+ var tabs = vue.ref([]);
5468
+
5469
+ var selectTab = function selectTab(tab) {
5470
+ ctx.emit('update:modelValue', tab);
5471
+ };
5472
+
5473
+ vue.provide('tabsState', {
5474
+ active: active,
5475
+ tabs: tabs
5043
5476
  });
5044
5477
  return {
5045
- inputValue: inputValue
5478
+ active: active,
5479
+ tabs: tabs,
5480
+ selectTab: selectTab
5046
5481
  };
5047
5482
  }
5048
- });var es_function_name = {};var DESCRIPTORS = descriptors;
5049
- var FUNCTION_NAME_EXISTS = functionName.EXISTS;
5050
- var uncurryThis = functionUncurryThis;
5051
- var defineProperty = objectDefineProperty.f;
5052
-
5053
- var FunctionPrototype = Function.prototype;
5054
- var functionToString = uncurryThis(FunctionPrototype.toString);
5055
- var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
5056
- var regExpExec = uncurryThis(nameRE.exec);
5057
- var NAME = 'name';
5058
-
5059
- // Function instances `.name` property
5060
- // https://tc39.es/ecma262/#sec-function-instances-name
5061
- if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
5062
- defineProperty(FunctionPrototype, NAME, {
5063
- configurable: true,
5064
- get: function () {
5065
- try {
5066
- return regExpExec(nameRE, functionToString(this))[1];
5067
- } catch (error) {
5068
- return '';
5069
- }
5070
- }
5071
- });
5072
- }var _hoisted_1$1 = {
5073
- "class": "fw-input w-full"
5074
- };
5075
- var _hoisted_2$1 = {
5076
- "class": "flex flex-col"
5077
- };
5078
- var _hoisted_3$1 = {
5079
- "class": "flex flex-row justify-between"
5080
- };
5081
- var _hoisted_4$1 = ["for"];
5082
- var _hoisted_5$1 = {
5083
- key: 1
5084
- };
5085
- var _hoisted_6$1 = {
5086
- "class": "relative"
5483
+ });var _hoisted_1$1 = {
5484
+ "class": "fw-tabs"
5087
5485
  };
5088
- var _hoisted_7$1 = {
5486
+ var _hoisted_2 = {
5089
5487
  key: 0,
5090
- "class": "flex text-black absolute w-9 h-full inset-y-0 left-0 items-center pl-3 pointer-events-none"
5488
+ "class": "flex flex-wrap -mb-px border-b border-grey-light dark:text-grey-base dark:border-grey-base"
5091
5489
  };
5092
- var _hoisted_8$1 = ["placeholder", "type", "readonly", "disabled"];
5490
+ var _hoisted_3 = ["onClick"];
5491
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
5492
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [_ctx.tabs ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, function (tab, i) {
5493
+ return vue.openBlock(), vue.createElementBlock("li", {
5494
+ "class": "mr-2",
5495
+ key: i
5496
+ }, [vue.createElementVNode("button", {
5497
+ type: "button",
5498
+ onClick: function onClick($event) {
5499
+ return _ctx.selectTab(i);
5500
+ },
5501
+ "class": vue.normalizeClass(["inline-block p-4 outline-primary border-b-2 border-transparent transition ease-in", _ctx.active === i ? 'font-medium border-black' : 'hover:bg-grey-lightest'])
5502
+ }, vue.toDisplayString(tab.props.label), 11, _hoisted_3)]);
5503
+ }), 128))])) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default")]);
5504
+ }script$1.render = render$1;var es_array_findIndex = {};'use strict';
5505
+ var $ = _export;
5506
+ var $findIndex = arrayIteration.findIndex;
5507
+ var addToUnscopables = addToUnscopables$2;
5093
5508
 
5094
- var _hoisted_9 = /*#__PURE__*/vue.createElementVNode("svg", {
5095
- fill: "currentColor",
5096
- "aria-hidden": "true",
5097
- focusable: "false",
5098
- role: "img",
5099
- xmlns: "http://www.w3.org/2000/svg",
5100
- viewBox: "0 0 512 512"
5101
- }, [/*#__PURE__*/vue.createElementVNode("path", {
5102
- d: "M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM232 152C232 138.8\n 242.8 128 256 128s24 10.75 24 24v128c0 13.25-10.75 24-24 24S232 293.3 232 280V152zM256 400c-17.36\n 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 385.9 273.4\n 400 256 400z"
5103
- })], -1);
5509
+ var FIND_INDEX = 'findIndex';
5510
+ var SKIPS_HOLES = true;
5104
5511
 
5105
- var _hoisted_10 = [_hoisted_9];
5106
- var _hoisted_11 = {
5107
- key: 1,
5108
- "class": "flex text-black absolute w-10 h-full inset-y-0 right-0 items-center pr-3"
5109
- };
5110
- var _hoisted_12 = {
5111
- "class": "italic text-right text-sm font-medium mt-2 min-h-[21px]"
5112
- };
5113
- var _hoisted_13 = {
5114
- key: 0,
5115
- "class": "text-error"
5116
- };
5117
- var _hoisted_14 = {
5118
- key: 1
5119
- };
5120
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
5121
- var _component_InputField = vue.resolveComponent("InputField");
5512
+ // Shouldn't skip holes
5513
+ if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
5122
5514
 
5123
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [vue.createVNode(_component_InputField, {
5124
- modelValue: _ctx.inputValue,
5125
- "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
5126
- return _ctx.inputValue = $event;
5127
- }),
5128
- name: _ctx.name,
5129
- rules: _ctx.rules
5130
- }, {
5131
- "default": vue.withCtx(function (_ref) {
5132
- var field = _ref.field,
5133
- errors = _ref.errors,
5134
- errorMessage = _ref.errorMessage,
5135
- meta = _ref.meta;
5136
- return [vue.createElementVNode("div", _hoisted_2$1, [vue.createElementVNode("div", _hoisted_3$1, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5137
- key: 0,
5138
- "for": _ctx.name,
5139
- "class": "block mb-2"
5140
- }, vue.toDisplayString(_ctx.label), 9, _hoisted_4$1)) : vue.createCommentVNode("", true), _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [vue.renderSlot(_ctx.$slots, "action")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_6$1, [_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [vue.renderSlot(_ctx.$slots, "prefix")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
5141
- placeholder: _ctx.placeholder,
5142
- type: _ctx.type,
5143
- readonly: _ctx.readonly,
5144
- disabled: _ctx.readonly,
5145
- "class": ["border-2 border-grey-lightest rounded-lg focus:outline-none focus:ring-2 focus:ring-primary block w-full p-2.5", {
5146
- 'pl-10': !!_ctx.$slots.prefix,
5147
- 'pr-20': !!_ctx.$slots.suffix
5148
- }]
5149
- }), null, 16, _hoisted_8$1), vue.createVNode(vue.Transition, {
5150
- name: "fwFadeIn"
5151
- }, {
5152
- "default": vue.withCtx(function () {
5153
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("div", {
5154
- key: 0,
5155
- "class": vue.normalizeClass(["flex text-error absolute w-9 h-full inset-y-0 right-0 items-center pr-3 pointer-events-none", _ctx.$slots.suffix ? 'mr-8' : ''])
5156
- }, _hoisted_10, 2)) : vue.createCommentVNode("", true)];
5157
- }),
5158
- _: 2
5159
- }, 1024), _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, [vue.renderSlot(_ctx.$slots, "suffix")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_12, [vue.createVNode(vue.Transition, {
5160
- name: "fwFadeIn",
5161
- mode: "out-in"
5162
- }, {
5163
- "default": vue.withCtx(function () {
5164
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_13, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
5165
- }),
5166
- _: 2
5167
- }, 1024)])])];
5168
- }),
5169
- _: 3
5170
- }, 8, ["modelValue", "name", "rules"])]);
5171
- }var css_248z$1 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
5172
- var stylesheet$1 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
5173
- styleInject(css_248z$1);script$1.render = render$1;var script = vue.defineComponent({
5174
- name: 'FwCheckbox',
5175
- components: {
5176
- InputField: Field
5177
- },
5515
+ // `Array.prototype.findIndex` method
5516
+ // https://tc39.es/ecma262/#sec-array.prototype.findindex
5517
+ $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
5518
+ findIndex: function findIndex(callbackfn /* , that = undefined */) {
5519
+ return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
5520
+ }
5521
+ });
5522
+
5523
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5524
+ addToUnscopables(FIND_INDEX);var script = vue.defineComponent({
5525
+ name: 'FwTab',
5178
5526
  props: {
5179
5527
  /**
5180
- * The name of the input field. Must be unique per form.
5528
+ * The label of the tab component used as the button panel label
5181
5529
  */
5182
- name: {
5530
+ label: {
5183
5531
  type: String,
5184
5532
  required: true
5185
- },
5533
+ }
5534
+ },
5535
+ setup: function setup() {
5536
+ var instance = vue.getCurrentInstance();
5186
5537
 
5187
- /**
5188
- * Label for the input. Also renders to an aria-label attribute
5189
- */
5190
- label: {
5191
- type: String
5538
+ var _ref = vue.inject('tabsState') || {
5539
+ tabs: [],
5540
+ active: 0
5192
5541
  },
5542
+ tabs = _ref.tabs,
5543
+ active = _ref.active;
5193
5544
 
5194
- /**
5195
- * Validation rules. Accepts a string, object, function or schema.
5196
- */
5197
- rules: {
5198
- type: [String, Object, Function]
5199
- },
5545
+ var index = vue.computed(function () {
5546
+ var _tabs$value;
5200
5547
 
5201
- /**
5202
- * The hint text shown below the input
5203
- */
5204
- hint: {
5205
- type: String
5206
- }
5548
+ return (_tabs$value = tabs.value) === null || _tabs$value === void 0 ? void 0 : _tabs$value.findIndex(function (target) {
5549
+ return target.uid === (instance === null || instance === void 0 ? void 0 : instance.uid);
5550
+ });
5551
+ });
5552
+ var isActive = vue.computed(function () {
5553
+ return index.value === active.value;
5554
+ });
5555
+ vue.watchEffect(function () {
5556
+ if (index.value === -1) {
5557
+ tabs.value.push(instance);
5558
+ }
5559
+ });
5560
+ return {
5561
+ isActive: isActive,
5562
+ index: index
5563
+ };
5207
5564
  }
5208
5565
  });var _hoisted_1 = {
5209
- "class": "fw-checkbox w-full"
5210
- };
5211
- var _hoisted_2 = {
5212
- "class": "flex flex-col"
5213
- };
5214
- var _hoisted_3 = ["for"];
5215
- var _hoisted_4 = ["value", "name"];
5216
- var _hoisted_5 = ["innerHTML"];
5217
- var _hoisted_6 = {
5218
- "class": "italic text-sm font-medium min-h-[21px]"
5219
- };
5220
- var _hoisted_7 = {
5221
5566
  key: 0,
5222
- "class": "text-error"
5223
- };
5224
- var _hoisted_8 = {
5225
- key: 1
5567
+ "class": "fw-tab w-full"
5226
5568
  };
5227
5569
  function render(_ctx, _cache, $props, $setup, $data, $options) {
5228
- var _component_InputField = vue.resolveComponent("InputField");
5229
-
5230
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createVNode(_component_InputField, {
5231
- name: _ctx.name,
5232
- value: _ctx.name,
5233
- type: "checkbox",
5234
- rules: _ctx.rules
5235
- }, {
5236
- "default": vue.withCtx(function (_ref) {
5237
- var field = _ref.field,
5238
- errors = _ref.errors,
5239
- errorMessage = _ref.errorMessage,
5240
- meta = _ref.meta;
5241
- return [vue.createElementVNode("div", _hoisted_2, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5242
- key: 0,
5243
- "for": _ctx.name,
5244
- "class": "inline-flex items-center mb-3"
5245
- }, [vue.createElementVNode("input", vue.mergeProps(field, {
5246
- value: _ctx.name,
5247
- name: _ctx.name,
5248
- type: "checkbox",
5249
- "class": "text-primary w-6 h-6 cursor-pointer bg-white border-grey-light border rounded"
5250
- }), null, 16, _hoisted_4), vue.createElementVNode("span", {
5251
- "class": "ml-2",
5252
- innerHTML: _ctx.label
5253
- }, null, 8, _hoisted_5)], 8, _hoisted_3)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_6, [vue.createVNode(vue.Transition, {
5254
- name: "fwFadeIn",
5255
- mode: "out-in"
5256
- }, {
5257
- "default": vue.withCtx(function () {
5258
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
5259
- }),
5260
- _: 2
5261
- }, 1024)])])];
5262
- }),
5263
- _: 1
5264
- }, 8, ["name", "value", "rules"])]);
5265
- }var css_248z = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
5266
- var stylesheet = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
5267
- styleInject(css_248z);script.render = render;var components$1=/*#__PURE__*/Object.freeze({__proto__:null,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwForm:Form,FwInput:script$1,FwCheckbox:script});var install = function install(app) {
5570
+ return _ctx.isActive ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true);
5571
+ }script.render = render;// Form components
5572
+ var components$1=/*#__PURE__*/Object.freeze({__proto__:null,FwForm:Form,FwInput:script$6,FwCheckbox:script$5,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwTabs:script$1,FwTab:script});var install = function install(app) {
5268
5573
  Object.entries(components$1).forEach(function (_ref) {
5269
5574
  var _ref2 = _slicedToArray(_ref, 2),
5270
5575
  componentName = _ref2[0],
@@ -5272,7 +5577,7 @@ styleInject(css_248z);script.render = render;var components$1=/*#__PURE__*/Objec
5272
5577
 
5273
5578
  app.component(componentName, component);
5274
5579
  });
5275
- };var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwForm:Form,FwInput:script$1,FwCheckbox:script});Object.entries(components).forEach(function (_ref) {
5580
+ };var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,FwForm:Form,FwInput:script$6,FwCheckbox:script$5,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwTabs:script$1,FwTab:script});Object.entries(components).forEach(function (_ref) {
5276
5581
  var _ref2 = _slicedToArray(_ref, 2),
5277
5582
  componentName = _ref2[0],
5278
5583
  component = _ref2[1];