@ttoss/react-billing 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,4912 +0,0 @@
1
- /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
- import * as React from 'react';
3
- "use strict";
4
-
5
- var __create = Object.create;
6
- var __defProp = Object.defineProperty;
7
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
- var __getProtoOf = Object.getPrototypeOf;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __name = (target, value) => __defProp(target, "name", {
12
- value,
13
- configurable: true
14
- });
15
- var __commonJS = (cb, mod) => function __require() {
16
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {
17
- exports: {}
18
- }).exports, mod), mod.exports;
19
- };
20
- var __export = (target, all) => {
21
- for (var name in all) __defProp(target, name, {
22
- get: all[name],
23
- enumerable: true
24
- });
25
- };
26
- var __copyProps = (to, from2, except, desc) => {
27
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
28
- for (let key of __getOwnPropNames(from2)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
29
- get: () => from2[key],
30
- enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable
31
- });
32
- }
33
- return to;
34
- };
35
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
36
- // If the importer is in node compatibility mode or this is not an ESM
37
- // file that has been converted to a CommonJS file using a Babel-
38
- // compatible transform (i.e. "__esModule" has not been set), then set
39
- // "default" to the CommonJS "module.exports" for node compatibility.
40
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
41
- value: mod,
42
- enumerable: true
43
- }) : target, mod));
44
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
45
- value: true
46
- }), mod);
47
-
48
- // ../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js
49
- var require_react_is_production_min = __commonJS({
50
- "../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js"(exports2) {
51
- "use strict";
52
-
53
- var b = "function" === typeof Symbol && Symbol.for;
54
- var c = b ? Symbol.for("react.element") : 60103;
55
- var d = b ? Symbol.for("react.portal") : 60106;
56
- var e = b ? Symbol.for("react.fragment") : 60107;
57
- var f = b ? Symbol.for("react.strict_mode") : 60108;
58
- var g = b ? Symbol.for("react.profiler") : 60114;
59
- var h = b ? Symbol.for("react.provider") : 60109;
60
- var k = b ? Symbol.for("react.context") : 60110;
61
- var l = b ? Symbol.for("react.async_mode") : 60111;
62
- var m = b ? Symbol.for("react.concurrent_mode") : 60111;
63
- var n = b ? Symbol.for("react.forward_ref") : 60112;
64
- var p = b ? Symbol.for("react.suspense") : 60113;
65
- var q = b ? Symbol.for("react.suspense_list") : 60120;
66
- var r = b ? Symbol.for("react.memo") : 60115;
67
- var t = b ? Symbol.for("react.lazy") : 60116;
68
- var v = b ? Symbol.for("react.block") : 60121;
69
- var w = b ? Symbol.for("react.fundamental") : 60117;
70
- var x = b ? Symbol.for("react.responder") : 60118;
71
- var y = b ? Symbol.for("react.scope") : 60119;
72
- function z(a) {
73
- if ("object" === typeof a && null !== a) {
74
- var u = a.$$typeof;
75
- switch (u) {
76
- case c:
77
- switch (a = a.type, a) {
78
- case l:
79
- case m:
80
- case e:
81
- case g:
82
- case f:
83
- case p:
84
- return a;
85
- default:
86
- switch (a = a && a.$$typeof, a) {
87
- case k:
88
- case n:
89
- case t:
90
- case r:
91
- case h:
92
- return a;
93
- default:
94
- return u;
95
- }
96
- }
97
- case d:
98
- return u;
99
- }
100
- }
101
- }
102
- __name(z, "z");
103
- function A(a) {
104
- return z(a) === m;
105
- }
106
- __name(A, "A");
107
- exports2.AsyncMode = l;
108
- exports2.ConcurrentMode = m;
109
- exports2.ContextConsumer = k;
110
- exports2.ContextProvider = h;
111
- exports2.Element = c;
112
- exports2.ForwardRef = n;
113
- exports2.Fragment = e;
114
- exports2.Lazy = t;
115
- exports2.Memo = r;
116
- exports2.Portal = d;
117
- exports2.Profiler = g;
118
- exports2.StrictMode = f;
119
- exports2.Suspense = p;
120
- exports2.isAsyncMode = function (a) {
121
- return A(a) || z(a) === l;
122
- };
123
- exports2.isConcurrentMode = A;
124
- exports2.isContextConsumer = function (a) {
125
- return z(a) === k;
126
- };
127
- exports2.isContextProvider = function (a) {
128
- return z(a) === h;
129
- };
130
- exports2.isElement = function (a) {
131
- return "object" === typeof a && null !== a && a.$$typeof === c;
132
- };
133
- exports2.isForwardRef = function (a) {
134
- return z(a) === n;
135
- };
136
- exports2.isFragment = function (a) {
137
- return z(a) === e;
138
- };
139
- exports2.isLazy = function (a) {
140
- return z(a) === t;
141
- };
142
- exports2.isMemo = function (a) {
143
- return z(a) === r;
144
- };
145
- exports2.isPortal = function (a) {
146
- return z(a) === d;
147
- };
148
- exports2.isProfiler = function (a) {
149
- return z(a) === g;
150
- };
151
- exports2.isStrictMode = function (a) {
152
- return z(a) === f;
153
- };
154
- exports2.isSuspense = function (a) {
155
- return z(a) === p;
156
- };
157
- exports2.isValidElementType = function (a) {
158
- return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
159
- };
160
- exports2.typeOf = z;
161
- }
162
- });
163
-
164
- // ../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js
165
- var require_react_is_development = __commonJS({
166
- "../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js"(exports2) {
167
- "use strict";
168
-
169
- if (process.env.NODE_ENV !== "production") {
170
- (function () {
171
- "use strict";
172
-
173
- var hasSymbol = typeof Symbol === "function" && Symbol.for;
174
- var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
175
- var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
176
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
177
- var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
178
- var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
179
- var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
180
- var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
181
- var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
182
- var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
183
- var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
184
- var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
185
- var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
186
- var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
187
- var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
188
- var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
189
- var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
190
- var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
191
- var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
192
- function isValidElementType(type) {
193
- return typeof type === "string" || typeof type === "function" ||
194
- // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
195
- type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
196
- }
197
- __name(isValidElementType, "isValidElementType");
198
- function typeOf(object) {
199
- if (typeof object === "object" && object !== null) {
200
- var $$typeof = object.$$typeof;
201
- switch ($$typeof) {
202
- case REACT_ELEMENT_TYPE:
203
- var type = object.type;
204
- switch (type) {
205
- case REACT_ASYNC_MODE_TYPE:
206
- case REACT_CONCURRENT_MODE_TYPE:
207
- case REACT_FRAGMENT_TYPE:
208
- case REACT_PROFILER_TYPE:
209
- case REACT_STRICT_MODE_TYPE:
210
- case REACT_SUSPENSE_TYPE:
211
- return type;
212
- default:
213
- var $$typeofType = type && type.$$typeof;
214
- switch ($$typeofType) {
215
- case REACT_CONTEXT_TYPE:
216
- case REACT_FORWARD_REF_TYPE:
217
- case REACT_LAZY_TYPE:
218
- case REACT_MEMO_TYPE:
219
- case REACT_PROVIDER_TYPE:
220
- return $$typeofType;
221
- default:
222
- return $$typeof;
223
- }
224
- }
225
- case REACT_PORTAL_TYPE:
226
- return $$typeof;
227
- }
228
- }
229
- return void 0;
230
- }
231
- __name(typeOf, "typeOf");
232
- var AsyncMode = REACT_ASYNC_MODE_TYPE;
233
- var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
234
- var ContextConsumer = REACT_CONTEXT_TYPE;
235
- var ContextProvider = REACT_PROVIDER_TYPE;
236
- var Element = REACT_ELEMENT_TYPE;
237
- var ForwardRef = REACT_FORWARD_REF_TYPE;
238
- var Fragment6 = REACT_FRAGMENT_TYPE;
239
- var Lazy = REACT_LAZY_TYPE;
240
- var Memo = REACT_MEMO_TYPE;
241
- var Portal = REACT_PORTAL_TYPE;
242
- var Profiler = REACT_PROFILER_TYPE;
243
- var StrictMode = REACT_STRICT_MODE_TYPE;
244
- var Suspense = REACT_SUSPENSE_TYPE;
245
- var hasWarnedAboutDeprecatedIsAsyncMode = false;
246
- function isAsyncMode(object) {
247
- {
248
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
249
- hasWarnedAboutDeprecatedIsAsyncMode = true;
250
- console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
251
- }
252
- }
253
- return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
254
- }
255
- __name(isAsyncMode, "isAsyncMode");
256
- function isConcurrentMode(object) {
257
- return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
258
- }
259
- __name(isConcurrentMode, "isConcurrentMode");
260
- function isContextConsumer(object) {
261
- return typeOf(object) === REACT_CONTEXT_TYPE;
262
- }
263
- __name(isContextConsumer, "isContextConsumer");
264
- function isContextProvider(object) {
265
- return typeOf(object) === REACT_PROVIDER_TYPE;
266
- }
267
- __name(isContextProvider, "isContextProvider");
268
- function isElement(object) {
269
- return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
270
- }
271
- __name(isElement, "isElement");
272
- function isForwardRef(object) {
273
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
274
- }
275
- __name(isForwardRef, "isForwardRef");
276
- function isFragment(object) {
277
- return typeOf(object) === REACT_FRAGMENT_TYPE;
278
- }
279
- __name(isFragment, "isFragment");
280
- function isLazy(object) {
281
- return typeOf(object) === REACT_LAZY_TYPE;
282
- }
283
- __name(isLazy, "isLazy");
284
- function isMemo(object) {
285
- return typeOf(object) === REACT_MEMO_TYPE;
286
- }
287
- __name(isMemo, "isMemo");
288
- function isPortal(object) {
289
- return typeOf(object) === REACT_PORTAL_TYPE;
290
- }
291
- __name(isPortal, "isPortal");
292
- function isProfiler(object) {
293
- return typeOf(object) === REACT_PROFILER_TYPE;
294
- }
295
- __name(isProfiler, "isProfiler");
296
- function isStrictMode(object) {
297
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
298
- }
299
- __name(isStrictMode, "isStrictMode");
300
- function isSuspense(object) {
301
- return typeOf(object) === REACT_SUSPENSE_TYPE;
302
- }
303
- __name(isSuspense, "isSuspense");
304
- exports2.AsyncMode = AsyncMode;
305
- exports2.ConcurrentMode = ConcurrentMode;
306
- exports2.ContextConsumer = ContextConsumer;
307
- exports2.ContextProvider = ContextProvider;
308
- exports2.Element = Element;
309
- exports2.ForwardRef = ForwardRef;
310
- exports2.Fragment = Fragment6;
311
- exports2.Lazy = Lazy;
312
- exports2.Memo = Memo;
313
- exports2.Portal = Portal;
314
- exports2.Profiler = Profiler;
315
- exports2.StrictMode = StrictMode;
316
- exports2.Suspense = Suspense;
317
- exports2.isAsyncMode = isAsyncMode;
318
- exports2.isConcurrentMode = isConcurrentMode;
319
- exports2.isContextConsumer = isContextConsumer;
320
- exports2.isContextProvider = isContextProvider;
321
- exports2.isElement = isElement;
322
- exports2.isForwardRef = isForwardRef;
323
- exports2.isFragment = isFragment;
324
- exports2.isLazy = isLazy;
325
- exports2.isMemo = isMemo;
326
- exports2.isPortal = isPortal;
327
- exports2.isProfiler = isProfiler;
328
- exports2.isStrictMode = isStrictMode;
329
- exports2.isSuspense = isSuspense;
330
- exports2.isValidElementType = isValidElementType;
331
- exports2.typeOf = typeOf;
332
- })();
333
- }
334
- }
335
- });
336
-
337
- // ../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js
338
- var require_react_is = __commonJS({
339
- "../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js"(exports2, module2) {
340
- "use strict";
341
-
342
- if (process.env.NODE_ENV === "production") {
343
- module2.exports = require_react_is_production_min();
344
- } else {
345
- module2.exports = require_react_is_development();
346
- }
347
- }
348
- });
349
-
350
- // ../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
351
- var require_hoist_non_react_statics_cjs = __commonJS({
352
- "../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports2, module2) {
353
- "use strict";
354
-
355
- var reactIs = require_react_is();
356
- var REACT_STATICS = {
357
- childContextTypes: true,
358
- contextType: true,
359
- contextTypes: true,
360
- defaultProps: true,
361
- displayName: true,
362
- getDefaultProps: true,
363
- getDerivedStateFromError: true,
364
- getDerivedStateFromProps: true,
365
- mixins: true,
366
- propTypes: true,
367
- type: true
368
- };
369
- var KNOWN_STATICS = {
370
- name: true,
371
- length: true,
372
- prototype: true,
373
- caller: true,
374
- callee: true,
375
- arguments: true,
376
- arity: true
377
- };
378
- var FORWARD_REF_STATICS = {
379
- "$$typeof": true,
380
- render: true,
381
- defaultProps: true,
382
- displayName: true,
383
- propTypes: true
384
- };
385
- var MEMO_STATICS = {
386
- "$$typeof": true,
387
- compare: true,
388
- defaultProps: true,
389
- displayName: true,
390
- propTypes: true,
391
- type: true
392
- };
393
- var TYPE_STATICS = {};
394
- TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
395
- TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
396
- function getStatics(component) {
397
- if (reactIs.isMemo(component)) {
398
- return MEMO_STATICS;
399
- }
400
- return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS;
401
- }
402
- __name(getStatics, "getStatics");
403
- var defineProperty = Object.defineProperty;
404
- var getOwnPropertyNames = Object.getOwnPropertyNames;
405
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
406
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
407
- var getPrototypeOf = Object.getPrototypeOf;
408
- var objectPrototype = Object.prototype;
409
- function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
410
- if (typeof sourceComponent !== "string") {
411
- if (objectPrototype) {
412
- var inheritedComponent = getPrototypeOf(sourceComponent);
413
- if (inheritedComponent && inheritedComponent !== objectPrototype) {
414
- hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
415
- }
416
- }
417
- var keys = getOwnPropertyNames(sourceComponent);
418
- if (getOwnPropertySymbols) {
419
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
420
- }
421
- var targetStatics = getStatics(targetComponent);
422
- var sourceStatics = getStatics(sourceComponent);
423
- for (var i = 0; i < keys.length; ++i) {
424
- var key = keys[i];
425
- if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
426
- var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
427
- try {
428
- defineProperty(targetComponent, key, descriptor);
429
- } catch (e) {}
430
- }
431
- }
432
- }
433
- return targetComponent;
434
- }
435
- __name(hoistNonReactStatics, "hoistNonReactStatics");
436
- module2.exports = hoistNonReactStatics;
437
- }
438
- });
439
-
440
- // ../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/extends.js
441
- var require_extends = __commonJS({
442
- "../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/extends.js"(exports2, module2) {
443
- "use strict";
444
-
445
- function _extends2() {
446
- return module2.exports = _extends2 = Object.assign ? Object.assign.bind() : function (n) {
447
- for (var e = 1; e < arguments.length; e++) {
448
- var t = arguments[e];
449
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
450
- }
451
- return n;
452
- }, module2.exports.__esModule = true, module2.exports["default"] = module2.exports, _extends2.apply(null, arguments);
453
- }
454
- __name(_extends2, "_extends");
455
- module2.exports = _extends2, module2.exports.__esModule = true, module2.exports["default"] = module2.exports;
456
- }
457
- });
458
-
459
- // src/index.ts
460
- var index_exports = {};
461
- __export(index_exports, {
462
- PlanCard: () => PlanCard
463
- });
464
- module.exports = __toCommonJS(index_exports);
465
-
466
- // ../../node_modules/.pnpm/@iconify-icon+react@2.3.0_react@19.2.1/node_modules/@iconify-icon/react/dist/iconify.mjs
467
- var import_react = __toESM(require("react"), 1);
468
-
469
- // ../../node_modules/.pnpm/iconify-icon@2.3.0/node_modules/iconify-icon/dist/iconify-icon.mjs
470
- var defaultIconDimensions = Object.freeze({
471
- left: 0,
472
- top: 0,
473
- width: 16,
474
- height: 16
475
- });
476
- var defaultIconTransformations = Object.freeze({
477
- rotate: 0,
478
- vFlip: false,
479
- hFlip: false
480
- });
481
- var defaultIconProps = Object.freeze({
482
- ...defaultIconDimensions,
483
- ...defaultIconTransformations
484
- });
485
- var defaultExtendedIconProps = Object.freeze({
486
- ...defaultIconProps,
487
- body: "",
488
- hidden: false
489
- });
490
- var defaultIconSizeCustomisations = Object.freeze({
491
- width: null,
492
- height: null
493
- });
494
- var defaultIconCustomisations = Object.freeze({
495
- // Dimensions
496
- ...defaultIconSizeCustomisations,
497
- // Transformations
498
- ...defaultIconTransformations
499
- });
500
- function rotateFromString(value, defaultValue = 0) {
501
- const units = value.replace(/^-?[0-9.]*/, "");
502
- function cleanup(value2) {
503
- while (value2 < 0) {
504
- value2 += 4;
505
- }
506
- return value2 % 4;
507
- }
508
- __name(cleanup, "cleanup");
509
- if (units === "") {
510
- const num = parseInt(value);
511
- return isNaN(num) ? 0 : cleanup(num);
512
- } else if (units !== value) {
513
- let split = 0;
514
- switch (units) {
515
- case "%":
516
- split = 25;
517
- break;
518
- case "deg":
519
- split = 90;
520
- }
521
- if (split) {
522
- let num = parseFloat(value.slice(0, value.length - units.length));
523
- if (isNaN(num)) {
524
- return 0;
525
- }
526
- num = num / split;
527
- return num % 1 === 0 ? cleanup(num) : 0;
528
- }
529
- }
530
- return defaultValue;
531
- }
532
- __name(rotateFromString, "rotateFromString");
533
- var separator = /[\s,]+/;
534
- function flipFromString(custom, flip) {
535
- flip.split(separator).forEach(str => {
536
- const value = str.trim();
537
- switch (value) {
538
- case "horizontal":
539
- custom.hFlip = true;
540
- break;
541
- case "vertical":
542
- custom.vFlip = true;
543
- break;
544
- }
545
- });
546
- }
547
- __name(flipFromString, "flipFromString");
548
- var defaultCustomisations = {
549
- ...defaultIconCustomisations,
550
- preserveAspectRatio: ""
551
- };
552
- function getCustomisations(node2) {
553
- const customisations = {
554
- ...defaultCustomisations
555
- };
556
- const attr = /* @__PURE__ */__name((key, def) => node2.getAttribute(key) || def, "attr");
557
- customisations.width = attr("width", null);
558
- customisations.height = attr("height", null);
559
- customisations.rotate = rotateFromString(attr("rotate", ""));
560
- flipFromString(customisations, attr("flip", ""));
561
- customisations.preserveAspectRatio = attr("preserveAspectRatio", attr("preserveaspectratio", ""));
562
- return customisations;
563
- }
564
- __name(getCustomisations, "getCustomisations");
565
- function haveCustomisationsChanged(value1, value2) {
566
- for (const key in defaultCustomisations) {
567
- if (value1[key] !== value2[key]) {
568
- return true;
569
- }
570
- }
571
- return false;
572
- }
573
- __name(haveCustomisationsChanged, "haveCustomisationsChanged");
574
- var matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;
575
- var stringToIcon = /* @__PURE__ */__name((value, validate, allowSimpleName, provider = "") => {
576
- const colonSeparated = value.split(":");
577
- if (value.slice(0, 1) === "@") {
578
- if (colonSeparated.length < 2 || colonSeparated.length > 3) {
579
- return null;
580
- }
581
- provider = colonSeparated.shift().slice(1);
582
- }
583
- if (colonSeparated.length > 3 || !colonSeparated.length) {
584
- return null;
585
- }
586
- if (colonSeparated.length > 1) {
587
- const name2 = colonSeparated.pop();
588
- const prefix2 = colonSeparated.pop();
589
- const result = {
590
- // Allow provider without '@': "provider:prefix:name"
591
- provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,
592
- prefix: prefix2,
593
- name: name2
594
- };
595
- return validate && !validateIconName(result) ? null : result;
596
- }
597
- const name = colonSeparated[0];
598
- const dashSeparated = name.split("-");
599
- if (dashSeparated.length > 1) {
600
- const result = {
601
- provider,
602
- prefix: dashSeparated.shift(),
603
- name: dashSeparated.join("-")
604
- };
605
- return validate && !validateIconName(result) ? null : result;
606
- }
607
- if (allowSimpleName && provider === "") {
608
- const result = {
609
- provider,
610
- prefix: "",
611
- name
612
- };
613
- return validate && !validateIconName(result, allowSimpleName) ? null : result;
614
- }
615
- return null;
616
- }, "stringToIcon");
617
- var validateIconName = /* @__PURE__ */__name((icon, allowSimpleName) => {
618
- if (!icon) {
619
- return false;
620
- }
621
- return !!(
622
- // Check prefix: cannot be empty, unless allowSimpleName is enabled
623
- // Check name: cannot be empty
624
- (allowSimpleName && icon.prefix === "" || !!icon.prefix) && !!icon.name);
625
- }, "validateIconName");
626
- function mergeIconTransformations(obj1, obj2) {
627
- const result = {};
628
- if (!obj1.hFlip !== !obj2.hFlip) {
629
- result.hFlip = true;
630
- }
631
- if (!obj1.vFlip !== !obj2.vFlip) {
632
- result.vFlip = true;
633
- }
634
- const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;
635
- if (rotate) {
636
- result.rotate = rotate;
637
- }
638
- return result;
639
- }
640
- __name(mergeIconTransformations, "mergeIconTransformations");
641
- function mergeIconData(parent, child) {
642
- const result = mergeIconTransformations(parent, child);
643
- for (const key in defaultExtendedIconProps) {
644
- if (key in defaultIconTransformations) {
645
- if (key in parent && !(key in result)) {
646
- result[key] = defaultIconTransformations[key];
647
- }
648
- } else if (key in child) {
649
- result[key] = child[key];
650
- } else if (key in parent) {
651
- result[key] = parent[key];
652
- }
653
- }
654
- return result;
655
- }
656
- __name(mergeIconData, "mergeIconData");
657
- function getIconsTree(data, names) {
658
- const icons = data.icons;
659
- const aliases2 = data.aliases || /* @__PURE__ */Object.create(null);
660
- const resolved = /* @__PURE__ */Object.create(null);
661
- function resolve(name) {
662
- if (icons[name]) {
663
- return resolved[name] = [];
664
- }
665
- if (!(name in resolved)) {
666
- resolved[name] = null;
667
- const parent = aliases2[name] && aliases2[name].parent;
668
- const value = parent && resolve(parent);
669
- if (value) {
670
- resolved[name] = [parent].concat(value);
671
- }
672
- }
673
- return resolved[name];
674
- }
675
- __name(resolve, "resolve");
676
- Object.keys(icons).concat(Object.keys(aliases2)).forEach(resolve);
677
- return resolved;
678
- }
679
- __name(getIconsTree, "getIconsTree");
680
- function internalGetIconData(data, name, tree) {
681
- const icons = data.icons;
682
- const aliases2 = data.aliases || /* @__PURE__ */Object.create(null);
683
- let currentProps = {};
684
- function parse2(name2) {
685
- currentProps = mergeIconData(icons[name2] || aliases2[name2], currentProps);
686
- }
687
- __name(parse2, "parse");
688
- parse2(name);
689
- tree.forEach(parse2);
690
- return mergeIconData(data, currentProps);
691
- }
692
- __name(internalGetIconData, "internalGetIconData");
693
- function parseIconSet(data, callback) {
694
- const names = [];
695
- if (typeof data !== "object" || typeof data.icons !== "object") {
696
- return names;
697
- }
698
- if (data.not_found instanceof Array) {
699
- data.not_found.forEach(name => {
700
- callback(name, null);
701
- names.push(name);
702
- });
703
- }
704
- const tree = getIconsTree(data);
705
- for (const name in tree) {
706
- const item = tree[name];
707
- if (item) {
708
- callback(name, internalGetIconData(data, name, item));
709
- names.push(name);
710
- }
711
- }
712
- return names;
713
- }
714
- __name(parseIconSet, "parseIconSet");
715
- var optionalPropertyDefaults = {
716
- provider: "",
717
- aliases: {},
718
- not_found: {},
719
- ...defaultIconDimensions
720
- };
721
- function checkOptionalProps(item, defaults) {
722
- for (const prop in defaults) {
723
- if (prop in item && typeof item[prop] !== typeof defaults[prop]) {
724
- return false;
725
- }
726
- }
727
- return true;
728
- }
729
- __name(checkOptionalProps, "checkOptionalProps");
730
- function quicklyValidateIconSet(obj) {
731
- if (typeof obj !== "object" || obj === null) {
732
- return null;
733
- }
734
- const data = obj;
735
- if (typeof data.prefix !== "string" || !obj.icons || typeof obj.icons !== "object") {
736
- return null;
737
- }
738
- if (!checkOptionalProps(obj, optionalPropertyDefaults)) {
739
- return null;
740
- }
741
- const icons = data.icons;
742
- for (const name in icons) {
743
- const icon = icons[name];
744
- if (
745
- // Name cannot be empty
746
- !name ||
747
- // Must have body
748
- typeof icon.body !== "string" ||
749
- // Check other props
750
- !checkOptionalProps(icon, defaultExtendedIconProps)) {
751
- return null;
752
- }
753
- }
754
- const aliases2 = data.aliases || /* @__PURE__ */Object.create(null);
755
- for (const name in aliases2) {
756
- const icon = aliases2[name];
757
- const parent = icon.parent;
758
- if (
759
- // Name cannot be empty
760
- !name ||
761
- // Parent must be set and point to existing icon
762
- typeof parent !== "string" || !icons[parent] && !aliases2[parent] ||
763
- // Check other props
764
- !checkOptionalProps(icon, defaultExtendedIconProps)) {
765
- return null;
766
- }
767
- }
768
- return data;
769
- }
770
- __name(quicklyValidateIconSet, "quicklyValidateIconSet");
771
- var dataStorage = /* @__PURE__ */Object.create(null);
772
- function newStorage(provider, prefix2) {
773
- return {
774
- provider,
775
- prefix: prefix2,
776
- icons: /* @__PURE__ */Object.create(null),
777
- missing: /* @__PURE__ */new Set()
778
- };
779
- }
780
- __name(newStorage, "newStorage");
781
- function getStorage(provider, prefix2) {
782
- const providerStorage = dataStorage[provider] || (dataStorage[provider] = /* @__PURE__ */Object.create(null));
783
- return providerStorage[prefix2] || (providerStorage[prefix2] = newStorage(provider, prefix2));
784
- }
785
- __name(getStorage, "getStorage");
786
- function addIconSet(storage2, data) {
787
- if (!quicklyValidateIconSet(data)) {
788
- return [];
789
- }
790
- return parseIconSet(data, (name, icon) => {
791
- if (icon) {
792
- storage2.icons[name] = icon;
793
- } else {
794
- storage2.missing.add(name);
795
- }
796
- });
797
- }
798
- __name(addIconSet, "addIconSet");
799
- function addIconToStorage(storage2, name, icon) {
800
- try {
801
- if (typeof icon.body === "string") {
802
- storage2.icons[name] = {
803
- ...icon
804
- };
805
- return true;
806
- }
807
- } catch (err) {}
808
- return false;
809
- }
810
- __name(addIconToStorage, "addIconToStorage");
811
- function listIcons$1(provider, prefix2) {
812
- let allIcons = [];
813
- const providers = typeof provider === "string" ? [provider] : Object.keys(dataStorage);
814
- providers.forEach(provider2 => {
815
- const prefixes = typeof provider2 === "string" && typeof prefix2 === "string" ? [prefix2] : Object.keys(dataStorage[provider2] || {});
816
- prefixes.forEach(prefix22 => {
817
- const storage2 = getStorage(provider2, prefix22);
818
- allIcons = allIcons.concat(Object.keys(storage2.icons).map(name => (provider2 !== "" ? "@" + provider2 + ":" : "") + prefix22 + ":" + name));
819
- });
820
- });
821
- return allIcons;
822
- }
823
- __name(listIcons$1, "listIcons$1");
824
- var simpleNames = false;
825
- function allowSimpleNames(allow) {
826
- if (typeof allow === "boolean") {
827
- simpleNames = allow;
828
- }
829
- return simpleNames;
830
- }
831
- __name(allowSimpleNames, "allowSimpleNames");
832
- function getIconData(name) {
833
- const icon = typeof name === "string" ? stringToIcon(name, true, simpleNames) : name;
834
- if (icon) {
835
- const storage2 = getStorage(icon.provider, icon.prefix);
836
- const iconName = icon.name;
837
- return storage2.icons[iconName] || (storage2.missing.has(iconName) ? null : void 0);
838
- }
839
- }
840
- __name(getIconData, "getIconData");
841
- function addIcon$1(name, data) {
842
- const icon = stringToIcon(name, true, simpleNames);
843
- if (!icon) {
844
- return false;
845
- }
846
- const storage2 = getStorage(icon.provider, icon.prefix);
847
- if (data) {
848
- return addIconToStorage(storage2, icon.name, data);
849
- } else {
850
- storage2.missing.add(icon.name);
851
- return true;
852
- }
853
- }
854
- __name(addIcon$1, "addIcon$1");
855
- function addCollection$1(data, provider) {
856
- if (typeof data !== "object") {
857
- return false;
858
- }
859
- if (typeof provider !== "string") {
860
- provider = data.provider || "";
861
- }
862
- if (simpleNames && !provider && !data.prefix) {
863
- let added = false;
864
- if (quicklyValidateIconSet(data)) {
865
- data.prefix = "";
866
- parseIconSet(data, (name, icon) => {
867
- if (addIcon$1(name, icon)) {
868
- added = true;
869
- }
870
- });
871
- }
872
- return added;
873
- }
874
- const prefix2 = data.prefix;
875
- if (!validateIconName({
876
- provider,
877
- prefix: prefix2,
878
- name: "a"
879
- })) {
880
- return false;
881
- }
882
- const storage2 = getStorage(provider, prefix2);
883
- return !!addIconSet(storage2, data);
884
- }
885
- __name(addCollection$1, "addCollection$1");
886
- function iconLoaded$1(name) {
887
- return !!getIconData(name);
888
- }
889
- __name(iconLoaded$1, "iconLoaded$1");
890
- function getIcon$1(name) {
891
- const result = getIconData(name);
892
- return result ? {
893
- ...defaultIconProps,
894
- ...result
895
- } : result;
896
- }
897
- __name(getIcon$1, "getIcon$1");
898
- function sortIcons(icons) {
899
- const result = {
900
- loaded: [],
901
- missing: [],
902
- pending: []
903
- };
904
- const storage2 = /* @__PURE__ */Object.create(null);
905
- icons.sort((a, b) => {
906
- if (a.provider !== b.provider) {
907
- return a.provider.localeCompare(b.provider);
908
- }
909
- if (a.prefix !== b.prefix) {
910
- return a.prefix.localeCompare(b.prefix);
911
- }
912
- return a.name.localeCompare(b.name);
913
- });
914
- let lastIcon = {
915
- provider: "",
916
- prefix: "",
917
- name: ""
918
- };
919
- icons.forEach(icon => {
920
- if (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) {
921
- return;
922
- }
923
- lastIcon = icon;
924
- const provider = icon.provider;
925
- const prefix2 = icon.prefix;
926
- const name = icon.name;
927
- const providerStorage = storage2[provider] || (storage2[provider] = /* @__PURE__ */Object.create(null));
928
- const localStorage = providerStorage[prefix2] || (providerStorage[prefix2] = getStorage(provider, prefix2));
929
- let list;
930
- if (name in localStorage.icons) {
931
- list = result.loaded;
932
- } else if (prefix2 === "" || localStorage.missing.has(name)) {
933
- list = result.missing;
934
- } else {
935
- list = result.pending;
936
- }
937
- const item = {
938
- provider,
939
- prefix: prefix2,
940
- name
941
- };
942
- list.push(item);
943
- });
944
- return result;
945
- }
946
- __name(sortIcons, "sortIcons");
947
- function removeCallback(storages, id) {
948
- storages.forEach(storage2 => {
949
- const items = storage2.loaderCallbacks;
950
- if (items) {
951
- storage2.loaderCallbacks = items.filter(row => row.id !== id);
952
- }
953
- });
954
- }
955
- __name(removeCallback, "removeCallback");
956
- function updateCallbacks(storage2) {
957
- if (!storage2.pendingCallbacksFlag) {
958
- storage2.pendingCallbacksFlag = true;
959
- setTimeout(() => {
960
- storage2.pendingCallbacksFlag = false;
961
- const items = storage2.loaderCallbacks ? storage2.loaderCallbacks.slice(0) : [];
962
- if (!items.length) {
963
- return;
964
- }
965
- let hasPending = false;
966
- const provider = storage2.provider;
967
- const prefix2 = storage2.prefix;
968
- items.forEach(item => {
969
- const icons = item.icons;
970
- const oldLength = icons.pending.length;
971
- icons.pending = icons.pending.filter(icon => {
972
- if (icon.prefix !== prefix2) {
973
- return true;
974
- }
975
- const name = icon.name;
976
- if (storage2.icons[name]) {
977
- icons.loaded.push({
978
- provider,
979
- prefix: prefix2,
980
- name
981
- });
982
- } else if (storage2.missing.has(name)) {
983
- icons.missing.push({
984
- provider,
985
- prefix: prefix2,
986
- name
987
- });
988
- } else {
989
- hasPending = true;
990
- return true;
991
- }
992
- return false;
993
- });
994
- if (icons.pending.length !== oldLength) {
995
- if (!hasPending) {
996
- removeCallback([storage2], item.id);
997
- }
998
- item.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);
999
- }
1000
- });
1001
- });
1002
- }
1003
- }
1004
- __name(updateCallbacks, "updateCallbacks");
1005
- var idCounter = 0;
1006
- function storeCallback(callback, icons, pendingSources) {
1007
- const id = idCounter++;
1008
- const abort = removeCallback.bind(null, pendingSources, id);
1009
- if (!icons.pending.length) {
1010
- return abort;
1011
- }
1012
- const item = {
1013
- id,
1014
- icons,
1015
- callback,
1016
- abort
1017
- };
1018
- pendingSources.forEach(storage2 => {
1019
- (storage2.loaderCallbacks || (storage2.loaderCallbacks = [])).push(item);
1020
- });
1021
- return abort;
1022
- }
1023
- __name(storeCallback, "storeCallback");
1024
- var storage = /* @__PURE__ */Object.create(null);
1025
- function setAPIModule(provider, item) {
1026
- storage[provider] = item;
1027
- }
1028
- __name(setAPIModule, "setAPIModule");
1029
- function getAPIModule(provider) {
1030
- return storage[provider] || storage[""];
1031
- }
1032
- __name(getAPIModule, "getAPIModule");
1033
- function listToIcons(list, validate = true, simpleNames2 = false) {
1034
- const result = [];
1035
- list.forEach(item => {
1036
- const icon = typeof item === "string" ? stringToIcon(item, validate, simpleNames2) : item;
1037
- if (icon) {
1038
- result.push(icon);
1039
- }
1040
- });
1041
- return result;
1042
- }
1043
- __name(listToIcons, "listToIcons");
1044
- var defaultConfig = {
1045
- resources: [],
1046
- index: 0,
1047
- timeout: 2e3,
1048
- rotate: 750,
1049
- random: false,
1050
- dataAfterTimeout: false
1051
- };
1052
- function sendQuery(config, payload, query, done) {
1053
- const resourcesCount = config.resources.length;
1054
- const startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;
1055
- let resources;
1056
- if (config.random) {
1057
- let list = config.resources.slice(0);
1058
- resources = [];
1059
- while (list.length > 1) {
1060
- const nextIndex = Math.floor(Math.random() * list.length);
1061
- resources.push(list[nextIndex]);
1062
- list = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));
1063
- }
1064
- resources = resources.concat(list);
1065
- } else {
1066
- resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));
1067
- }
1068
- const startTime = Date.now();
1069
- let status = "pending";
1070
- let queriesSent = 0;
1071
- let lastError;
1072
- let timer = null;
1073
- let queue = [];
1074
- let doneCallbacks = [];
1075
- if (typeof done === "function") {
1076
- doneCallbacks.push(done);
1077
- }
1078
- function resetTimer() {
1079
- if (timer) {
1080
- clearTimeout(timer);
1081
- timer = null;
1082
- }
1083
- }
1084
- __name(resetTimer, "resetTimer");
1085
- function abort() {
1086
- if (status === "pending") {
1087
- status = "aborted";
1088
- }
1089
- resetTimer();
1090
- queue.forEach(item => {
1091
- if (item.status === "pending") {
1092
- item.status = "aborted";
1093
- }
1094
- });
1095
- queue = [];
1096
- }
1097
- __name(abort, "abort");
1098
- function subscribe(callback, overwrite) {
1099
- if (overwrite) {
1100
- doneCallbacks = [];
1101
- }
1102
- if (typeof callback === "function") {
1103
- doneCallbacks.push(callback);
1104
- }
1105
- }
1106
- __name(subscribe, "subscribe");
1107
- function getQueryStatus() {
1108
- return {
1109
- startTime,
1110
- payload,
1111
- status,
1112
- queriesSent,
1113
- queriesPending: queue.length,
1114
- subscribe,
1115
- abort
1116
- };
1117
- }
1118
- __name(getQueryStatus, "getQueryStatus");
1119
- function failQuery() {
1120
- status = "failed";
1121
- doneCallbacks.forEach(callback => {
1122
- callback(void 0, lastError);
1123
- });
1124
- }
1125
- __name(failQuery, "failQuery");
1126
- function clearQueue() {
1127
- queue.forEach(item => {
1128
- if (item.status === "pending") {
1129
- item.status = "aborted";
1130
- }
1131
- });
1132
- queue = [];
1133
- }
1134
- __name(clearQueue, "clearQueue");
1135
- function moduleResponse(item, response, data) {
1136
- const isError = response !== "success";
1137
- queue = queue.filter(queued => queued !== item);
1138
- switch (status) {
1139
- case "pending":
1140
- break;
1141
- case "failed":
1142
- if (isError || !config.dataAfterTimeout) {
1143
- return;
1144
- }
1145
- break;
1146
- default:
1147
- return;
1148
- }
1149
- if (response === "abort") {
1150
- lastError = data;
1151
- failQuery();
1152
- return;
1153
- }
1154
- if (isError) {
1155
- lastError = data;
1156
- if (!queue.length) {
1157
- if (!resources.length) {
1158
- failQuery();
1159
- } else {
1160
- execNext();
1161
- }
1162
- }
1163
- return;
1164
- }
1165
- resetTimer();
1166
- clearQueue();
1167
- if (!config.random) {
1168
- const index = config.resources.indexOf(item.resource);
1169
- if (index !== -1 && index !== config.index) {
1170
- config.index = index;
1171
- }
1172
- }
1173
- status = "completed";
1174
- doneCallbacks.forEach(callback => {
1175
- callback(data);
1176
- });
1177
- }
1178
- __name(moduleResponse, "moduleResponse");
1179
- function execNext() {
1180
- if (status !== "pending") {
1181
- return;
1182
- }
1183
- resetTimer();
1184
- const resource = resources.shift();
1185
- if (resource === void 0) {
1186
- if (queue.length) {
1187
- timer = setTimeout(() => {
1188
- resetTimer();
1189
- if (status === "pending") {
1190
- clearQueue();
1191
- failQuery();
1192
- }
1193
- }, config.timeout);
1194
- return;
1195
- }
1196
- failQuery();
1197
- return;
1198
- }
1199
- const item = {
1200
- status: "pending",
1201
- resource,
1202
- callback: /* @__PURE__ */__name((status2, data) => {
1203
- moduleResponse(item, status2, data);
1204
- }, "callback")
1205
- };
1206
- queue.push(item);
1207
- queriesSent++;
1208
- timer = setTimeout(execNext, config.rotate);
1209
- query(resource, payload, item.callback);
1210
- }
1211
- __name(execNext, "execNext");
1212
- setTimeout(execNext);
1213
- return getQueryStatus;
1214
- }
1215
- __name(sendQuery, "sendQuery");
1216
- function initRedundancy(cfg) {
1217
- const config = {
1218
- ...defaultConfig,
1219
- ...cfg
1220
- };
1221
- let queries = [];
1222
- function cleanup() {
1223
- queries = queries.filter(item => item().status === "pending");
1224
- }
1225
- __name(cleanup, "cleanup");
1226
- function query(payload, queryCallback, doneCallback) {
1227
- const query2 = sendQuery(config, payload, queryCallback, (data, error) => {
1228
- cleanup();
1229
- if (doneCallback) {
1230
- doneCallback(data, error);
1231
- }
1232
- });
1233
- queries.push(query2);
1234
- return query2;
1235
- }
1236
- __name(query, "query");
1237
- function find(callback) {
1238
- return queries.find(value => {
1239
- return callback(value);
1240
- }) || null;
1241
- }
1242
- __name(find, "find");
1243
- const instance = {
1244
- query,
1245
- find,
1246
- setIndex: /* @__PURE__ */__name(index => {
1247
- config.index = index;
1248
- }, "setIndex"),
1249
- getIndex: /* @__PURE__ */__name(() => config.index, "getIndex"),
1250
- cleanup
1251
- };
1252
- return instance;
1253
- }
1254
- __name(initRedundancy, "initRedundancy");
1255
- function createAPIConfig(source) {
1256
- let resources;
1257
- if (typeof source.resources === "string") {
1258
- resources = [source.resources];
1259
- } else {
1260
- resources = source.resources;
1261
- if (!(resources instanceof Array) || !resources.length) {
1262
- return null;
1263
- }
1264
- }
1265
- const result = {
1266
- // API hosts
1267
- resources,
1268
- // Root path
1269
- path: source.path || "/",
1270
- // URL length limit
1271
- maxURL: source.maxURL || 500,
1272
- // Timeout before next host is used.
1273
- rotate: source.rotate || 750,
1274
- // Timeout before failing query.
1275
- timeout: source.timeout || 5e3,
1276
- // Randomise default API end point.
1277
- random: source.random === true,
1278
- // Start index
1279
- index: source.index || 0,
1280
- // Receive data after time out (used if time out kicks in first, then API module sends data anyway).
1281
- dataAfterTimeout: source.dataAfterTimeout !== false
1282
- };
1283
- return result;
1284
- }
1285
- __name(createAPIConfig, "createAPIConfig");
1286
- var configStorage = /* @__PURE__ */Object.create(null);
1287
- var fallBackAPISources = ["https://api.simplesvg.com", "https://api.unisvg.com"];
1288
- var fallBackAPI = [];
1289
- while (fallBackAPISources.length > 0) {
1290
- if (fallBackAPISources.length === 1) {
1291
- fallBackAPI.push(fallBackAPISources.shift());
1292
- } else {
1293
- if (Math.random() > 0.5) {
1294
- fallBackAPI.push(fallBackAPISources.shift());
1295
- } else {
1296
- fallBackAPI.push(fallBackAPISources.pop());
1297
- }
1298
- }
1299
- }
1300
- configStorage[""] = createAPIConfig({
1301
- resources: ["https://api.iconify.design"].concat(fallBackAPI)
1302
- });
1303
- function addAPIProvider$1(provider, customConfig) {
1304
- const config = createAPIConfig(customConfig);
1305
- if (config === null) {
1306
- return false;
1307
- }
1308
- configStorage[provider] = config;
1309
- return true;
1310
- }
1311
- __name(addAPIProvider$1, "addAPIProvider$1");
1312
- function getAPIConfig(provider) {
1313
- return configStorage[provider];
1314
- }
1315
- __name(getAPIConfig, "getAPIConfig");
1316
- function listAPIProviders() {
1317
- return Object.keys(configStorage);
1318
- }
1319
- __name(listAPIProviders, "listAPIProviders");
1320
- function emptyCallback$1() {}
1321
- __name(emptyCallback$1, "emptyCallback$1");
1322
- var redundancyCache = /* @__PURE__ */Object.create(null);
1323
- function getRedundancyCache(provider) {
1324
- if (!redundancyCache[provider]) {
1325
- const config = getAPIConfig(provider);
1326
- if (!config) {
1327
- return;
1328
- }
1329
- const redundancy = initRedundancy(config);
1330
- const cachedReundancy = {
1331
- config,
1332
- redundancy
1333
- };
1334
- redundancyCache[provider] = cachedReundancy;
1335
- }
1336
- return redundancyCache[provider];
1337
- }
1338
- __name(getRedundancyCache, "getRedundancyCache");
1339
- function sendAPIQuery(target, query, callback) {
1340
- let redundancy;
1341
- let send2;
1342
- if (typeof target === "string") {
1343
- const api = getAPIModule(target);
1344
- if (!api) {
1345
- callback(void 0, 424);
1346
- return emptyCallback$1;
1347
- }
1348
- send2 = api.send;
1349
- const cached = getRedundancyCache(target);
1350
- if (cached) {
1351
- redundancy = cached.redundancy;
1352
- }
1353
- } else {
1354
- const config = createAPIConfig(target);
1355
- if (config) {
1356
- redundancy = initRedundancy(config);
1357
- const moduleKey = target.resources ? target.resources[0] : "";
1358
- const api = getAPIModule(moduleKey);
1359
- if (api) {
1360
- send2 = api.send;
1361
- }
1362
- }
1363
- }
1364
- if (!redundancy || !send2) {
1365
- callback(void 0, 424);
1366
- return emptyCallback$1;
1367
- }
1368
- return redundancy.query(query, send2, callback)().abort;
1369
- }
1370
- __name(sendAPIQuery, "sendAPIQuery");
1371
- function emptyCallback() {}
1372
- __name(emptyCallback, "emptyCallback");
1373
- function loadedNewIcons(storage2) {
1374
- if (!storage2.iconsLoaderFlag) {
1375
- storage2.iconsLoaderFlag = true;
1376
- setTimeout(() => {
1377
- storage2.iconsLoaderFlag = false;
1378
- updateCallbacks(storage2);
1379
- });
1380
- }
1381
- }
1382
- __name(loadedNewIcons, "loadedNewIcons");
1383
- function checkIconNamesForAPI(icons) {
1384
- const valid = [];
1385
- const invalid = [];
1386
- icons.forEach(name => {
1387
- (name.match(matchIconName) ? valid : invalid).push(name);
1388
- });
1389
- return {
1390
- valid,
1391
- invalid
1392
- };
1393
- }
1394
- __name(checkIconNamesForAPI, "checkIconNamesForAPI");
1395
- function parseLoaderResponse(storage2, icons, data) {
1396
- function checkMissing() {
1397
- const pending = storage2.pendingIcons;
1398
- icons.forEach(name => {
1399
- if (pending) {
1400
- pending.delete(name);
1401
- }
1402
- if (!storage2.icons[name]) {
1403
- storage2.missing.add(name);
1404
- }
1405
- });
1406
- }
1407
- __name(checkMissing, "checkMissing");
1408
- if (data && typeof data === "object") {
1409
- try {
1410
- const parsed = addIconSet(storage2, data);
1411
- if (!parsed.length) {
1412
- checkMissing();
1413
- return;
1414
- }
1415
- } catch (err) {
1416
- console.error(err);
1417
- }
1418
- }
1419
- checkMissing();
1420
- loadedNewIcons(storage2);
1421
- }
1422
- __name(parseLoaderResponse, "parseLoaderResponse");
1423
- function parsePossiblyAsyncResponse(response, callback) {
1424
- if (response instanceof Promise) {
1425
- response.then(data => {
1426
- callback(data);
1427
- }).catch(() => {
1428
- callback(null);
1429
- });
1430
- } else {
1431
- callback(response);
1432
- }
1433
- }
1434
- __name(parsePossiblyAsyncResponse, "parsePossiblyAsyncResponse");
1435
- function loadNewIcons(storage2, icons) {
1436
- if (!storage2.iconsToLoad) {
1437
- storage2.iconsToLoad = icons;
1438
- } else {
1439
- storage2.iconsToLoad = storage2.iconsToLoad.concat(icons).sort();
1440
- }
1441
- if (!storage2.iconsQueueFlag) {
1442
- storage2.iconsQueueFlag = true;
1443
- setTimeout(() => {
1444
- storage2.iconsQueueFlag = false;
1445
- const {
1446
- provider,
1447
- prefix: prefix2
1448
- } = storage2;
1449
- const icons2 = storage2.iconsToLoad;
1450
- delete storage2.iconsToLoad;
1451
- if (!icons2 || !icons2.length) {
1452
- return;
1453
- }
1454
- const customIconLoader = storage2.loadIcon;
1455
- if (storage2.loadIcons && (icons2.length > 1 || !customIconLoader)) {
1456
- parsePossiblyAsyncResponse(storage2.loadIcons(icons2, prefix2, provider), data => {
1457
- parseLoaderResponse(storage2, icons2, data);
1458
- });
1459
- return;
1460
- }
1461
- if (customIconLoader) {
1462
- icons2.forEach(name => {
1463
- const response = customIconLoader(name, prefix2, provider);
1464
- parsePossiblyAsyncResponse(response, data => {
1465
- const iconSet = data ? {
1466
- prefix: prefix2,
1467
- icons: {
1468
- [name]: data
1469
- }
1470
- } : null;
1471
- parseLoaderResponse(storage2, [name], iconSet);
1472
- });
1473
- });
1474
- return;
1475
- }
1476
- const {
1477
- valid,
1478
- invalid
1479
- } = checkIconNamesForAPI(icons2);
1480
- if (invalid.length) {
1481
- parseLoaderResponse(storage2, invalid, null);
1482
- }
1483
- if (!valid.length) {
1484
- return;
1485
- }
1486
- const api = prefix2.match(matchIconName) ? getAPIModule(provider) : null;
1487
- if (!api) {
1488
- parseLoaderResponse(storage2, valid, null);
1489
- return;
1490
- }
1491
- const params = api.prepare(provider, prefix2, valid);
1492
- params.forEach(item => {
1493
- sendAPIQuery(provider, item, data => {
1494
- parseLoaderResponse(storage2, item.icons, data);
1495
- });
1496
- });
1497
- });
1498
- }
1499
- }
1500
- __name(loadNewIcons, "loadNewIcons");
1501
- var loadIcons$1 = /* @__PURE__ */__name((icons, callback) => {
1502
- const cleanedIcons = listToIcons(icons, true, allowSimpleNames());
1503
- const sortedIcons = sortIcons(cleanedIcons);
1504
- if (!sortedIcons.pending.length) {
1505
- let callCallback = true;
1506
- if (callback) {
1507
- setTimeout(() => {
1508
- if (callCallback) {
1509
- callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);
1510
- }
1511
- });
1512
- }
1513
- return () => {
1514
- callCallback = false;
1515
- };
1516
- }
1517
- const newIcons = /* @__PURE__ */Object.create(null);
1518
- const sources = [];
1519
- let lastProvider, lastPrefix;
1520
- sortedIcons.pending.forEach(icon => {
1521
- const {
1522
- provider,
1523
- prefix: prefix2
1524
- } = icon;
1525
- if (prefix2 === lastPrefix && provider === lastProvider) {
1526
- return;
1527
- }
1528
- lastProvider = provider;
1529
- lastPrefix = prefix2;
1530
- sources.push(getStorage(provider, prefix2));
1531
- const providerNewIcons = newIcons[provider] || (newIcons[provider] = /* @__PURE__ */Object.create(null));
1532
- if (!providerNewIcons[prefix2]) {
1533
- providerNewIcons[prefix2] = [];
1534
- }
1535
- });
1536
- sortedIcons.pending.forEach(icon => {
1537
- const {
1538
- provider,
1539
- prefix: prefix2,
1540
- name
1541
- } = icon;
1542
- const storage2 = getStorage(provider, prefix2);
1543
- const pendingQueue = storage2.pendingIcons || (storage2.pendingIcons = /* @__PURE__ */new Set());
1544
- if (!pendingQueue.has(name)) {
1545
- pendingQueue.add(name);
1546
- newIcons[provider][prefix2].push(name);
1547
- }
1548
- });
1549
- sources.forEach(storage2 => {
1550
- const list = newIcons[storage2.provider][storage2.prefix];
1551
- if (list.length) {
1552
- loadNewIcons(storage2, list);
1553
- }
1554
- });
1555
- return callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;
1556
- }, "loadIcons$1");
1557
- var loadIcon$1 = /* @__PURE__ */__name(icon => {
1558
- return new Promise((fulfill, reject) => {
1559
- const iconObj = typeof icon === "string" ? stringToIcon(icon, true) : icon;
1560
- if (!iconObj) {
1561
- reject(icon);
1562
- return;
1563
- }
1564
- loadIcons$1([iconObj || icon], loaded => {
1565
- if (loaded.length && iconObj) {
1566
- const data = getIconData(iconObj);
1567
- if (data) {
1568
- fulfill({
1569
- ...defaultIconProps,
1570
- ...data
1571
- });
1572
- return;
1573
- }
1574
- }
1575
- reject(icon);
1576
- });
1577
- });
1578
- }, "loadIcon$1");
1579
- function testIconObject(value) {
1580
- try {
1581
- const obj = typeof value === "string" ? JSON.parse(value) : value;
1582
- if (typeof obj.body === "string") {
1583
- return {
1584
- ...obj
1585
- };
1586
- }
1587
- } catch (err) {}
1588
- }
1589
- __name(testIconObject, "testIconObject");
1590
- function parseIconValue(value, onload) {
1591
- if (typeof value === "object") {
1592
- const data2 = testIconObject(value);
1593
- return {
1594
- data: data2,
1595
- value
1596
- };
1597
- }
1598
- if (typeof value !== "string") {
1599
- return {
1600
- value
1601
- };
1602
- }
1603
- if (value.includes("{")) {
1604
- const data2 = testIconObject(value);
1605
- if (data2) {
1606
- return {
1607
- data: data2,
1608
- value
1609
- };
1610
- }
1611
- }
1612
- const name = stringToIcon(value, true, true);
1613
- if (!name) {
1614
- return {
1615
- value
1616
- };
1617
- }
1618
- const data = getIconData(name);
1619
- if (data !== void 0 || !name.prefix) {
1620
- return {
1621
- value,
1622
- name,
1623
- data
1624
- // could be 'null' -> icon is missing
1625
- };
1626
- }
1627
- const loading = loadIcons$1([name], () => onload(value, name, getIconData(name)));
1628
- return {
1629
- value,
1630
- name,
1631
- loading
1632
- };
1633
- }
1634
- __name(parseIconValue, "parseIconValue");
1635
- var isBuggedSafari = false;
1636
- try {
1637
- isBuggedSafari = navigator.vendor.indexOf("Apple") === 0;
1638
- } catch (err) {}
1639
- function getRenderMode(body, mode) {
1640
- switch (mode) {
1641
- // Force mode
1642
- case "svg":
1643
- case "bg":
1644
- case "mask":
1645
- return mode;
1646
- }
1647
- if (mode !== "style" && (isBuggedSafari || body.indexOf("<a") === -1)) {
1648
- return "svg";
1649
- }
1650
- return body.indexOf("currentColor") === -1 ? "bg" : "mask";
1651
- }
1652
- __name(getRenderMode, "getRenderMode");
1653
- var unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;
1654
- var unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
1655
- function calculateSize$1(size, ratio, precision) {
1656
- if (ratio === 1) {
1657
- return size;
1658
- }
1659
- precision = precision || 100;
1660
- if (typeof size === "number") {
1661
- return Math.ceil(size * ratio * precision) / precision;
1662
- }
1663
- if (typeof size !== "string") {
1664
- return size;
1665
- }
1666
- const oldParts = size.split(unitsSplit);
1667
- if (oldParts === null || !oldParts.length) {
1668
- return size;
1669
- }
1670
- const newParts = [];
1671
- let code = oldParts.shift();
1672
- let isNumber = unitsTest.test(code);
1673
- while (true) {
1674
- if (isNumber) {
1675
- const num = parseFloat(code);
1676
- if (isNaN(num)) {
1677
- newParts.push(code);
1678
- } else {
1679
- newParts.push(Math.ceil(num * ratio * precision) / precision);
1680
- }
1681
- } else {
1682
- newParts.push(code);
1683
- }
1684
- code = oldParts.shift();
1685
- if (code === void 0) {
1686
- return newParts.join("");
1687
- }
1688
- isNumber = !isNumber;
1689
- }
1690
- }
1691
- __name(calculateSize$1, "calculateSize$1");
1692
- function splitSVGDefs(content, tag = "defs") {
1693
- let defs = "";
1694
- const index = content.indexOf("<" + tag);
1695
- while (index >= 0) {
1696
- const start = content.indexOf(">", index);
1697
- const end = content.indexOf("</" + tag);
1698
- if (start === -1 || end === -1) {
1699
- break;
1700
- }
1701
- const endEnd = content.indexOf(">", end);
1702
- if (endEnd === -1) {
1703
- break;
1704
- }
1705
- defs += content.slice(start + 1, end).trim();
1706
- content = content.slice(0, index).trim() + content.slice(endEnd + 1);
1707
- }
1708
- return {
1709
- defs,
1710
- content
1711
- };
1712
- }
1713
- __name(splitSVGDefs, "splitSVGDefs");
1714
- function mergeDefsAndContent(defs, content) {
1715
- return defs ? "<defs>" + defs + "</defs>" + content : content;
1716
- }
1717
- __name(mergeDefsAndContent, "mergeDefsAndContent");
1718
- function wrapSVGContent(body, start, end) {
1719
- const split = splitSVGDefs(body);
1720
- return mergeDefsAndContent(split.defs, start + split.content + end);
1721
- }
1722
- __name(wrapSVGContent, "wrapSVGContent");
1723
- var isUnsetKeyword = /* @__PURE__ */__name(value => value === "unset" || value === "undefined" || value === "none", "isUnsetKeyword");
1724
- function iconToSVG(icon, customisations) {
1725
- const fullIcon = {
1726
- ...defaultIconProps,
1727
- ...icon
1728
- };
1729
- const fullCustomisations = {
1730
- ...defaultIconCustomisations,
1731
- ...customisations
1732
- };
1733
- const box = {
1734
- left: fullIcon.left,
1735
- top: fullIcon.top,
1736
- width: fullIcon.width,
1737
- height: fullIcon.height
1738
- };
1739
- let body = fullIcon.body;
1740
- [fullIcon, fullCustomisations].forEach(props => {
1741
- const transformations = [];
1742
- const hFlip = props.hFlip;
1743
- const vFlip = props.vFlip;
1744
- let rotation = props.rotate;
1745
- if (hFlip) {
1746
- if (vFlip) {
1747
- rotation += 2;
1748
- } else {
1749
- transformations.push("translate(" + (box.width + box.left).toString() + " " + (0 - box.top).toString() + ")");
1750
- transformations.push("scale(-1 1)");
1751
- box.top = box.left = 0;
1752
- }
1753
- } else if (vFlip) {
1754
- transformations.push("translate(" + (0 - box.left).toString() + " " + (box.height + box.top).toString() + ")");
1755
- transformations.push("scale(1 -1)");
1756
- box.top = box.left = 0;
1757
- }
1758
- let tempValue;
1759
- if (rotation < 0) {
1760
- rotation -= Math.floor(rotation / 4) * 4;
1761
- }
1762
- rotation = rotation % 4;
1763
- switch (rotation) {
1764
- case 1:
1765
- tempValue = box.height / 2 + box.top;
1766
- transformations.unshift("rotate(90 " + tempValue.toString() + " " + tempValue.toString() + ")");
1767
- break;
1768
- case 2:
1769
- transformations.unshift("rotate(180 " + (box.width / 2 + box.left).toString() + " " + (box.height / 2 + box.top).toString() + ")");
1770
- break;
1771
- case 3:
1772
- tempValue = box.width / 2 + box.left;
1773
- transformations.unshift("rotate(-90 " + tempValue.toString() + " " + tempValue.toString() + ")");
1774
- break;
1775
- }
1776
- if (rotation % 2 === 1) {
1777
- if (box.left !== box.top) {
1778
- tempValue = box.left;
1779
- box.left = box.top;
1780
- box.top = tempValue;
1781
- }
1782
- if (box.width !== box.height) {
1783
- tempValue = box.width;
1784
- box.width = box.height;
1785
- box.height = tempValue;
1786
- }
1787
- }
1788
- if (transformations.length) {
1789
- body = wrapSVGContent(body, '<g transform="' + transformations.join(" ") + '">', "</g>");
1790
- }
1791
- });
1792
- const customisationsWidth = fullCustomisations.width;
1793
- const customisationsHeight = fullCustomisations.height;
1794
- const boxWidth = box.width;
1795
- const boxHeight = box.height;
1796
- let width;
1797
- let height;
1798
- if (customisationsWidth === null) {
1799
- height = customisationsHeight === null ? "1em" : customisationsHeight === "auto" ? boxHeight : customisationsHeight;
1800
- width = calculateSize$1(height, boxWidth / boxHeight);
1801
- } else {
1802
- width = customisationsWidth === "auto" ? boxWidth : customisationsWidth;
1803
- height = customisationsHeight === null ? calculateSize$1(width, boxHeight / boxWidth) : customisationsHeight === "auto" ? boxHeight : customisationsHeight;
1804
- }
1805
- const attributes = {};
1806
- const setAttr = /* @__PURE__ */__name((prop, value) => {
1807
- if (!isUnsetKeyword(value)) {
1808
- attributes[prop] = value.toString();
1809
- }
1810
- }, "setAttr");
1811
- setAttr("width", width);
1812
- setAttr("height", height);
1813
- const viewBox = [box.left, box.top, boxWidth, boxHeight];
1814
- attributes.viewBox = viewBox.join(" ");
1815
- return {
1816
- attributes,
1817
- viewBox,
1818
- body
1819
- };
1820
- }
1821
- __name(iconToSVG, "iconToSVG");
1822
- function iconToHTML$1(body, attributes) {
1823
- let renderAttribsHTML = body.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
1824
- for (const attr in attributes) {
1825
- renderAttribsHTML += " " + attr + '="' + attributes[attr] + '"';
1826
- }
1827
- return '<svg xmlns="http://www.w3.org/2000/svg"' + renderAttribsHTML + ">" + body + "</svg>";
1828
- }
1829
- __name(iconToHTML$1, "iconToHTML$1");
1830
- function encodeSVGforURL(svg) {
1831
- return svg.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
1832
- }
1833
- __name(encodeSVGforURL, "encodeSVGforURL");
1834
- function svgToData(svg) {
1835
- return "data:image/svg+xml," + encodeSVGforURL(svg);
1836
- }
1837
- __name(svgToData, "svgToData");
1838
- function svgToURL$1(svg) {
1839
- return 'url("' + svgToData(svg) + '")';
1840
- }
1841
- __name(svgToURL$1, "svgToURL$1");
1842
- var detectFetch = /* @__PURE__ */__name(() => {
1843
- let callback;
1844
- try {
1845
- callback = fetch;
1846
- if (typeof callback === "function") {
1847
- return callback;
1848
- }
1849
- } catch (err) {}
1850
- }, "detectFetch");
1851
- var fetchModule = detectFetch();
1852
- function setFetch(fetch2) {
1853
- fetchModule = fetch2;
1854
- }
1855
- __name(setFetch, "setFetch");
1856
- function getFetch() {
1857
- return fetchModule;
1858
- }
1859
- __name(getFetch, "getFetch");
1860
- function calculateMaxLength(provider, prefix2) {
1861
- const config = getAPIConfig(provider);
1862
- if (!config) {
1863
- return 0;
1864
- }
1865
- let result;
1866
- if (!config.maxURL) {
1867
- result = 0;
1868
- } else {
1869
- let maxHostLength = 0;
1870
- config.resources.forEach(item => {
1871
- const host = item;
1872
- maxHostLength = Math.max(maxHostLength, host.length);
1873
- });
1874
- const url = prefix2 + ".json?icons=";
1875
- result = config.maxURL - maxHostLength - config.path.length - url.length;
1876
- }
1877
- return result;
1878
- }
1879
- __name(calculateMaxLength, "calculateMaxLength");
1880
- function shouldAbort(status) {
1881
- return status === 404;
1882
- }
1883
- __name(shouldAbort, "shouldAbort");
1884
- var prepare = /* @__PURE__ */__name((provider, prefix2, icons) => {
1885
- const results = [];
1886
- const maxLength = calculateMaxLength(provider, prefix2);
1887
- const type = "icons";
1888
- let item = {
1889
- type,
1890
- provider,
1891
- prefix: prefix2,
1892
- icons: []
1893
- };
1894
- let length2 = 0;
1895
- icons.forEach((name, index) => {
1896
- length2 += name.length + 1;
1897
- if (length2 >= maxLength && index > 0) {
1898
- results.push(item);
1899
- item = {
1900
- type,
1901
- provider,
1902
- prefix: prefix2,
1903
- icons: []
1904
- };
1905
- length2 = name.length;
1906
- }
1907
- item.icons.push(name);
1908
- });
1909
- results.push(item);
1910
- return results;
1911
- }, "prepare");
1912
- function getPath(provider) {
1913
- if (typeof provider === "string") {
1914
- const config = getAPIConfig(provider);
1915
- if (config) {
1916
- return config.path;
1917
- }
1918
- }
1919
- return "/";
1920
- }
1921
- __name(getPath, "getPath");
1922
- var send = /* @__PURE__ */__name((host, params, callback) => {
1923
- if (!fetchModule) {
1924
- callback("abort", 424);
1925
- return;
1926
- }
1927
- let path = getPath(params.provider);
1928
- switch (params.type) {
1929
- case "icons":
1930
- {
1931
- const prefix2 = params.prefix;
1932
- const icons = params.icons;
1933
- const iconsList = icons.join(",");
1934
- const urlParams = new URLSearchParams({
1935
- icons: iconsList
1936
- });
1937
- path += prefix2 + ".json?" + urlParams.toString();
1938
- break;
1939
- }
1940
- case "custom":
1941
- {
1942
- const uri = params.uri;
1943
- path += uri.slice(0, 1) === "/" ? uri.slice(1) : uri;
1944
- break;
1945
- }
1946
- default:
1947
- callback("abort", 400);
1948
- return;
1949
- }
1950
- let defaultError = 503;
1951
- fetchModule(host + path).then(response => {
1952
- const status = response.status;
1953
- if (status !== 200) {
1954
- setTimeout(() => {
1955
- callback(shouldAbort(status) ? "abort" : "next", status);
1956
- });
1957
- return;
1958
- }
1959
- defaultError = 501;
1960
- return response.json();
1961
- }).then(data => {
1962
- if (typeof data !== "object" || data === null) {
1963
- setTimeout(() => {
1964
- if (data === 404) {
1965
- callback("abort", data);
1966
- } else {
1967
- callback("next", defaultError);
1968
- }
1969
- });
1970
- return;
1971
- }
1972
- setTimeout(() => {
1973
- callback("success", data);
1974
- });
1975
- }).catch(() => {
1976
- callback("next", defaultError);
1977
- });
1978
- }, "send");
1979
- var fetchAPIModule = {
1980
- prepare,
1981
- send
1982
- };
1983
- function setCustomIconsLoader$1(loader, prefix2, provider) {
1984
- getStorage(provider || "", prefix2).loadIcons = loader;
1985
- }
1986
- __name(setCustomIconsLoader$1, "setCustomIconsLoader$1");
1987
- function setCustomIconLoader$1(loader, prefix2, provider) {
1988
- getStorage(provider || "", prefix2).loadIcon = loader;
1989
- }
1990
- __name(setCustomIconLoader$1, "setCustomIconLoader$1");
1991
- var nodeAttr = "data-style";
1992
- var customStyle = "";
1993
- function appendCustomStyle(style) {
1994
- customStyle = style;
1995
- }
1996
- __name(appendCustomStyle, "appendCustomStyle");
1997
- function updateStyle(parent, inline) {
1998
- let styleNode = Array.from(parent.childNodes).find(node2 => node2.hasAttribute && node2.hasAttribute(nodeAttr));
1999
- if (!styleNode) {
2000
- styleNode = document.createElement("style");
2001
- styleNode.setAttribute(nodeAttr, nodeAttr);
2002
- parent.appendChild(styleNode);
2003
- }
2004
- styleNode.textContent = ":host{display:inline-block;vertical-align:" + (inline ? "-0.125em" : "0") + "}span,svg{display:block;margin:auto}" + customStyle;
2005
- }
2006
- __name(updateStyle, "updateStyle");
2007
- function exportFunctions() {
2008
- setAPIModule("", fetchAPIModule);
2009
- allowSimpleNames(true);
2010
- let _window;
2011
- try {
2012
- _window = window;
2013
- } catch (err) {}
2014
- if (_window) {
2015
- if (_window.IconifyPreload !== void 0) {
2016
- const preload = _window.IconifyPreload;
2017
- const err = "Invalid IconifyPreload syntax.";
2018
- if (typeof preload === "object" && preload !== null) {
2019
- (preload instanceof Array ? preload : [preload]).forEach(item => {
2020
- try {
2021
- if (
2022
- // Check if item is an object and not null/array
2023
- typeof item !== "object" || item === null || item instanceof Array ||
2024
- // Check for 'icons' and 'prefix'
2025
- typeof item.icons !== "object" || typeof item.prefix !== "string" ||
2026
- // Add icon set
2027
- !addCollection$1(item)) {
2028
- console.error(err);
2029
- }
2030
- } catch (e) {
2031
- console.error(err);
2032
- }
2033
- });
2034
- }
2035
- }
2036
- if (_window.IconifyProviders !== void 0) {
2037
- const providers = _window.IconifyProviders;
2038
- if (typeof providers === "object" && providers !== null) {
2039
- for (const key in providers) {
2040
- const err = "IconifyProviders[" + key + "] is invalid.";
2041
- try {
2042
- const value = providers[key];
2043
- if (typeof value !== "object" || !value || value.resources === void 0) {
2044
- continue;
2045
- }
2046
- if (!addAPIProvider$1(key, value)) {
2047
- console.error(err);
2048
- }
2049
- } catch (e) {
2050
- console.error(err);
2051
- }
2052
- }
2053
- }
2054
- }
2055
- }
2056
- const _api2 = {
2057
- getAPIConfig,
2058
- setAPIModule,
2059
- sendAPIQuery,
2060
- setFetch,
2061
- getFetch,
2062
- listAPIProviders
2063
- };
2064
- return {
2065
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2066
- enableCache: /* @__PURE__ */__name(storage2 => {}, "enableCache"),
2067
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2068
- disableCache: /* @__PURE__ */__name(storage2 => {}, "disableCache"),
2069
- iconLoaded: iconLoaded$1,
2070
- iconExists: iconLoaded$1,
2071
- // deprecated, kept to avoid breaking changes
2072
- getIcon: getIcon$1,
2073
- listIcons: listIcons$1,
2074
- addIcon: addIcon$1,
2075
- addCollection: addCollection$1,
2076
- calculateSize: calculateSize$1,
2077
- buildIcon: iconToSVG,
2078
- iconToHTML: iconToHTML$1,
2079
- svgToURL: svgToURL$1,
2080
- loadIcons: loadIcons$1,
2081
- loadIcon: loadIcon$1,
2082
- addAPIProvider: addAPIProvider$1,
2083
- setCustomIconLoader: setCustomIconLoader$1,
2084
- setCustomIconsLoader: setCustomIconsLoader$1,
2085
- appendCustomStyle,
2086
- _api: _api2
2087
- };
2088
- }
2089
- __name(exportFunctions, "exportFunctions");
2090
- var monotoneProps = {
2091
- "background-color": "currentColor"
2092
- };
2093
- var coloredProps = {
2094
- "background-color": "transparent"
2095
- };
2096
- var propsToAdd = {
2097
- image: "var(--svg)",
2098
- repeat: "no-repeat",
2099
- size: "100% 100%"
2100
- };
2101
- var propsToAddTo = {
2102
- "-webkit-mask": monotoneProps,
2103
- "mask": monotoneProps,
2104
- "background": coloredProps
2105
- };
2106
- for (const prefix2 in propsToAddTo) {
2107
- const list = propsToAddTo[prefix2];
2108
- for (const prop in propsToAdd) {
2109
- list[prefix2 + "-" + prop] = propsToAdd[prop];
2110
- }
2111
- }
2112
- function fixSize(value) {
2113
- return value ? value + (value.match(/^[-0-9.]+$/) ? "px" : "") : "inherit";
2114
- }
2115
- __name(fixSize, "fixSize");
2116
- function renderSPAN(data, icon, useMask) {
2117
- const node2 = document.createElement("span");
2118
- let body = data.body;
2119
- if (body.indexOf("<a") !== -1) {
2120
- body += "<!-- " + Date.now() + " -->";
2121
- }
2122
- const renderAttribs = data.attributes;
2123
- const html = iconToHTML$1(body, {
2124
- ...renderAttribs,
2125
- width: icon.width + "",
2126
- height: icon.height + ""
2127
- });
2128
- const url = svgToURL$1(html);
2129
- const svgStyle = node2.style;
2130
- const styles = {
2131
- "--svg": url,
2132
- "width": fixSize(renderAttribs.width),
2133
- "height": fixSize(renderAttribs.height),
2134
- ...(useMask ? monotoneProps : coloredProps)
2135
- };
2136
- for (const prop in styles) {
2137
- svgStyle.setProperty(prop, styles[prop]);
2138
- }
2139
- return node2;
2140
- }
2141
- __name(renderSPAN, "renderSPAN");
2142
- var policy;
2143
- function createPolicy() {
2144
- try {
2145
- policy = window.trustedTypes.createPolicy("iconify", {
2146
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
2147
- createHTML: /* @__PURE__ */__name(s => s, "createHTML")
2148
- });
2149
- } catch (err) {
2150
- policy = null;
2151
- }
2152
- }
2153
- __name(createPolicy, "createPolicy");
2154
- function cleanUpInnerHTML(html) {
2155
- if (policy === void 0) {
2156
- createPolicy();
2157
- }
2158
- return policy ? policy.createHTML(html) : html;
2159
- }
2160
- __name(cleanUpInnerHTML, "cleanUpInnerHTML");
2161
- function renderSVG(data) {
2162
- const node2 = document.createElement("span");
2163
- const attr = data.attributes;
2164
- let style = "";
2165
- if (!attr.width) {
2166
- style = "width: inherit;";
2167
- }
2168
- if (!attr.height) {
2169
- style += "height: inherit;";
2170
- }
2171
- if (style) {
2172
- attr.style = style;
2173
- }
2174
- const html = iconToHTML$1(data.body, attr);
2175
- node2.innerHTML = cleanUpInnerHTML(html);
2176
- return node2.firstChild;
2177
- }
2178
- __name(renderSVG, "renderSVG");
2179
- function findIconElement(parent) {
2180
- return Array.from(parent.childNodes).find(node2 => {
2181
- const tag = node2.tagName && node2.tagName.toUpperCase();
2182
- return tag === "SPAN" || tag === "SVG";
2183
- });
2184
- }
2185
- __name(findIconElement, "findIconElement");
2186
- function renderIcon(parent, state) {
2187
- const iconData = state.icon.data;
2188
- const customisations = state.customisations;
2189
- const renderData = iconToSVG(iconData, customisations);
2190
- if (customisations.preserveAspectRatio) {
2191
- renderData.attributes["preserveAspectRatio"] = customisations.preserveAspectRatio;
2192
- }
2193
- const mode = state.renderedMode;
2194
- let node2;
2195
- switch (mode) {
2196
- case "svg":
2197
- node2 = renderSVG(renderData);
2198
- break;
2199
- default:
2200
- node2 = renderSPAN(renderData, {
2201
- ...defaultIconProps,
2202
- ...iconData
2203
- }, mode === "mask");
2204
- }
2205
- const oldNode = findIconElement(parent);
2206
- if (oldNode) {
2207
- if (node2.tagName === "SPAN" && oldNode.tagName === node2.tagName) {
2208
- oldNode.setAttribute("style", node2.getAttribute("style"));
2209
- } else {
2210
- parent.replaceChild(node2, oldNode);
2211
- }
2212
- } else {
2213
- parent.appendChild(node2);
2214
- }
2215
- }
2216
- __name(renderIcon, "renderIcon");
2217
- function setPendingState(icon, inline, lastState) {
2218
- const lastRender = lastState && (lastState.rendered ? lastState : lastState.lastRender);
2219
- return {
2220
- rendered: false,
2221
- inline,
2222
- icon,
2223
- lastRender
2224
- };
2225
- }
2226
- __name(setPendingState, "setPendingState");
2227
- function defineIconifyIcon(name = "iconify-icon") {
2228
- let customElements;
2229
- let ParentClass;
2230
- try {
2231
- customElements = window.customElements;
2232
- ParentClass = window.HTMLElement;
2233
- } catch (err) {
2234
- return;
2235
- }
2236
- if (!customElements || !ParentClass) {
2237
- return;
2238
- }
2239
- const ConflictingClass = customElements.get(name);
2240
- if (ConflictingClass) {
2241
- return ConflictingClass;
2242
- }
2243
- const attributes = [
2244
- // Icon
2245
- "icon",
2246
- // Mode
2247
- "mode", "inline", "noobserver",
2248
- // Customisations
2249
- "width", "height", "rotate", "flip"];
2250
- const IconifyIcon = class extends ParentClass {
2251
- static {
2252
- __name(this, "IconifyIcon");
2253
- }
2254
- // Root
2255
- _shadowRoot;
2256
- // Initialised
2257
- _initialised = false;
2258
- // Icon state
2259
- _state;
2260
- // Attributes check queued
2261
- _checkQueued = false;
2262
- // Connected
2263
- _connected = false;
2264
- // Observer
2265
- _observer = null;
2266
- _visible = true;
2267
- /**
2268
- * Constructor
2269
- */
2270
- constructor() {
2271
- super();
2272
- const root = this._shadowRoot = this.attachShadow({
2273
- mode: "open"
2274
- });
2275
- const inline = this.hasAttribute("inline");
2276
- updateStyle(root, inline);
2277
- this._state = setPendingState({
2278
- value: ""
2279
- }, inline);
2280
- this._queueCheck();
2281
- }
2282
- /**
2283
- * Connected to DOM
2284
- */
2285
- connectedCallback() {
2286
- this._connected = true;
2287
- this.startObserver();
2288
- }
2289
- /**
2290
- * Disconnected from DOM
2291
- */
2292
- disconnectedCallback() {
2293
- this._connected = false;
2294
- this.stopObserver();
2295
- }
2296
- /**
2297
- * Observed attributes
2298
- */
2299
- static get observedAttributes() {
2300
- return attributes.slice(0);
2301
- }
2302
- /**
2303
- * Observed properties that are different from attributes
2304
- *
2305
- * Experimental! Need to test with various frameworks that support it
2306
- */
2307
- /*
2308
- static get properties() {
2309
- return {
2310
- inline: {
2311
- type: Boolean,
2312
- reflect: true,
2313
- },
2314
- // Not listing other attributes because they are strings or combination
2315
- // of string and another type. Cannot have multiple types
2316
- };
2317
- }
2318
- */
2319
- /**
2320
- * Attribute has changed
2321
- */
2322
- attributeChangedCallback(name2) {
2323
- switch (name2) {
2324
- case "inline":
2325
- {
2326
- const newInline = this.hasAttribute("inline");
2327
- const state = this._state;
2328
- if (newInline !== state.inline) {
2329
- state.inline = newInline;
2330
- updateStyle(this._shadowRoot, newInline);
2331
- }
2332
- break;
2333
- }
2334
- case "noobserver":
2335
- {
2336
- const value = this.hasAttribute("noobserver");
2337
- if (value) {
2338
- this.startObserver();
2339
- } else {
2340
- this.stopObserver();
2341
- }
2342
- break;
2343
- }
2344
- default:
2345
- this._queueCheck();
2346
- }
2347
- }
2348
- /**
2349
- * Get/set icon
2350
- */
2351
- get icon() {
2352
- const value = this.getAttribute("icon");
2353
- if (value && value.slice(0, 1) === "{") {
2354
- try {
2355
- return JSON.parse(value);
2356
- } catch (err) {}
2357
- }
2358
- return value;
2359
- }
2360
- set icon(value) {
2361
- if (typeof value === "object") {
2362
- value = JSON.stringify(value);
2363
- }
2364
- this.setAttribute("icon", value);
2365
- }
2366
- /**
2367
- * Get/set inline
2368
- */
2369
- get inline() {
2370
- return this.hasAttribute("inline");
2371
- }
2372
- set inline(value) {
2373
- if (value) {
2374
- this.setAttribute("inline", "true");
2375
- } else {
2376
- this.removeAttribute("inline");
2377
- }
2378
- }
2379
- /**
2380
- * Get/set observer
2381
- */
2382
- get observer() {
2383
- return this.hasAttribute("observer");
2384
- }
2385
- set observer(value) {
2386
- if (value) {
2387
- this.setAttribute("observer", "true");
2388
- } else {
2389
- this.removeAttribute("observer");
2390
- }
2391
- }
2392
- /**
2393
- * Restart animation
2394
- */
2395
- restartAnimation() {
2396
- const state = this._state;
2397
- if (state.rendered) {
2398
- const root = this._shadowRoot;
2399
- if (state.renderedMode === "svg") {
2400
- try {
2401
- root.lastChild.setCurrentTime(0);
2402
- return;
2403
- } catch (err) {}
2404
- }
2405
- renderIcon(root, state);
2406
- }
2407
- }
2408
- /**
2409
- * Get status
2410
- */
2411
- get status() {
2412
- const state = this._state;
2413
- return state.rendered ? "rendered" : state.icon.data === null ? "failed" : "loading";
2414
- }
2415
- /**
2416
- * Queue attributes re-check
2417
- */
2418
- _queueCheck() {
2419
- if (!this._checkQueued) {
2420
- this._checkQueued = true;
2421
- setTimeout(() => {
2422
- this._check();
2423
- });
2424
- }
2425
- }
2426
- /**
2427
- * Check for changes
2428
- */
2429
- _check() {
2430
- if (!this._checkQueued) {
2431
- return;
2432
- }
2433
- this._checkQueued = false;
2434
- const state = this._state;
2435
- const newIcon = this.getAttribute("icon");
2436
- if (newIcon !== state.icon.value) {
2437
- this._iconChanged(newIcon);
2438
- return;
2439
- }
2440
- if (!state.rendered || !this._visible) {
2441
- return;
2442
- }
2443
- const mode = this.getAttribute("mode");
2444
- const customisations = getCustomisations(this);
2445
- if (state.attrMode !== mode || haveCustomisationsChanged(state.customisations, customisations) || !findIconElement(this._shadowRoot)) {
2446
- this._renderIcon(state.icon, customisations, mode);
2447
- }
2448
- }
2449
- /**
2450
- * Icon value has changed
2451
- */
2452
- _iconChanged(newValue) {
2453
- const icon = parseIconValue(newValue, (value, name2, data) => {
2454
- const state = this._state;
2455
- if (state.rendered || this.getAttribute("icon") !== value) {
2456
- return;
2457
- }
2458
- const icon2 = {
2459
- value,
2460
- name: name2,
2461
- data
2462
- };
2463
- if (icon2.data) {
2464
- this._gotIconData(icon2);
2465
- } else {
2466
- state.icon = icon2;
2467
- }
2468
- });
2469
- if (icon.data) {
2470
- this._gotIconData(icon);
2471
- } else {
2472
- this._state = setPendingState(icon, this._state.inline, this._state);
2473
- }
2474
- }
2475
- /**
2476
- * Force render icon on state change
2477
- */
2478
- _forceRender() {
2479
- if (!this._visible) {
2480
- const node2 = findIconElement(this._shadowRoot);
2481
- if (node2) {
2482
- this._shadowRoot.removeChild(node2);
2483
- }
2484
- return;
2485
- }
2486
- this._queueCheck();
2487
- }
2488
- /**
2489
- * Got new icon data, icon is ready to (re)render
2490
- */
2491
- _gotIconData(icon) {
2492
- this._checkQueued = false;
2493
- this._renderIcon(icon, getCustomisations(this), this.getAttribute("mode"));
2494
- }
2495
- /**
2496
- * Re-render based on icon data
2497
- */
2498
- _renderIcon(icon, customisations, attrMode) {
2499
- const renderedMode = getRenderMode(icon.data.body, attrMode);
2500
- const inline = this._state.inline;
2501
- renderIcon(this._shadowRoot, this._state = {
2502
- rendered: true,
2503
- icon,
2504
- inline,
2505
- customisations,
2506
- attrMode,
2507
- renderedMode
2508
- });
2509
- }
2510
- /**
2511
- * Start observer
2512
- */
2513
- startObserver() {
2514
- if (!this._observer && !this.hasAttribute("noobserver")) {
2515
- try {
2516
- this._observer = new IntersectionObserver(entries => {
2517
- const intersecting = entries.some(entry => entry.isIntersecting);
2518
- if (intersecting !== this._visible) {
2519
- this._visible = intersecting;
2520
- this._forceRender();
2521
- }
2522
- });
2523
- this._observer.observe(this);
2524
- } catch (err) {
2525
- if (this._observer) {
2526
- try {
2527
- this._observer.disconnect();
2528
- } catch (err2) {}
2529
- this._observer = null;
2530
- }
2531
- }
2532
- }
2533
- }
2534
- /**
2535
- * Stop observer
2536
- */
2537
- stopObserver() {
2538
- if (this._observer) {
2539
- this._observer.disconnect();
2540
- this._observer = null;
2541
- this._visible = true;
2542
- if (this._connected) {
2543
- this._forceRender();
2544
- }
2545
- }
2546
- }
2547
- };
2548
- attributes.forEach(attr => {
2549
- if (!(attr in IconifyIcon.prototype)) {
2550
- Object.defineProperty(IconifyIcon.prototype, attr, {
2551
- get: /* @__PURE__ */__name(function () {
2552
- return this.getAttribute(attr);
2553
- }, "get"),
2554
- set: /* @__PURE__ */__name(function (value) {
2555
- if (value !== null) {
2556
- this.setAttribute(attr, value);
2557
- } else {
2558
- this.removeAttribute(attr);
2559
- }
2560
- }, "set")
2561
- });
2562
- }
2563
- });
2564
- const functions = exportFunctions();
2565
- for (const key in functions) {
2566
- IconifyIcon[key] = IconifyIcon.prototype[key] = functions[key];
2567
- }
2568
- customElements.define(name, IconifyIcon);
2569
- return IconifyIcon;
2570
- }
2571
- __name(defineIconifyIcon, "defineIconifyIcon");
2572
- var IconifyIconComponent = defineIconifyIcon() || exportFunctions();
2573
- var {
2574
- enableCache,
2575
- disableCache,
2576
- iconLoaded,
2577
- iconExists,
2578
- // deprecated, kept to avoid breaking changes
2579
- getIcon,
2580
- listIcons,
2581
- addIcon,
2582
- addCollection,
2583
- calculateSize,
2584
- buildIcon,
2585
- iconToHTML,
2586
- svgToURL,
2587
- loadIcons,
2588
- loadIcon,
2589
- setCustomIconLoader,
2590
- setCustomIconsLoader,
2591
- addAPIProvider,
2592
- _api
2593
- } = IconifyIconComponent;
2594
-
2595
- // ../../node_modules/.pnpm/@iconify-icon+react@2.3.0_react@19.2.1/node_modules/@iconify-icon/react/dist/iconify.mjs
2596
- var Icon = import_react.default.forwardRef((props, ref) => {
2597
- const newProps = {
2598
- ...props,
2599
- ref
2600
- };
2601
- if (typeof props.icon === "object") {
2602
- newProps.icon = JSON.stringify(props.icon);
2603
- }
2604
- if (!props.inline) {
2605
- delete newProps.inline;
2606
- }
2607
- if (props.className) {
2608
- newProps["class"] = props.className;
2609
- }
2610
- return import_react.default.createElement("iconify-icon", newProps);
2611
- });
2612
-
2613
- // ../react-icons/src/Icon.tsx
2614
- var React3 = __toESM(require("react"), 1);
2615
- var Icon2 = /* @__PURE__ */React3.forwardRef((props, ref) => {
2616
- return /* @__PURE__ */React3.createElement(Icon, {
2617
- ref,
2618
- "data-testid": "iconify-icon",
2619
- ...props
2620
- });
2621
- });
2622
- Icon2.displayName = "Icon";
2623
-
2624
- // ../ui/src/components/Button.tsx
2625
- var React8 = __toESM(require("react"), 1);
2626
-
2627
- // ../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js
2628
- var React5 = __toESM(require("react"));
2629
- var import_react4 = require("react");
2630
-
2631
- // ../../node_modules/.pnpm/@emotion+sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js
2632
- var isDevelopment = false;
2633
- function sheetForTag(tag) {
2634
- if (tag.sheet) {
2635
- return tag.sheet;
2636
- }
2637
- for (var i = 0; i < document.styleSheets.length; i++) {
2638
- if (document.styleSheets[i].ownerNode === tag) {
2639
- return document.styleSheets[i];
2640
- }
2641
- }
2642
- return void 0;
2643
- }
2644
- __name(sheetForTag, "sheetForTag");
2645
- function createStyleElement(options) {
2646
- var tag = document.createElement("style");
2647
- tag.setAttribute("data-emotion", options.key);
2648
- if (options.nonce !== void 0) {
2649
- tag.setAttribute("nonce", options.nonce);
2650
- }
2651
- tag.appendChild(document.createTextNode(""));
2652
- tag.setAttribute("data-s", "");
2653
- return tag;
2654
- }
2655
- __name(createStyleElement, "createStyleElement");
2656
- var StyleSheet = /* @__PURE__ */function () {
2657
- function StyleSheet2(options) {
2658
- var _this = this;
2659
- this._insertTag = function (tag) {
2660
- var before;
2661
- if (_this.tags.length === 0) {
2662
- if (_this.insertionPoint) {
2663
- before = _this.insertionPoint.nextSibling;
2664
- } else if (_this.prepend) {
2665
- before = _this.container.firstChild;
2666
- } else {
2667
- before = _this.before;
2668
- }
2669
- } else {
2670
- before = _this.tags[_this.tags.length - 1].nextSibling;
2671
- }
2672
- _this.container.insertBefore(tag, before);
2673
- _this.tags.push(tag);
2674
- };
2675
- this.isSpeedy = options.speedy === void 0 ? !isDevelopment : options.speedy;
2676
- this.tags = [];
2677
- this.ctr = 0;
2678
- this.nonce = options.nonce;
2679
- this.key = options.key;
2680
- this.container = options.container;
2681
- this.prepend = options.prepend;
2682
- this.insertionPoint = options.insertionPoint;
2683
- this.before = null;
2684
- }
2685
- __name(StyleSheet2, "StyleSheet");
2686
- var _proto = StyleSheet2.prototype;
2687
- _proto.hydrate = /* @__PURE__ */__name(function hydrate(nodes) {
2688
- nodes.forEach(this._insertTag);
2689
- }, "hydrate");
2690
- _proto.insert = /* @__PURE__ */__name(function insert(rule) {
2691
- if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
2692
- this._insertTag(createStyleElement(this));
2693
- }
2694
- var tag = this.tags[this.tags.length - 1];
2695
- if (this.isSpeedy) {
2696
- var sheet = sheetForTag(tag);
2697
- try {
2698
- sheet.insertRule(rule, sheet.cssRules.length);
2699
- } catch (e) {}
2700
- } else {
2701
- tag.appendChild(document.createTextNode(rule));
2702
- }
2703
- this.ctr++;
2704
- }, "insert");
2705
- _proto.flush = /* @__PURE__ */__name(function flush() {
2706
- this.tags.forEach(function (tag) {
2707
- var _tag$parentNode;
2708
- return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
2709
- });
2710
- this.tags = [];
2711
- this.ctr = 0;
2712
- }, "flush");
2713
- return StyleSheet2;
2714
- }();
2715
-
2716
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js
2717
- var MS = "-ms-";
2718
- var MOZ = "-moz-";
2719
- var WEBKIT = "-webkit-";
2720
- var COMMENT = "comm";
2721
- var RULESET = "rule";
2722
- var DECLARATION = "decl";
2723
- var IMPORT = "@import";
2724
- var KEYFRAMES = "@keyframes";
2725
- var LAYER = "@layer";
2726
-
2727
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js
2728
- var abs = Math.abs;
2729
- var from = String.fromCharCode;
2730
- var assign = Object.assign;
2731
- function hash(value, length2) {
2732
- return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
2733
- }
2734
- __name(hash, "hash");
2735
- function trim(value) {
2736
- return value.trim();
2737
- }
2738
- __name(trim, "trim");
2739
- function match(value, pattern) {
2740
- return (value = pattern.exec(value)) ? value[0] : value;
2741
- }
2742
- __name(match, "match");
2743
- function replace(value, pattern, replacement) {
2744
- return value.replace(pattern, replacement);
2745
- }
2746
- __name(replace, "replace");
2747
- function indexof(value, search) {
2748
- return value.indexOf(search);
2749
- }
2750
- __name(indexof, "indexof");
2751
- function charat(value, index) {
2752
- return value.charCodeAt(index) | 0;
2753
- }
2754
- __name(charat, "charat");
2755
- function substr(value, begin, end) {
2756
- return value.slice(begin, end);
2757
- }
2758
- __name(substr, "substr");
2759
- function strlen(value) {
2760
- return value.length;
2761
- }
2762
- __name(strlen, "strlen");
2763
- function sizeof(value) {
2764
- return value.length;
2765
- }
2766
- __name(sizeof, "sizeof");
2767
- function append(value, array) {
2768
- return array.push(value), value;
2769
- }
2770
- __name(append, "append");
2771
- function combine(array, callback) {
2772
- return array.map(callback).join("");
2773
- }
2774
- __name(combine, "combine");
2775
-
2776
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js
2777
- var line = 1;
2778
- var column = 1;
2779
- var length = 0;
2780
- var position = 0;
2781
- var character = 0;
2782
- var characters = "";
2783
- function node(value, root, parent, type, props, children, length2) {
2784
- return {
2785
- value,
2786
- root,
2787
- parent,
2788
- type,
2789
- props,
2790
- children,
2791
- line,
2792
- column,
2793
- length: length2,
2794
- return: ""
2795
- };
2796
- }
2797
- __name(node, "node");
2798
- function copy(root, props) {
2799
- return assign(node("", null, null, "", null, null, 0), root, {
2800
- length: -root.length
2801
- }, props);
2802
- }
2803
- __name(copy, "copy");
2804
- function char() {
2805
- return character;
2806
- }
2807
- __name(char, "char");
2808
- function prev() {
2809
- character = position > 0 ? charat(characters, --position) : 0;
2810
- if (column--, character === 10) column = 1, line--;
2811
- return character;
2812
- }
2813
- __name(prev, "prev");
2814
- function next() {
2815
- character = position < length ? charat(characters, position++) : 0;
2816
- if (column++, character === 10) column = 1, line++;
2817
- return character;
2818
- }
2819
- __name(next, "next");
2820
- function peek() {
2821
- return charat(characters, position);
2822
- }
2823
- __name(peek, "peek");
2824
- function caret() {
2825
- return position;
2826
- }
2827
- __name(caret, "caret");
2828
- function slice(begin, end) {
2829
- return substr(characters, begin, end);
2830
- }
2831
- __name(slice, "slice");
2832
- function token(type) {
2833
- switch (type) {
2834
- // \0 \t \n \r \s whitespace token
2835
- case 0:
2836
- case 9:
2837
- case 10:
2838
- case 13:
2839
- case 32:
2840
- return 5;
2841
- // ! + , / > @ ~ isolate token
2842
- case 33:
2843
- case 43:
2844
- case 44:
2845
- case 47:
2846
- case 62:
2847
- case 64:
2848
- case 126:
2849
- // ; { } breakpoint token
2850
- case 59:
2851
- case 123:
2852
- case 125:
2853
- return 4;
2854
- // : accompanied token
2855
- case 58:
2856
- return 3;
2857
- // " ' ( [ opening delimit token
2858
- case 34:
2859
- case 39:
2860
- case 40:
2861
- case 91:
2862
- return 2;
2863
- // ) ] closing delimit token
2864
- case 41:
2865
- case 93:
2866
- return 1;
2867
- }
2868
- return 0;
2869
- }
2870
- __name(token, "token");
2871
- function alloc(value) {
2872
- return line = column = 1, length = strlen(characters = value), position = 0, [];
2873
- }
2874
- __name(alloc, "alloc");
2875
- function dealloc(value) {
2876
- return characters = "", value;
2877
- }
2878
- __name(dealloc, "dealloc");
2879
- function delimit(type) {
2880
- return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
2881
- }
2882
- __name(delimit, "delimit");
2883
- function whitespace(type) {
2884
- while (character = peek()) if (character < 33) next();else break;
2885
- return token(type) > 2 || token(character) > 3 ? "" : " ";
2886
- }
2887
- __name(whitespace, "whitespace");
2888
- function escaping(index, count) {
2889
- while (--count && next()) if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97) break;
2890
- return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
2891
- }
2892
- __name(escaping, "escaping");
2893
- function delimiter(type) {
2894
- while (next()) switch (character) {
2895
- // ] ) " '
2896
- case type:
2897
- return position;
2898
- // " '
2899
- case 34:
2900
- case 39:
2901
- if (type !== 34 && type !== 39) delimiter(character);
2902
- break;
2903
- // (
2904
- case 40:
2905
- if (type === 41) delimiter(type);
2906
- break;
2907
- // \
2908
- case 92:
2909
- next();
2910
- break;
2911
- }
2912
- return position;
2913
- }
2914
- __name(delimiter, "delimiter");
2915
- function commenter(type, index) {
2916
- while (next()) if (type + character === 47 + 10) break;else if (type + character === 42 + 42 && peek() === 47) break;
2917
- return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
2918
- }
2919
- __name(commenter, "commenter");
2920
- function identifier(index) {
2921
- while (!token(peek())) next();
2922
- return slice(index, position);
2923
- }
2924
- __name(identifier, "identifier");
2925
-
2926
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js
2927
- function compile(value) {
2928
- return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
2929
- }
2930
- __name(compile, "compile");
2931
- function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
2932
- var index = 0;
2933
- var offset = 0;
2934
- var length2 = pseudo;
2935
- var atrule = 0;
2936
- var property = 0;
2937
- var previous = 0;
2938
- var variable = 1;
2939
- var scanning = 1;
2940
- var ampersand = 1;
2941
- var character2 = 0;
2942
- var type = "";
2943
- var props = rules;
2944
- var children = rulesets;
2945
- var reference = rule;
2946
- var characters2 = type;
2947
- while (scanning) switch (previous = character2, character2 = next()) {
2948
- // (
2949
- case 40:
2950
- if (previous != 108 && charat(characters2, length2 - 1) == 58) {
2951
- if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1) ampersand = -1;
2952
- break;
2953
- }
2954
- // " ' [
2955
- case 34:
2956
- case 39:
2957
- case 91:
2958
- characters2 += delimit(character2);
2959
- break;
2960
- // \t \n \r \s
2961
- case 9:
2962
- case 10:
2963
- case 13:
2964
- case 32:
2965
- characters2 += whitespace(previous);
2966
- break;
2967
- // \
2968
- case 92:
2969
- characters2 += escaping(caret() - 1, 7);
2970
- continue;
2971
- // /
2972
- case 47:
2973
- switch (peek()) {
2974
- case 42:
2975
- case 47:
2976
- append(comment(commenter(next(), caret()), root, parent), declarations);
2977
- break;
2978
- default:
2979
- characters2 += "/";
2980
- }
2981
- break;
2982
- // {
2983
- case 123 * variable:
2984
- points[index++] = strlen(characters2) * ampersand;
2985
- // } ; \0
2986
- case 125 * variable:
2987
- case 59:
2988
- case 0:
2989
- switch (character2) {
2990
- // \0 }
2991
- case 0:
2992
- case 125:
2993
- scanning = 0;
2994
- // ;
2995
- case 59 + offset:
2996
- if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
2997
- if (property > 0 && strlen(characters2) - length2) append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
2998
- break;
2999
- // @ ;
3000
- case 59:
3001
- characters2 += ";";
3002
- // { rule/at-rule
3003
- default:
3004
- append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2), rulesets);
3005
- if (character2 === 123) if (offset === 0) parse(characters2, root, reference, reference, props, rulesets, length2, points, children);else switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
3006
- // d l m s
3007
- case 100:
3008
- case 108:
3009
- case 109:
3010
- case 115:
3011
- parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
3012
- break;
3013
- default:
3014
- parse(characters2, reference, reference, reference, [""], children, 0, points, children);
3015
- }
3016
- }
3017
- index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
3018
- break;
3019
- // :
3020
- case 58:
3021
- length2 = 1 + strlen(characters2), property = previous;
3022
- default:
3023
- if (variable < 1) {
3024
- if (character2 == 123) --variable;else if (character2 == 125 && variable++ == 0 && prev() == 125) continue;
3025
- }
3026
- switch (characters2 += from(character2), character2 * variable) {
3027
- // &
3028
- case 38:
3029
- ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
3030
- break;
3031
- // ,
3032
- case 44:
3033
- points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
3034
- break;
3035
- // @
3036
- case 64:
3037
- if (peek() === 45) characters2 += delimit(next());
3038
- atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
3039
- break;
3040
- // -
3041
- case 45:
3042
- if (previous === 45 && strlen(characters2) == 2) variable = 0;
3043
- }
3044
- }
3045
- return rulesets;
3046
- }
3047
- __name(parse, "parse");
3048
- function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2) {
3049
- var post = offset - 1;
3050
- var rule = offset === 0 ? rules : [""];
3051
- var size = sizeof(rule);
3052
- for (var i = 0, j = 0, k = 0; i < index; ++i) for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x]))) props[k++] = z;
3053
- return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2);
3054
- }
3055
- __name(ruleset, "ruleset");
3056
- function comment(value, root, parent) {
3057
- return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
3058
- }
3059
- __name(comment, "comment");
3060
- function declaration(value, root, parent, length2) {
3061
- return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
3062
- }
3063
- __name(declaration, "declaration");
3064
-
3065
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js
3066
- function serialize(children, callback) {
3067
- var output = "";
3068
- var length2 = sizeof(children);
3069
- for (var i = 0; i < length2; i++) output += callback(children[i], i, children, callback) || "";
3070
- return output;
3071
- }
3072
- __name(serialize, "serialize");
3073
- function stringify(element, index, children, callback) {
3074
- switch (element.type) {
3075
- case LAYER:
3076
- if (element.children.length) break;
3077
- case IMPORT:
3078
- case DECLARATION:
3079
- return element.return = element.return || element.value;
3080
- case COMMENT:
3081
- return "";
3082
- case KEYFRAMES:
3083
- return element.return = element.value + "{" + serialize(element.children, callback) + "}";
3084
- case RULESET:
3085
- element.value = element.props.join(",");
3086
- }
3087
- return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
3088
- }
3089
- __name(stringify, "stringify");
3090
-
3091
- // ../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js
3092
- function middleware(collection) {
3093
- var length2 = sizeof(collection);
3094
- return function (element, index, children, callback) {
3095
- var output = "";
3096
- for (var i = 0; i < length2; i++) output += collection[i](element, index, children, callback) || "";
3097
- return output;
3098
- };
3099
- }
3100
- __name(middleware, "middleware");
3101
- function rulesheet(callback) {
3102
- return function (element) {
3103
- if (!element.root) {
3104
- if (element = element.return) callback(element);
3105
- }
3106
- };
3107
- }
3108
- __name(rulesheet, "rulesheet");
3109
-
3110
- // ../../node_modules/.pnpm/@emotion+weak-memoize@0.4.0/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js
3111
- var weakMemoize = /* @__PURE__ */__name(function weakMemoize2(func) {
3112
- var cache = /* @__PURE__ */new WeakMap();
3113
- return function (arg) {
3114
- if (cache.has(arg)) {
3115
- return cache.get(arg);
3116
- }
3117
- var ret = func(arg);
3118
- cache.set(arg, ret);
3119
- return ret;
3120
- };
3121
- }, "weakMemoize");
3122
-
3123
- // ../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
3124
- function memoize(fn) {
3125
- var cache = /* @__PURE__ */Object.create(null);
3126
- return function (arg) {
3127
- if (cache[arg] === void 0) cache[arg] = fn(arg);
3128
- return cache[arg];
3129
- };
3130
- }
3131
- __name(memoize, "memoize");
3132
-
3133
- // ../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.esm.js
3134
- var isBrowser = typeof document !== "undefined";
3135
- var identifierWithPointTracking = /* @__PURE__ */__name(function identifierWithPointTracking2(begin, points, index) {
3136
- var previous = 0;
3137
- var character2 = 0;
3138
- while (true) {
3139
- previous = character2;
3140
- character2 = peek();
3141
- if (previous === 38 && character2 === 12) {
3142
- points[index] = 1;
3143
- }
3144
- if (token(character2)) {
3145
- break;
3146
- }
3147
- next();
3148
- }
3149
- return slice(begin, position);
3150
- }, "identifierWithPointTracking");
3151
- var toRules = /* @__PURE__ */__name(function toRules2(parsed, points) {
3152
- var index = -1;
3153
- var character2 = 44;
3154
- do {
3155
- switch (token(character2)) {
3156
- case 0:
3157
- if (character2 === 38 && peek() === 12) {
3158
- points[index] = 1;
3159
- }
3160
- parsed[index] += identifierWithPointTracking(position - 1, points, index);
3161
- break;
3162
- case 2:
3163
- parsed[index] += delimit(character2);
3164
- break;
3165
- case 4:
3166
- if (character2 === 44) {
3167
- parsed[++index] = peek() === 58 ? "&\f" : "";
3168
- points[index] = parsed[index].length;
3169
- break;
3170
- }
3171
- // fallthrough
3172
- default:
3173
- parsed[index] += from(character2);
3174
- }
3175
- } while (character2 = next());
3176
- return parsed;
3177
- }, "toRules");
3178
- var getRules = /* @__PURE__ */__name(function getRules2(value, points) {
3179
- return dealloc(toRules(alloc(value), points));
3180
- }, "getRules");
3181
- var fixedElements = /* @__PURE__ */new WeakMap();
3182
- var compat = /* @__PURE__ */__name(function compat2(element) {
3183
- if (element.type !== "rule" || !element.parent ||
3184
- // positive .length indicates that this rule contains pseudo
3185
- // negative .length indicates that this rule has been already prefixed
3186
- element.length < 1) {
3187
- return;
3188
- }
3189
- var value = element.value;
3190
- var parent = element.parent;
3191
- var isImplicitRule = element.column === parent.column && element.line === parent.line;
3192
- while (parent.type !== "rule") {
3193
- parent = parent.parent;
3194
- if (!parent) return;
3195
- }
3196
- if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
3197
- return;
3198
- }
3199
- if (isImplicitRule) {
3200
- return;
3201
- }
3202
- fixedElements.set(element, true);
3203
- var points = [];
3204
- var rules = getRules(value, points);
3205
- var parentRules = parent.props;
3206
- for (var i = 0, k = 0; i < rules.length; i++) {
3207
- for (var j = 0; j < parentRules.length; j++, k++) {
3208
- element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
3209
- }
3210
- }
3211
- }, "compat");
3212
- var removeLabel = /* @__PURE__ */__name(function removeLabel2(element) {
3213
- if (element.type === "decl") {
3214
- var value = element.value;
3215
- if (value.charCodeAt(0) === 108 &&
3216
- // charcode for b
3217
- value.charCodeAt(2) === 98) {
3218
- element["return"] = "";
3219
- element.value = "";
3220
- }
3221
- }
3222
- }, "removeLabel");
3223
- function prefix(value, length2) {
3224
- switch (hash(value, length2)) {
3225
- // color-adjust
3226
- case 5103:
3227
- return WEBKIT + "print-" + value + value;
3228
- // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
3229
- case 5737:
3230
- case 4201:
3231
- case 3177:
3232
- case 3433:
3233
- case 1641:
3234
- case 4457:
3235
- case 2921:
3236
- case 5572:
3237
- case 6356:
3238
- case 5844:
3239
- case 3191:
3240
- case 6645:
3241
- case 3005:
3242
- case 6391:
3243
- case 5879:
3244
- case 5623:
3245
- case 6135:
3246
- case 4599:
3247
- case 4855:
3248
- case 4215:
3249
- case 6389:
3250
- case 5109:
3251
- case 5365:
3252
- case 5621:
3253
- case 3829:
3254
- return WEBKIT + value + value;
3255
- // appearance, user-select, transform, hyphens, text-size-adjust
3256
- case 5349:
3257
- case 4246:
3258
- case 4810:
3259
- case 6968:
3260
- case 2756:
3261
- return WEBKIT + value + MOZ + value + MS + value + value;
3262
- // flex, flex-direction
3263
- case 6828:
3264
- case 4268:
3265
- return WEBKIT + value + MS + value + value;
3266
- // order
3267
- case 6165:
3268
- return WEBKIT + value + MS + "flex-" + value + value;
3269
- // align-items
3270
- case 5187:
3271
- return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
3272
- // align-self
3273
- case 5443:
3274
- return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
3275
- // align-content
3276
- case 4675:
3277
- return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
3278
- // flex-shrink
3279
- case 5548:
3280
- return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
3281
- // flex-basis
3282
- case 5292:
3283
- return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
3284
- // flex-grow
3285
- case 6060:
3286
- return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
3287
- // transition
3288
- case 4554:
3289
- return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
3290
- // cursor
3291
- case 6187:
3292
- return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
3293
- // background, background-image
3294
- case 5495:
3295
- case 3959:
3296
- return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
3297
- // justify-content
3298
- case 4968:
3299
- return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
3300
- // (margin|padding)-inline-(start|end)
3301
- case 4095:
3302
- case 3583:
3303
- case 4068:
3304
- case 2532:
3305
- return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
3306
- // (min|max)?(width|height|inline-size|block-size)
3307
- case 8116:
3308
- case 7059:
3309
- case 5753:
3310
- case 5535:
3311
- case 5445:
3312
- case 5701:
3313
- case 4933:
3314
- case 4677:
3315
- case 5533:
3316
- case 5789:
3317
- case 5021:
3318
- case 4765:
3319
- if (strlen(value) - 1 - length2 > 6) switch (charat(value, length2 + 1)) {
3320
- // (m)ax-content, (m)in-content
3321
- case 109:
3322
- if (charat(value, length2 + 4) !== 45) break;
3323
- // (f)ill-available, (f)it-content
3324
- case 102:
3325
- return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
3326
- // (s)tretch
3327
- case 115:
3328
- return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value;
3329
- }
3330
- break;
3331
- // position: sticky
3332
- case 4949:
3333
- if (charat(value, length2 + 1) !== 115) break;
3334
- // display: (flex|inline-flex)
3335
- case 6444:
3336
- switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
3337
- // stic(k)y
3338
- case 107:
3339
- return replace(value, ":", ":" + WEBKIT) + value;
3340
- // (inline-)?fl(e)x
3341
- case 101:
3342
- return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
3343
- }
3344
- break;
3345
- // writing-mode
3346
- case 5936:
3347
- switch (charat(value, length2 + 11)) {
3348
- // vertical-l(r)
3349
- case 114:
3350
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
3351
- // vertical-r(l)
3352
- case 108:
3353
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
3354
- // horizontal(-)tb
3355
- case 45:
3356
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
3357
- }
3358
- return WEBKIT + value + MS + value + value;
3359
- }
3360
- return value;
3361
- }
3362
- __name(prefix, "prefix");
3363
- var prefixer = /* @__PURE__ */__name(function prefixer2(element, index, children, callback) {
3364
- if (element.length > -1) {
3365
- if (!element["return"]) switch (element.type) {
3366
- case DECLARATION:
3367
- element["return"] = prefix(element.value, element.length);
3368
- break;
3369
- case KEYFRAMES:
3370
- return serialize([copy(element, {
3371
- value: replace(element.value, "@", "@" + WEBKIT)
3372
- })], callback);
3373
- case RULESET:
3374
- if (element.length) return combine(element.props, function (value) {
3375
- switch (match(value, /(::plac\w+|:read-\w+)/)) {
3376
- // :read-(only|write)
3377
- case ":read-only":
3378
- case ":read-write":
3379
- return serialize([copy(element, {
3380
- props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
3381
- })], callback);
3382
- // :placeholder
3383
- case "::placeholder":
3384
- return serialize([copy(element, {
3385
- props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
3386
- }), copy(element, {
3387
- props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
3388
- }), copy(element, {
3389
- props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
3390
- })], callback);
3391
- }
3392
- return "";
3393
- });
3394
- }
3395
- }
3396
- }, "prefixer");
3397
- var getServerStylisCache = isBrowser ? void 0 : weakMemoize(function () {
3398
- return memoize(function () {
3399
- return {};
3400
- });
3401
- });
3402
- var defaultStylisPlugins = [prefixer];
3403
- var createCache = /* @__PURE__ */__name(function createCache2(options) {
3404
- var key = options.key;
3405
- if (isBrowser && key === "css") {
3406
- var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
3407
- Array.prototype.forEach.call(ssrStyles, function (node2) {
3408
- var dataEmotionAttribute = node2.getAttribute("data-emotion");
3409
- if (dataEmotionAttribute.indexOf(" ") === -1) {
3410
- return;
3411
- }
3412
- document.head.appendChild(node2);
3413
- node2.setAttribute("data-s", "");
3414
- });
3415
- }
3416
- var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
3417
- var inserted = {};
3418
- var container;
3419
- var nodesToHydrate = [];
3420
- if (isBrowser) {
3421
- container = options.container || document.head;
3422
- Array.prototype.forEach.call(
3423
- // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
3424
- document.querySelectorAll('style[data-emotion^="' + key + ' "]'), function (node2) {
3425
- var attrib = node2.getAttribute("data-emotion").split(" ");
3426
- for (var i = 1; i < attrib.length; i++) {
3427
- inserted[attrib[i]] = true;
3428
- }
3429
- nodesToHydrate.push(node2);
3430
- });
3431
- }
3432
- var _insert;
3433
- var omnipresentPlugins = [compat, removeLabel];
3434
- if (!getServerStylisCache) {
3435
- var currentSheet;
3436
- var finalizingPlugins = [stringify, rulesheet(function (rule) {
3437
- currentSheet.insert(rule);
3438
- })];
3439
- var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
3440
- var stylis = /* @__PURE__ */__name(function stylis2(styles) {
3441
- return serialize(compile(styles), serializer);
3442
- }, "stylis");
3443
- _insert = /* @__PURE__ */__name(function insert(selector, serialized, sheet, shouldCache) {
3444
- currentSheet = sheet;
3445
- stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
3446
- if (shouldCache) {
3447
- cache.inserted[serialized.name] = true;
3448
- }
3449
- }, "insert");
3450
- } else {
3451
- var _finalizingPlugins = [stringify];
3452
- var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));
3453
- var _stylis = /* @__PURE__ */__name(function _stylis2(styles) {
3454
- return serialize(compile(styles), _serializer);
3455
- }, "_stylis");
3456
- var serverStylisCache = getServerStylisCache(stylisPlugins)(key);
3457
- var getRules3 = /* @__PURE__ */__name(function getRules4(selector, serialized) {
3458
- var name = serialized.name;
3459
- if (serverStylisCache[name] === void 0) {
3460
- serverStylisCache[name] = _stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
3461
- }
3462
- return serverStylisCache[name];
3463
- }, "getRules");
3464
- _insert = /* @__PURE__ */__name(function _insert2(selector, serialized, sheet, shouldCache) {
3465
- var name = serialized.name;
3466
- var rules = getRules3(selector, serialized);
3467
- if (cache.compat === void 0) {
3468
- if (shouldCache) {
3469
- cache.inserted[name] = true;
3470
- }
3471
- return rules;
3472
- } else {
3473
- if (shouldCache) {
3474
- cache.inserted[name] = rules;
3475
- } else {
3476
- return rules;
3477
- }
3478
- }
3479
- }, "_insert");
3480
- }
3481
- var cache = {
3482
- key,
3483
- sheet: new StyleSheet({
3484
- key,
3485
- container,
3486
- nonce: options.nonce,
3487
- speedy: options.speedy,
3488
- prepend: options.prepend,
3489
- insertionPoint: options.insertionPoint
3490
- }),
3491
- nonce: options.nonce,
3492
- inserted,
3493
- registered: {},
3494
- insert: _insert
3495
- };
3496
- cache.sheet.hydrate(nodesToHydrate);
3497
- return cache;
3498
- }, "createCache");
3499
-
3500
- // ../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.esm.js
3501
- var isBrowser2 = typeof document !== "undefined";
3502
- function getRegisteredStyles(registered, registeredStyles, classNames) {
3503
- var rawClassName = "";
3504
- classNames.split(" ").forEach(function (className) {
3505
- if (registered[className] !== void 0) {
3506
- registeredStyles.push(registered[className] + ";");
3507
- } else if (className) {
3508
- rawClassName += className + " ";
3509
- }
3510
- });
3511
- return rawClassName;
3512
- }
3513
- __name(getRegisteredStyles, "getRegisteredStyles");
3514
- var registerStyles = /* @__PURE__ */__name(function registerStyles2(cache, serialized, isStringTag) {
3515
- var className = cache.key + "-" + serialized.name;
3516
- if (
3517
- // class name could be used further down
3518
- // the tree but if it's a string tag, we know it won't
3519
- // so we don't have to add it to registered cache.
3520
- // this improves memory usage since we can avoid storing the whole style string
3521
- (isStringTag === false ||
3522
- // we need to always store it if we're in compat mode and
3523
- // in node since emotion-server relies on whether a style is in
3524
- // the registered cache to know whether a style is global or not
3525
- // also, note that this check will be dead code eliminated in the browser
3526
- isBrowser2 === false && cache.compat !== void 0) && cache.registered[className] === void 0) {
3527
- cache.registered[className] = serialized.styles;
3528
- }
3529
- }, "registerStyles");
3530
- var insertStyles = /* @__PURE__ */__name(function insertStyles2(cache, serialized, isStringTag) {
3531
- registerStyles(cache, serialized, isStringTag);
3532
- var className = cache.key + "-" + serialized.name;
3533
- if (cache.inserted[serialized.name] === void 0) {
3534
- var stylesForSSR = "";
3535
- var current = serialized;
3536
- do {
3537
- var maybeStyles = cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true);
3538
- if (!isBrowser2 && maybeStyles !== void 0) {
3539
- stylesForSSR += maybeStyles;
3540
- }
3541
- current = current.next;
3542
- } while (current !== void 0);
3543
- if (!isBrowser2 && stylesForSSR.length !== 0) {
3544
- return stylesForSSR;
3545
- }
3546
- }
3547
- }, "insertStyles");
3548
-
3549
- // ../../node_modules/.pnpm/@emotion+hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js
3550
- function murmur2(str) {
3551
- var h = 0;
3552
- var k,
3553
- i = 0,
3554
- len = str.length;
3555
- for (; len >= 4; ++i, len -= 4) {
3556
- k = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24;
3557
- k = /* Math.imul(k, m): */
3558
- (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16);
3559
- k ^= /* k >>> r: */
3560
- k >>> 24;
3561
- h = /* Math.imul(k, m): */
3562
- (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
3563
- (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
3564
- }
3565
- switch (len) {
3566
- case 3:
3567
- h ^= (str.charCodeAt(i + 2) & 255) << 16;
3568
- case 2:
3569
- h ^= (str.charCodeAt(i + 1) & 255) << 8;
3570
- case 1:
3571
- h ^= str.charCodeAt(i) & 255;
3572
- h = /* Math.imul(h, m): */
3573
- (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
3574
- }
3575
- h ^= h >>> 13;
3576
- h = /* Math.imul(h, m): */
3577
- (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
3578
- return ((h ^ h >>> 15) >>> 0).toString(36);
3579
- }
3580
- __name(murmur2, "murmur2");
3581
-
3582
- // ../../node_modules/.pnpm/@emotion+unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
3583
- var unitlessKeys = {
3584
- animationIterationCount: 1,
3585
- aspectRatio: 1,
3586
- borderImageOutset: 1,
3587
- borderImageSlice: 1,
3588
- borderImageWidth: 1,
3589
- boxFlex: 1,
3590
- boxFlexGroup: 1,
3591
- boxOrdinalGroup: 1,
3592
- columnCount: 1,
3593
- columns: 1,
3594
- flex: 1,
3595
- flexGrow: 1,
3596
- flexPositive: 1,
3597
- flexShrink: 1,
3598
- flexNegative: 1,
3599
- flexOrder: 1,
3600
- gridRow: 1,
3601
- gridRowEnd: 1,
3602
- gridRowSpan: 1,
3603
- gridRowStart: 1,
3604
- gridColumn: 1,
3605
- gridColumnEnd: 1,
3606
- gridColumnSpan: 1,
3607
- gridColumnStart: 1,
3608
- msGridRow: 1,
3609
- msGridRowSpan: 1,
3610
- msGridColumn: 1,
3611
- msGridColumnSpan: 1,
3612
- fontWeight: 1,
3613
- lineHeight: 1,
3614
- opacity: 1,
3615
- order: 1,
3616
- orphans: 1,
3617
- scale: 1,
3618
- tabSize: 1,
3619
- widows: 1,
3620
- zIndex: 1,
3621
- zoom: 1,
3622
- WebkitLineClamp: 1,
3623
- // SVG-related properties
3624
- fillOpacity: 1,
3625
- floodOpacity: 1,
3626
- stopOpacity: 1,
3627
- strokeDasharray: 1,
3628
- strokeDashoffset: 1,
3629
- strokeMiterlimit: 1,
3630
- strokeOpacity: 1,
3631
- strokeWidth: 1
3632
- };
3633
-
3634
- // ../../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js
3635
- var isDevelopment2 = false;
3636
- var hyphenateRegex = /[A-Z]|^ms/g;
3637
- var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
3638
- var isCustomProperty = /* @__PURE__ */__name(function isCustomProperty2(property) {
3639
- return property.charCodeAt(1) === 45;
3640
- }, "isCustomProperty");
3641
- var isProcessableValue = /* @__PURE__ */__name(function isProcessableValue2(value) {
3642
- return value != null && typeof value !== "boolean";
3643
- }, "isProcessableValue");
3644
- var processStyleName = /* @__PURE__ */memoize(function (styleName) {
3645
- return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
3646
- });
3647
- var processStyleValue = /* @__PURE__ */__name(function processStyleValue2(key, value) {
3648
- switch (key) {
3649
- case "animation":
3650
- case "animationName":
3651
- {
3652
- if (typeof value === "string") {
3653
- return value.replace(animationRegex, function (match2, p1, p2) {
3654
- cursor = {
3655
- name: p1,
3656
- styles: p2,
3657
- next: cursor
3658
- };
3659
- return p1;
3660
- });
3661
- }
3662
- }
3663
- }
3664
- if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
3665
- return value + "px";
3666
- }
3667
- return value;
3668
- }, "processStyleValue");
3669
- var noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
3670
- function handleInterpolation(mergedProps, registered, interpolation) {
3671
- if (interpolation == null) {
3672
- return "";
3673
- }
3674
- var componentSelector = interpolation;
3675
- if (componentSelector.__emotion_styles !== void 0) {
3676
- return componentSelector;
3677
- }
3678
- switch (typeof interpolation) {
3679
- case "boolean":
3680
- {
3681
- return "";
3682
- }
3683
- case "object":
3684
- {
3685
- var keyframes = interpolation;
3686
- if (keyframes.anim === 1) {
3687
- cursor = {
3688
- name: keyframes.name,
3689
- styles: keyframes.styles,
3690
- next: cursor
3691
- };
3692
- return keyframes.name;
3693
- }
3694
- var serializedStyles = interpolation;
3695
- if (serializedStyles.styles !== void 0) {
3696
- var next2 = serializedStyles.next;
3697
- if (next2 !== void 0) {
3698
- while (next2 !== void 0) {
3699
- cursor = {
3700
- name: next2.name,
3701
- styles: next2.styles,
3702
- next: cursor
3703
- };
3704
- next2 = next2.next;
3705
- }
3706
- }
3707
- var styles = serializedStyles.styles + ";";
3708
- return styles;
3709
- }
3710
- return createStringFromObject(mergedProps, registered, interpolation);
3711
- }
3712
- case "function":
3713
- {
3714
- if (mergedProps !== void 0) {
3715
- var previousCursor = cursor;
3716
- var result = interpolation(mergedProps);
3717
- cursor = previousCursor;
3718
- return handleInterpolation(mergedProps, registered, result);
3719
- }
3720
- break;
3721
- }
3722
- }
3723
- var asString = interpolation;
3724
- if (registered == null) {
3725
- return asString;
3726
- }
3727
- var cached = registered[asString];
3728
- return cached !== void 0 ? cached : asString;
3729
- }
3730
- __name(handleInterpolation, "handleInterpolation");
3731
- function createStringFromObject(mergedProps, registered, obj) {
3732
- var string = "";
3733
- if (Array.isArray(obj)) {
3734
- for (var i = 0; i < obj.length; i++) {
3735
- string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
3736
- }
3737
- } else {
3738
- for (var key in obj) {
3739
- var value = obj[key];
3740
- if (typeof value !== "object") {
3741
- var asString = value;
3742
- if (registered != null && registered[asString] !== void 0) {
3743
- string += key + "{" + registered[asString] + "}";
3744
- } else if (isProcessableValue(asString)) {
3745
- string += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
3746
- }
3747
- } else {
3748
- if (key === "NO_COMPONENT_SELECTOR" && isDevelopment2) {
3749
- throw new Error(noComponentSelectorMessage);
3750
- }
3751
- if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
3752
- for (var _i = 0; _i < value.length; _i++) {
3753
- if (isProcessableValue(value[_i])) {
3754
- string += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
3755
- }
3756
- }
3757
- } else {
3758
- var interpolated = handleInterpolation(mergedProps, registered, value);
3759
- switch (key) {
3760
- case "animation":
3761
- case "animationName":
3762
- {
3763
- string += processStyleName(key) + ":" + interpolated + ";";
3764
- break;
3765
- }
3766
- default:
3767
- {
3768
- string += key + "{" + interpolated + "}";
3769
- }
3770
- }
3771
- }
3772
- }
3773
- }
3774
- }
3775
- return string;
3776
- }
3777
- __name(createStringFromObject, "createStringFromObject");
3778
- var labelPattern = /label:\s*([^\s;{]+)\s*(;|$)/g;
3779
- var cursor;
3780
- function serializeStyles(args, registered, mergedProps) {
3781
- if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
3782
- return args[0];
3783
- }
3784
- var stringMode = true;
3785
- var styles = "";
3786
- cursor = void 0;
3787
- var strings = args[0];
3788
- if (strings == null || strings.raw === void 0) {
3789
- stringMode = false;
3790
- styles += handleInterpolation(mergedProps, registered, strings);
3791
- } else {
3792
- var asTemplateStringsArr = strings;
3793
- styles += asTemplateStringsArr[0];
3794
- }
3795
- for (var i = 1; i < args.length; i++) {
3796
- styles += handleInterpolation(mergedProps, registered, args[i]);
3797
- if (stringMode) {
3798
- var templateStringsArr = strings;
3799
- styles += templateStringsArr[i];
3800
- }
3801
- }
3802
- labelPattern.lastIndex = 0;
3803
- var identifierName = "";
3804
- var match2;
3805
- while ((match2 = labelPattern.exec(styles)) !== null) {
3806
- identifierName += "-" + match2[1];
3807
- }
3808
- var name = murmur2(styles) + identifierName;
3809
- return {
3810
- name,
3811
- styles,
3812
- next: cursor
3813
- };
3814
- }
3815
- __name(serializeStyles, "serializeStyles");
3816
-
3817
- // ../../node_modules/.pnpm/@emotion+use-insertion-effect-with-fallbacks@1.2.0_react@19.2.1/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.esm.js
3818
- var React4 = __toESM(require("react"));
3819
- var isBrowser3 = typeof document !== "undefined";
3820
- var syncFallback = /* @__PURE__ */__name(function syncFallback2(create) {
3821
- return create();
3822
- }, "syncFallback");
3823
- var useInsertionEffect2 = React4["useInsertionEffect"] ? React4["useInsertionEffect"] : false;
3824
- var useInsertionEffectAlwaysWithSyncFallback = !isBrowser3 ? syncFallback : useInsertionEffect2 || syncFallback;
3825
-
3826
- // ../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js
3827
- var isDevelopment3 = false;
3828
- var isBrowser4 = typeof document !== "undefined";
3829
- var EmotionCacheContext = /* @__PURE__ */React5.createContext(
3830
- // because this module is primarily intended for the browser and node
3831
- // but it's also required in react native and similar environments sometimes
3832
- // and we could have a special build just for that
3833
- // but this is much easier and the native packages
3834
- // might use a different theme context in the future anyway
3835
- typeof HTMLElement !== "undefined" ? /* @__PURE__ */createCache({
3836
- key: "css"
3837
- }) : null);
3838
- var CacheProvider = EmotionCacheContext.Provider;
3839
- var withEmotionCache = /* @__PURE__ */__name(function withEmotionCache2(func) {
3840
- return /* @__PURE__ */(0, import_react4.forwardRef)(function (props, ref) {
3841
- var cache = (0, import_react4.useContext)(EmotionCacheContext);
3842
- return func(props, cache, ref);
3843
- });
3844
- }, "withEmotionCache");
3845
- if (!isBrowser4) {
3846
- withEmotionCache = /* @__PURE__ */__name(function withEmotionCache3(func) {
3847
- return function (props) {
3848
- var cache = (0, import_react4.useContext)(EmotionCacheContext);
3849
- if (cache === null) {
3850
- cache = createCache({
3851
- key: "css"
3852
- });
3853
- return /* @__PURE__ */React5.createElement(EmotionCacheContext.Provider, {
3854
- value: cache
3855
- }, func(props, cache));
3856
- } else {
3857
- return func(props, cache);
3858
- }
3859
- };
3860
- }, "withEmotionCache");
3861
- }
3862
- var ThemeContext = /* @__PURE__ */React5.createContext({});
3863
- var useTheme = /* @__PURE__ */__name(function useTheme2() {
3864
- return React5.useContext(ThemeContext);
3865
- }, "useTheme");
3866
- var hasOwn = {}.hasOwnProperty;
3867
- var typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__";
3868
- var createEmotionProps = /* @__PURE__ */__name(function createEmotionProps2(type, props) {
3869
- var newProps = {};
3870
- for (var _key in props) {
3871
- if (hasOwn.call(props, _key)) {
3872
- newProps[_key] = props[_key];
3873
- }
3874
- }
3875
- newProps[typePropName] = type;
3876
- return newProps;
3877
- }, "createEmotionProps");
3878
- var Insertion = /* @__PURE__ */__name(function Insertion2(_ref) {
3879
- var cache = _ref.cache,
3880
- serialized = _ref.serialized,
3881
- isStringTag = _ref.isStringTag;
3882
- registerStyles(cache, serialized, isStringTag);
3883
- var rules = useInsertionEffectAlwaysWithSyncFallback(function () {
3884
- return insertStyles(cache, serialized, isStringTag);
3885
- });
3886
- if (!isBrowser4 && rules !== void 0) {
3887
- var _ref2;
3888
- var serializedNames = serialized.name;
3889
- var next2 = serialized.next;
3890
- while (next2 !== void 0) {
3891
- serializedNames += " " + next2.name;
3892
- next2 = next2.next;
3893
- }
3894
- return /* @__PURE__ */React5.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = {
3895
- __html: rules
3896
- }, _ref2.nonce = cache.sheet.nonce, _ref2));
3897
- }
3898
- return null;
3899
- }, "Insertion");
3900
- var Emotion = /* @__PURE__ */withEmotionCache(function (props, cache, ref) {
3901
- var cssProp = props.css;
3902
- if (typeof cssProp === "string" && cache.registered[cssProp] !== void 0) {
3903
- cssProp = cache.registered[cssProp];
3904
- }
3905
- var WrappedComponent = props[typePropName];
3906
- var registeredStyles = [cssProp];
3907
- var className = "";
3908
- if (typeof props.className === "string") {
3909
- className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
3910
- } else if (props.className != null) {
3911
- className = props.className + " ";
3912
- }
3913
- var serialized = serializeStyles(registeredStyles, void 0, React5.useContext(ThemeContext));
3914
- className += cache.key + "-" + serialized.name;
3915
- var newProps = {};
3916
- for (var _key2 in props) {
3917
- if (hasOwn.call(props, _key2) && _key2 !== "css" && _key2 !== typePropName && !isDevelopment3) {
3918
- newProps[_key2] = props[_key2];
3919
- }
3920
- }
3921
- newProps.className = className;
3922
- if (ref) {
3923
- newProps.ref = ref;
3924
- }
3925
- return /* @__PURE__ */React5.createElement(React5.Fragment, null, /* @__PURE__ */React5.createElement(Insertion, {
3926
- cache,
3927
- serialized,
3928
- isStringTag: typeof WrappedComponent === "string"
3929
- }), /* @__PURE__ */React5.createElement(WrappedComponent, newProps));
3930
- });
3931
- var Emotion$1 = Emotion;
3932
-
3933
- // ../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1/node_modules/@emotion/react/dist/emotion-react.esm.js
3934
- var React6 = __toESM(require("react"));
3935
- var import_extends2 = __toESM(require_extends());
3936
- var import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs());
3937
- var jsx = /* @__PURE__ */__name(function jsx2(type, props) {
3938
- var args = arguments;
3939
- if (props == null || !hasOwn.call(props, "css")) {
3940
- return React6.createElement.apply(void 0, args);
3941
- }
3942
- var argsLength = args.length;
3943
- var createElementArgArray = new Array(argsLength);
3944
- createElementArgArray[0] = Emotion$1;
3945
- createElementArgArray[1] = createEmotionProps(type, props);
3946
- for (var i = 2; i < argsLength; i++) {
3947
- createElementArgArray[i] = args[i];
3948
- }
3949
- return React6.createElement.apply(null, createElementArgArray);
3950
- }, "jsx");
3951
- (function (_jsx) {
3952
- var JSX;
3953
- /* @__PURE__ */
3954
- (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
3955
- })(jsx || (jsx = {}));
3956
-
3957
- // ../../node_modules/.pnpm/@theme-ui+css@0.17.2_@emotion+react@11.14.0_react@19.2.1_/node_modules/@theme-ui/css/dist/theme-ui-css.esm.js
3958
- var THEME_UI_DEFAULT_KEY = "__default";
3959
- var hasDefault = /* @__PURE__ */__name(x => {
3960
- return typeof x === "object" && x !== null && THEME_UI_DEFAULT_KEY in x;
3961
- }, "hasDefault");
3962
- function get(obj, path, fallback, p, undef) {
3963
- const pathArray = path && typeof path === "string" ? path.split(".") : [path];
3964
- for (p = 0; p < pathArray.length; p++) {
3965
- obj = obj ? obj[pathArray[p]] : undef;
3966
- }
3967
- if (obj === undef) return fallback;
3968
- return hasDefault(obj) ? obj[THEME_UI_DEFAULT_KEY] : obj;
3969
- }
3970
- __name(get, "get");
3971
- var getObjectWithVariants = /* @__PURE__ */__name((obj, theme) => {
3972
- if (obj && obj["variant"]) {
3973
- let result = {};
3974
- for (const key in obj) {
3975
- const x = obj[key];
3976
- if (key === "variant") {
3977
- const val = typeof x === "function" ? x(theme) : x;
3978
- const variant = getObjectWithVariants(get(theme, val), theme);
3979
- result = {
3980
- ...result,
3981
- ...variant
3982
- };
3983
- } else {
3984
- result[key] = x;
3985
- }
3986
- }
3987
- return result;
3988
- }
3989
- return obj;
3990
- }, "getObjectWithVariants");
3991
- var defaultBreakpoints = [40, 52, 64].map(n => n + "em");
3992
- var defaultTheme = {
3993
- space: [0, 4, 8, 16, 32, 64, 128, 256, 512],
3994
- fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]
3995
- };
3996
- var aliases = {
3997
- bg: "backgroundColor",
3998
- m: "margin",
3999
- mt: "marginTop",
4000
- mr: "marginRight",
4001
- mb: "marginBottom",
4002
- ml: "marginLeft",
4003
- mx: "marginX",
4004
- my: "marginY",
4005
- p: "padding",
4006
- pt: "paddingTop",
4007
- pr: "paddingRight",
4008
- pb: "paddingBottom",
4009
- pl: "paddingLeft",
4010
- px: "paddingX",
4011
- py: "paddingY"
4012
- };
4013
- var multiples = {
4014
- marginX: ["marginLeft", "marginRight"],
4015
- marginY: ["marginTop", "marginBottom"],
4016
- paddingX: ["paddingLeft", "paddingRight"],
4017
- paddingY: ["paddingTop", "paddingBottom"],
4018
- scrollMarginX: ["scrollMarginLeft", "scrollMarginRight"],
4019
- scrollMarginY: ["scrollMarginTop", "scrollMarginBottom"],
4020
- scrollPaddingX: ["scrollPaddingLeft", "scrollPaddingRight"],
4021
- scrollPaddingY: ["scrollPaddingTop", "scrollPaddingBottom"],
4022
- size: ["width", "height"]
4023
- };
4024
- var scales = {
4025
- color: "colors",
4026
- background: "colors",
4027
- accentColor: "colors",
4028
- backgroundColor: "colors",
4029
- borderColor: "colors",
4030
- caretColor: "colors",
4031
- columnRuleColor: "colors",
4032
- outlineColor: "colors",
4033
- textDecorationColor: "colors",
4034
- opacity: "opacities",
4035
- transition: "transitions",
4036
- margin: "space",
4037
- marginTop: "space",
4038
- marginRight: "space",
4039
- marginBottom: "space",
4040
- marginLeft: "space",
4041
- marginX: "space",
4042
- marginY: "space",
4043
- marginBlock: "space",
4044
- marginBlockEnd: "space",
4045
- marginBlockStart: "space",
4046
- marginInline: "space",
4047
- marginInlineEnd: "space",
4048
- marginInlineStart: "space",
4049
- padding: "space",
4050
- paddingTop: "space",
4051
- paddingRight: "space",
4052
- paddingBottom: "space",
4053
- paddingLeft: "space",
4054
- paddingX: "space",
4055
- paddingY: "space",
4056
- paddingBlock: "space",
4057
- paddingBlockEnd: "space",
4058
- paddingBlockStart: "space",
4059
- paddingInline: "space",
4060
- paddingInlineEnd: "space",
4061
- paddingInlineStart: "space",
4062
- scrollMargin: "space",
4063
- scrollMarginTop: "space",
4064
- scrollMarginRight: "space",
4065
- scrollMarginBottom: "space",
4066
- scrollMarginLeft: "space",
4067
- scrollMarginX: "space",
4068
- scrollMarginY: "space",
4069
- scrollPadding: "space",
4070
- scrollPaddingTop: "space",
4071
- scrollPaddingRight: "space",
4072
- scrollPaddingBottom: "space",
4073
- scrollPaddingLeft: "space",
4074
- scrollPaddingX: "space",
4075
- scrollPaddingY: "space",
4076
- inset: "space",
4077
- insetBlock: "space",
4078
- insetBlockEnd: "space",
4079
- insetBlockStart: "space",
4080
- insetInline: "space",
4081
- insetInlineEnd: "space",
4082
- insetInlineStart: "space",
4083
- top: "space",
4084
- right: "space",
4085
- bottom: "space",
4086
- left: "space",
4087
- gridGap: "space",
4088
- gridColumnGap: "space",
4089
- gridRowGap: "space",
4090
- gap: "space",
4091
- columnGap: "space",
4092
- rowGap: "space",
4093
- fontFamily: "fonts",
4094
- fontSize: "fontSizes",
4095
- fontWeight: "fontWeights",
4096
- lineHeight: "lineHeights",
4097
- letterSpacing: "letterSpacings",
4098
- border: "borders",
4099
- borderTop: "borders",
4100
- borderRight: "borders",
4101
- borderBottom: "borders",
4102
- borderLeft: "borders",
4103
- borderWidth: "borderWidths",
4104
- borderStyle: "borderStyles",
4105
- borderRadius: "radii",
4106
- borderTopRightRadius: "radii",
4107
- borderTopLeftRadius: "radii",
4108
- borderBottomRightRadius: "radii",
4109
- borderBottomLeftRadius: "radii",
4110
- borderTopWidth: "borderWidths",
4111
- borderTopColor: "colors",
4112
- borderTopStyle: "borderStyles",
4113
- borderBottomWidth: "borderWidths",
4114
- borderBottomColor: "colors",
4115
- borderBottomStyle: "borderStyles",
4116
- borderLeftWidth: "borderWidths",
4117
- borderLeftColor: "colors",
4118
- borderLeftStyle: "borderStyles",
4119
- borderRightWidth: "borderWidths",
4120
- borderRightColor: "colors",
4121
- borderRightStyle: "borderStyles",
4122
- borderBlock: "borders",
4123
- borderBlockColor: "colors",
4124
- borderBlockEnd: "borders",
4125
- borderBlockEndColor: "colors",
4126
- borderBlockEndStyle: "borderStyles",
4127
- borderBlockEndWidth: "borderWidths",
4128
- borderBlockStart: "borders",
4129
- borderBlockStartColor: "colors",
4130
- borderBlockStartStyle: "borderStyles",
4131
- borderBlockStartWidth: "borderWidths",
4132
- borderBlockStyle: "borderStyles",
4133
- borderBlockWidth: "borderWidths",
4134
- borderEndEndRadius: "radii",
4135
- borderEndStartRadius: "radii",
4136
- borderInline: "borders",
4137
- borderInlineColor: "colors",
4138
- borderInlineEnd: "borders",
4139
- borderInlineEndColor: "colors",
4140
- borderInlineEndStyle: "borderStyles",
4141
- borderInlineEndWidth: "borderWidths",
4142
- borderInlineStart: "borders",
4143
- borderInlineStartColor: "colors",
4144
- borderInlineStartStyle: "borderStyles",
4145
- borderInlineStartWidth: "borderWidths",
4146
- borderInlineStyle: "borderStyles",
4147
- borderInlineWidth: "borderWidths",
4148
- borderStartEndRadius: "radii",
4149
- borderStartStartRadius: "radii",
4150
- columnRuleWidth: "borderWidths",
4151
- boxShadow: "shadows",
4152
- textShadow: "shadows",
4153
- zIndex: "zIndices",
4154
- width: "sizes",
4155
- minWidth: "sizes",
4156
- maxWidth: "sizes",
4157
- height: "sizes",
4158
- minHeight: "sizes",
4159
- maxHeight: "sizes",
4160
- flexBasis: "sizes",
4161
- size: "sizes",
4162
- blockSize: "sizes",
4163
- inlineSize: "sizes",
4164
- maxBlockSize: "sizes",
4165
- maxInlineSize: "sizes",
4166
- minBlockSize: "sizes",
4167
- minInlineSize: "sizes",
4168
- columnWidth: "sizes",
4169
- // svg
4170
- fill: "colors",
4171
- stroke: "colors"
4172
- };
4173
- var positiveOrNegative = /* @__PURE__ */__name((scale, value) => {
4174
- if (typeof value !== "number" || value >= 0) {
4175
- if (typeof value === "string" && value.startsWith("-")) {
4176
- const valueWithoutMinus = value.substring(1);
4177
- const n2 = get(scale, valueWithoutMinus, valueWithoutMinus);
4178
- if (typeof n2 === "number") {
4179
- return n2 * -1;
4180
- }
4181
- return `-${n2}`;
4182
- }
4183
- return get(scale, value, value);
4184
- }
4185
- const absolute = Math.abs(value);
4186
- const n = get(scale, absolute, absolute);
4187
- if (typeof n === "string") return "-" + n;
4188
- return Number(n) * -1;
4189
- }, "positiveOrNegative");
4190
- var transforms = ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginBlock", "marginBlockEnd", "marginBlockStart", "marginInline", "marginInlineEnd", "marginInlineStart", "top", "bottom", "left", "right"].reduce((acc, curr) => ({
4191
- ...acc,
4192
- [curr]: positiveOrNegative
4193
- }), {});
4194
- var responsive = /* @__PURE__ */__name(styles => theme => {
4195
- const next2 = {};
4196
- const breakpoints = theme && theme.breakpoints || defaultBreakpoints;
4197
- const mediaQueries = [null, ...breakpoints.map(n => n.includes("@media") ? n : `@media screen and (min-width: ${n})`)];
4198
- for (const k in styles) {
4199
- const key = k;
4200
- let value = styles[key];
4201
- if (typeof value === "function") {
4202
- value = value(theme || {});
4203
- }
4204
- if (value === false || value == null) {
4205
- continue;
4206
- }
4207
- if (!Array.isArray(value)) {
4208
- next2[key] = value;
4209
- continue;
4210
- }
4211
- for (let i = 0; i < value.slice(0, mediaQueries.length).length; i++) {
4212
- const media = mediaQueries[i];
4213
- if (!media) {
4214
- next2[key] = value[i];
4215
- continue;
4216
- }
4217
- next2[media] = next2[media] || {};
4218
- if (value[i] == null) continue;
4219
- next2[media][key] = value[i];
4220
- }
4221
- }
4222
- return next2;
4223
- }, "responsive");
4224
- var css = /* @__PURE__ */__name((args = {}) => (props = {}) => {
4225
- const theme = {
4226
- ...defaultTheme,
4227
- ...("theme" in props ? props.theme : props)
4228
- };
4229
- const obj = getObjectWithVariants(typeof args === "function" ? args(theme) : args, theme);
4230
- const styles = responsive(obj)(theme);
4231
- let result = {};
4232
- for (const key in styles) {
4233
- const x = styles[key];
4234
- const val = typeof x === "function" ? x(theme) : x;
4235
- if (val && typeof val === "object") {
4236
- if (hasDefault(val)) {
4237
- result[key] = val[THEME_UI_DEFAULT_KEY];
4238
- continue;
4239
- }
4240
- result[key] = css(val)(theme);
4241
- continue;
4242
- }
4243
- const prop = key in aliases ? aliases[key] : key;
4244
- const scaleName = prop in scales ? scales[prop] : void 0;
4245
- const scale = scaleName ? theme?.[scaleName] : get(theme, prop, {});
4246
- const transform = get(transforms, prop, get);
4247
- const value = transform(scale, val, val);
4248
- if (prop in multiples) {
4249
- const dirs = multiples[prop];
4250
- for (let i = 0; i < dirs.length; i++) {
4251
- result[dirs[i]] = value;
4252
- }
4253
- } else {
4254
- result[prop] = value;
4255
- }
4256
- }
4257
- return result;
4258
- }, "css");
4259
-
4260
- // ../../node_modules/.pnpm/@theme-ui+core@0.17.2_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1__react@19.2.1/node_modules/@theme-ui/core/dist/parseProps-eab0b26e.esm.js
4261
- var getCSS = /* @__PURE__ */__name(props => theme => {
4262
- const styles = css(props.sx)(theme);
4263
- const raw = typeof props.css === "function" ? props.css(theme) : props.css;
4264
- return [styles, raw];
4265
- }, "getCSS");
4266
- function parseProps(props) {
4267
- if (!props || !props.sx && !props.css) return props;
4268
- const next2 = {};
4269
- for (let key in props) {
4270
- if (key === "sx") continue;
4271
- next2[key] = props[key];
4272
- }
4273
- next2.css = getCSS(props);
4274
- return next2;
4275
- }
4276
- __name(parseProps, "parseProps");
4277
-
4278
- // ../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.esm.js
4279
- var ReactJSXRuntime = __toESM(require("react/jsx-runtime"));
4280
- var import_react5 = require("react");
4281
- var import_extends3 = __toESM(require_extends());
4282
- var import_hoist_non_react_statics2 = __toESM(require_hoist_non_react_statics_cjs());
4283
- var jsx4 = /* @__PURE__ */__name(function jsx5(type, props, key) {
4284
- if (!hasOwn.call(props, "css")) {
4285
- return ReactJSXRuntime.jsx(type, props, key);
4286
- }
4287
- return ReactJSXRuntime.jsx(Emotion$1, createEmotionProps(type, props), key);
4288
- }, "jsx");
4289
-
4290
- // ../../node_modules/.pnpm/@theme-ui+core@0.17.2_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1__react@19.2.1/node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js
4291
- var import_react6 = require("react");
4292
- var jsx6 = /* @__PURE__ */__name((type, props, key) => jsx4(type, parseProps(props), key), "jsx");
4293
-
4294
- // ../../node_modules/.pnpm/@theme-ui+components@0.17.2_@emotion+react@11.14.0_@types+react@19.2.7_react@19.2.1__@t_04e34f7905c3166fd726d8f6c6a0914f/node_modules/@theme-ui/components/dist/theme-ui-components.esm.js
4295
- var import_react8 = __toESM(require("react"));
4296
- var boxSystemProps = [
4297
- // space scale props (inherited from @styled-system/space)
4298
- "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "m", "mt", "mr", "mb", "ml", "mx", "my", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "p", "pt", "pr", "pb", "pl", "px", "py",
4299
- // color props (inherited from @styled-system/color)
4300
- "color", "backgroundColor", "bg", "opacity"];
4301
- var __isBoxStyledSystemProp = /* @__PURE__ */__name(prop => boxSystemProps.includes(prop), "__isBoxStyledSystemProp");
4302
- var pickSystemProps = /* @__PURE__ */__name(props => {
4303
- const res = {};
4304
- for (const key of boxSystemProps) {
4305
- res[key] = props[key];
4306
- }
4307
- return res;
4308
- }, "pickSystemProps");
4309
- var Box$1 = /* @__PURE__ */(0, import_react8.forwardRef)(/* @__PURE__ */__name(function Box(props, ref) {
4310
- const theme = useTheme();
4311
- const {
4312
- __themeKey = "variants",
4313
- __css,
4314
- variant,
4315
- css: cssProp,
4316
- sx,
4317
- as: Component = "div",
4318
- ...rest
4319
- } = props;
4320
- const baseStyles = {
4321
- boxSizing: "border-box",
4322
- margin: 0,
4323
- minWidth: 0
4324
- };
4325
- const __cssStyles = css(__css)(theme);
4326
- const variantInTheme = get(theme, `${__themeKey}.${variant}`) || get(theme, variant);
4327
- const variantStyles = variantInTheme && css(variantInTheme)(theme);
4328
- const sxPropStyles = css(sx)(theme);
4329
- const systemPropsStyles = css(pickSystemProps(rest))(theme);
4330
- const style = [baseStyles, __cssStyles, variantStyles, sxPropStyles, systemPropsStyles, cssProp];
4331
- boxSystemProps.forEach(name => {
4332
- delete rest[name];
4333
- });
4334
- return jsx6(Component, {
4335
- ref,
4336
- css: style,
4337
- ...rest
4338
- });
4339
- }, "Box"));
4340
- var Flex = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function Flex2(props, ref) {
4341
- const {
4342
- sx
4343
- } = props;
4344
- return jsx6(Box$1, {
4345
- ref,
4346
- ...props,
4347
- sx: /* @__PURE__ */__name(theme => ({
4348
- display: "flex",
4349
- ...(typeof sx === "function" ? sx(theme) : sx)
4350
- }), "sx")
4351
- });
4352
- }, "Flex"));
4353
- var getProps = /* @__PURE__ */__name(test => props => {
4354
- const next2 = {};
4355
- for (const key in props) {
4356
- if (test(key || "")) next2[key] = props[key];
4357
- }
4358
- return next2;
4359
- }, "getProps");
4360
- var MRE = /^m[trblxy]?$/;
4361
- var getMargin = getProps(k => MRE.test(k));
4362
- var omitMargin = getProps(k => !MRE.test(k));
4363
- function __internalProps(props) {
4364
- return props;
4365
- }
4366
- __name(__internalProps, "__internalProps");
4367
- var Box2 = Box$1;
4368
- var Button = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function Button2(props, ref) {
4369
- return jsx6(Box2, {
4370
- ref,
4371
- as: "button",
4372
- variant: "primary",
4373
- ...props,
4374
- ...__internalProps({
4375
- __themeKey: "buttons",
4376
- __css: {
4377
- appearance: "none",
4378
- display: props.hidden ? void 0 : "inline-block",
4379
- textAlign: "center",
4380
- lineHeight: "inherit",
4381
- textDecoration: "none",
4382
- fontSize: "inherit",
4383
- px: 3,
4384
- py: 2,
4385
- color: "white",
4386
- bg: "primary",
4387
- border: 0,
4388
- borderRadius: 4
4389
- }
4390
- })
4391
- });
4392
- }, "Button"));
4393
- var Text = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function Text2(props, ref) {
4394
- return jsx6(Box$1, {
4395
- as: "span",
4396
- ref,
4397
- variant: "default",
4398
- ...props,
4399
- ...__internalProps({
4400
- __themeKey: "text"
4401
- })
4402
- });
4403
- }, "Text"));
4404
- var Heading = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function Heading2(props, ref) {
4405
- return jsx6(Box$1, {
4406
- ref,
4407
- as: "h2",
4408
- variant: "heading",
4409
- ...props,
4410
- ...__internalProps({
4411
- __themeKey: "text",
4412
- __css: {
4413
- fontFamily: "heading",
4414
- fontWeight: "heading",
4415
- lineHeight: "heading"
4416
- }
4417
- })
4418
- });
4419
- }, "Heading"));
4420
- var Card = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function Card2(props, ref) {
4421
- return jsx6(Box$1, {
4422
- ref,
4423
- variant: "primary",
4424
- ...props,
4425
- ...__internalProps({
4426
- __themeKey: "cards"
4427
- })
4428
- });
4429
- }, "Card"));
4430
- var SVG = /* @__PURE__ */import_react8.default.forwardRef(/* @__PURE__ */__name(function SVG2({
4431
- size = 24,
4432
- ...rest
4433
- }, ref) {
4434
- const svgProps = {
4435
- xmlns: "http://www.w3.org/2000/svg",
4436
- width: size,
4437
- height: size,
4438
- viewBox: "0 0 24 24",
4439
- fill: "currentcolor",
4440
- ...rest
4441
- };
4442
- return jsx6(Box$1, {
4443
- ref,
4444
- as: "svg",
4445
- ...svgProps
4446
- });
4447
- }, "SVG"));
4448
- SVG.displayName = "SVG";
4449
- var CloseIcon = jsx6("svg", {
4450
- xmlns: "http://www.w3.org/2000/svg",
4451
- width: "24",
4452
- height: "24",
4453
- fill: "currentColor",
4454
- viewBox: "0 0 24 24",
4455
- children: jsx6("path", {
4456
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
4457
- })
4458
- });
4459
- var getContainerProps = getProps(__isBoxStyledSystemProp);
4460
- var getIframeProps = getProps(str => !__isBoxStyledSystemProp(str));
4461
-
4462
- // ../ui/src/components/Button.tsx
4463
- var Button3 = /* @__PURE__ */React8.forwardRef((props, ref) => {
4464
- const {
4465
- children,
4466
- leftIcon,
4467
- rightIcon,
4468
- loading,
4469
- ...restProps
4470
- } = props;
4471
- return /* @__PURE__ */React8.createElement(Button, {
4472
- type: "button",
4473
- ...restProps,
4474
- ref,
4475
- sx: {
4476
- cursor: "pointer",
4477
- paddingX: "6",
4478
- paddingY: "4",
4479
- fontFamily: "body",
4480
- display: "inline-flex",
4481
- alignItems: "center",
4482
- gap: "4",
4483
- "&:disabled": {
4484
- cursor: "not-allowed"
4485
- },
4486
- ...restProps.sx
4487
- }
4488
- }, loading && /* @__PURE__ */React8.createElement(Icon2, {
4489
- inline: true,
4490
- icon: "three-dots-loading"
4491
- }), !loading && leftIcon && /* @__PURE__ */React8.createElement(Icon2, {
4492
- inline: true,
4493
- icon: leftIcon
4494
- }), children, rightIcon && /* @__PURE__ */React8.createElement(Icon2, {
4495
- inline: true,
4496
- icon: rightIcon
4497
- }));
4498
- });
4499
- Button3.displayName = "Button";
4500
-
4501
- // ../ui/src/components/Card.tsx
4502
- var React9 = __toESM(require("react"), 1);
4503
- var Card3 = /* @__PURE__ */__name(props => {
4504
- return /* @__PURE__ */React9.createElement(Card, {
4505
- ...props,
4506
- sx: {
4507
- backgroundColor: "display.background.secondary.default",
4508
- border: "md",
4509
- borderColor: "display.border.muted.default",
4510
- borderRadius: "lg",
4511
- display: "flex",
4512
- flexDirection: "column",
4513
- alignItems: "center",
4514
- width: "fit-content",
4515
- boxShadow: "2px 4px 8px #E5E7EB",
4516
- ...props.sx
4517
- }
4518
- });
4519
- }, "Card");
4520
- var CardTitle = /* @__PURE__ */__name(({
4521
- children,
4522
- ...props
4523
- }) => {
4524
- return /* @__PURE__ */React9.createElement(Box$1, {
4525
- ...props,
4526
- sx: {
4527
- paddingY: "4",
4528
- paddingX: "8",
4529
- width: "full",
4530
- borderBottom: "md",
4531
- borderBottomColor: "display.border.muted.default",
4532
- ...props.sx
4533
- }
4534
- }, children);
4535
- }, "CardTitle");
4536
- var CardBody = /* @__PURE__ */__name(({
4537
- children,
4538
- ...props
4539
- }) => {
4540
- return /* @__PURE__ */React9.createElement(Box$1, {
4541
- ...props,
4542
- sx: {
4543
- paddingY: "4",
4544
- paddingX: "8",
4545
- width: "full",
4546
- backgroundColor: "display.background.muted.default",
4547
- ...props.sx
4548
- }
4549
- }, children);
4550
- }, "CardBody");
4551
- var CardFooter = /* @__PURE__ */__name(({
4552
- children,
4553
- ...props
4554
- }) => {
4555
- return /* @__PURE__ */React9.createElement(Box$1, {
4556
- ...props,
4557
- sx: {
4558
- paddingY: "2",
4559
- paddingX: "8",
4560
- width: "full",
4561
- ...props.sx
4562
- }
4563
- }, children);
4564
- }, "CardFooter");
4565
- Card3.Title = CardTitle;
4566
- Card3.Body = CardBody;
4567
- Card3.Footer = CardFooter;
4568
-
4569
- // ../ui/src/components/Stack.tsx
4570
- var Stack = /* @__PURE__ */__name(props => {
4571
- return /* @__PURE__ */React.createElement(Flex, {
4572
- ...props,
4573
- sx: {
4574
- flexDirection: "column",
4575
- alignItems: "flex-start",
4576
- ...props.sx
4577
- }
4578
- });
4579
- }, "Stack");
4580
-
4581
- // ../../node_modules/.pnpm/@theme-ui+match-media@0.17.2_@theme-ui+core@0.17.2_@emotion+react@11.14.0_@types+react@_f8d5d2a429d84d480c0e8367788be412/node_modules/@theme-ui/match-media/dist/theme-ui-match-media.esm.js
4582
- var import_react9 = require("react");
4583
-
4584
- // src/components/PlanCardCtaSlot.tsx
4585
- var PlanCardCtaSlot = /* @__PURE__ */__name(({
4586
- buttonProps
4587
- }) => {
4588
- const {
4589
- label: ctaLabel = "Assine agora",
4590
- sx: buttonSx,
4591
- leftIcon,
4592
- variant,
4593
- ...restButtonProps
4594
- } = buttonProps ?? {};
4595
- return /* @__PURE__ */React.createElement(Flex, {
4596
- sx: {
4597
- paddingY: "2",
4598
- paddingX: "6",
4599
- width: "full",
4600
- justifyContent: "center"
4601
- }
4602
- }, /* @__PURE__ */React.createElement(Button3, {
4603
- ...restButtonProps,
4604
- variant: variant ?? "accent",
4605
- leftIcon,
4606
- sx: {
4607
- width: "full",
4608
- justifyContent: "center",
4609
- fontWeight: "semibold",
4610
- ...buttonSx
4611
- }
4612
- }, ctaLabel));
4613
- }, "PlanCardCtaSlot");
4614
-
4615
- // src/components/PlanCardFeaturesSlot.tsx
4616
- var React10 = __toESM(require("react"), 1);
4617
- var featuresTitle = "RECURSOS";
4618
- var PlanCardFeaturesSlot = /* @__PURE__ */__name(({
4619
- features,
4620
- variant = "default"
4621
- }) => {
4622
- const isEnterprise = variant === "enterprise";
4623
- const featureColor = isEnterprise ? "white" : "feedback.text.positive.default";
4624
- return /* @__PURE__ */React10.createElement(Box$1, {
4625
- sx: {
4626
- paddingY: "4",
4627
- paddingX: "6",
4628
- width: "full",
4629
- borderTop: "md",
4630
- borderBottom: "md",
4631
- borderColor: "display.border.muted.default"
4632
- }
4633
- }, /* @__PURE__ */React10.createElement(Stack, {
4634
- sx: {
4635
- gap: "5",
4636
- paddingY: "3"
4637
- }
4638
- }, /* @__PURE__ */React10.createElement(Flex, {
4639
- sx: {
4640
- letterSpacing: "widest",
4641
- color: isEnterprise ? "white" : "text"
4642
- }
4643
- }, featuresTitle), /* @__PURE__ */React10.createElement(Flex, {
4644
- sx: {
4645
- flexDirection: "column",
4646
- gap: "3"
4647
- }
4648
- }, features.map((feature, index) => {
4649
- if (/* @__PURE__ */React10.isValidElement(feature)) {
4650
- return /* @__PURE__ */React10.createElement(React10.Fragment, {
4651
- key: index
4652
- }, feature);
4653
- }
4654
- return /* @__PURE__ */React10.createElement(Flex, {
4655
- key: index,
4656
- sx: {
4657
- fontSize: "sm",
4658
- color: featureColor,
4659
- alignItems: "center",
4660
- gap: "3"
4661
- }
4662
- }, /* @__PURE__ */React10.createElement(Icon2, {
4663
- icon: "fluent:checkmark-24-filled"
4664
- }), /* @__PURE__ */React10.createElement(Text, {
4665
- sx: {
4666
- fontSize: "sm",
4667
- color: featureColor,
4668
- alignItems: "center"
4669
- }
4670
- }, String(feature)));
4671
- }))));
4672
- }, "PlanCardFeaturesSlot");
4673
-
4674
- // src/components/PlanCardHeaderSlot.tsx
4675
- var PlanCardHeaderSlot = /* @__PURE__ */__name(({
4676
- title,
4677
- subtitle,
4678
- hasTopTag,
4679
- variant = "default"
4680
- }) => {
4681
- const isEnterprise = variant === "enterprise";
4682
- return /* @__PURE__ */React.createElement(Box$1, {
4683
- sx: {
4684
- paddingY: hasTopTag ? "4" : "8",
4685
- paddingX: "8",
4686
- width: "full"
4687
- }
4688
- }, /* @__PURE__ */React.createElement(Flex, {
4689
- sx: {
4690
- flexDirection: "column",
4691
- gap: "2",
4692
- width: "full",
4693
- alignItems: "center"
4694
- }
4695
- }, /* @__PURE__ */React.createElement(Heading, {
4696
- sx: {
4697
- fontSize: "3xl",
4698
- color: isEnterprise ? "white" : "text"
4699
- }
4700
- }, title), subtitle && /* @__PURE__ */React.createElement(Text, {
4701
- sx: {
4702
- fontSize: "sm",
4703
- color: isEnterprise ? "white" : "display.text.secondary.default"
4704
- }
4705
- }, subtitle)));
4706
- }, "PlanCardHeaderSlot");
4707
-
4708
- // src/components/PlanCardMetadataSlot.tsx
4709
- var PlanCardMetadataSlot = /* @__PURE__ */__name(({
4710
- metadata,
4711
- variant = "default"
4712
- }) => {
4713
- const isEnterprise = variant === "enterprise";
4714
- return /* @__PURE__ */React.createElement(Stack, {
4715
- sx: {
4716
- width: "full",
4717
- gap: "6"
4718
- }
4719
- }, metadata.map(service => {
4720
- const serviceKey = service.id ?? service.key ?? service.label;
4721
- return /* @__PURE__ */React.createElement(Flex, {
4722
- key: serviceKey,
4723
- sx: {
4724
- gap: "3",
4725
- flexDirection: "column",
4726
- width: "full"
4727
- }
4728
- }, /* @__PURE__ */React.createElement(Flex, {
4729
- sx: {
4730
- gap: "4",
4731
- alignItems: "center",
4732
- color: isEnterprise ? "white" : "display.text.secondary.default",
4733
- width: "full"
4734
- }
4735
- }, service.icon && /* @__PURE__ */React.createElement(Icon2, {
4736
- icon: service.icon
4737
- }), /* @__PURE__ */React.createElement(Text, {
4738
- sx: {
4739
- color: isEnterprise ? "white" : "display.text.secondary.default"
4740
- }
4741
- }, service.label + String.fromCharCode(58))), service.parameters.map(parameter => {
4742
- return /* @__PURE__ */React.createElement(Flex, {
4743
- key: parameter.name,
4744
- sx: {
4745
- paddingX: "6",
4746
- paddingY: "4",
4747
- backgroundColor: "display.background.muted.default",
4748
- borderRadius: "lg",
4749
- width: "full"
4750
- }
4751
- }, /* @__PURE__ */React.createElement(Flex, {
4752
- sx: {
4753
- width: "full",
4754
- display: "flex",
4755
- alignItems: "center",
4756
- justifyContent: "space-between",
4757
- gap: "2"
4758
- }
4759
- }, /* @__PURE__ */React.createElement(Text, {
4760
- sx: {
4761
- fontSize: "sm",
4762
- textAlign: "center"
4763
- }
4764
- }, parameter.name), /* @__PURE__ */React.createElement(Text, {
4765
- sx: {
4766
- fontWeight: "semibold",
4767
- fontSize: "lg"
4768
- }
4769
- }, parameter.value)));
4770
- }));
4771
- }));
4772
- }, "PlanCardMetadataSlot");
4773
-
4774
- // src/components/PlanCardPriceSlot.tsx
4775
- var PlanCardPriceSlot = /* @__PURE__ */__name(({
4776
- price,
4777
- variant = "default"
4778
- }) => {
4779
- const isEnterprise = variant === "enterprise";
4780
- return /* @__PURE__ */React.createElement(Flex, {
4781
- sx: {
4782
- paddingY: "6",
4783
- paddingX: "8",
4784
- width: "full",
4785
- alignItems: "center",
4786
- flexDirection: "column",
4787
- gap: "3"
4788
- }
4789
- }, /* @__PURE__ */React.createElement(Flex, {
4790
- sx: {
4791
- alignItems: "baseline",
4792
- gap: "4",
4793
- justifyContent: "center"
4794
- }
4795
- }, /* @__PURE__ */React.createElement(Text, {
4796
- sx: {
4797
- fontSize: "4xl",
4798
- fontWeight: "bold",
4799
- color: isEnterprise ? "white" : "display.text.primary.default"
4800
- }
4801
- }, price.value), /* @__PURE__ */React.createElement(Text, {
4802
- sx: {
4803
- fontSize: "sm",
4804
- color: isEnterprise ? "white" : "display.text.secondary.default"
4805
- }
4806
- }, price.interval)), price.description && /* @__PURE__ */React.createElement(Text, {
4807
- sx: {
4808
- fontSize: "md",
4809
- color: isEnterprise ? "white" : "display.text.secondary.default"
4810
- }
4811
- }, price.description));
4812
- }, "PlanCardPriceSlot");
4813
-
4814
- // src/components/PlanCardTopTagSlot.tsx
4815
- var PlanCardTopTagSlot = /* @__PURE__ */__name(({
4816
- children
4817
- }) => {
4818
- return /* @__PURE__ */React.createElement(Box$1, {
4819
- sx: {
4820
- padding: "4"
4821
- }
4822
- }, children);
4823
- }, "PlanCardTopTagSlot");
4824
-
4825
- // src/components/PlanCard.tsx
4826
- var PlanCard = /* @__PURE__ */__name(props => {
4827
- const {
4828
- variant = "default",
4829
- title,
4830
- subtitle,
4831
- metadata = [],
4832
- metadataVariant,
4833
- price,
4834
- features = [],
4835
- buttonProps,
4836
- ...cardProps
4837
- } = props;
4838
- const effectiveMetadataVariant = metadataVariant ?? variant;
4839
- return /* @__PURE__ */React.createElement(Card3, {
4840
- ...cardProps,
4841
- sx: {
4842
- width: "full",
4843
- maxWidth: "410px",
4844
- backgroundColor: variant === "enterprise" ? "display.background.primary.active" : "display.background.primary.default",
4845
- ...cardProps.sx
4846
- }
4847
- }, props.topTag && /* @__PURE__ */React.createElement(PlanCardTopTagSlot, {
4848
- variant
4849
- }, props.topTag), /* @__PURE__ */React.createElement(PlanCardHeaderSlot, {
4850
- title,
4851
- subtitle,
4852
- hasTopTag: Boolean(props.topTag),
4853
- variant
4854
- }), metadata.length > 0 && /* @__PURE__ */React.createElement(Box$1, {
4855
- sx: {
4856
- paddingY: "4",
4857
- paddingX: "8",
4858
- width: "full"
4859
- }
4860
- }, /* @__PURE__ */React.createElement(PlanCardMetadataSlot, {
4861
- metadata,
4862
- variant: effectiveMetadataVariant
4863
- })), /* @__PURE__ */React.createElement(PlanCardPriceSlot, {
4864
- price,
4865
- variant
4866
- }), features.length > 0 && /* @__PURE__ */React.createElement(PlanCardFeaturesSlot, {
4867
- features,
4868
- variant
4869
- }), /* @__PURE__ */React.createElement(PlanCardCtaSlot, {
4870
- buttonProps,
4871
- variant
4872
- }));
4873
- }, "PlanCard");
4874
- // Annotate the CommonJS export names for ESM import in node:
4875
- 0 && (module.exports = {
4876
- PlanCard
4877
- });
4878
- /*! Bundled license information:
4879
-
4880
- react-is/cjs/react-is.production.min.js:
4881
- (** @license React v16.13.1
4882
- * react-is.production.min.js
4883
- *
4884
- * Copyright (c) Facebook, Inc. and its affiliates.
4885
- *
4886
- * This source code is licensed under the MIT license found in the
4887
- * LICENSE file in the root directory of this source tree.
4888
- *)
4889
-
4890
- react-is/cjs/react-is.development.js:
4891
- (** @license React v16.13.1
4892
- * react-is.development.js
4893
- *
4894
- * Copyright (c) Facebook, Inc. and its affiliates.
4895
- *
4896
- * This source code is licensed under the MIT license found in the
4897
- * LICENSE file in the root directory of this source tree.
4898
- *)
4899
-
4900
- iconify-icon/dist/iconify-icon.mjs:
4901
- (**
4902
- * (c) Iconify
4903
- *
4904
- * For the full copyright and license information, please view the license.txt
4905
- * files at https://github.com/iconify/iconify
4906
- *
4907
- * Licensed under MIT.
4908
- *
4909
- * @license MIT
4910
- * @version 2.3.0
4911
- *)
4912
- */