@process.co/ui 0.0.20 → 0.0.21

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.
@@ -2,6 +2,10 @@
2
2
 
3
3
  var React3 = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
+ require('react-dom');
6
+ var PropTypes = require('prop-types');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
5
9
 
6
10
  function _interopNamespace(e) {
7
11
  if (e && e.__esModule) return e;
@@ -22,6 +26,92 @@ function _interopNamespace(e) {
22
26
  }
23
27
 
24
28
  var React3__namespace = /*#__PURE__*/_interopNamespace(React3);
29
+ var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
30
+
31
+ var __getOwnPropNames = Object.getOwnPropertyNames;
32
+ var __commonJS = (cb, mod) => function __require() {
33
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
34
+ };
35
+
36
+ // ../../node_modules/.pnpm/@fortawesome+fontawesome-svg-core@6.7.2/node_modules/@fortawesome/fontawesome-svg-core/package.json
37
+ var require_package = __commonJS({
38
+ "../../node_modules/.pnpm/@fortawesome+fontawesome-svg-core@6.7.2/node_modules/@fortawesome/fontawesome-svg-core/package.json"(exports$1, module) {
39
+ module.exports = {
40
+ description: "The iconic font, CSS, and SVG framework",
41
+ keywords: [
42
+ "font",
43
+ "awesome",
44
+ "fontawesome",
45
+ "icon",
46
+ "svg",
47
+ "bootstrap"
48
+ ],
49
+ homepage: "https://fontawesome.com",
50
+ bugs: {
51
+ url: "https://github.com/FortAwesome/Font-Awesome/issues"
52
+ },
53
+ author: "The Font Awesome Team (https://github.com/orgs/FortAwesome/people)",
54
+ repository: {
55
+ type: "git",
56
+ url: "https://github.com/FortAwesome/Font-Awesome"
57
+ },
58
+ engines: {
59
+ node: ">=6"
60
+ },
61
+ dependencies: {
62
+ "@fortawesome/fontawesome-common-types": "6.7.2"
63
+ },
64
+ version: "6.7.2",
65
+ name: "@fortawesome/fontawesome-svg-core",
66
+ main: "index.js",
67
+ module: "index.mjs",
68
+ "jsnext:main": "index.mjs",
69
+ style: "styles.css",
70
+ license: "MIT",
71
+ types: "./index.d.ts",
72
+ exports: {
73
+ ".": {
74
+ types: "./index.d.ts",
75
+ module: "./index.mjs",
76
+ import: "./index.mjs",
77
+ require: "./index.js",
78
+ style: "./styles.css",
79
+ default: "./index.js"
80
+ },
81
+ "./index": {
82
+ types: "./index.d.ts",
83
+ module: "./index.mjs",
84
+ import: "./index.mjs",
85
+ require: "./index.js",
86
+ default: "./index.js"
87
+ },
88
+ "./index.js": {
89
+ types: "./index.d.ts",
90
+ module: "./index.mjs",
91
+ import: "./index.mjs",
92
+ require: "./index.js",
93
+ default: "./index.js"
94
+ },
95
+ "./plugins": {
96
+ types: "./index.d.ts",
97
+ module: "./plugins.mjs",
98
+ import: "./plugins.mjs",
99
+ default: "./plugins.mjs"
100
+ },
101
+ "./import.macro": "./import.macro.js",
102
+ "./import.macro.js": "./import.macro.js",
103
+ "./styles": "./styles.css",
104
+ "./styles.css": "./styles.css",
105
+ "./package.json": "./package.json"
106
+ },
107
+ sideEffects: [
108
+ "./index.js",
109
+ "./index.mjs",
110
+ "./styles.css"
111
+ ]
112
+ };
113
+ }
114
+ });
25
115
 
26
116
  // src/components/slots/SlotElements.tsx
27
117
  var SlotElements = (props) => {
@@ -59,6 +149,9 @@ function composeRefs(...refs) {
59
149
  }
60
150
  };
61
151
  }
152
+ function useComposedRefs(...refs) {
153
+ return React3__namespace.useCallback(composeRefs(...refs), refs);
154
+ }
62
155
  var REACT_LAZY_TYPE = Symbol.for("react.lazy");
63
156
  var use = React3__namespace[" use ".trim().toString()];
64
157
  function isPromiseLike(value) {
@@ -159,26 +252,26 @@ function getElementRef(element) {
159
252
 
160
253
  // ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
161
254
  function r(e) {
162
- var t, f, n = "";
255
+ var t2, f, n = "";
163
256
  if ("string" == typeof e || "number" == typeof e) n += e;
164
257
  else if ("object" == typeof e) if (Array.isArray(e)) {
165
- var o = e.length;
166
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
258
+ var o2 = e.length;
259
+ for (t2 = 0; t2 < o2; t2++) e[t2] && (f = r(e[t2])) && (n && (n += " "), n += f);
167
260
  } else for (f in e) e[f] && (n && (n += " "), n += f);
168
261
  return n;
169
262
  }
170
263
  function clsx() {
171
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
264
+ for (var e, t2, f = 0, n = "", o2 = arguments.length; f < o2; f++) (e = arguments[f]) && (t2 = r(e)) && (n && (n += " "), n += t2);
172
265
  return n;
173
266
  }
174
267
 
175
268
  // ../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs
176
269
  var falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
177
270
  var cx = clsx;
178
- var cva = (base, config) => (props) => {
271
+ var cva = (base, config2) => (props) => {
179
272
  var _config_compoundVariants;
180
- if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
181
- const { variants, defaultVariants } = config;
273
+ if ((config2 === null || config2 === void 0 ? void 0 : config2.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
274
+ const { variants, defaultVariants } = config2;
182
275
  const getVariantClassNames = Object.keys(variants).map((variant) => {
183
276
  const variantProp = props === null || props === void 0 ? void 0 : props[variant];
184
277
  const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
@@ -194,7 +287,7 @@ var cva = (base, config) => (props) => {
194
287
  acc[key] = value;
195
288
  return acc;
196
289
  }, {});
197
- const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {
290
+ const getCompoundVariantClassNames = config2 === null || config2 === void 0 ? void 0 : (_config_compoundVariants = config2.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {
198
291
  let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;
199
292
  return Object.entries(compoundVariantOptions).every((param2) => {
200
293
  let [key, value] = param2;
@@ -237,12 +330,12 @@ var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators =
237
330
  var CLASS_PART_SEPARATOR = "-";
238
331
  var EMPTY_CONFLICTS = [];
239
332
  var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
240
- var createClassGroupUtils = (config) => {
241
- const classMap = createClassMap(config);
333
+ var createClassGroupUtils = (config2) => {
334
+ const classMap = createClassMap(config2);
242
335
  const {
243
336
  conflictingClassGroups,
244
337
  conflictingClassGroupModifiers
245
- } = config;
338
+ } = config2;
246
339
  const getClassGroupId = (className) => {
247
340
  if (className.startsWith("[") && className.endsWith("]")) {
248
341
  return getGroupIdForArbitraryProperty(className);
@@ -301,11 +394,11 @@ var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).index
301
394
  const property = content.slice(0, colonIndex);
302
395
  return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
303
396
  })();
304
- var createClassMap = (config) => {
397
+ var createClassMap = (config2) => {
305
398
  const {
306
399
  theme,
307
400
  classGroups
308
- } = config;
401
+ } = config2;
309
402
  return processClassGroups(classGroups, theme);
310
403
  };
311
404
  var processClassGroups = (classGroups, theme) => {
@@ -422,11 +515,11 @@ var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybeP
422
515
  maybePostfixModifierPosition,
423
516
  isExternal
424
517
  });
425
- var createParseClassName = (config) => {
518
+ var createParseClassName = (config2) => {
426
519
  const {
427
520
  prefix,
428
521
  experimentalParseClassName
429
- } = config;
522
+ } = config2;
430
523
  let parseClassName = (className) => {
431
524
  const modifiers = [];
432
525
  let bracketDepth = 0;
@@ -485,9 +578,9 @@ var createParseClassName = (config) => {
485
578
  }
486
579
  return parseClassName;
487
580
  };
488
- var createSortModifiers = (config) => {
581
+ var createSortModifiers = (config2) => {
489
582
  const modifierWeights = /* @__PURE__ */ new Map();
490
- config.orderSensitiveModifiers.forEach((mod, index) => {
583
+ config2.orderSensitiveModifiers.forEach((mod, index) => {
491
584
  modifierWeights.set(mod, 1e6 + index);
492
585
  });
493
586
  return (modifiers) => {
@@ -515,14 +608,14 @@ var createSortModifiers = (config) => {
515
608
  return result;
516
609
  };
517
610
  };
518
- var createConfigUtils = (config) => ({
519
- cache: createLruCache(config.cacheSize),
520
- parseClassName: createParseClassName(config),
521
- sortModifiers: createSortModifiers(config),
522
- ...createClassGroupUtils(config)
611
+ var createConfigUtils = (config2) => ({
612
+ cache: createLruCache(config2.cacheSize),
613
+ parseClassName: createParseClassName(config2),
614
+ sortModifiers: createSortModifiers(config2),
615
+ ...createClassGroupUtils(config2)
523
616
  });
524
617
  var SPLIT_CLASSES_REGEX = /\s+/;
525
- var mergeClassList = (classList, configUtils) => {
618
+ var mergeClassList = (classList2, configUtils) => {
526
619
  const {
527
620
  parseClassName,
528
621
  getClassGroupId,
@@ -530,7 +623,7 @@ var mergeClassList = (classList, configUtils) => {
530
623
  sortModifiers
531
624
  } = configUtils;
532
625
  const classGroupsInConflict = [];
533
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
626
+ const classNames = classList2.trim().split(SPLIT_CLASSES_REGEX);
534
627
  let result = "";
535
628
  for (let index = classNames.length - 1; index >= 0; index -= 1) {
536
629
  const originalClassName = classNames[index];
@@ -611,21 +704,21 @@ var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
611
704
  let cacheGet;
612
705
  let cacheSet;
613
706
  let functionToCall;
614
- const initTailwindMerge = (classList) => {
615
- const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
616
- configUtils = createConfigUtils(config);
707
+ const initTailwindMerge = (classList2) => {
708
+ const config2 = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
709
+ configUtils = createConfigUtils(config2);
617
710
  cacheGet = configUtils.cache.get;
618
711
  cacheSet = configUtils.cache.set;
619
712
  functionToCall = tailwindMerge;
620
- return tailwindMerge(classList);
713
+ return tailwindMerge(classList2);
621
714
  };
622
- const tailwindMerge = (classList) => {
623
- const cachedResult = cacheGet(classList);
715
+ const tailwindMerge = (classList2) => {
716
+ const cachedResult = cacheGet(classList2);
624
717
  if (cachedResult) {
625
718
  return cachedResult;
626
719
  }
627
- const result = mergeClassList(classList, configUtils);
628
- cacheSet(classList, result);
720
+ const result = mergeClassList(classList2, configUtils);
721
+ cacheSet(classList2, result);
629
722
  return result;
630
723
  };
631
724
  functionToCall = initTailwindMerge;
@@ -3279,8 +3372,3710 @@ var ExportManager = (props) => {
3279
3372
  const { slotId } = props;
3280
3373
  return /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "sm" }, "Manage Exports");
3281
3374
  };
3375
+ function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
3376
+ return function handleEvent(event) {
3377
+ originalEventHandler?.(event);
3378
+ if (checkForDefaultPrevented === false || !event.defaultPrevented) {
3379
+ return ourEventHandler?.(event);
3380
+ }
3381
+ };
3382
+ }
3383
+ function createContextScope(scopeName, createContextScopeDeps = []) {
3384
+ let defaultContexts = [];
3385
+ function createContext3(rootComponentName, defaultContext) {
3386
+ const BaseContext = React3__namespace.createContext(defaultContext);
3387
+ const index = defaultContexts.length;
3388
+ defaultContexts = [...defaultContexts, defaultContext];
3389
+ const Provider = (props) => {
3390
+ const { scope, children, ...context } = props;
3391
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
3392
+ const value = React3__namespace.useMemo(() => context, Object.values(context));
3393
+ return /* @__PURE__ */ jsxRuntime.jsx(Context.Provider, { value, children });
3394
+ };
3395
+ Provider.displayName = rootComponentName + "Provider";
3396
+ function useContext2(consumerName, scope) {
3397
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
3398
+ const context = React3__namespace.useContext(Context);
3399
+ if (context) return context;
3400
+ if (defaultContext !== void 0) return defaultContext;
3401
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
3402
+ }
3403
+ return [Provider, useContext2];
3404
+ }
3405
+ const createScope = () => {
3406
+ const scopeContexts = defaultContexts.map((defaultContext) => {
3407
+ return React3__namespace.createContext(defaultContext);
3408
+ });
3409
+ return function useScope(scope) {
3410
+ const contexts = scope?.[scopeName] || scopeContexts;
3411
+ return React3__namespace.useMemo(
3412
+ () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
3413
+ [scope, contexts]
3414
+ );
3415
+ };
3416
+ };
3417
+ createScope.scopeName = scopeName;
3418
+ return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
3419
+ }
3420
+ function composeContextScopes(...scopes) {
3421
+ const baseScope = scopes[0];
3422
+ if (scopes.length === 1) return baseScope;
3423
+ const createScope = () => {
3424
+ const scopeHooks = scopes.map((createScope2) => ({
3425
+ useScope: createScope2(),
3426
+ scopeName: createScope2.scopeName
3427
+ }));
3428
+ return function useComposedScopes(overrideScopes) {
3429
+ const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
3430
+ const scopeProps = useScope(overrideScopes);
3431
+ const currentScope = scopeProps[`__scope${scopeName}`];
3432
+ return { ...nextScopes2, ...currentScope };
3433
+ }, {});
3434
+ return React3__namespace.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
3435
+ };
3436
+ };
3437
+ createScope.scopeName = baseScope.scopeName;
3438
+ return createScope;
3439
+ }
3440
+ var useLayoutEffect2 = globalThis?.document ? React3__namespace.useLayoutEffect : () => {
3441
+ };
3442
+ var useInsertionEffect = React3__namespace[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
3443
+ function useControllableState({
3444
+ prop,
3445
+ defaultProp,
3446
+ onChange: onChange2 = () => {
3447
+ },
3448
+ caller
3449
+ }) {
3450
+ const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
3451
+ defaultProp,
3452
+ onChange: onChange2
3453
+ });
3454
+ const isControlled = prop !== void 0;
3455
+ const value = isControlled ? prop : uncontrolledProp;
3456
+ {
3457
+ const isControlledRef = React3__namespace.useRef(prop !== void 0);
3458
+ React3__namespace.useEffect(() => {
3459
+ const wasControlled = isControlledRef.current;
3460
+ if (wasControlled !== isControlled) {
3461
+ const from = wasControlled ? "controlled" : "uncontrolled";
3462
+ const to = isControlled ? "controlled" : "uncontrolled";
3463
+ console.warn(
3464
+ `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
3465
+ );
3466
+ }
3467
+ isControlledRef.current = isControlled;
3468
+ }, [isControlled, caller]);
3469
+ }
3470
+ const setValue = React3__namespace.useCallback(
3471
+ (nextValue) => {
3472
+ if (isControlled) {
3473
+ const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
3474
+ if (value2 !== prop) {
3475
+ onChangeRef.current?.(value2);
3476
+ }
3477
+ } else {
3478
+ setUncontrolledProp(nextValue);
3479
+ }
3480
+ },
3481
+ [isControlled, prop, setUncontrolledProp, onChangeRef]
3482
+ );
3483
+ return [value, setValue];
3484
+ }
3485
+ function useUncontrolledState({
3486
+ defaultProp,
3487
+ onChange: onChange2
3488
+ }) {
3489
+ const [value, setValue] = React3__namespace.useState(defaultProp);
3490
+ const prevValueRef = React3__namespace.useRef(value);
3491
+ const onChangeRef = React3__namespace.useRef(onChange2);
3492
+ useInsertionEffect(() => {
3493
+ onChangeRef.current = onChange2;
3494
+ }, [onChange2]);
3495
+ React3__namespace.useEffect(() => {
3496
+ if (prevValueRef.current !== value) {
3497
+ onChangeRef.current?.(value);
3498
+ prevValueRef.current = value;
3499
+ }
3500
+ }, [value, prevValueRef]);
3501
+ return [value, setValue, onChangeRef];
3502
+ }
3503
+ function isFunction(value) {
3504
+ return typeof value === "function";
3505
+ }
3506
+ function usePrevious(value) {
3507
+ const ref = React3__namespace.useRef({ value, previous: value });
3508
+ return React3__namespace.useMemo(() => {
3509
+ if (ref.current.value !== value) {
3510
+ ref.current.previous = ref.current.value;
3511
+ ref.current.value = value;
3512
+ }
3513
+ return ref.current.previous;
3514
+ }, [value]);
3515
+ }
3516
+ function useSize(element) {
3517
+ const [size, setSize] = React3__namespace.useState(void 0);
3518
+ useLayoutEffect2(() => {
3519
+ if (element) {
3520
+ setSize({ width: element.offsetWidth, height: element.offsetHeight });
3521
+ const resizeObserver = new ResizeObserver((entries) => {
3522
+ if (!Array.isArray(entries)) {
3523
+ return;
3524
+ }
3525
+ if (!entries.length) {
3526
+ return;
3527
+ }
3528
+ const entry = entries[0];
3529
+ let width;
3530
+ let height;
3531
+ if ("borderBoxSize" in entry) {
3532
+ const borderSizeEntry = entry["borderBoxSize"];
3533
+ const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;
3534
+ width = borderSize["inlineSize"];
3535
+ height = borderSize["blockSize"];
3536
+ } else {
3537
+ width = element.offsetWidth;
3538
+ height = element.offsetHeight;
3539
+ }
3540
+ setSize({ width, height });
3541
+ });
3542
+ resizeObserver.observe(element, { box: "border-box" });
3543
+ return () => resizeObserver.unobserve(element);
3544
+ } else {
3545
+ setSize(void 0);
3546
+ }
3547
+ }, [element]);
3548
+ return size;
3549
+ }
3550
+ // @__NO_SIDE_EFFECTS__
3551
+ function createSlot2(ownerName) {
3552
+ const SlotClone = /* @__PURE__ */ createSlotClone2(ownerName);
3553
+ const Slot2 = React3__namespace.forwardRef((props, forwardedRef) => {
3554
+ const { children, ...slotProps } = props;
3555
+ const childrenArray = React3__namespace.Children.toArray(children);
3556
+ const slottable = childrenArray.find(isSlottable2);
3557
+ if (slottable) {
3558
+ const newElement = slottable.props.children;
3559
+ const newChildren = childrenArray.map((child) => {
3560
+ if (child === slottable) {
3561
+ if (React3__namespace.Children.count(newElement) > 1) return React3__namespace.Children.only(null);
3562
+ return React3__namespace.isValidElement(newElement) ? newElement.props.children : null;
3563
+ } else {
3564
+ return child;
3565
+ }
3566
+ });
3567
+ return /* @__PURE__ */ jsxRuntime.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React3__namespace.isValidElement(newElement) ? React3__namespace.cloneElement(newElement, void 0, newChildren) : null });
3568
+ }
3569
+ return /* @__PURE__ */ jsxRuntime.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
3570
+ });
3571
+ Slot2.displayName = `${ownerName}.Slot`;
3572
+ return Slot2;
3573
+ }
3574
+ // @__NO_SIDE_EFFECTS__
3575
+ function createSlotClone2(ownerName) {
3576
+ const SlotClone = React3__namespace.forwardRef((props, forwardedRef) => {
3577
+ const { children, ...slotProps } = props;
3578
+ if (React3__namespace.isValidElement(children)) {
3579
+ const childrenRef = getElementRef2(children);
3580
+ const props2 = mergeProps2(slotProps, children.props);
3581
+ if (children.type !== React3__namespace.Fragment) {
3582
+ props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
3583
+ }
3584
+ return React3__namespace.cloneElement(children, props2);
3585
+ }
3586
+ return React3__namespace.Children.count(children) > 1 ? React3__namespace.Children.only(null) : null;
3587
+ });
3588
+ SlotClone.displayName = `${ownerName}.SlotClone`;
3589
+ return SlotClone;
3590
+ }
3591
+ var SLOTTABLE_IDENTIFIER2 = Symbol("radix.slottable");
3592
+ function isSlottable2(child) {
3593
+ return React3__namespace.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER2;
3594
+ }
3595
+ function mergeProps2(slotProps, childProps) {
3596
+ const overrideProps = { ...childProps };
3597
+ for (const propName in childProps) {
3598
+ const slotPropValue = slotProps[propName];
3599
+ const childPropValue = childProps[propName];
3600
+ const isHandler = /^on[A-Z]/.test(propName);
3601
+ if (isHandler) {
3602
+ if (slotPropValue && childPropValue) {
3603
+ overrideProps[propName] = (...args) => {
3604
+ const result = childPropValue(...args);
3605
+ slotPropValue(...args);
3606
+ return result;
3607
+ };
3608
+ } else if (slotPropValue) {
3609
+ overrideProps[propName] = slotPropValue;
3610
+ }
3611
+ } else if (propName === "style") {
3612
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
3613
+ } else if (propName === "className") {
3614
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
3615
+ }
3616
+ }
3617
+ return { ...slotProps, ...overrideProps };
3618
+ }
3619
+ function getElementRef2(element) {
3620
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
3621
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
3622
+ if (mayWarn) {
3623
+ return element.ref;
3624
+ }
3625
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
3626
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
3627
+ if (mayWarn) {
3628
+ return element.props.ref;
3629
+ }
3630
+ return element.props.ref || element.ref;
3631
+ }
3632
+ var NODES = [
3633
+ "a",
3634
+ "button",
3635
+ "div",
3636
+ "form",
3637
+ "h2",
3638
+ "h3",
3639
+ "img",
3640
+ "input",
3641
+ "label",
3642
+ "li",
3643
+ "nav",
3644
+ "ol",
3645
+ "p",
3646
+ "select",
3647
+ "span",
3648
+ "svg",
3649
+ "ul"
3650
+ ];
3651
+ var Primitive = NODES.reduce((primitive, node) => {
3652
+ const Slot2 = createSlot2(`Primitive.${node}`);
3653
+ const Node2 = React3__namespace.forwardRef((props, forwardedRef) => {
3654
+ const { asChild, ...primitiveProps } = props;
3655
+ const Comp = asChild ? Slot2 : node;
3656
+ if (typeof window !== "undefined") {
3657
+ window[Symbol.for("radix-ui")] = true;
3658
+ }
3659
+ return /* @__PURE__ */ jsxRuntime.jsx(Comp, { ...primitiveProps, ref: forwardedRef });
3660
+ });
3661
+ Node2.displayName = `Primitive.${node}`;
3662
+ return { ...primitive, [node]: Node2 };
3663
+ }, {});
3664
+ var SWITCH_NAME = "Switch";
3665
+ var [createSwitchContext] = createContextScope(SWITCH_NAME);
3666
+ var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
3667
+ var Switch = React3__namespace.forwardRef(
3668
+ (props, forwardedRef) => {
3669
+ const {
3670
+ __scopeSwitch,
3671
+ name,
3672
+ checked: checkedProp,
3673
+ defaultChecked,
3674
+ required,
3675
+ disabled: disabled2,
3676
+ value = "on",
3677
+ onCheckedChange,
3678
+ form,
3679
+ ...switchProps
3680
+ } = props;
3681
+ const [button, setButton] = React3__namespace.useState(null);
3682
+ const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));
3683
+ const hasConsumerStoppedPropagationRef = React3__namespace.useRef(false);
3684
+ const isFormControl = button ? form || !!button.closest("form") : true;
3685
+ const [checked, setChecked] = useControllableState({
3686
+ prop: checkedProp,
3687
+ defaultProp: defaultChecked ?? false,
3688
+ onChange: onCheckedChange,
3689
+ caller: SWITCH_NAME
3690
+ });
3691
+ return /* @__PURE__ */ jsxRuntime.jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled: disabled2, children: [
3692
+ /* @__PURE__ */ jsxRuntime.jsx(
3693
+ Primitive.button,
3694
+ {
3695
+ type: "button",
3696
+ role: "switch",
3697
+ "aria-checked": checked,
3698
+ "aria-required": required,
3699
+ "data-state": getState(checked),
3700
+ "data-disabled": disabled2 ? "" : void 0,
3701
+ disabled: disabled2,
3702
+ value,
3703
+ ...switchProps,
3704
+ ref: composedRefs,
3705
+ onClick: composeEventHandlers(props.onClick, (event) => {
3706
+ setChecked((prevChecked) => !prevChecked);
3707
+ if (isFormControl) {
3708
+ hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
3709
+ if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
3710
+ }
3711
+ })
3712
+ }
3713
+ ),
3714
+ isFormControl && /* @__PURE__ */ jsxRuntime.jsx(
3715
+ SwitchBubbleInput,
3716
+ {
3717
+ control: button,
3718
+ bubbles: !hasConsumerStoppedPropagationRef.current,
3719
+ name,
3720
+ value,
3721
+ checked,
3722
+ required,
3723
+ disabled: disabled2,
3724
+ form,
3725
+ style: { transform: "translateX(-100%)" }
3726
+ }
3727
+ )
3728
+ ] });
3729
+ }
3730
+ );
3731
+ Switch.displayName = SWITCH_NAME;
3732
+ var THUMB_NAME = "SwitchThumb";
3733
+ var SwitchThumb = React3__namespace.forwardRef(
3734
+ (props, forwardedRef) => {
3735
+ const { __scopeSwitch, ...thumbProps } = props;
3736
+ const context = useSwitchContext(THUMB_NAME, __scopeSwitch);
3737
+ return /* @__PURE__ */ jsxRuntime.jsx(
3738
+ Primitive.span,
3739
+ {
3740
+ "data-state": getState(context.checked),
3741
+ "data-disabled": context.disabled ? "" : void 0,
3742
+ ...thumbProps,
3743
+ ref: forwardedRef
3744
+ }
3745
+ );
3746
+ }
3747
+ );
3748
+ SwitchThumb.displayName = THUMB_NAME;
3749
+ var BUBBLE_INPUT_NAME = "SwitchBubbleInput";
3750
+ var SwitchBubbleInput = React3__namespace.forwardRef(
3751
+ ({
3752
+ __scopeSwitch,
3753
+ control,
3754
+ checked,
3755
+ bubbles = true,
3756
+ ...props
3757
+ }, forwardedRef) => {
3758
+ const ref = React3__namespace.useRef(null);
3759
+ const composedRefs = useComposedRefs(ref, forwardedRef);
3760
+ const prevChecked = usePrevious(checked);
3761
+ const controlSize = useSize(control);
3762
+ React3__namespace.useEffect(() => {
3763
+ const input = ref.current;
3764
+ if (!input) return;
3765
+ const inputProto = window.HTMLInputElement.prototype;
3766
+ const descriptor = Object.getOwnPropertyDescriptor(
3767
+ inputProto,
3768
+ "checked"
3769
+ );
3770
+ const setChecked = descriptor.set;
3771
+ if (prevChecked !== checked && setChecked) {
3772
+ const event = new Event("click", { bubbles });
3773
+ setChecked.call(input, checked);
3774
+ input.dispatchEvent(event);
3775
+ }
3776
+ }, [prevChecked, checked, bubbles]);
3777
+ return /* @__PURE__ */ jsxRuntime.jsx(
3778
+ "input",
3779
+ {
3780
+ type: "checkbox",
3781
+ "aria-hidden": true,
3782
+ defaultChecked: checked,
3783
+ ...props,
3784
+ tabIndex: -1,
3785
+ ref: composedRefs,
3786
+ style: {
3787
+ ...props.style,
3788
+ ...controlSize,
3789
+ position: "absolute",
3790
+ pointerEvents: "none",
3791
+ opacity: 0,
3792
+ margin: 0
3793
+ }
3794
+ }
3795
+ );
3796
+ }
3797
+ );
3798
+ SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;
3799
+ function getState(checked) {
3800
+ return checked ? "checked" : "unchecked";
3801
+ }
3802
+ var Root = Switch;
3803
+ var Thumb = SwitchThumb;
3804
+
3805
+ // src/components/ui/switch.tsx
3806
+ var switchRootVariants = cva(
3807
+ "uii:peer uii:inline-flex uii:shrink-0 uii:cursor-pointer uii:items-center uii:rounded-full uii:border-2 uii:border-transparent uii:transition-all uii:outline-none uii:focus-visible:border-ring uii:focus-visible:ring-ring/50 uii:focus-visible:ring-[3px] uii:disabled:cursor-not-allowed uii:disabled:opacity-50 uii:data-[state=checked]:bg-primary uii:data-[state=unchecked]:bg-input uii:shadow-xs",
3808
+ {
3809
+ variants: {
3810
+ size: {
3811
+ xs: "uii:h-3 uii:w-6",
3812
+ // tiny track
3813
+ sm: "uii:h-4 uii:w-7",
3814
+ // small track
3815
+ md: "uii:h-5 uii:w-9",
3816
+ // current default
3817
+ lg: "uii:h-7 uii:w-14",
3818
+ // larger track
3819
+ xl: "uii:h-9 uii:w-20"
3820
+ // extra large track
3821
+ }
3822
+ },
3823
+ defaultVariants: { size: "md" }
3824
+ }
3825
+ );
3826
+ var switchThumbVariants = cva(
3827
+ "uii:bg-background uii:pointer-events-none uii:block uii:rounded-full uii:ring-0 uii:shadow-lg uii:transition-transform uii:data-[state=unchecked]:translate-x-0",
3828
+ {
3829
+ variants: {
3830
+ size: {
3831
+ xs: "uii:size-2 uii:data-[state=checked]:translate-x-3",
3832
+ sm: "uii:size-3 uii:data-[state=checked]:translate-x-3",
3833
+ md: "uii:size-4 uii:data-[state=checked]:translate-x-4",
3834
+ // current default
3835
+ lg: "uii:size-6 uii:data-[state=checked]:translate-x-6",
3836
+ xl: "uii:size-8 uii:data-[state=checked]:translate-x-8"
3837
+ }
3838
+ },
3839
+ defaultVariants: { size: "md" }
3840
+ }
3841
+ );
3842
+ function Switch2({ className, size, ...props }) {
3843
+ return /* @__PURE__ */ React3__namespace.createElement(
3844
+ Root,
3845
+ {
3846
+ "data-slot": "switch",
3847
+ className: cn(switchRootVariants({ size }), className),
3848
+ ...props
3849
+ },
3850
+ /* @__PURE__ */ React3__namespace.createElement(
3851
+ Thumb,
3852
+ {
3853
+ "data-slot": "switch-thumb",
3854
+ className: cn(switchThumbVariants({ size }))
3855
+ }
3856
+ )
3857
+ );
3858
+ }
3859
+
3860
+ // src/components/slots/SlotEnable.tsx
3861
+ var SlotEnable = (props) => {
3862
+ const { slotId } = props;
3863
+ return /* @__PURE__ */ React.createElement("div", { className: "uii:flex uii:items-center uii:justify-center uii:ml-1" }, /* @__PURE__ */ React.createElement(Switch2, { size: "xs", checked: true, onCheckedChange: () => {
3864
+ } }));
3865
+ };
3866
+
3867
+ // ../../node_modules/.pnpm/@fortawesome+fontawesome-svg-core@6.7.2/node_modules/@fortawesome/fontawesome-svg-core/index.mjs
3868
+ function _defineProperty(e, r3, t2) {
3869
+ return (r3 = _toPropertyKey(r3)) in e ? Object.defineProperty(e, r3, {
3870
+ value: t2,
3871
+ enumerable: true,
3872
+ configurable: true,
3873
+ writable: true
3874
+ }) : e[r3] = t2, e;
3875
+ }
3876
+ function ownKeys(e, r3) {
3877
+ var t2 = Object.keys(e);
3878
+ if (Object.getOwnPropertySymbols) {
3879
+ var o2 = Object.getOwnPropertySymbols(e);
3880
+ r3 && (o2 = o2.filter(function(r4) {
3881
+ return Object.getOwnPropertyDescriptor(e, r4).enumerable;
3882
+ })), t2.push.apply(t2, o2);
3883
+ }
3884
+ return t2;
3885
+ }
3886
+ function _objectSpread2(e) {
3887
+ for (var r3 = 1; r3 < arguments.length; r3++) {
3888
+ var t2 = null != arguments[r3] ? arguments[r3] : {};
3889
+ r3 % 2 ? ownKeys(Object(t2), true).forEach(function(r4) {
3890
+ _defineProperty(e, r4, t2[r4]);
3891
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r4) {
3892
+ Object.defineProperty(e, r4, Object.getOwnPropertyDescriptor(t2, r4));
3893
+ });
3894
+ }
3895
+ return e;
3896
+ }
3897
+ function _toPrimitive(t2, r3) {
3898
+ if ("object" != typeof t2 || !t2) return t2;
3899
+ var e = t2[Symbol.toPrimitive];
3900
+ if (void 0 !== e) {
3901
+ var i = e.call(t2, r3);
3902
+ if ("object" != typeof i) return i;
3903
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3904
+ }
3905
+ return ("string" === r3 ? String : Number)(t2);
3906
+ }
3907
+ function _toPropertyKey(t2) {
3908
+ var i = _toPrimitive(t2, "string");
3909
+ return "symbol" == typeof i ? i : i + "";
3910
+ }
3911
+ var noop = () => {
3912
+ };
3913
+ var _WINDOW = {};
3914
+ var _DOCUMENT = {};
3915
+ var _MUTATION_OBSERVER = null;
3916
+ var _PERFORMANCE = {
3917
+ mark: noop,
3918
+ measure: noop
3919
+ };
3920
+ try {
3921
+ if (typeof window !== "undefined") _WINDOW = window;
3922
+ if (typeof document !== "undefined") _DOCUMENT = document;
3923
+ if (typeof MutationObserver !== "undefined") _MUTATION_OBSERVER = MutationObserver;
3924
+ if (typeof performance !== "undefined") _PERFORMANCE = performance;
3925
+ } catch (e) {
3926
+ }
3927
+ var {
3928
+ userAgent = ""
3929
+ } = _WINDOW.navigator || {};
3930
+ var WINDOW = _WINDOW;
3931
+ var DOCUMENT = _DOCUMENT;
3932
+ var MUTATION_OBSERVER = _MUTATION_OBSERVER;
3933
+ var PERFORMANCE = _PERFORMANCE;
3934
+ !!WINDOW.document;
3935
+ var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === "function" && typeof DOCUMENT.createElement === "function";
3936
+ var IS_IE = ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/");
3937
+ var p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/;
3938
+ var g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;
3939
+ var S = {
3940
+ classic: {
3941
+ fa: "solid",
3942
+ fas: "solid",
3943
+ "fa-solid": "solid",
3944
+ far: "regular",
3945
+ "fa-regular": "regular",
3946
+ fal: "light",
3947
+ "fa-light": "light",
3948
+ fat: "thin",
3949
+ "fa-thin": "thin",
3950
+ fab: "brands",
3951
+ "fa-brands": "brands"
3952
+ },
3953
+ duotone: {
3954
+ fa: "solid",
3955
+ fad: "solid",
3956
+ "fa-solid": "solid",
3957
+ "fa-duotone": "solid",
3958
+ fadr: "regular",
3959
+ "fa-regular": "regular",
3960
+ fadl: "light",
3961
+ "fa-light": "light",
3962
+ fadt: "thin",
3963
+ "fa-thin": "thin"
3964
+ },
3965
+ sharp: {
3966
+ fa: "solid",
3967
+ fass: "solid",
3968
+ "fa-solid": "solid",
3969
+ fasr: "regular",
3970
+ "fa-regular": "regular",
3971
+ fasl: "light",
3972
+ "fa-light": "light",
3973
+ fast: "thin",
3974
+ "fa-thin": "thin"
3975
+ },
3976
+ "sharp-duotone": {
3977
+ fa: "solid",
3978
+ fasds: "solid",
3979
+ "fa-solid": "solid",
3980
+ fasdr: "regular",
3981
+ "fa-regular": "regular",
3982
+ fasdl: "light",
3983
+ "fa-light": "light",
3984
+ fasdt: "thin",
3985
+ "fa-thin": "thin"
3986
+ }
3987
+ };
3988
+ var A = {
3989
+ GROUP: "duotone-group",
3990
+ PRIMARY: "primary",
3991
+ SECONDARY: "secondary"
3992
+ };
3993
+ var P = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
3994
+ var s = "classic";
3995
+ var t = "duotone";
3996
+ var r2 = "sharp";
3997
+ var o = "sharp-duotone";
3998
+ var L = [s, t, r2, o];
3999
+ var G = {
4000
+ classic: {
4001
+ 900: "fas",
4002
+ 400: "far",
4003
+ normal: "far",
4004
+ 300: "fal",
4005
+ 100: "fat"
4006
+ },
4007
+ duotone: {
4008
+ 900: "fad",
4009
+ 400: "fadr",
4010
+ 300: "fadl",
4011
+ 100: "fadt"
4012
+ },
4013
+ sharp: {
4014
+ 900: "fass",
4015
+ 400: "fasr",
4016
+ 300: "fasl",
4017
+ 100: "fast"
4018
+ },
4019
+ "sharp-duotone": {
4020
+ 900: "fasds",
4021
+ 400: "fasdr",
4022
+ 300: "fasdl",
4023
+ 100: "fasdt"
4024
+ }
4025
+ };
4026
+ var lt = {
4027
+ "Font Awesome 6 Free": {
4028
+ 900: "fas",
4029
+ 400: "far"
4030
+ },
4031
+ "Font Awesome 6 Pro": {
4032
+ 900: "fas",
4033
+ 400: "far",
4034
+ normal: "far",
4035
+ 300: "fal",
4036
+ 100: "fat"
4037
+ },
4038
+ "Font Awesome 6 Brands": {
4039
+ 400: "fab",
4040
+ normal: "fab"
4041
+ },
4042
+ "Font Awesome 6 Duotone": {
4043
+ 900: "fad",
4044
+ 400: "fadr",
4045
+ normal: "fadr",
4046
+ 300: "fadl",
4047
+ 100: "fadt"
4048
+ },
4049
+ "Font Awesome 6 Sharp": {
4050
+ 900: "fass",
4051
+ 400: "fasr",
4052
+ normal: "fasr",
4053
+ 300: "fasl",
4054
+ 100: "fast"
4055
+ },
4056
+ "Font Awesome 6 Sharp Duotone": {
4057
+ 900: "fasds",
4058
+ 400: "fasdr",
4059
+ normal: "fasdr",
4060
+ 300: "fasdl",
4061
+ 100: "fasdt"
4062
+ }
4063
+ };
4064
+ var pt = /* @__PURE__ */ new Map([["classic", {
4065
+ defaultShortPrefixId: "fas",
4066
+ defaultStyleId: "solid",
4067
+ styleIds: ["solid", "regular", "light", "thin", "brands"],
4068
+ futureStyleIds: [],
4069
+ defaultFontWeight: 900
4070
+ }], ["sharp", {
4071
+ defaultShortPrefixId: "fass",
4072
+ defaultStyleId: "solid",
4073
+ styleIds: ["solid", "regular", "light", "thin"],
4074
+ futureStyleIds: [],
4075
+ defaultFontWeight: 900
4076
+ }], ["duotone", {
4077
+ defaultShortPrefixId: "fad",
4078
+ defaultStyleId: "solid",
4079
+ styleIds: ["solid", "regular", "light", "thin"],
4080
+ futureStyleIds: [],
4081
+ defaultFontWeight: 900
4082
+ }], ["sharp-duotone", {
4083
+ defaultShortPrefixId: "fasds",
4084
+ defaultStyleId: "solid",
4085
+ styleIds: ["solid", "regular", "light", "thin"],
4086
+ futureStyleIds: [],
4087
+ defaultFontWeight: 900
4088
+ }]]);
4089
+ var xt = {
4090
+ classic: {
4091
+ solid: "fas",
4092
+ regular: "far",
4093
+ light: "fal",
4094
+ thin: "fat",
4095
+ brands: "fab"
4096
+ },
4097
+ duotone: {
4098
+ solid: "fad",
4099
+ regular: "fadr",
4100
+ light: "fadl",
4101
+ thin: "fadt"
4102
+ },
4103
+ sharp: {
4104
+ solid: "fass",
4105
+ regular: "fasr",
4106
+ light: "fasl",
4107
+ thin: "fast"
4108
+ },
4109
+ "sharp-duotone": {
4110
+ solid: "fasds",
4111
+ regular: "fasdr",
4112
+ light: "fasdl",
4113
+ thin: "fasdt"
4114
+ }
4115
+ };
4116
+ var Ft = ["fak", "fa-kit", "fakd", "fa-kit-duotone"];
4117
+ var St = {
4118
+ kit: {
4119
+ fak: "kit",
4120
+ "fa-kit": "kit"
4121
+ },
4122
+ "kit-duotone": {
4123
+ fakd: "kit-duotone",
4124
+ "fa-kit-duotone": "kit-duotone"
4125
+ }
4126
+ };
4127
+ var At = ["kit"];
4128
+ var Ct = {
4129
+ kit: {
4130
+ "fa-kit": "fak"
4131
+ }};
4132
+ var Lt = ["fak", "fakd"];
4133
+ var Wt = {
4134
+ kit: {
4135
+ fak: "fa-kit"
4136
+ }};
4137
+ var Et = {
4138
+ kit: {
4139
+ kit: "fak"
4140
+ },
4141
+ "kit-duotone": {
4142
+ "kit-duotone": "fakd"
4143
+ }
4144
+ };
4145
+ var t$1 = {
4146
+ GROUP: "duotone-group",
4147
+ SWAP_OPACITY: "swap-opacity",
4148
+ PRIMARY: "primary",
4149
+ SECONDARY: "secondary"
4150
+ };
4151
+ var r$1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
4152
+ var bt$1 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"];
4153
+ var Yt = {
4154
+ "Font Awesome Kit": {
4155
+ 400: "fak",
4156
+ normal: "fak"
4157
+ },
4158
+ "Font Awesome Kit Duotone": {
4159
+ 400: "fakd",
4160
+ normal: "fakd"
4161
+ }
4162
+ };
4163
+ var ua = {
4164
+ classic: {
4165
+ "fa-brands": "fab",
4166
+ "fa-duotone": "fad",
4167
+ "fa-light": "fal",
4168
+ "fa-regular": "far",
4169
+ "fa-solid": "fas",
4170
+ "fa-thin": "fat"
4171
+ },
4172
+ duotone: {
4173
+ "fa-regular": "fadr",
4174
+ "fa-light": "fadl",
4175
+ "fa-thin": "fadt"
4176
+ },
4177
+ sharp: {
4178
+ "fa-solid": "fass",
4179
+ "fa-regular": "fasr",
4180
+ "fa-light": "fasl",
4181
+ "fa-thin": "fast"
4182
+ },
4183
+ "sharp-duotone": {
4184
+ "fa-solid": "fasds",
4185
+ "fa-regular": "fasdr",
4186
+ "fa-light": "fasdl",
4187
+ "fa-thin": "fasdt"
4188
+ }
4189
+ };
4190
+ var I$1 = {
4191
+ classic: ["fas", "far", "fal", "fat", "fad"],
4192
+ duotone: ["fadr", "fadl", "fadt"],
4193
+ sharp: ["fass", "fasr", "fasl", "fast"],
4194
+ "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
4195
+ };
4196
+ var ga = {
4197
+ classic: {
4198
+ fab: "fa-brands",
4199
+ fad: "fa-duotone",
4200
+ fal: "fa-light",
4201
+ far: "fa-regular",
4202
+ fas: "fa-solid",
4203
+ fat: "fa-thin"
4204
+ },
4205
+ duotone: {
4206
+ fadr: "fa-regular",
4207
+ fadl: "fa-light",
4208
+ fadt: "fa-thin"
4209
+ },
4210
+ sharp: {
4211
+ fass: "fa-solid",
4212
+ fasr: "fa-regular",
4213
+ fasl: "fa-light",
4214
+ fast: "fa-thin"
4215
+ },
4216
+ "sharp-duotone": {
4217
+ fasds: "fa-solid",
4218
+ fasdr: "fa-regular",
4219
+ fasdl: "fa-light",
4220
+ fasdt: "fa-thin"
4221
+ }
4222
+ };
4223
+ var x = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"];
4224
+ var Ia = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...r$1, ...x];
4225
+ var m$1 = ["solid", "regular", "light", "thin", "duotone", "brands"];
4226
+ var c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
4227
+ var F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
4228
+ var ma = [...Object.keys(I$1), ...m$1, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map((a) => "".concat(a, "x"))).concat(F$1.map((a) => "w-".concat(a)));
4229
+ var wa = {
4230
+ "Font Awesome 5 Free": {
4231
+ 900: "fas",
4232
+ 400: "far"
4233
+ },
4234
+ "Font Awesome 5 Pro": {
4235
+ 900: "fas",
4236
+ 400: "far",
4237
+ normal: "far",
4238
+ 300: "fal"
4239
+ },
4240
+ "Font Awesome 5 Brands": {
4241
+ 400: "fab",
4242
+ normal: "fab"
4243
+ },
4244
+ "Font Awesome 5 Duotone": {
4245
+ 900: "fad"
4246
+ }
4247
+ };
4248
+ var NAMESPACE_IDENTIFIER = "___FONT_AWESOME___";
4249
+ var UNITS_IN_GRID = 16;
4250
+ var DEFAULT_CSS_PREFIX = "fa";
4251
+ var DEFAULT_REPLACEMENT_CLASS = "svg-inline--fa";
4252
+ var DATA_FA_I2SVG = "data-fa-i2svg";
4253
+ var DATA_FA_PSEUDO_ELEMENT = "data-fa-pseudo-element";
4254
+ var DATA_FA_PSEUDO_ELEMENT_PENDING = "data-fa-pseudo-element-pending";
4255
+ var DATA_PREFIX = "data-prefix";
4256
+ var DATA_ICON = "data-icon";
4257
+ var HTML_CLASS_I2SVG_BASE_CLASS = "fontawesome-i2svg";
4258
+ var MUTATION_APPROACH_ASYNC = "async";
4259
+ var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ["HTML", "HEAD", "STYLE", "SCRIPT"];
4260
+ var PRODUCTION = (() => {
4261
+ try {
4262
+ return process.env.NODE_ENV === "production";
4263
+ } catch (e$$1) {
4264
+ return false;
4265
+ }
4266
+ })();
4267
+ function familyProxy(obj) {
4268
+ return new Proxy(obj, {
4269
+ get(target, prop) {
4270
+ return prop in target ? target[prop] : target[s];
4271
+ }
4272
+ });
4273
+ }
4274
+ var _PREFIX_TO_STYLE = _objectSpread2({}, S);
4275
+ _PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
4276
+ "fa-duotone": "duotone"
4277
+ }), S[s]), St["kit"]), St["kit-duotone"]);
4278
+ var PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
4279
+ var _STYLE_TO_PREFIX = _objectSpread2({}, xt);
4280
+ _STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
4281
+ duotone: "fad"
4282
+ }), _STYLE_TO_PREFIX[s]), Et["kit"]), Et["kit-duotone"]);
4283
+ var STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
4284
+ var _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);
4285
+ _PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt["kit"]);
4286
+ var PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
4287
+ var _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);
4288
+ _LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct["kit"]);
4289
+ familyProxy(_LONG_STYLE_TO_PREFIX);
4290
+ var ICON_SELECTION_SYNTAX_PATTERN = p;
4291
+ var LAYERS_TEXT_CLASSNAME = "fa-layers-text";
4292
+ var FONT_FAMILY_PATTERN = g;
4293
+ var _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);
4294
+ familyProxy(_FONT_WEIGHT_TO_PREFIX);
4295
+ var ATTRIBUTES_WATCHED_FOR_MUTATION = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"];
4296
+ var DUOTONE_CLASSES = A;
4297
+ var RESERVED_CLASSES = [...At, ...ma];
4298
+ var initial = WINDOW.FontAwesomeConfig || {};
4299
+ function getAttrConfig(attr) {
4300
+ var element = DOCUMENT.querySelector("script[" + attr + "]");
4301
+ if (element) {
4302
+ return element.getAttribute(attr);
4303
+ }
4304
+ }
4305
+ function coerce(val) {
4306
+ if (val === "") return true;
4307
+ if (val === "false") return false;
4308
+ if (val === "true") return true;
4309
+ return val;
4310
+ }
4311
+ if (DOCUMENT && typeof DOCUMENT.querySelector === "function") {
4312
+ const attrs = [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]];
4313
+ attrs.forEach((_ref) => {
4314
+ let [attr, key] = _ref;
4315
+ const val = coerce(getAttrConfig(attr));
4316
+ if (val !== void 0 && val !== null) {
4317
+ initial[key] = val;
4318
+ }
4319
+ });
4320
+ }
4321
+ var _default = {
4322
+ styleDefault: "solid",
4323
+ familyDefault: s,
4324
+ cssPrefix: DEFAULT_CSS_PREFIX,
4325
+ replacementClass: DEFAULT_REPLACEMENT_CLASS,
4326
+ autoReplaceSvg: true,
4327
+ autoAddCss: true,
4328
+ autoA11y: true,
4329
+ searchPseudoElements: false,
4330
+ observeMutations: true,
4331
+ mutateApproach: "async",
4332
+ keepOriginalSource: true,
4333
+ measurePerformance: false,
4334
+ showMissingIcons: true
4335
+ };
4336
+ if (initial.familyPrefix) {
4337
+ initial.cssPrefix = initial.familyPrefix;
4338
+ }
4339
+ var _config = _objectSpread2(_objectSpread2({}, _default), initial);
4340
+ if (!_config.autoReplaceSvg) _config.observeMutations = false;
4341
+ var config = {};
4342
+ Object.keys(_default).forEach((key) => {
4343
+ Object.defineProperty(config, key, {
4344
+ enumerable: true,
4345
+ set: function(val) {
4346
+ _config[key] = val;
4347
+ _onChangeCb.forEach((cb) => cb(config));
4348
+ },
4349
+ get: function() {
4350
+ return _config[key];
4351
+ }
4352
+ });
4353
+ });
4354
+ Object.defineProperty(config, "familyPrefix", {
4355
+ enumerable: true,
4356
+ set: function(val) {
4357
+ _config.cssPrefix = val;
4358
+ _onChangeCb.forEach((cb) => cb(config));
4359
+ },
4360
+ get: function() {
4361
+ return _config.cssPrefix;
4362
+ }
4363
+ });
4364
+ WINDOW.FontAwesomeConfig = config;
4365
+ var _onChangeCb = [];
4366
+ function onChange(cb) {
4367
+ _onChangeCb.push(cb);
4368
+ return () => {
4369
+ _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);
4370
+ };
4371
+ }
4372
+ var d$2 = UNITS_IN_GRID;
4373
+ var meaninglessTransform = {
4374
+ size: 16,
4375
+ x: 0,
4376
+ y: 0,
4377
+ rotate: 0,
4378
+ flipX: false,
4379
+ flipY: false
4380
+ };
4381
+ function insertCss(css2) {
4382
+ if (!css2 || !IS_DOM) {
4383
+ return;
4384
+ }
4385
+ const style = DOCUMENT.createElement("style");
4386
+ style.setAttribute("type", "text/css");
4387
+ style.innerHTML = css2;
4388
+ const headChildren = DOCUMENT.head.childNodes;
4389
+ let beforeChild = null;
4390
+ for (let i = headChildren.length - 1; i > -1; i--) {
4391
+ const child = headChildren[i];
4392
+ const tagName = (child.tagName || "").toUpperCase();
4393
+ if (["STYLE", "LINK"].indexOf(tagName) > -1) {
4394
+ beforeChild = child;
4395
+ }
4396
+ }
4397
+ DOCUMENT.head.insertBefore(style, beforeChild);
4398
+ return css2;
4399
+ }
4400
+ var idPool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
4401
+ function nextUniqueId() {
4402
+ let size = 12;
4403
+ let id = "";
4404
+ while (size-- > 0) {
4405
+ id += idPool[Math.random() * 62 | 0];
4406
+ }
4407
+ return id;
4408
+ }
4409
+ function toArray(obj) {
4410
+ const array = [];
4411
+ for (let i = (obj || []).length >>> 0; i--; ) {
4412
+ array[i] = obj[i];
4413
+ }
4414
+ return array;
4415
+ }
4416
+ function classArray(node) {
4417
+ if (node.classList) {
4418
+ return toArray(node.classList);
4419
+ } else {
4420
+ return (node.getAttribute("class") || "").split(" ").filter((i) => i);
4421
+ }
4422
+ }
4423
+ function htmlEscape(str) {
4424
+ return "".concat(str).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
4425
+ }
4426
+ function joinAttributes(attributes) {
4427
+ return Object.keys(attributes || {}).reduce((acc, attributeName) => {
4428
+ return acc + "".concat(attributeName, '="').concat(htmlEscape(attributes[attributeName]), '" ');
4429
+ }, "").trim();
4430
+ }
4431
+ function joinStyles(styles2) {
4432
+ return Object.keys(styles2 || {}).reduce((acc, styleName) => {
4433
+ return acc + "".concat(styleName, ": ").concat(styles2[styleName].trim(), ";");
4434
+ }, "");
4435
+ }
4436
+ function transformIsMeaningful(transform) {
4437
+ return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
4438
+ }
4439
+ function transformForSvg(_ref) {
4440
+ let {
4441
+ transform,
4442
+ containerWidth,
4443
+ iconWidth
4444
+ } = _ref;
4445
+ const outer = {
4446
+ transform: "translate(".concat(containerWidth / 2, " 256)")
4447
+ };
4448
+ const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
4449
+ const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
4450
+ const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
4451
+ const inner = {
4452
+ transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
4453
+ };
4454
+ const path = {
4455
+ transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
4456
+ };
4457
+ return {
4458
+ outer,
4459
+ inner,
4460
+ path
4461
+ };
4462
+ }
4463
+ function transformForCss(_ref2) {
4464
+ let {
4465
+ transform,
4466
+ width = UNITS_IN_GRID,
4467
+ height = UNITS_IN_GRID,
4468
+ startCentered = false
4469
+ } = _ref2;
4470
+ let val = "";
4471
+ if (startCentered && IS_IE) {
4472
+ val += "translate(".concat(transform.x / d$2 - width / 2, "em, ").concat(transform.y / d$2 - height / 2, "em) ");
4473
+ } else if (startCentered) {
4474
+ val += "translate(calc(-50% + ".concat(transform.x / d$2, "em), calc(-50% + ").concat(transform.y / d$2, "em)) ");
4475
+ } else {
4476
+ val += "translate(".concat(transform.x / d$2, "em, ").concat(transform.y / d$2, "em) ");
4477
+ }
4478
+ val += "scale(".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), ") ");
4479
+ val += "rotate(".concat(transform.rotate, "deg) ");
4480
+ return val;
4481
+ }
4482
+ var baseStyles = ':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-counter-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(-1 * var(--fa-li-width, 2em));\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n animation-name: fa-beat;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n animation-name: fa-bounce;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n animation-name: fa-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n animation-name: fa-beat-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n animation-name: fa-flip;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n animation-name: fa-shake;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n animation-name: fa-spin;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 2s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n animation-name: fa-spin;\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n animation-delay: -1ms;\n animation-duration: 1ms;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-flip {\n 50% {\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%, 24% {\n transform: rotate(-18deg);\n }\n 12%, 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%, 100% {\n transform: rotate(0deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}';
4483
+ function css() {
4484
+ const dcp = DEFAULT_CSS_PREFIX;
4485
+ const drc = DEFAULT_REPLACEMENT_CLASS;
4486
+ const fp = config.cssPrefix;
4487
+ const rc = config.replacementClass;
4488
+ let s2 = baseStyles;
4489
+ if (fp !== dcp || rc !== drc) {
4490
+ const dPatt = new RegExp("\\.".concat(dcp, "\\-"), "g");
4491
+ const customPropPatt = new RegExp("\\--".concat(dcp, "\\-"), "g");
4492
+ const rPatt = new RegExp("\\.".concat(drc), "g");
4493
+ s2 = s2.replace(dPatt, ".".concat(fp, "-")).replace(customPropPatt, "--".concat(fp, "-")).replace(rPatt, ".".concat(rc));
4494
+ }
4495
+ return s2;
4496
+ }
4497
+ var _cssInserted = false;
4498
+ function ensureCss() {
4499
+ if (config.autoAddCss && !_cssInserted) {
4500
+ insertCss(css());
4501
+ _cssInserted = true;
4502
+ }
4503
+ }
4504
+ var InjectCSS = {
4505
+ mixout() {
4506
+ return {
4507
+ dom: {
4508
+ css,
4509
+ insertCss: ensureCss
4510
+ }
4511
+ };
4512
+ },
4513
+ hooks() {
4514
+ return {
4515
+ beforeDOMElementCreation() {
4516
+ ensureCss();
4517
+ },
4518
+ beforeI2svg() {
4519
+ ensureCss();
4520
+ }
4521
+ };
4522
+ }
4523
+ };
4524
+ var w = WINDOW || {};
4525
+ if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
4526
+ if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
4527
+ if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
4528
+ if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
4529
+ var namespace = w[NAMESPACE_IDENTIFIER];
4530
+ var functions = [];
4531
+ var listener = function() {
4532
+ DOCUMENT.removeEventListener("DOMContentLoaded", listener);
4533
+ loaded = 1;
4534
+ functions.map((fn) => fn());
4535
+ };
4536
+ var loaded = false;
4537
+ if (IS_DOM) {
4538
+ loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
4539
+ if (!loaded) DOCUMENT.addEventListener("DOMContentLoaded", listener);
4540
+ }
4541
+ function domready(fn) {
4542
+ if (!IS_DOM) return;
4543
+ loaded ? setTimeout(fn, 0) : functions.push(fn);
4544
+ }
4545
+ function toHtml(abstractNodes) {
4546
+ const {
4547
+ tag,
4548
+ attributes = {},
4549
+ children = []
4550
+ } = abstractNodes;
4551
+ if (typeof abstractNodes === "string") {
4552
+ return htmlEscape(abstractNodes);
4553
+ } else {
4554
+ return "<".concat(tag, " ").concat(joinAttributes(attributes), ">").concat(children.map(toHtml).join(""), "</").concat(tag, ">");
4555
+ }
4556
+ }
4557
+ function iconFromMapping(mapping, prefix, iconName) {
4558
+ if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
4559
+ return {
4560
+ prefix,
4561
+ iconName,
4562
+ icon: mapping[prefix][iconName]
4563
+ };
4564
+ }
4565
+ }
4566
+ var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
4567
+ var keys = Object.keys(subject), length = keys.length, iterator = fn, i, key, result;
4568
+ if (initialValue === void 0) {
4569
+ i = 1;
4570
+ result = subject[keys[0]];
4571
+ } else {
4572
+ i = 0;
4573
+ result = initialValue;
4574
+ }
4575
+ for (; i < length; i++) {
4576
+ key = keys[i];
4577
+ result = iterator(result, subject[key], key, subject);
4578
+ }
4579
+ return result;
4580
+ };
4581
+ function ucs2decode(string) {
4582
+ const output = [];
4583
+ let counter2 = 0;
4584
+ const length = string.length;
4585
+ while (counter2 < length) {
4586
+ const value = string.charCodeAt(counter2++);
4587
+ if (value >= 55296 && value <= 56319 && counter2 < length) {
4588
+ const extra = string.charCodeAt(counter2++);
4589
+ if ((extra & 64512) == 56320) {
4590
+ output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
4591
+ } else {
4592
+ output.push(value);
4593
+ counter2--;
4594
+ }
4595
+ } else {
4596
+ output.push(value);
4597
+ }
4598
+ }
4599
+ return output;
4600
+ }
4601
+ function toHex(unicode) {
4602
+ const decoded = ucs2decode(unicode);
4603
+ return decoded.length === 1 ? decoded[0].toString(16) : null;
4604
+ }
4605
+ function codePointAt(string, index) {
4606
+ const size = string.length;
4607
+ let first = string.charCodeAt(index);
4608
+ let second;
4609
+ if (first >= 55296 && first <= 56319 && size > index + 1) {
4610
+ second = string.charCodeAt(index + 1);
4611
+ if (second >= 56320 && second <= 57343) {
4612
+ return (first - 55296) * 1024 + second - 56320 + 65536;
4613
+ }
4614
+ }
4615
+ return first;
4616
+ }
4617
+ function normalizeIcons(icons) {
4618
+ return Object.keys(icons).reduce((acc, iconName) => {
4619
+ const icon2 = icons[iconName];
4620
+ const expanded = !!icon2.icon;
4621
+ if (expanded) {
4622
+ acc[icon2.iconName] = icon2.icon;
4623
+ } else {
4624
+ acc[iconName] = icon2;
4625
+ }
4626
+ return acc;
4627
+ }, {});
4628
+ }
4629
+ function defineIcons(prefix, icons) {
4630
+ let params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
4631
+ const {
4632
+ skipHooks = false
4633
+ } = params;
4634
+ const normalized = normalizeIcons(icons);
4635
+ if (typeof namespace.hooks.addPack === "function" && !skipHooks) {
4636
+ namespace.hooks.addPack(prefix, normalizeIcons(icons));
4637
+ } else {
4638
+ namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);
4639
+ }
4640
+ if (prefix === "fas") {
4641
+ defineIcons("fa", icons);
4642
+ }
4643
+ }
4644
+ var {
4645
+ styles,
4646
+ shims
4647
+ } = namespace;
4648
+ var FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);
4649
+ var PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {
4650
+ acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);
4651
+ return acc;
4652
+ }, {});
4653
+ var _defaultUsablePrefix = null;
4654
+ var _byUnicode = {};
4655
+ var _byLigature = {};
4656
+ var _byOldName = {};
4657
+ var _byOldUnicode = {};
4658
+ var _byAlias = {};
4659
+ function isReserved(name) {
4660
+ return ~RESERVED_CLASSES.indexOf(name);
4661
+ }
4662
+ function getIconName(cssPrefix, cls) {
4663
+ const parts = cls.split("-");
4664
+ const prefix = parts[0];
4665
+ const iconName = parts.slice(1).join("-");
4666
+ if (prefix === cssPrefix && iconName !== "" && !isReserved(iconName)) {
4667
+ return iconName;
4668
+ } else {
4669
+ return null;
4670
+ }
4671
+ }
4672
+ var build = () => {
4673
+ const lookup = (reducer) => {
4674
+ return reduce(styles, (o$$1, style, prefix) => {
4675
+ o$$1[prefix] = reduce(style, reducer, {});
4676
+ return o$$1;
4677
+ }, {});
4678
+ };
4679
+ _byUnicode = lookup((acc, icon2, iconName) => {
4680
+ if (icon2[3]) {
4681
+ acc[icon2[3]] = iconName;
4682
+ }
4683
+ if (icon2[2]) {
4684
+ const aliases = icon2[2].filter((a$$1) => {
4685
+ return typeof a$$1 === "number";
4686
+ });
4687
+ aliases.forEach((alias) => {
4688
+ acc[alias.toString(16)] = iconName;
4689
+ });
4690
+ }
4691
+ return acc;
4692
+ });
4693
+ _byLigature = lookup((acc, icon2, iconName) => {
4694
+ acc[iconName] = iconName;
4695
+ if (icon2[2]) {
4696
+ const aliases = icon2[2].filter((a$$1) => {
4697
+ return typeof a$$1 === "string";
4698
+ });
4699
+ aliases.forEach((alias) => {
4700
+ acc[alias] = iconName;
4701
+ });
4702
+ }
4703
+ return acc;
4704
+ });
4705
+ _byAlias = lookup((acc, icon2, iconName) => {
4706
+ const aliases = icon2[2];
4707
+ acc[iconName] = iconName;
4708
+ aliases.forEach((alias) => {
4709
+ acc[alias] = iconName;
4710
+ });
4711
+ return acc;
4712
+ });
4713
+ const hasRegular = "far" in styles || config.autoFetchSvg;
4714
+ const shimLookups = reduce(shims, (acc, shim) => {
4715
+ const maybeNameMaybeUnicode = shim[0];
4716
+ let prefix = shim[1];
4717
+ const iconName = shim[2];
4718
+ if (prefix === "far" && !hasRegular) {
4719
+ prefix = "fas";
4720
+ }
4721
+ if (typeof maybeNameMaybeUnicode === "string") {
4722
+ acc.names[maybeNameMaybeUnicode] = {
4723
+ prefix,
4724
+ iconName
4725
+ };
4726
+ }
4727
+ if (typeof maybeNameMaybeUnicode === "number") {
4728
+ acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {
4729
+ prefix,
4730
+ iconName
4731
+ };
4732
+ }
4733
+ return acc;
4734
+ }, {
4735
+ names: {},
4736
+ unicodes: {}
4737
+ });
4738
+ _byOldName = shimLookups.names;
4739
+ _byOldUnicode = shimLookups.unicodes;
4740
+ _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {
4741
+ family: config.familyDefault
4742
+ });
4743
+ };
4744
+ onChange((c$$1) => {
4745
+ _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {
4746
+ family: config.familyDefault
4747
+ });
4748
+ });
4749
+ build();
4750
+ function byUnicode(prefix, unicode) {
4751
+ return (_byUnicode[prefix] || {})[unicode];
4752
+ }
4753
+ function byLigature(prefix, ligature) {
4754
+ return (_byLigature[prefix] || {})[ligature];
4755
+ }
4756
+ function byAlias(prefix, alias) {
4757
+ return (_byAlias[prefix] || {})[alias];
4758
+ }
4759
+ function byOldName(name) {
4760
+ return _byOldName[name] || {
4761
+ prefix: null,
4762
+ iconName: null
4763
+ };
4764
+ }
4765
+ function byOldUnicode(unicode) {
4766
+ const oldUnicode = _byOldUnicode[unicode];
4767
+ const newUnicode = byUnicode("fas", unicode);
4768
+ return oldUnicode || (newUnicode ? {
4769
+ prefix: "fas",
4770
+ iconName: newUnicode
4771
+ } : null) || {
4772
+ prefix: null,
4773
+ iconName: null
4774
+ };
4775
+ }
4776
+ function getDefaultUsablePrefix() {
4777
+ return _defaultUsablePrefix;
4778
+ }
4779
+ var emptyCanonicalIcon = () => {
4780
+ return {
4781
+ prefix: null,
4782
+ iconName: null,
4783
+ rest: []
4784
+ };
4785
+ };
4786
+ function getFamilyId(values) {
4787
+ let family = s;
4788
+ const famProps = FAMILY_NAMES.reduce((acc, familyId) => {
4789
+ acc[familyId] = "".concat(config.cssPrefix, "-").concat(familyId);
4790
+ return acc;
4791
+ }, {});
4792
+ L.forEach((familyId) => {
4793
+ if (values.includes(famProps[familyId]) || values.some((v$$1) => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {
4794
+ family = familyId;
4795
+ }
4796
+ });
4797
+ return family;
4798
+ }
4799
+ function getCanonicalPrefix(styleOrPrefix) {
4800
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
4801
+ const {
4802
+ family = s
4803
+ } = params;
4804
+ const style = PREFIX_TO_STYLE[family][styleOrPrefix];
4805
+ if (family === t && !styleOrPrefix) {
4806
+ return "fad";
4807
+ }
4808
+ const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];
4809
+ const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;
4810
+ const result = prefix || defined || null;
4811
+ return result;
4812
+ }
4813
+ function moveNonFaClassesToRest(classNames) {
4814
+ let rest = [];
4815
+ let iconName = null;
4816
+ classNames.forEach((cls) => {
4817
+ const result = getIconName(config.cssPrefix, cls);
4818
+ if (result) {
4819
+ iconName = result;
4820
+ } else if (cls) {
4821
+ rest.push(cls);
4822
+ }
4823
+ });
4824
+ return {
4825
+ iconName,
4826
+ rest
4827
+ };
4828
+ }
4829
+ function sortedUniqueValues(arr) {
4830
+ return arr.sort().filter((value, index, arr2) => {
4831
+ return arr2.indexOf(value) === index;
4832
+ });
4833
+ }
4834
+ function getCanonicalIcon(values) {
4835
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
4836
+ const {
4837
+ skipLookups = false
4838
+ } = params;
4839
+ let givenPrefix = null;
4840
+ const faCombinedClasses = Ia.concat(bt$1);
4841
+ const faStyleOrFamilyClasses = sortedUniqueValues(values.filter((cls) => faCombinedClasses.includes(cls)));
4842
+ const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter((cls) => !Ia.includes(cls)));
4843
+ const faStyles = faStyleOrFamilyClasses.filter((cls) => {
4844
+ givenPrefix = cls;
4845
+ return !P.includes(cls);
4846
+ });
4847
+ const [styleFromValues = null] = faStyles;
4848
+ const family = getFamilyId(faStyleOrFamilyClasses);
4849
+ const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {
4850
+ prefix: getCanonicalPrefix(styleFromValues, {
4851
+ family
4852
+ })
4853
+ });
4854
+ return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({
4855
+ values,
4856
+ family,
4857
+ styles,
4858
+ config,
4859
+ canonical,
4860
+ givenPrefix
4861
+ })), applyShimAndAlias(skipLookups, givenPrefix, canonical));
4862
+ }
4863
+ function applyShimAndAlias(skipLookups, givenPrefix, canonical) {
4864
+ let {
4865
+ prefix,
4866
+ iconName
4867
+ } = canonical;
4868
+ if (skipLookups || !prefix || !iconName) {
4869
+ return {
4870
+ prefix,
4871
+ iconName
4872
+ };
4873
+ }
4874
+ const shim = givenPrefix === "fa" ? byOldName(iconName) : {};
4875
+ const aliasIconName = byAlias(prefix, iconName);
4876
+ iconName = shim.iconName || aliasIconName || iconName;
4877
+ prefix = shim.prefix || prefix;
4878
+ if (prefix === "far" && !styles["far"] && styles["fas"] && !config.autoFetchSvg) {
4879
+ prefix = "fas";
4880
+ }
4881
+ return {
4882
+ prefix,
4883
+ iconName
4884
+ };
4885
+ }
4886
+ var newCanonicalFamilies = L.filter((familyId) => {
4887
+ return familyId !== s || familyId !== t;
4888
+ });
4889
+ var newCanonicalStyles = Object.keys(ga).filter((key) => key !== s).map((key) => Object.keys(ga[key])).flat();
4890
+ function getDefaultCanonicalPrefix(prefixOptions) {
4891
+ const {
4892
+ values,
4893
+ family,
4894
+ canonical,
4895
+ givenPrefix = "",
4896
+ styles: styles2 = {},
4897
+ config: config$$1 = {}
4898
+ } = prefixOptions;
4899
+ const isDuotoneFamily = family === t;
4900
+ const valuesHasDuotone = values.includes("fa-duotone") || values.includes("fad");
4901
+ const defaultFamilyIsDuotone = config$$1.familyDefault === "duotone";
4902
+ const canonicalPrefixIsDuotone = canonical.prefix === "fad" || canonical.prefix === "fa-duotone";
4903
+ if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {
4904
+ canonical.prefix = "fad";
4905
+ }
4906
+ if (values.includes("fa-brands") || values.includes("fab")) {
4907
+ canonical.prefix = "fab";
4908
+ }
4909
+ if (!canonical.prefix && newCanonicalFamilies.includes(family)) {
4910
+ const validPrefix = Object.keys(styles2).find((key) => newCanonicalStyles.includes(key));
4911
+ if (validPrefix || config$$1.autoFetchSvg) {
4912
+ const defaultPrefix = pt.get(family).defaultShortPrefixId;
4913
+ canonical.prefix = defaultPrefix;
4914
+ canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;
4915
+ }
4916
+ }
4917
+ if (canonical.prefix === "fa" || givenPrefix === "fa") {
4918
+ canonical.prefix = getDefaultUsablePrefix() || "fas";
4919
+ }
4920
+ return canonical;
4921
+ }
4922
+ var Library = class {
4923
+ constructor() {
4924
+ this.definitions = {};
4925
+ }
4926
+ add() {
4927
+ for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {
4928
+ definitions[_key] = arguments[_key];
4929
+ }
4930
+ const additions = definitions.reduce(this._pullDefinitions, {});
4931
+ Object.keys(additions).forEach((key) => {
4932
+ this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);
4933
+ defineIcons(key, additions[key]);
4934
+ const longPrefix = PREFIX_TO_LONG_STYLE[s][key];
4935
+ if (longPrefix) defineIcons(longPrefix, additions[key]);
4936
+ build();
4937
+ });
4938
+ }
4939
+ reset() {
4940
+ this.definitions = {};
4941
+ }
4942
+ _pullDefinitions(additions, definition) {
4943
+ const normalized = definition.prefix && definition.iconName && definition.icon ? {
4944
+ 0: definition
4945
+ } : definition;
4946
+ Object.keys(normalized).map((key) => {
4947
+ const {
4948
+ prefix,
4949
+ iconName,
4950
+ icon: icon2
4951
+ } = normalized[key];
4952
+ const aliases = icon2[2];
4953
+ if (!additions[prefix]) additions[prefix] = {};
4954
+ if (aliases.length > 0) {
4955
+ aliases.forEach((alias) => {
4956
+ if (typeof alias === "string") {
4957
+ additions[prefix][alias] = icon2;
4958
+ }
4959
+ });
4960
+ }
4961
+ additions[prefix][iconName] = icon2;
4962
+ });
4963
+ return additions;
4964
+ }
4965
+ };
4966
+ var _plugins = [];
4967
+ var _hooks = {};
4968
+ var providers = {};
4969
+ var defaultProviderKeys = Object.keys(providers);
4970
+ function registerPlugins(nextPlugins, _ref) {
4971
+ let {
4972
+ mixoutsTo: obj
4973
+ } = _ref;
4974
+ _plugins = nextPlugins;
4975
+ _hooks = {};
4976
+ Object.keys(providers).forEach((k) => {
4977
+ if (defaultProviderKeys.indexOf(k) === -1) {
4978
+ delete providers[k];
4979
+ }
4980
+ });
4981
+ _plugins.forEach((plugin) => {
4982
+ const mixout = plugin.mixout ? plugin.mixout() : {};
4983
+ Object.keys(mixout).forEach((tk) => {
4984
+ if (typeof mixout[tk] === "function") {
4985
+ obj[tk] = mixout[tk];
4986
+ }
4987
+ if (typeof mixout[tk] === "object") {
4988
+ Object.keys(mixout[tk]).forEach((sk) => {
4989
+ if (!obj[tk]) {
4990
+ obj[tk] = {};
4991
+ }
4992
+ obj[tk][sk] = mixout[tk][sk];
4993
+ });
4994
+ }
4995
+ });
4996
+ if (plugin.hooks) {
4997
+ const hooks = plugin.hooks();
4998
+ Object.keys(hooks).forEach((hook) => {
4999
+ if (!_hooks[hook]) {
5000
+ _hooks[hook] = [];
5001
+ }
5002
+ _hooks[hook].push(hooks[hook]);
5003
+ });
5004
+ }
5005
+ if (plugin.provides) {
5006
+ plugin.provides(providers);
5007
+ }
5008
+ });
5009
+ return obj;
5010
+ }
5011
+ function chainHooks(hook, accumulator) {
5012
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
5013
+ args[_key - 2] = arguments[_key];
5014
+ }
5015
+ const hookFns = _hooks[hook] || [];
5016
+ hookFns.forEach((hookFn) => {
5017
+ accumulator = hookFn.apply(null, [accumulator, ...args]);
5018
+ });
5019
+ return accumulator;
5020
+ }
5021
+ function callHooks(hook) {
5022
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
5023
+ args[_key2 - 1] = arguments[_key2];
5024
+ }
5025
+ const hookFns = _hooks[hook] || [];
5026
+ hookFns.forEach((hookFn) => {
5027
+ hookFn.apply(null, args);
5028
+ });
5029
+ return void 0;
5030
+ }
5031
+ function callProvided() {
5032
+ const hook = arguments[0];
5033
+ const args = Array.prototype.slice.call(arguments, 1);
5034
+ return providers[hook] ? providers[hook].apply(null, args) : void 0;
5035
+ }
5036
+ function findIconDefinition(iconLookup) {
5037
+ if (iconLookup.prefix === "fa") {
5038
+ iconLookup.prefix = "fas";
5039
+ }
5040
+ let {
5041
+ iconName
5042
+ } = iconLookup;
5043
+ const prefix = iconLookup.prefix || getDefaultUsablePrefix();
5044
+ if (!iconName) return;
5045
+ iconName = byAlias(prefix, iconName) || iconName;
5046
+ return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
5047
+ }
5048
+ var library = new Library();
5049
+ var noAuto = () => {
5050
+ config.autoReplaceSvg = false;
5051
+ config.observeMutations = false;
5052
+ callHooks("noAuto");
5053
+ };
5054
+ var dom = {
5055
+ i2svg: function() {
5056
+ let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
5057
+ if (IS_DOM) {
5058
+ callHooks("beforeI2svg", params);
5059
+ callProvided("pseudoElements2svg", params);
5060
+ return callProvided("i2svg", params);
5061
+ } else {
5062
+ return Promise.reject(new Error("Operation requires a DOM of some kind."));
5063
+ }
5064
+ },
5065
+ watch: function() {
5066
+ let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
5067
+ const {
5068
+ autoReplaceSvgRoot
5069
+ } = params;
5070
+ if (config.autoReplaceSvg === false) {
5071
+ config.autoReplaceSvg = true;
5072
+ }
5073
+ config.observeMutations = true;
5074
+ domready(() => {
5075
+ autoReplace({
5076
+ autoReplaceSvgRoot
5077
+ });
5078
+ callHooks("watch", params);
5079
+ });
5080
+ }
5081
+ };
5082
+ var parse = {
5083
+ icon: (icon2) => {
5084
+ if (icon2 === null) {
5085
+ return null;
5086
+ }
5087
+ if (typeof icon2 === "object" && icon2.prefix && icon2.iconName) {
5088
+ return {
5089
+ prefix: icon2.prefix,
5090
+ iconName: byAlias(icon2.prefix, icon2.iconName) || icon2.iconName
5091
+ };
5092
+ }
5093
+ if (Array.isArray(icon2) && icon2.length === 2) {
5094
+ const iconName = icon2[1].indexOf("fa-") === 0 ? icon2[1].slice(3) : icon2[1];
5095
+ const prefix = getCanonicalPrefix(icon2[0]);
5096
+ return {
5097
+ prefix,
5098
+ iconName: byAlias(prefix, iconName) || iconName
5099
+ };
5100
+ }
5101
+ if (typeof icon2 === "string" && (icon2.indexOf("".concat(config.cssPrefix, "-")) > -1 || icon2.match(ICON_SELECTION_SYNTAX_PATTERN))) {
5102
+ const canonicalIcon = getCanonicalIcon(icon2.split(" "), {
5103
+ skipLookups: true
5104
+ });
5105
+ return {
5106
+ prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),
5107
+ iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
5108
+ };
5109
+ }
5110
+ if (typeof icon2 === "string") {
5111
+ const prefix = getDefaultUsablePrefix();
5112
+ return {
5113
+ prefix,
5114
+ iconName: byAlias(prefix, icon2) || icon2
5115
+ };
5116
+ }
5117
+ }
5118
+ };
5119
+ var api = {
5120
+ noAuto,
5121
+ config,
5122
+ dom,
5123
+ parse,
5124
+ library,
5125
+ findIconDefinition,
5126
+ toHtml
5127
+ };
5128
+ var autoReplace = function() {
5129
+ let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
5130
+ const {
5131
+ autoReplaceSvgRoot = DOCUMENT
5132
+ } = params;
5133
+ if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({
5134
+ node: autoReplaceSvgRoot
5135
+ });
5136
+ };
5137
+ function domVariants(val, abstractCreator) {
5138
+ Object.defineProperty(val, "abstract", {
5139
+ get: abstractCreator
5140
+ });
5141
+ Object.defineProperty(val, "html", {
5142
+ get: function() {
5143
+ return val.abstract.map((a) => toHtml(a));
5144
+ }
5145
+ });
5146
+ Object.defineProperty(val, "node", {
5147
+ get: function() {
5148
+ if (!IS_DOM) return;
5149
+ const container = DOCUMENT.createElement("div");
5150
+ container.innerHTML = val.html;
5151
+ return container.children;
5152
+ }
5153
+ });
5154
+ return val;
5155
+ }
5156
+ function asIcon(_ref) {
5157
+ let {
5158
+ children,
5159
+ main,
5160
+ mask,
5161
+ attributes,
5162
+ styles: styles2,
5163
+ transform
5164
+ } = _ref;
5165
+ if (transformIsMeaningful(transform) && main.found && !mask.found) {
5166
+ const {
5167
+ width,
5168
+ height
5169
+ } = main;
5170
+ const offset = {
5171
+ x: width / height / 2,
5172
+ y: 0.5
5173
+ };
5174
+ attributes["style"] = joinStyles(_objectSpread2(_objectSpread2({}, styles2), {}, {
5175
+ "transform-origin": "".concat(offset.x + transform.x / 16, "em ").concat(offset.y + transform.y / 16, "em")
5176
+ }));
5177
+ }
5178
+ return [{
5179
+ tag: "svg",
5180
+ attributes,
5181
+ children
5182
+ }];
5183
+ }
5184
+ function asSymbol(_ref) {
5185
+ let {
5186
+ prefix,
5187
+ iconName,
5188
+ children,
5189
+ attributes,
5190
+ symbol
5191
+ } = _ref;
5192
+ const id = symbol === true ? "".concat(prefix, "-").concat(config.cssPrefix, "-").concat(iconName) : symbol;
5193
+ return [{
5194
+ tag: "svg",
5195
+ attributes: {
5196
+ style: "display: none;"
5197
+ },
5198
+ children: [{
5199
+ tag: "symbol",
5200
+ attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {
5201
+ id
5202
+ }),
5203
+ children
5204
+ }]
5205
+ }];
5206
+ }
5207
+ function makeInlineSvgAbstract(params) {
5208
+ const {
5209
+ icons: {
5210
+ main,
5211
+ mask
5212
+ },
5213
+ prefix,
5214
+ iconName,
5215
+ transform,
5216
+ symbol,
5217
+ title,
5218
+ maskId,
5219
+ titleId,
5220
+ extra,
5221
+ watchable = false
5222
+ } = params;
5223
+ const {
5224
+ width,
5225
+ height
5226
+ } = mask.found ? mask : main;
5227
+ const isUploadedIcon = Lt.includes(prefix);
5228
+ const attrClass = [config.replacementClass, iconName ? "".concat(config.cssPrefix, "-").concat(iconName) : ""].filter((c$$1) => extra.classes.indexOf(c$$1) === -1).filter((c$$1) => c$$1 !== "" || !!c$$1).concat(extra.classes).join(" ");
5229
+ let content = {
5230
+ children: [],
5231
+ attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {
5232
+ "data-prefix": prefix,
5233
+ "data-icon": iconName,
5234
+ "class": attrClass,
5235
+ "role": extra.attributes.role || "img",
5236
+ "xmlns": "http://www.w3.org/2000/svg",
5237
+ "viewBox": "0 0 ".concat(width, " ").concat(height)
5238
+ })
5239
+ };
5240
+ const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf("fa-fw") ? {
5241
+ width: "".concat(width / height * 16 * 0.0625, "em")
5242
+ } : {};
5243
+ if (watchable) {
5244
+ content.attributes[DATA_FA_I2SVG] = "";
5245
+ }
5246
+ if (title) {
5247
+ content.children.push({
5248
+ tag: "title",
5249
+ attributes: {
5250
+ id: content.attributes["aria-labelledby"] || "title-".concat(titleId || nextUniqueId())
5251
+ },
5252
+ children: [title]
5253
+ });
5254
+ delete content.attributes.title;
5255
+ }
5256
+ const args = _objectSpread2(_objectSpread2({}, content), {}, {
5257
+ prefix,
5258
+ iconName,
5259
+ main,
5260
+ mask,
5261
+ maskId,
5262
+ transform,
5263
+ symbol,
5264
+ styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)
5265
+ });
5266
+ const {
5267
+ children,
5268
+ attributes
5269
+ } = mask.found && main.found ? callProvided("generateAbstractMask", args) || {
5270
+ children: [],
5271
+ attributes: {}
5272
+ } : callProvided("generateAbstractIcon", args) || {
5273
+ children: [],
5274
+ attributes: {}
5275
+ };
5276
+ args.children = children;
5277
+ args.attributes = attributes;
5278
+ if (symbol) {
5279
+ return asSymbol(args);
5280
+ } else {
5281
+ return asIcon(args);
5282
+ }
5283
+ }
5284
+ function makeLayersTextAbstract(params) {
5285
+ const {
5286
+ content,
5287
+ width,
5288
+ height,
5289
+ transform,
5290
+ title,
5291
+ extra,
5292
+ watchable = false
5293
+ } = params;
5294
+ const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
5295
+ "title": title
5296
+ } : {}), {}, {
5297
+ "class": extra.classes.join(" ")
5298
+ });
5299
+ if (watchable) {
5300
+ attributes[DATA_FA_I2SVG] = "";
5301
+ }
5302
+ const styles2 = _objectSpread2({}, extra.styles);
5303
+ if (transformIsMeaningful(transform)) {
5304
+ styles2["transform"] = transformForCss({
5305
+ transform,
5306
+ startCentered: true,
5307
+ width,
5308
+ height
5309
+ });
5310
+ styles2["-webkit-transform"] = styles2["transform"];
5311
+ }
5312
+ const styleString = joinStyles(styles2);
5313
+ if (styleString.length > 0) {
5314
+ attributes["style"] = styleString;
5315
+ }
5316
+ const val = [];
5317
+ val.push({
5318
+ tag: "span",
5319
+ attributes,
5320
+ children: [content]
5321
+ });
5322
+ if (title) {
5323
+ val.push({
5324
+ tag: "span",
5325
+ attributes: {
5326
+ class: "sr-only"
5327
+ },
5328
+ children: [title]
5329
+ });
5330
+ }
5331
+ return val;
5332
+ }
5333
+ function makeLayersCounterAbstract(params) {
5334
+ const {
5335
+ content,
5336
+ title,
5337
+ extra
5338
+ } = params;
5339
+ const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
5340
+ "title": title
5341
+ } : {}), {}, {
5342
+ "class": extra.classes.join(" ")
5343
+ });
5344
+ const styleString = joinStyles(extra.styles);
5345
+ if (styleString.length > 0) {
5346
+ attributes["style"] = styleString;
5347
+ }
5348
+ const val = [];
5349
+ val.push({
5350
+ tag: "span",
5351
+ attributes,
5352
+ children: [content]
5353
+ });
5354
+ if (title) {
5355
+ val.push({
5356
+ tag: "span",
5357
+ attributes: {
5358
+ class: "sr-only"
5359
+ },
5360
+ children: [title]
5361
+ });
5362
+ }
5363
+ return val;
5364
+ }
5365
+ var {
5366
+ styles: styles$1
5367
+ } = namespace;
5368
+ function asFoundIcon(icon2) {
5369
+ const width = icon2[0];
5370
+ const height = icon2[1];
5371
+ const [vectorData] = icon2.slice(4);
5372
+ let element = null;
5373
+ if (Array.isArray(vectorData)) {
5374
+ element = {
5375
+ tag: "g",
5376
+ attributes: {
5377
+ class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.GROUP)
5378
+ },
5379
+ children: [{
5380
+ tag: "path",
5381
+ attributes: {
5382
+ class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.SECONDARY),
5383
+ fill: "currentColor",
5384
+ d: vectorData[0]
5385
+ }
5386
+ }, {
5387
+ tag: "path",
5388
+ attributes: {
5389
+ class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.PRIMARY),
5390
+ fill: "currentColor",
5391
+ d: vectorData[1]
5392
+ }
5393
+ }]
5394
+ };
5395
+ } else {
5396
+ element = {
5397
+ tag: "path",
5398
+ attributes: {
5399
+ fill: "currentColor",
5400
+ d: vectorData
5401
+ }
5402
+ };
5403
+ }
5404
+ return {
5405
+ found: true,
5406
+ width,
5407
+ height,
5408
+ icon: element
5409
+ };
5410
+ }
5411
+ var missingIconResolutionMixin = {
5412
+ found: false,
5413
+ width: 512,
5414
+ height: 512
5415
+ };
5416
+ function maybeNotifyMissing(iconName, prefix) {
5417
+ if (!PRODUCTION && !config.showMissingIcons && iconName) {
5418
+ console.error('Icon with name "'.concat(iconName, '" and prefix "').concat(prefix, '" is missing.'));
5419
+ }
5420
+ }
5421
+ function findIcon(iconName, prefix) {
5422
+ let givenPrefix = prefix;
5423
+ if (prefix === "fa" && config.styleDefault !== null) {
5424
+ prefix = getDefaultUsablePrefix();
5425
+ }
5426
+ return new Promise((resolve, reject) => {
5427
+ if (givenPrefix === "fa") {
5428
+ const shim = byOldName(iconName) || {};
5429
+ iconName = shim.iconName || iconName;
5430
+ prefix = shim.prefix || prefix;
5431
+ }
5432
+ if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {
5433
+ const icon2 = styles$1[prefix][iconName];
5434
+ return resolve(asFoundIcon(icon2));
5435
+ }
5436
+ maybeNotifyMissing(iconName, prefix);
5437
+ resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {
5438
+ icon: config.showMissingIcons && iconName ? callProvided("missingIconAbstract") || {} : {}
5439
+ }));
5440
+ });
5441
+ }
5442
+ var noop$1 = () => {
5443
+ };
5444
+ var p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
5445
+ mark: noop$1,
5446
+ measure: noop$1
5447
+ };
5448
+ var preamble = 'FA "6.7.2"';
5449
+ var begin = (name) => {
5450
+ p$2.mark("".concat(preamble, " ").concat(name, " begins"));
5451
+ return () => end(name);
5452
+ };
5453
+ var end = (name) => {
5454
+ p$2.mark("".concat(preamble, " ").concat(name, " ends"));
5455
+ p$2.measure("".concat(preamble, " ").concat(name), "".concat(preamble, " ").concat(name, " begins"), "".concat(preamble, " ").concat(name, " ends"));
5456
+ };
5457
+ var perf = {
5458
+ begin,
5459
+ end
5460
+ };
5461
+ var noop$2 = () => {
5462
+ };
5463
+ function isWatched(node) {
5464
+ const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
5465
+ return typeof i2svg === "string";
5466
+ }
5467
+ function hasPrefixAndIcon(node) {
5468
+ const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;
5469
+ const icon2 = node.getAttribute ? node.getAttribute(DATA_ICON) : null;
5470
+ return prefix && icon2;
5471
+ }
5472
+ function hasBeenReplaced(node) {
5473
+ return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);
5474
+ }
5475
+ function getMutator() {
5476
+ if (config.autoReplaceSvg === true) {
5477
+ return mutators.replace;
5478
+ }
5479
+ const mutator = mutators[config.autoReplaceSvg];
5480
+ return mutator || mutators.replace;
5481
+ }
5482
+ function createElementNS(tag) {
5483
+ return DOCUMENT.createElementNS("http://www.w3.org/2000/svg", tag);
5484
+ }
5485
+ function createElement3(tag) {
5486
+ return DOCUMENT.createElement(tag);
5487
+ }
5488
+ function convertSVG(abstractObj) {
5489
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
5490
+ const {
5491
+ ceFn = abstractObj.tag === "svg" ? createElementNS : createElement3
5492
+ } = params;
5493
+ if (typeof abstractObj === "string") {
5494
+ return DOCUMENT.createTextNode(abstractObj);
5495
+ }
5496
+ const tag = ceFn(abstractObj.tag);
5497
+ Object.keys(abstractObj.attributes || []).forEach(function(key) {
5498
+ tag.setAttribute(key, abstractObj.attributes[key]);
5499
+ });
5500
+ const children = abstractObj.children || [];
5501
+ children.forEach(function(child) {
5502
+ tag.appendChild(convertSVG(child, {
5503
+ ceFn
5504
+ }));
5505
+ });
5506
+ return tag;
5507
+ }
5508
+ function nodeAsComment(node) {
5509
+ let comment = " ".concat(node.outerHTML, " ");
5510
+ comment = "".concat(comment, "Font Awesome fontawesome.com ");
5511
+ return comment;
5512
+ }
5513
+ var mutators = {
5514
+ replace: function(mutation) {
5515
+ const node = mutation[0];
5516
+ if (node.parentNode) {
5517
+ mutation[1].forEach((abstract) => {
5518
+ node.parentNode.insertBefore(convertSVG(abstract), node);
5519
+ });
5520
+ if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {
5521
+ let comment = DOCUMENT.createComment(nodeAsComment(node));
5522
+ node.parentNode.replaceChild(comment, node);
5523
+ } else {
5524
+ node.remove();
5525
+ }
5526
+ }
5527
+ },
5528
+ nest: function(mutation) {
5529
+ const node = mutation[0];
5530
+ const abstract = mutation[1];
5531
+ if (~classArray(node).indexOf(config.replacementClass)) {
5532
+ return mutators.replace(mutation);
5533
+ }
5534
+ const forSvg = new RegExp("".concat(config.cssPrefix, "-.*"));
5535
+ delete abstract[0].attributes.id;
5536
+ if (abstract[0].attributes.class) {
5537
+ const splitClasses = abstract[0].attributes.class.split(" ").reduce((acc, cls) => {
5538
+ if (cls === config.replacementClass || cls.match(forSvg)) {
5539
+ acc.toSvg.push(cls);
5540
+ } else {
5541
+ acc.toNode.push(cls);
5542
+ }
5543
+ return acc;
5544
+ }, {
5545
+ toNode: [],
5546
+ toSvg: []
5547
+ });
5548
+ abstract[0].attributes.class = splitClasses.toSvg.join(" ");
5549
+ if (splitClasses.toNode.length === 0) {
5550
+ node.removeAttribute("class");
5551
+ } else {
5552
+ node.setAttribute("class", splitClasses.toNode.join(" "));
5553
+ }
5554
+ }
5555
+ const newInnerHTML = abstract.map((a) => toHtml(a)).join("\n");
5556
+ node.setAttribute(DATA_FA_I2SVG, "");
5557
+ node.innerHTML = newInnerHTML;
5558
+ }
5559
+ };
5560
+ function performOperationSync(op) {
5561
+ op();
5562
+ }
5563
+ function perform(mutations, callback) {
5564
+ const callbackFunction = typeof callback === "function" ? callback : noop$2;
5565
+ if (mutations.length === 0) {
5566
+ callbackFunction();
5567
+ } else {
5568
+ let frame = performOperationSync;
5569
+ if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {
5570
+ frame = WINDOW.requestAnimationFrame || performOperationSync;
5571
+ }
5572
+ frame(() => {
5573
+ const mutator = getMutator();
5574
+ const mark = perf.begin("mutate");
5575
+ mutations.map(mutator);
5576
+ mark();
5577
+ callbackFunction();
5578
+ });
5579
+ }
5580
+ }
5581
+ var disabled = false;
5582
+ function disableObservation() {
5583
+ disabled = true;
5584
+ }
5585
+ function enableObservation() {
5586
+ disabled = false;
5587
+ }
5588
+ var mo = null;
5589
+ function observe(options) {
5590
+ if (!MUTATION_OBSERVER) {
5591
+ return;
5592
+ }
5593
+ if (!config.observeMutations) {
5594
+ return;
5595
+ }
5596
+ const {
5597
+ treeCallback = noop$2,
5598
+ nodeCallback = noop$2,
5599
+ pseudoElementsCallback = noop$2,
5600
+ observeMutationsRoot = DOCUMENT
5601
+ } = options;
5602
+ mo = new MUTATION_OBSERVER((objects) => {
5603
+ if (disabled) return;
5604
+ const defaultPrefix = getDefaultUsablePrefix();
5605
+ toArray(objects).forEach((mutationRecord) => {
5606
+ if (mutationRecord.type === "childList" && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
5607
+ if (config.searchPseudoElements) {
5608
+ pseudoElementsCallback(mutationRecord.target);
5609
+ }
5610
+ treeCallback(mutationRecord.target);
5611
+ }
5612
+ if (mutationRecord.type === "attributes" && mutationRecord.target.parentNode && config.searchPseudoElements) {
5613
+ pseudoElementsCallback(mutationRecord.target.parentNode);
5614
+ }
5615
+ if (mutationRecord.type === "attributes" && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
5616
+ if (mutationRecord.attributeName === "class" && hasPrefixAndIcon(mutationRecord.target)) {
5617
+ const {
5618
+ prefix,
5619
+ iconName
5620
+ } = getCanonicalIcon(classArray(mutationRecord.target));
5621
+ mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);
5622
+ if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);
5623
+ } else if (hasBeenReplaced(mutationRecord.target)) {
5624
+ nodeCallback(mutationRecord.target);
5625
+ }
5626
+ }
5627
+ });
5628
+ });
5629
+ if (!IS_DOM) return;
5630
+ mo.observe(observeMutationsRoot, {
5631
+ childList: true,
5632
+ attributes: true,
5633
+ characterData: true,
5634
+ subtree: true
5635
+ });
5636
+ }
5637
+ function disconnect() {
5638
+ if (!mo) return;
5639
+ mo.disconnect();
5640
+ }
5641
+ function styleParser(node) {
5642
+ const style = node.getAttribute("style");
5643
+ let val = [];
5644
+ if (style) {
5645
+ val = style.split(";").reduce((acc, style2) => {
5646
+ const styles2 = style2.split(":");
5647
+ const prop = styles2[0];
5648
+ const value = styles2.slice(1);
5649
+ if (prop && value.length > 0) {
5650
+ acc[prop] = value.join(":").trim();
5651
+ }
5652
+ return acc;
5653
+ }, {});
5654
+ }
5655
+ return val;
5656
+ }
5657
+ function classParser(node) {
5658
+ const existingPrefix = node.getAttribute("data-prefix");
5659
+ const existingIconName = node.getAttribute("data-icon");
5660
+ const innerText = node.innerText !== void 0 ? node.innerText.trim() : "";
5661
+ let val = getCanonicalIcon(classArray(node));
5662
+ if (!val.prefix) {
5663
+ val.prefix = getDefaultUsablePrefix();
5664
+ }
5665
+ if (existingPrefix && existingIconName) {
5666
+ val.prefix = existingPrefix;
5667
+ val.iconName = existingIconName;
5668
+ }
5669
+ if (val.iconName && val.prefix) {
5670
+ return val;
5671
+ }
5672
+ if (val.prefix && innerText.length > 0) {
5673
+ val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));
5674
+ }
5675
+ if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {
5676
+ val.iconName = node.firstChild.data;
5677
+ }
5678
+ return val;
5679
+ }
5680
+ function attributesParser(node) {
5681
+ const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {
5682
+ if (acc.name !== "class" && acc.name !== "style") {
5683
+ acc[attr.name] = attr.value;
5684
+ }
5685
+ return acc;
5686
+ }, {});
5687
+ const title = node.getAttribute("title");
5688
+ const titleId = node.getAttribute("data-fa-title-id");
5689
+ if (config.autoA11y) {
5690
+ if (title) {
5691
+ extraAttributes["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
5692
+ } else {
5693
+ extraAttributes["aria-hidden"] = "true";
5694
+ extraAttributes["focusable"] = "false";
5695
+ }
5696
+ }
5697
+ return extraAttributes;
5698
+ }
5699
+ function blankMeta() {
5700
+ return {
5701
+ iconName: null,
5702
+ title: null,
5703
+ titleId: null,
5704
+ prefix: null,
5705
+ transform: meaninglessTransform,
5706
+ symbol: false,
5707
+ mask: {
5708
+ iconName: null,
5709
+ prefix: null,
5710
+ rest: []
5711
+ },
5712
+ maskId: null,
5713
+ extra: {
5714
+ classes: [],
5715
+ styles: {},
5716
+ attributes: {}
5717
+ }
5718
+ };
5719
+ }
5720
+ function parseMeta(node) {
5721
+ let parser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
5722
+ styleParser: true
5723
+ };
5724
+ const {
5725
+ iconName,
5726
+ prefix,
5727
+ rest: extraClasses
5728
+ } = classParser(node);
5729
+ const extraAttributes = attributesParser(node);
5730
+ const pluginMeta = chainHooks("parseNodeAttributes", {}, node);
5731
+ let extraStyles = parser.styleParser ? styleParser(node) : [];
5732
+ return _objectSpread2({
5733
+ iconName,
5734
+ title: node.getAttribute("title"),
5735
+ titleId: node.getAttribute("data-fa-title-id"),
5736
+ prefix,
5737
+ transform: meaninglessTransform,
5738
+ mask: {
5739
+ iconName: null,
5740
+ prefix: null,
5741
+ rest: []
5742
+ },
5743
+ maskId: null,
5744
+ symbol: false,
5745
+ extra: {
5746
+ classes: extraClasses,
5747
+ styles: extraStyles,
5748
+ attributes: extraAttributes
5749
+ }
5750
+ }, pluginMeta);
5751
+ }
5752
+ var {
5753
+ styles: styles$2
5754
+ } = namespace;
5755
+ function generateMutation(node) {
5756
+ const nodeMeta = config.autoReplaceSvg === "nest" ? parseMeta(node, {
5757
+ styleParser: false
5758
+ }) : parseMeta(node);
5759
+ if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
5760
+ return callProvided("generateLayersText", node, nodeMeta);
5761
+ } else {
5762
+ return callProvided("generateSvgReplacementMutation", node, nodeMeta);
5763
+ }
5764
+ }
5765
+ function getKnownPrefixes() {
5766
+ return [...Ft, ...Ia];
5767
+ }
5768
+ function onTree(root) {
5769
+ let callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
5770
+ if (!IS_DOM) return Promise.resolve();
5771
+ const htmlClassList = DOCUMENT.documentElement.classList;
5772
+ const hclAdd = (suffix) => htmlClassList.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
5773
+ const hclRemove = (suffix) => htmlClassList.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
5774
+ const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));
5775
+ if (!prefixes.includes("fa")) {
5776
+ prefixes.push("fa");
5777
+ }
5778
+ const prefixesDomQuery = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(prefixes.map((p$$1) => ".".concat(p$$1, ":not([").concat(DATA_FA_I2SVG, "])"))).join(", ");
5779
+ if (prefixesDomQuery.length === 0) {
5780
+ return Promise.resolve();
5781
+ }
5782
+ let candidates = [];
5783
+ try {
5784
+ candidates = toArray(root.querySelectorAll(prefixesDomQuery));
5785
+ } catch (e$$1) {
5786
+ }
5787
+ if (candidates.length > 0) {
5788
+ hclAdd("pending");
5789
+ hclRemove("complete");
5790
+ } else {
5791
+ return Promise.resolve();
5792
+ }
5793
+ const mark = perf.begin("onTree");
5794
+ const mutations = candidates.reduce((acc, node) => {
5795
+ try {
5796
+ const mutation = generateMutation(node);
5797
+ if (mutation) {
5798
+ acc.push(mutation);
5799
+ }
5800
+ } catch (e$$1) {
5801
+ if (!PRODUCTION) {
5802
+ if (e$$1.name === "MissingIcon") {
5803
+ console.error(e$$1);
5804
+ }
5805
+ }
5806
+ }
5807
+ return acc;
5808
+ }, []);
5809
+ return new Promise((resolve, reject) => {
5810
+ Promise.all(mutations).then((resolvedMutations) => {
5811
+ perform(resolvedMutations, () => {
5812
+ hclAdd("active");
5813
+ hclAdd("complete");
5814
+ hclRemove("pending");
5815
+ if (typeof callback === "function") callback();
5816
+ mark();
5817
+ resolve();
5818
+ });
5819
+ }).catch((e$$1) => {
5820
+ mark();
5821
+ reject(e$$1);
5822
+ });
5823
+ });
5824
+ }
5825
+ function onNode(node) {
5826
+ let callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
5827
+ generateMutation(node).then((mutation) => {
5828
+ if (mutation) {
5829
+ perform([mutation], callback);
5830
+ }
5831
+ });
5832
+ }
5833
+ function resolveIcons(next) {
5834
+ return function(maybeIconDefinition) {
5835
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
5836
+ const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
5837
+ let {
5838
+ mask
5839
+ } = params;
5840
+ if (mask) {
5841
+ mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
5842
+ }
5843
+ return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {
5844
+ mask
5845
+ }));
5846
+ };
5847
+ }
5848
+ var render = function(iconDefinition) {
5849
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
5850
+ const {
5851
+ transform = meaninglessTransform,
5852
+ symbol = false,
5853
+ mask = null,
5854
+ maskId = null,
5855
+ title = null,
5856
+ titleId = null,
5857
+ classes = [],
5858
+ attributes = {},
5859
+ styles: styles2 = {}
5860
+ } = params;
5861
+ if (!iconDefinition) return;
5862
+ const {
5863
+ prefix,
5864
+ iconName,
5865
+ icon: icon2
5866
+ } = iconDefinition;
5867
+ return domVariants(_objectSpread2({
5868
+ type: "icon"
5869
+ }, iconDefinition), () => {
5870
+ callHooks("beforeDOMElementCreation", {
5871
+ iconDefinition,
5872
+ params
5873
+ });
5874
+ if (config.autoA11y) {
5875
+ if (title) {
5876
+ attributes["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
5877
+ } else {
5878
+ attributes["aria-hidden"] = "true";
5879
+ attributes["focusable"] = "false";
5880
+ }
5881
+ }
5882
+ return makeInlineSvgAbstract({
5883
+ icons: {
5884
+ main: asFoundIcon(icon2),
5885
+ mask: mask ? asFoundIcon(mask.icon) : {
5886
+ found: false,
5887
+ width: null,
5888
+ height: null,
5889
+ icon: {}
5890
+ }
5891
+ },
5892
+ prefix,
5893
+ iconName,
5894
+ transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
5895
+ symbol,
5896
+ title,
5897
+ maskId,
5898
+ titleId,
5899
+ extra: {
5900
+ attributes,
5901
+ styles: styles2,
5902
+ classes
5903
+ }
5904
+ });
5905
+ });
5906
+ };
5907
+ var ReplaceElements = {
5908
+ mixout() {
5909
+ return {
5910
+ icon: resolveIcons(render)
5911
+ };
5912
+ },
5913
+ hooks() {
5914
+ return {
5915
+ mutationObserverCallbacks(accumulator) {
5916
+ accumulator.treeCallback = onTree;
5917
+ accumulator.nodeCallback = onNode;
5918
+ return accumulator;
5919
+ }
5920
+ };
5921
+ },
5922
+ provides(providers$$1) {
5923
+ providers$$1.i2svg = function(params) {
5924
+ const {
5925
+ node = DOCUMENT,
5926
+ callback = () => {
5927
+ }
5928
+ } = params;
5929
+ return onTree(node, callback);
5930
+ };
5931
+ providers$$1.generateSvgReplacementMutation = function(node, nodeMeta) {
5932
+ const {
5933
+ iconName,
5934
+ title,
5935
+ titleId,
5936
+ prefix,
5937
+ transform,
5938
+ symbol,
5939
+ mask,
5940
+ maskId,
5941
+ extra
5942
+ } = nodeMeta;
5943
+ return new Promise((resolve, reject) => {
5944
+ Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({
5945
+ found: false,
5946
+ width: 512,
5947
+ height: 512,
5948
+ icon: {}
5949
+ })]).then((_ref) => {
5950
+ let [main, mask2] = _ref;
5951
+ resolve([node, makeInlineSvgAbstract({
5952
+ icons: {
5953
+ main,
5954
+ mask: mask2
5955
+ },
5956
+ prefix,
5957
+ iconName,
5958
+ transform,
5959
+ symbol,
5960
+ maskId,
5961
+ title,
5962
+ titleId,
5963
+ extra,
5964
+ watchable: true
5965
+ })]);
5966
+ }).catch(reject);
5967
+ });
5968
+ };
5969
+ providers$$1.generateAbstractIcon = function(_ref2) {
5970
+ let {
5971
+ children,
5972
+ attributes,
5973
+ main,
5974
+ transform,
5975
+ styles: styles2
5976
+ } = _ref2;
5977
+ const styleString = joinStyles(styles2);
5978
+ if (styleString.length > 0) {
5979
+ attributes["style"] = styleString;
5980
+ }
5981
+ let nextChild;
5982
+ if (transformIsMeaningful(transform)) {
5983
+ nextChild = callProvided("generateAbstractTransformGrouping", {
5984
+ main,
5985
+ transform,
5986
+ containerWidth: main.width,
5987
+ iconWidth: main.width
5988
+ });
5989
+ }
5990
+ children.push(nextChild || main.icon);
5991
+ return {
5992
+ children,
5993
+ attributes
5994
+ };
5995
+ };
5996
+ }
5997
+ };
5998
+ var Layers = {
5999
+ mixout() {
6000
+ return {
6001
+ layer(assembler) {
6002
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6003
+ const {
6004
+ classes = []
6005
+ } = params;
6006
+ return domVariants({
6007
+ type: "layer"
6008
+ }, () => {
6009
+ callHooks("beforeDOMElementCreation", {
6010
+ assembler,
6011
+ params
6012
+ });
6013
+ let children = [];
6014
+ assembler((args) => {
6015
+ Array.isArray(args) ? args.map((a) => {
6016
+ children = children.concat(a.abstract);
6017
+ }) : children = children.concat(args.abstract);
6018
+ });
6019
+ return [{
6020
+ tag: "span",
6021
+ attributes: {
6022
+ class: ["".concat(config.cssPrefix, "-layers"), ...classes].join(" ")
6023
+ },
6024
+ children
6025
+ }];
6026
+ });
6027
+ }
6028
+ };
6029
+ }
6030
+ };
6031
+ var LayersCounter = {
6032
+ mixout() {
6033
+ return {
6034
+ counter(content) {
6035
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6036
+ const {
6037
+ title = null,
6038
+ classes = [],
6039
+ attributes = {},
6040
+ styles: styles2 = {}
6041
+ } = params;
6042
+ return domVariants({
6043
+ type: "counter",
6044
+ content
6045
+ }, () => {
6046
+ callHooks("beforeDOMElementCreation", {
6047
+ content,
6048
+ params
6049
+ });
6050
+ return makeLayersCounterAbstract({
6051
+ content: content.toString(),
6052
+ title,
6053
+ extra: {
6054
+ attributes,
6055
+ styles: styles2,
6056
+ classes: ["".concat(config.cssPrefix, "-layers-counter"), ...classes]
6057
+ }
6058
+ });
6059
+ });
6060
+ }
6061
+ };
6062
+ }
6063
+ };
6064
+ var LayersText = {
6065
+ mixout() {
6066
+ return {
6067
+ text(content) {
6068
+ let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6069
+ const {
6070
+ transform = meaninglessTransform,
6071
+ title = null,
6072
+ classes = [],
6073
+ attributes = {},
6074
+ styles: styles2 = {}
6075
+ } = params;
6076
+ return domVariants({
6077
+ type: "text",
6078
+ content
6079
+ }, () => {
6080
+ callHooks("beforeDOMElementCreation", {
6081
+ content,
6082
+ params
6083
+ });
6084
+ return makeLayersTextAbstract({
6085
+ content,
6086
+ transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
6087
+ title,
6088
+ extra: {
6089
+ attributes,
6090
+ styles: styles2,
6091
+ classes: ["".concat(config.cssPrefix, "-layers-text"), ...classes]
6092
+ }
6093
+ });
6094
+ });
6095
+ }
6096
+ };
6097
+ },
6098
+ provides(providers$$1) {
6099
+ providers$$1.generateLayersText = function(node, nodeMeta) {
6100
+ const {
6101
+ title,
6102
+ transform,
6103
+ extra
6104
+ } = nodeMeta;
6105
+ let width = null;
6106
+ let height = null;
6107
+ if (IS_IE) {
6108
+ const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
6109
+ const boundingClientRect = node.getBoundingClientRect();
6110
+ width = boundingClientRect.width / computedFontSize;
6111
+ height = boundingClientRect.height / computedFontSize;
6112
+ }
6113
+ if (config.autoA11y && !title) {
6114
+ extra.attributes["aria-hidden"] = "true";
6115
+ }
6116
+ return Promise.resolve([node, makeLayersTextAbstract({
6117
+ content: node.innerHTML,
6118
+ width,
6119
+ height,
6120
+ transform,
6121
+ title,
6122
+ extra,
6123
+ watchable: true
6124
+ })]);
6125
+ };
6126
+ }
6127
+ };
6128
+ var CLEAN_CONTENT_PATTERN = new RegExp('"', "ug");
6129
+ var SECONDARY_UNICODE_RANGE = [1105920, 1112319];
6130
+ var _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
6131
+ FontAwesome: {
6132
+ normal: "fas",
6133
+ 400: "fas"
6134
+ }
6135
+ }), lt), wa), Yt);
6136
+ var FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {
6137
+ acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];
6138
+ return acc;
6139
+ }, {});
6140
+ var FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {
6141
+ const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];
6142
+ acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];
6143
+ return acc;
6144
+ }, {});
6145
+ function hexValueFromContent(content) {
6146
+ const cleaned = content.replace(CLEAN_CONTENT_PATTERN, "");
6147
+ const codePoint = codePointAt(cleaned, 0);
6148
+ const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];
6149
+ const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;
6150
+ return {
6151
+ value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),
6152
+ isSecondary: isPrependTen || isDoubled
6153
+ };
6154
+ }
6155
+ function getPrefix(fontFamily, fontWeight) {
6156
+ const fontFamilySanitized = fontFamily.replace(/^['"]|['"]$/g, "").toLowerCase();
6157
+ const fontWeightInteger = parseInt(fontWeight);
6158
+ const fontWeightSanitized = isNaN(fontWeightInteger) ? "normal" : fontWeightInteger;
6159
+ return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];
6160
+ }
6161
+ function replaceForPosition(node, position) {
6162
+ const pendingAttribute = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(":", "-"));
6163
+ return new Promise((resolve, reject) => {
6164
+ if (node.getAttribute(pendingAttribute) !== null) {
6165
+ return resolve();
6166
+ }
6167
+ const children = toArray(node.children);
6168
+ const alreadyProcessedPseudoElement = children.filter((c$$1) => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];
6169
+ const styles2 = WINDOW.getComputedStyle(node, position);
6170
+ const fontFamily = styles2.getPropertyValue("font-family");
6171
+ const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);
6172
+ const fontWeight = styles2.getPropertyValue("font-weight");
6173
+ const content = styles2.getPropertyValue("content");
6174
+ if (alreadyProcessedPseudoElement && !fontFamilyMatch) {
6175
+ node.removeChild(alreadyProcessedPseudoElement);
6176
+ return resolve();
6177
+ } else if (fontFamilyMatch && content !== "none" && content !== "") {
6178
+ const content2 = styles2.getPropertyValue("content");
6179
+ let prefix = getPrefix(fontFamily, fontWeight);
6180
+ const {
6181
+ value: hexValue,
6182
+ isSecondary
6183
+ } = hexValueFromContent(content2);
6184
+ const isV4 = fontFamilyMatch[0].startsWith("FontAwesome");
6185
+ let iconName = byUnicode(prefix, hexValue);
6186
+ let iconIdentifier = iconName;
6187
+ if (isV4) {
6188
+ const iconName4 = byOldUnicode(hexValue);
6189
+ if (iconName4.iconName && iconName4.prefix) {
6190
+ iconName = iconName4.iconName;
6191
+ prefix = iconName4.prefix;
6192
+ }
6193
+ }
6194
+ if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {
6195
+ node.setAttribute(pendingAttribute, iconIdentifier);
6196
+ if (alreadyProcessedPseudoElement) {
6197
+ node.removeChild(alreadyProcessedPseudoElement);
6198
+ }
6199
+ const meta = blankMeta();
6200
+ const {
6201
+ extra
6202
+ } = meta;
6203
+ extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;
6204
+ findIcon(iconName, prefix).then((main) => {
6205
+ const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {
6206
+ icons: {
6207
+ main,
6208
+ mask: emptyCanonicalIcon()
6209
+ },
6210
+ prefix,
6211
+ iconName: iconIdentifier,
6212
+ extra,
6213
+ watchable: true
6214
+ }));
6215
+ const element = DOCUMENT.createElementNS("http://www.w3.org/2000/svg", "svg");
6216
+ if (position === "::before") {
6217
+ node.insertBefore(element, node.firstChild);
6218
+ } else {
6219
+ node.appendChild(element);
6220
+ }
6221
+ element.outerHTML = abstract.map((a$$1) => toHtml(a$$1)).join("\n");
6222
+ node.removeAttribute(pendingAttribute);
6223
+ resolve();
6224
+ }).catch(reject);
6225
+ } else {
6226
+ resolve();
6227
+ }
6228
+ } else {
6229
+ resolve();
6230
+ }
6231
+ });
6232
+ }
6233
+ function replace(node) {
6234
+ return Promise.all([replaceForPosition(node, "::before"), replaceForPosition(node, "::after")]);
6235
+ }
6236
+ function processable(node) {
6237
+ return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== "svg");
6238
+ }
6239
+ function searchPseudoElements(root) {
6240
+ if (!IS_DOM) return;
6241
+ return new Promise((resolve, reject) => {
6242
+ const operations = toArray(root.querySelectorAll("*")).filter(processable).map(replace);
6243
+ const end2 = perf.begin("searchPseudoElements");
6244
+ disableObservation();
6245
+ Promise.all(operations).then(() => {
6246
+ end2();
6247
+ enableObservation();
6248
+ resolve();
6249
+ }).catch(() => {
6250
+ end2();
6251
+ enableObservation();
6252
+ reject();
6253
+ });
6254
+ });
6255
+ }
6256
+ var PseudoElements = {
6257
+ hooks() {
6258
+ return {
6259
+ mutationObserverCallbacks(accumulator) {
6260
+ accumulator.pseudoElementsCallback = searchPseudoElements;
6261
+ return accumulator;
6262
+ }
6263
+ };
6264
+ },
6265
+ provides(providers2) {
6266
+ providers2.pseudoElements2svg = function(params) {
6267
+ const {
6268
+ node = DOCUMENT
6269
+ } = params;
6270
+ if (config.searchPseudoElements) {
6271
+ searchPseudoElements(node);
6272
+ }
6273
+ };
6274
+ }
6275
+ };
6276
+ var _unwatched = false;
6277
+ var MutationObserver$1 = {
6278
+ mixout() {
6279
+ return {
6280
+ dom: {
6281
+ unwatch() {
6282
+ disableObservation();
6283
+ _unwatched = true;
6284
+ }
6285
+ }
6286
+ };
6287
+ },
6288
+ hooks() {
6289
+ return {
6290
+ bootstrap() {
6291
+ observe(chainHooks("mutationObserverCallbacks", {}));
6292
+ },
6293
+ noAuto() {
6294
+ disconnect();
6295
+ },
6296
+ watch(params) {
6297
+ const {
6298
+ observeMutationsRoot
6299
+ } = params;
6300
+ if (_unwatched) {
6301
+ enableObservation();
6302
+ } else {
6303
+ observe(chainHooks("mutationObserverCallbacks", {
6304
+ observeMutationsRoot
6305
+ }));
6306
+ }
6307
+ }
6308
+ };
6309
+ }
6310
+ };
6311
+ var parseTransformString = (transformString) => {
6312
+ let transform = {
6313
+ size: 16,
6314
+ x: 0,
6315
+ y: 0,
6316
+ flipX: false,
6317
+ flipY: false,
6318
+ rotate: 0
6319
+ };
6320
+ return transformString.toLowerCase().split(" ").reduce((acc, n) => {
6321
+ const parts = n.toLowerCase().split("-");
6322
+ const first = parts[0];
6323
+ let rest = parts.slice(1).join("-");
6324
+ if (first && rest === "h") {
6325
+ acc.flipX = true;
6326
+ return acc;
6327
+ }
6328
+ if (first && rest === "v") {
6329
+ acc.flipY = true;
6330
+ return acc;
6331
+ }
6332
+ rest = parseFloat(rest);
6333
+ if (isNaN(rest)) {
6334
+ return acc;
6335
+ }
6336
+ switch (first) {
6337
+ case "grow":
6338
+ acc.size = acc.size + rest;
6339
+ break;
6340
+ case "shrink":
6341
+ acc.size = acc.size - rest;
6342
+ break;
6343
+ case "left":
6344
+ acc.x = acc.x - rest;
6345
+ break;
6346
+ case "right":
6347
+ acc.x = acc.x + rest;
6348
+ break;
6349
+ case "up":
6350
+ acc.y = acc.y - rest;
6351
+ break;
6352
+ case "down":
6353
+ acc.y = acc.y + rest;
6354
+ break;
6355
+ case "rotate":
6356
+ acc.rotate = acc.rotate + rest;
6357
+ break;
6358
+ }
6359
+ return acc;
6360
+ }, transform);
6361
+ };
6362
+ var PowerTransforms = {
6363
+ mixout() {
6364
+ return {
6365
+ parse: {
6366
+ transform: (transformString) => {
6367
+ return parseTransformString(transformString);
6368
+ }
6369
+ }
6370
+ };
6371
+ },
6372
+ hooks() {
6373
+ return {
6374
+ parseNodeAttributes(accumulator, node) {
6375
+ const transformString = node.getAttribute("data-fa-transform");
6376
+ if (transformString) {
6377
+ accumulator.transform = parseTransformString(transformString);
6378
+ }
6379
+ return accumulator;
6380
+ }
6381
+ };
6382
+ },
6383
+ provides(providers2) {
6384
+ providers2.generateAbstractTransformGrouping = function(_ref) {
6385
+ let {
6386
+ main,
6387
+ transform,
6388
+ containerWidth,
6389
+ iconWidth
6390
+ } = _ref;
6391
+ const outer = {
6392
+ transform: "translate(".concat(containerWidth / 2, " 256)")
6393
+ };
6394
+ const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
6395
+ const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
6396
+ const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
6397
+ const inner = {
6398
+ transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
6399
+ };
6400
+ const path = {
6401
+ transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
6402
+ };
6403
+ const operations = {
6404
+ outer,
6405
+ inner,
6406
+ path
6407
+ };
6408
+ return {
6409
+ tag: "g",
6410
+ attributes: _objectSpread2({}, operations.outer),
6411
+ children: [{
6412
+ tag: "g",
6413
+ attributes: _objectSpread2({}, operations.inner),
6414
+ children: [{
6415
+ tag: main.icon.tag,
6416
+ children: main.icon.children,
6417
+ attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)
6418
+ }]
6419
+ }]
6420
+ };
6421
+ };
6422
+ }
6423
+ };
6424
+ var ALL_SPACE = {
6425
+ x: 0,
6426
+ y: 0,
6427
+ width: "100%",
6428
+ height: "100%"
6429
+ };
6430
+ function fillBlack(abstract) {
6431
+ let force = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
6432
+ if (abstract.attributes && (abstract.attributes.fill || force)) {
6433
+ abstract.attributes.fill = "black";
6434
+ }
6435
+ return abstract;
6436
+ }
6437
+ function deGroup(abstract) {
6438
+ if (abstract.tag === "g") {
6439
+ return abstract.children;
6440
+ } else {
6441
+ return [abstract];
6442
+ }
6443
+ }
6444
+ var Masks = {
6445
+ hooks() {
6446
+ return {
6447
+ parseNodeAttributes(accumulator, node) {
6448
+ const maskData = node.getAttribute("data-fa-mask");
6449
+ const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(" ").map((i) => i.trim()));
6450
+ if (!mask.prefix) {
6451
+ mask.prefix = getDefaultUsablePrefix();
6452
+ }
6453
+ accumulator.mask = mask;
6454
+ accumulator.maskId = node.getAttribute("data-fa-mask-id");
6455
+ return accumulator;
6456
+ }
6457
+ };
6458
+ },
6459
+ provides(providers2) {
6460
+ providers2.generateAbstractMask = function(_ref) {
6461
+ let {
6462
+ children,
6463
+ attributes,
6464
+ main,
6465
+ mask,
6466
+ maskId: explicitMaskId,
6467
+ transform
6468
+ } = _ref;
6469
+ const {
6470
+ width: mainWidth,
6471
+ icon: mainPath
6472
+ } = main;
6473
+ const {
6474
+ width: maskWidth,
6475
+ icon: maskPath
6476
+ } = mask;
6477
+ const trans = transformForSvg({
6478
+ transform,
6479
+ containerWidth: maskWidth,
6480
+ iconWidth: mainWidth
6481
+ });
6482
+ const maskRect = {
6483
+ tag: "rect",
6484
+ attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
6485
+ fill: "white"
6486
+ })
6487
+ };
6488
+ const maskInnerGroupChildrenMixin = mainPath.children ? {
6489
+ children: mainPath.children.map(fillBlack)
6490
+ } : {};
6491
+ const maskInnerGroup = {
6492
+ tag: "g",
6493
+ attributes: _objectSpread2({}, trans.inner),
6494
+ children: [fillBlack(_objectSpread2({
6495
+ tag: mainPath.tag,
6496
+ attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)
6497
+ }, maskInnerGroupChildrenMixin))]
6498
+ };
6499
+ const maskOuterGroup = {
6500
+ tag: "g",
6501
+ attributes: _objectSpread2({}, trans.outer),
6502
+ children: [maskInnerGroup]
6503
+ };
6504
+ const maskId = "mask-".concat(explicitMaskId || nextUniqueId());
6505
+ const clipId = "clip-".concat(explicitMaskId || nextUniqueId());
6506
+ const maskTag = {
6507
+ tag: "mask",
6508
+ attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
6509
+ id: maskId,
6510
+ maskUnits: "userSpaceOnUse",
6511
+ maskContentUnits: "userSpaceOnUse"
6512
+ }),
6513
+ children: [maskRect, maskOuterGroup]
6514
+ };
6515
+ const defs = {
6516
+ tag: "defs",
6517
+ children: [{
6518
+ tag: "clipPath",
6519
+ attributes: {
6520
+ id: clipId
6521
+ },
6522
+ children: deGroup(maskPath)
6523
+ }, maskTag]
6524
+ };
6525
+ children.push(defs, {
6526
+ tag: "rect",
6527
+ attributes: _objectSpread2({
6528
+ fill: "currentColor",
6529
+ "clip-path": "url(#".concat(clipId, ")"),
6530
+ mask: "url(#".concat(maskId, ")")
6531
+ }, ALL_SPACE)
6532
+ });
6533
+ return {
6534
+ children,
6535
+ attributes
6536
+ };
6537
+ };
6538
+ }
6539
+ };
6540
+ var MissingIconIndicator = {
6541
+ provides(providers2) {
6542
+ let reduceMotion = false;
6543
+ if (WINDOW.matchMedia) {
6544
+ reduceMotion = WINDOW.matchMedia("(prefers-reduced-motion: reduce)").matches;
6545
+ }
6546
+ providers2.missingIconAbstract = function() {
6547
+ const gChildren = [];
6548
+ const FILL = {
6549
+ fill: "currentColor"
6550
+ };
6551
+ const ANIMATION_BASE = {
6552
+ attributeType: "XML",
6553
+ repeatCount: "indefinite",
6554
+ dur: "2s"
6555
+ };
6556
+ gChildren.push({
6557
+ tag: "path",
6558
+ attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
6559
+ d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
6560
+ })
6561
+ });
6562
+ const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
6563
+ attributeName: "opacity"
6564
+ });
6565
+ const dot = {
6566
+ tag: "circle",
6567
+ attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
6568
+ cx: "256",
6569
+ cy: "364",
6570
+ r: "28"
6571
+ }),
6572
+ children: []
6573
+ };
6574
+ if (!reduceMotion) {
6575
+ dot.children.push({
6576
+ tag: "animate",
6577
+ attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
6578
+ attributeName: "r",
6579
+ values: "28;14;28;28;14;28;"
6580
+ })
6581
+ }, {
6582
+ tag: "animate",
6583
+ attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
6584
+ values: "1;0;1;1;0;1;"
6585
+ })
6586
+ });
6587
+ }
6588
+ gChildren.push(dot);
6589
+ gChildren.push({
6590
+ tag: "path",
6591
+ attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
6592
+ opacity: "1",
6593
+ d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
6594
+ }),
6595
+ children: reduceMotion ? [] : [{
6596
+ tag: "animate",
6597
+ attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
6598
+ values: "1;0;0;0;0;1;"
6599
+ })
6600
+ }]
6601
+ });
6602
+ if (!reduceMotion) {
6603
+ gChildren.push({
6604
+ tag: "path",
6605
+ attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
6606
+ opacity: "0",
6607
+ d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
6608
+ }),
6609
+ children: [{
6610
+ tag: "animate",
6611
+ attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
6612
+ values: "0;0;1;1;0;0;"
6613
+ })
6614
+ }]
6615
+ });
6616
+ }
6617
+ return {
6618
+ tag: "g",
6619
+ attributes: {
6620
+ "class": "missing"
6621
+ },
6622
+ children: gChildren
6623
+ };
6624
+ };
6625
+ }
6626
+ };
6627
+ var SvgSymbols = {
6628
+ hooks() {
6629
+ return {
6630
+ parseNodeAttributes(accumulator, node) {
6631
+ const symbolData = node.getAttribute("data-fa-symbol");
6632
+ const symbol = symbolData === null ? false : symbolData === "" ? true : symbolData;
6633
+ accumulator["symbol"] = symbol;
6634
+ return accumulator;
6635
+ }
6636
+ };
6637
+ }
6638
+ };
6639
+ var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];
6640
+ registerPlugins(plugins, {
6641
+ mixoutsTo: api
6642
+ });
6643
+ api.noAuto;
6644
+ api.config;
6645
+ api.library;
6646
+ api.dom;
6647
+ var parse$1 = api.parse;
6648
+ api.findIconDefinition;
6649
+ api.toHtml;
6650
+ var icon = api.icon;
6651
+ api.layer;
6652
+ api.text;
6653
+ api.counter;
6654
+ function _arrayLikeToArray(r3, a) {
6655
+ (null == a || a > r3.length) && (a = r3.length);
6656
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r3[e];
6657
+ return n;
6658
+ }
6659
+ function _arrayWithHoles(r3) {
6660
+ if (Array.isArray(r3)) return r3;
6661
+ }
6662
+ function _arrayWithoutHoles(r3) {
6663
+ if (Array.isArray(r3)) return _arrayLikeToArray(r3);
6664
+ }
6665
+ function _defineProperty2(e, r3, t2) {
6666
+ return (r3 = _toPropertyKey2(r3)) in e ? Object.defineProperty(e, r3, {
6667
+ value: t2,
6668
+ enumerable: true,
6669
+ configurable: true,
6670
+ writable: true
6671
+ }) : e[r3] = t2, e;
6672
+ }
6673
+ function _iterableToArray(r3) {
6674
+ if ("undefined" != typeof Symbol && null != r3[Symbol.iterator] || null != r3["@@iterator"]) return Array.from(r3);
6675
+ }
6676
+ function _iterableToArrayLimit(r3, l) {
6677
+ var t2 = null == r3 ? null : "undefined" != typeof Symbol && r3[Symbol.iterator] || r3["@@iterator"];
6678
+ if (null != t2) {
6679
+ var e, n, i, u, a = [], f = true, o2 = false;
6680
+ try {
6681
+ if (i = (t2 = t2.call(r3)).next, 0 === l) ; else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
6682
+ } catch (r4) {
6683
+ o2 = true, n = r4;
6684
+ } finally {
6685
+ try {
6686
+ if (!f && null != t2.return && (u = t2.return(), Object(u) !== u)) return;
6687
+ } finally {
6688
+ if (o2) throw n;
6689
+ }
6690
+ }
6691
+ return a;
6692
+ }
6693
+ }
6694
+ function _nonIterableRest() {
6695
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6696
+ }
6697
+ function _nonIterableSpread() {
6698
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6699
+ }
6700
+ function ownKeys2(e, r3) {
6701
+ var t2 = Object.keys(e);
6702
+ if (Object.getOwnPropertySymbols) {
6703
+ var o2 = Object.getOwnPropertySymbols(e);
6704
+ r3 && (o2 = o2.filter(function(r4) {
6705
+ return Object.getOwnPropertyDescriptor(e, r4).enumerable;
6706
+ })), t2.push.apply(t2, o2);
6707
+ }
6708
+ return t2;
6709
+ }
6710
+ function _objectSpread22(e) {
6711
+ for (var r3 = 1; r3 < arguments.length; r3++) {
6712
+ var t2 = null != arguments[r3] ? arguments[r3] : {};
6713
+ r3 % 2 ? ownKeys2(Object(t2), true).forEach(function(r4) {
6714
+ _defineProperty2(e, r4, t2[r4]);
6715
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys2(Object(t2)).forEach(function(r4) {
6716
+ Object.defineProperty(e, r4, Object.getOwnPropertyDescriptor(t2, r4));
6717
+ });
6718
+ }
6719
+ return e;
6720
+ }
6721
+ function _objectWithoutProperties(e, t2) {
6722
+ if (null == e) return {};
6723
+ var o2, r3, i = _objectWithoutPropertiesLoose(e, t2);
6724
+ if (Object.getOwnPropertySymbols) {
6725
+ var n = Object.getOwnPropertySymbols(e);
6726
+ for (r3 = 0; r3 < n.length; r3++) o2 = n[r3], -1 === t2.indexOf(o2) && {}.propertyIsEnumerable.call(e, o2) && (i[o2] = e[o2]);
6727
+ }
6728
+ return i;
6729
+ }
6730
+ function _objectWithoutPropertiesLoose(r3, e) {
6731
+ if (null == r3) return {};
6732
+ var t2 = {};
6733
+ for (var n in r3) if ({}.hasOwnProperty.call(r3, n)) {
6734
+ if (-1 !== e.indexOf(n)) continue;
6735
+ t2[n] = r3[n];
6736
+ }
6737
+ return t2;
6738
+ }
6739
+ function _slicedToArray(r3, e) {
6740
+ return _arrayWithHoles(r3) || _iterableToArrayLimit(r3, e) || _unsupportedIterableToArray(r3, e) || _nonIterableRest();
6741
+ }
6742
+ function _toConsumableArray(r3) {
6743
+ return _arrayWithoutHoles(r3) || _iterableToArray(r3) || _unsupportedIterableToArray(r3) || _nonIterableSpread();
6744
+ }
6745
+ function _toPrimitive2(t2, r3) {
6746
+ if ("object" != typeof t2 || !t2) return t2;
6747
+ var e = t2[Symbol.toPrimitive];
6748
+ if (void 0 !== e) {
6749
+ var i = e.call(t2, r3);
6750
+ if ("object" != typeof i) return i;
6751
+ throw new TypeError("@@toPrimitive must return a primitive value.");
6752
+ }
6753
+ return ("string" === r3 ? String : Number)(t2);
6754
+ }
6755
+ function _toPropertyKey2(t2) {
6756
+ var i = _toPrimitive2(t2, "string");
6757
+ return "symbol" == typeof i ? i : i + "";
6758
+ }
6759
+ function _typeof(o2) {
6760
+ "@babel/helpers - typeof";
6761
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
6762
+ return typeof o3;
6763
+ } : function(o3) {
6764
+ return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
6765
+ }, _typeof(o2);
6766
+ }
6767
+ function _unsupportedIterableToArray(r3, a) {
6768
+ if (r3) {
6769
+ if ("string" == typeof r3) return _arrayLikeToArray(r3, a);
6770
+ var t2 = {}.toString.call(r3).slice(8, -1);
6771
+ return "Object" === t2 && r3.constructor && (t2 = r3.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r3) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray(r3, a) : void 0;
6772
+ }
6773
+ }
6774
+ var ICON_PACKS_STARTING_VERSION = "7.0.0";
6775
+ var SVG_CORE_VERSION;
6776
+ try {
6777
+ svgCorePackageJson = require_package();
6778
+ SVG_CORE_VERSION = svgCorePackageJson.version;
6779
+ } catch (e) {
6780
+ SVG_CORE_VERSION = typeof process !== "undefined" && process.env.FA_VERSION || "7.0.0";
6781
+ }
6782
+ var svgCorePackageJson;
6783
+ function classList(props) {
6784
+ var beat = props.beat, fade = props.fade, beatFade = props.beatFade, bounce = props.bounce, shake = props.shake, flash = props.flash, spin = props.spin, spinPulse = props.spinPulse, spinReverse = props.spinReverse, pulse = props.pulse, fixedWidth = props.fixedWidth, inverse = props.inverse, border = props.border, listItem = props.listItem, flip = props.flip, size = props.size, rotation = props.rotation, pull = props.pull, swapOpacity = props.swapOpacity, rotateBy = props.rotateBy, widthAuto = props.widthAuto;
6785
+ var isVersion7OrLater = versionCheckGte(SVG_CORE_VERSION, ICON_PACKS_STARTING_VERSION);
6786
+ var classes = _defineProperty2(_defineProperty2(_defineProperty2(_defineProperty2(_defineProperty2(_defineProperty2({
6787
+ "fa-beat": beat,
6788
+ "fa-fade": fade,
6789
+ "fa-beat-fade": beatFade,
6790
+ "fa-bounce": bounce,
6791
+ "fa-shake": shake,
6792
+ "fa-flash": flash,
6793
+ "fa-spin": spin,
6794
+ "fa-spin-reverse": spinReverse,
6795
+ "fa-spin-pulse": spinPulse,
6796
+ "fa-pulse": pulse,
6797
+ "fa-fw": fixedWidth,
6798
+ "fa-inverse": inverse,
6799
+ "fa-border": border,
6800
+ "fa-li": listItem,
6801
+ "fa-flip": flip === true,
6802
+ "fa-flip-horizontal": flip === "horizontal" || flip === "both",
6803
+ "fa-flip-vertical": flip === "vertical" || flip === "both"
6804
+ }, "fa-".concat(size), typeof size !== "undefined" && size !== null), "fa-rotate-".concat(rotation), typeof rotation !== "undefined" && rotation !== null && rotation !== 0), "fa-pull-".concat(pull), typeof pull !== "undefined" && pull !== null), "fa-swap-opacity", swapOpacity), "fa-rotate-by", isVersion7OrLater && rotateBy), "fa-width-auto", isVersion7OrLater && widthAuto);
6805
+ return Object.keys(classes).map(function(key) {
6806
+ return classes[key] ? key : null;
6807
+ }).filter(function(key) {
6808
+ return key;
6809
+ });
6810
+ }
6811
+ function versionCheckGte(version1, version2) {
6812
+ var _version1$split = version1.split("-"), _version1$split2 = _slicedToArray(_version1$split, 2), v1Base = _version1$split2[0], v1PreRelease = _version1$split2[1];
6813
+ var _version2$split = version2.split("-"), _version2$split2 = _slicedToArray(_version2$split, 2), v2Base = _version2$split2[0], v2PreRelease = _version2$split2[1];
6814
+ var v1Parts = v1Base.split(".");
6815
+ var v2Parts = v2Base.split(".");
6816
+ for (var i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
6817
+ var v1Part = v1Parts[i] || "0";
6818
+ var v2Part = v2Parts[i] || "0";
6819
+ var v1Num = parseInt(v1Part, 10);
6820
+ var v2Num = parseInt(v2Part, 10);
6821
+ if (v1Num !== v2Num) {
6822
+ return v1Num > v2Num;
6823
+ }
6824
+ }
6825
+ for (var _i = 0; _i < Math.max(v1Parts.length, v2Parts.length); _i++) {
6826
+ var _v1Part = v1Parts[_i] || "0";
6827
+ var _v2Part = v2Parts[_i] || "0";
6828
+ if (_v1Part !== _v2Part) {
6829
+ if (_v1Part.length !== _v2Part.length) {
6830
+ return _v1Part.length < _v2Part.length;
6831
+ }
6832
+ }
6833
+ }
6834
+ if (v1PreRelease && !v2PreRelease) return false;
6835
+ if (!v1PreRelease && v2PreRelease) return true;
6836
+ return true;
6837
+ }
6838
+ function _isNumerical(obj) {
6839
+ obj = obj - 0;
6840
+ return obj === obj;
6841
+ }
6842
+ function camelize(string) {
6843
+ if (_isNumerical(string)) {
6844
+ return string;
6845
+ }
6846
+ string = string.replace(/[\-_\s]+(.)?/g, function(match, chr) {
6847
+ return chr ? chr.toUpperCase() : "";
6848
+ });
6849
+ return string.substr(0, 1).toLowerCase() + string.substr(1);
6850
+ }
6851
+ var _excluded = ["style"];
6852
+ function capitalize(val) {
6853
+ return val.charAt(0).toUpperCase() + val.slice(1);
6854
+ }
6855
+ function styleToObject(style) {
6856
+ return style.split(";").map(function(s2) {
6857
+ return s2.trim();
6858
+ }).filter(function(s2) {
6859
+ return s2;
6860
+ }).reduce(function(acc, pair) {
6861
+ var i = pair.indexOf(":");
6862
+ var prop = camelize(pair.slice(0, i));
6863
+ var value = pair.slice(i + 1).trim();
6864
+ prop.startsWith("webkit") ? acc[capitalize(prop)] = value : acc[prop] = value;
6865
+ return acc;
6866
+ }, {});
6867
+ }
6868
+ function convert(createElement4, element) {
6869
+ var extraProps = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
6870
+ if (typeof element === "string") {
6871
+ return element;
6872
+ }
6873
+ var children = (element.children || []).map(function(child) {
6874
+ return convert(createElement4, child);
6875
+ });
6876
+ var mixins = Object.keys(element.attributes || {}).reduce(function(acc, key) {
6877
+ var val = element.attributes[key];
6878
+ switch (key) {
6879
+ case "class":
6880
+ acc.attrs["className"] = val;
6881
+ delete element.attributes["class"];
6882
+ break;
6883
+ case "style":
6884
+ acc.attrs["style"] = styleToObject(val);
6885
+ break;
6886
+ default:
6887
+ if (key.indexOf("aria-") === 0 || key.indexOf("data-") === 0) {
6888
+ acc.attrs[key.toLowerCase()] = val;
6889
+ } else {
6890
+ acc.attrs[camelize(key)] = val;
6891
+ }
6892
+ }
6893
+ return acc;
6894
+ }, {
6895
+ attrs: {}
6896
+ });
6897
+ var _extraProps$style = extraProps.style, existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style, remaining = _objectWithoutProperties(extraProps, _excluded);
6898
+ mixins.attrs["style"] = _objectSpread22(_objectSpread22({}, mixins.attrs["style"]), existingStyle);
6899
+ return createElement4.apply(void 0, [element.tag, _objectSpread22(_objectSpread22({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));
6900
+ }
6901
+ var PRODUCTION2 = false;
6902
+ try {
6903
+ PRODUCTION2 = process.env.NODE_ENV === "production";
6904
+ } catch (e) {
6905
+ }
6906
+ function log() {
6907
+ if (!PRODUCTION2 && console && typeof console.error === "function") {
6908
+ var _console;
6909
+ (_console = console).error.apply(_console, arguments);
6910
+ }
6911
+ }
6912
+ function normalizeIconArgs(icon2) {
6913
+ if (icon2 && _typeof(icon2) === "object" && icon2.prefix && icon2.iconName && icon2.icon) {
6914
+ return icon2;
6915
+ }
6916
+ if (parse$1.icon) {
6917
+ return parse$1.icon(icon2);
6918
+ }
6919
+ if (icon2 === null) {
6920
+ return null;
6921
+ }
6922
+ if (icon2 && _typeof(icon2) === "object" && icon2.prefix && icon2.iconName) {
6923
+ return icon2;
6924
+ }
6925
+ if (Array.isArray(icon2) && icon2.length === 2) {
6926
+ return {
6927
+ prefix: icon2[0],
6928
+ iconName: icon2[1]
6929
+ };
6930
+ }
6931
+ if (typeof icon2 === "string") {
6932
+ return {
6933
+ prefix: "fas",
6934
+ iconName: icon2
6935
+ };
6936
+ }
6937
+ }
6938
+ function objectWithKey(key, value) {
6939
+ return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty2({}, key, value) : {};
6940
+ }
6941
+ var defaultProps = {
6942
+ border: false,
6943
+ className: "",
6944
+ mask: null,
6945
+ maskId: null,
6946
+ // the fixedWidth property has been deprecated as of version 7
6947
+ fixedWidth: false,
6948
+ inverse: false,
6949
+ flip: false,
6950
+ icon: null,
6951
+ listItem: false,
6952
+ pull: null,
6953
+ pulse: false,
6954
+ rotation: null,
6955
+ rotateBy: false,
6956
+ size: null,
6957
+ spin: false,
6958
+ spinPulse: false,
6959
+ spinReverse: false,
6960
+ beat: false,
6961
+ fade: false,
6962
+ beatFade: false,
6963
+ bounce: false,
6964
+ shake: false,
6965
+ symbol: false,
6966
+ title: "",
6967
+ titleId: null,
6968
+ transform: null,
6969
+ swapOpacity: false,
6970
+ widthAuto: false
6971
+ };
6972
+ var FontAwesomeIcon = /* @__PURE__ */ React3__namespace.default.forwardRef(function(props, ref) {
6973
+ var allProps = _objectSpread22(_objectSpread22({}, defaultProps), props);
6974
+ var iconArgs = allProps.icon, maskArgs = allProps.mask, symbol = allProps.symbol, className = allProps.className, title = allProps.title, titleId = allProps.titleId, maskId = allProps.maskId;
6975
+ var iconLookup = normalizeIconArgs(iconArgs);
6976
+ var classes = objectWithKey("classes", [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || "").split(" "))));
6977
+ var transform = objectWithKey("transform", typeof allProps.transform === "string" ? parse$1.transform(allProps.transform) : allProps.transform);
6978
+ var mask = objectWithKey("mask", normalizeIconArgs(maskArgs));
6979
+ var renderedIcon = icon(iconLookup, _objectSpread22(_objectSpread22(_objectSpread22(_objectSpread22({}, classes), transform), mask), {}, {
6980
+ symbol,
6981
+ title,
6982
+ titleId,
6983
+ maskId
6984
+ }));
6985
+ if (!renderedIcon) {
6986
+ log("Could not find icon", iconLookup);
6987
+ return null;
6988
+ }
6989
+ var abstract = renderedIcon.abstract;
6990
+ var extraProps = {
6991
+ ref
6992
+ };
6993
+ Object.keys(allProps).forEach(function(key) {
6994
+ if (!defaultProps.hasOwnProperty(key)) {
6995
+ extraProps[key] = allProps[key];
6996
+ }
6997
+ });
6998
+ return convertCurry(abstract[0], extraProps);
6999
+ });
7000
+ FontAwesomeIcon.displayName = "FontAwesomeIcon";
7001
+ FontAwesomeIcon.propTypes = {
7002
+ beat: PropTypes__default.default.bool,
7003
+ border: PropTypes__default.default.bool,
7004
+ beatFade: PropTypes__default.default.bool,
7005
+ bounce: PropTypes__default.default.bool,
7006
+ className: PropTypes__default.default.string,
7007
+ fade: PropTypes__default.default.bool,
7008
+ flash: PropTypes__default.default.bool,
7009
+ mask: PropTypes__default.default.oneOfType([PropTypes__default.default.object, PropTypes__default.default.array, PropTypes__default.default.string]),
7010
+ maskId: PropTypes__default.default.string,
7011
+ // the fixedWidth property has been deprecated as of version 7
7012
+ fixedWidth: PropTypes__default.default.bool,
7013
+ inverse: PropTypes__default.default.bool,
7014
+ flip: PropTypes__default.default.oneOf([true, false, "horizontal", "vertical", "both"]),
7015
+ icon: PropTypes__default.default.oneOfType([PropTypes__default.default.object, PropTypes__default.default.array, PropTypes__default.default.string]),
7016
+ listItem: PropTypes__default.default.bool,
7017
+ pull: PropTypes__default.default.oneOf(["right", "left"]),
7018
+ pulse: PropTypes__default.default.bool,
7019
+ rotation: PropTypes__default.default.oneOf([0, 90, 180, 270]),
7020
+ rotateBy: PropTypes__default.default.bool,
7021
+ shake: PropTypes__default.default.bool,
7022
+ size: PropTypes__default.default.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
7023
+ spin: PropTypes__default.default.bool,
7024
+ spinPulse: PropTypes__default.default.bool,
7025
+ spinReverse: PropTypes__default.default.bool,
7026
+ symbol: PropTypes__default.default.oneOfType([PropTypes__default.default.bool, PropTypes__default.default.string]),
7027
+ title: PropTypes__default.default.string,
7028
+ titleId: PropTypes__default.default.string,
7029
+ transform: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.object]),
7030
+ swapOpacity: PropTypes__default.default.bool,
7031
+ widthAuto: PropTypes__default.default.bool
7032
+ };
7033
+ var convertCurry = convert.bind(null, React3__namespace.default.createElement);
7034
+
7035
+ // ../../node_modules/.pnpm/@fortawesome+pro-solid-svg-icons@6.7.2/node_modules/@fortawesome/pro-solid-svg-icons/index.mjs
7036
+ var faGripVertical = {
7037
+ prefix: "fas",
7038
+ iconName: "grip-vertical",
7039
+ icon: [320, 512, [], "f58e", "M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"]
7040
+ };
7041
+ var faCircleXmark = {
7042
+ prefix: "fas",
7043
+ iconName: "circle-xmark",
7044
+ icon: [512, 512, [61532, "times-circle", "xmark-circle"], "f057", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]
7045
+ };
7046
+
7047
+ // src/components/slots/SlotDelete.tsx
7048
+ var SlotDelete = (props) => {
7049
+ const { slotId, onDelete } = props;
7050
+ return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Button, { variant: "ghost", size: "iconSm", onClick: onDelete }, /* @__PURE__ */ React.createElement(FontAwesomeIcon, { icon: faCircleXmark, className: "uii:text-red-500" })));
7051
+ };
7052
+
7053
+ // src/components/slots/SlotDragHandle.tsx
7054
+ var SlotDragHandle = (props) => {
7055
+ const { slotId } = props;
7056
+ return /* @__PURE__ */ React.createElement("div", { className: "uii:cursor-grab" }, /* @__PURE__ */ React.createElement(FontAwesomeIcon, { icon: faGripVertical }));
7057
+ };
7058
+ /*! Bundled license information:
7059
+
7060
+ @fortawesome/fontawesome-svg-core/index.mjs:
7061
+ (*!
7062
+ * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
7063
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
7064
+ * Copyright 2024 Fonticons, Inc.
7065
+ *)
7066
+
7067
+ @fortawesome/pro-solid-svg-icons/index.mjs:
7068
+ (*!
7069
+ * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
7070
+ * License - https://fontawesome.com/license (Commercial License)
7071
+ * Copyright 2024 Fonticons, Inc.
7072
+ *)
7073
+ */
3282
7074
 
3283
7075
  exports.ExportManager = ExportManager;
7076
+ exports.SlotDelete = SlotDelete;
7077
+ exports.SlotDragHandle = SlotDragHandle;
3284
7078
  exports.SlotElements = SlotElements;
7079
+ exports.SlotEnable = SlotEnable;
3285
7080
  //# sourceMappingURL=index.cjs.map
3286
7081
  //# sourceMappingURL=index.cjs.map