@moontra/moonui 6.1.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import { cva, type VariantProps } from "class-variance-authority";
5
- import { cn } from "../../lib/utils";
5
+ import { cn, readableText } from "../../lib/utils";
6
6
 
7
7
  /**
8
8
  * Premium Badge Component
@@ -109,6 +109,12 @@ export interface BadgeProps
109
109
  dotColor?: string;
110
110
  removable?: boolean;
111
111
  onRemove?: () => void;
112
+ /**
113
+ * Kaldırma düğmesinin erişilebilir adı için açık değer.
114
+ * Verilmezse ad rozetin görünen içeriğinden türetilir; içerik metne
115
+ * çevrilemiyorsa (ör. yalnız ikon) "Remove badge"e düşülür. (#298)
116
+ */
117
+ removeLabel?: string;
112
118
  leftIcon?: React.ReactNode;
113
119
  rightIcon?: React.ReactNode;
114
120
  variant?: 'primary' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'ghost' | 'pro' | 'admin';
@@ -140,6 +146,7 @@ const Badge = React.forwardRef<HTMLDivElement, BadgeProps>(({
140
146
  dotColor,
141
147
  removable,
142
148
  onRemove,
149
+ removeLabel,
143
150
  leftIcon,
144
151
  rightIcon,
145
152
  noAutoSpacing,
@@ -222,7 +229,10 @@ const Badge = React.forwardRef<HTMLDivElement, BadgeProps>(({
222
229
  e.stopPropagation();
223
230
  onRemove();
224
231
  }}
225
- aria-label="Remove badge"
232
+ /* #298: SABİT ad ("Remove badge") liste hâlindeki rozetlerde hangi
233
+ öğenin kaldırılacağını ayırt ettirmiyordu (WCAG 4.1.2). Ad önce
234
+ açık prop'tan, sonra görünen içerikten türetilir. */
235
+ aria-label={removeLabel || (readableText(autoChildren) ? `Remove ${readableText(autoChildren)}` : "Remove badge")}
226
236
  >
227
237
  <svg
228
238
  width="8"
@@ -5,6 +5,17 @@ import { cva, type VariantProps } from "class-variance-authority";
5
5
  import { cn } from "../../lib/utils";
6
6
  import { Loader2 } from "lucide-react";
7
7
 
8
+ // #296: Form kontrolü kenarlıkları hardcode Tailwind grisi kullanıyordu ve
9
+ // `--input` token'ını tamamen atlıyordu; #284'ün token onarımı bu yüzeylere
10
+ // hiç ulaşmıyordu. Ölçüldü (WCAG 1.4.11, eşik 3.0):
11
+ // border-gray-200 1.24 · border-gray-300 1.47 · dark:border-gray-700 1.72
12
+ // dark:border-gray-600 2.35 · hover:border-gray-400 2.54 → hepsi KALIYOR
13
+ // `border-input` ile: açık 3.11, koyu 3.37 — ikisi de geçiyor.
14
+ // Hover kenarlık ezmeleri kaldırıldı: taban kenarlık zaten eşiği geçiyor,
15
+ // ayrı bir hover grisi tutmak yalnız token'ı yeniden atlamak olurdu.
16
+ // NOT: text-gray-* sınıflarına DOKUNULMADI — hepsi kontrastı geçiyor
17
+ // (4.83–17.74); onları çevirmek estetik refactor olurdu, a11y kazancı yok.
18
+
8
19
  /**
9
20
  * Premium Button Component
10
21
  *
@@ -35,7 +46,7 @@ const buttonVariants = cva(
35
46
  "dark:bg-gray-800 dark:text-gray-100",
36
47
  "hover:bg-gray-200 dark:hover:bg-gray-700",
37
48
  "active:bg-gray-300 dark:active:bg-gray-600",
38
- "border border-gray-200 dark:border-gray-700",
49
+ "border border-input",
39
50
  "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
40
51
  "shadow-sm hover:shadow-md",
41
52
  ],
@@ -5,6 +5,17 @@ import { cva, type VariantProps } from "class-variance-authority";
5
5
  import { cn } from "../../lib/utils";
6
6
  import { Loader2 } from "lucide-react";
7
7
 
8
+ // #296: Form kontrolü kenarlıkları hardcode Tailwind grisi kullanıyordu ve
9
+ // `--input` token'ını tamamen atlıyordu; #284'ün token onarımı bu yüzeylere
10
+ // hiç ulaşmıyordu. Ölçüldü (WCAG 1.4.11, eşik 3.0):
11
+ // border-gray-200 1.24 · border-gray-300 1.47 · dark:border-gray-700 1.72
12
+ // dark:border-gray-600 2.35 · hover:border-gray-400 2.54 → hepsi KALIYOR
13
+ // `border-input` ile: açık 3.11, koyu 3.37 — ikisi de geçiyor.
14
+ // Hover kenarlık ezmeleri kaldırıldı: taban kenarlık zaten eşiği geçiyor,
15
+ // ayrı bir hover grisi tutmak yalnız token'ı yeniden atlamak olurdu.
16
+ // NOT: text-gray-* sınıflarına DOKUNULMADI — hepsi kontrastı geçiyor
17
+ // (4.83–17.74); onları çevirmek estetik refactor olurdu, a11y kazancı yok.
18
+
8
19
  /**
9
20
  * Premium Input Component
10
21
  *
@@ -31,7 +42,7 @@ const inputWrapperVariants = cva(
31
42
  const inputVariants = cva(
32
43
  [
33
44
  "w-full bg-background transition-all duration-200",
34
- "text-foreground placeholder:text-muted-foreground dark:placeholder:text-gray-500",
45
+ "text-foreground placeholder:text-muted-foreground",
35
46
  "disabled:cursor-not-allowed disabled:opacity-50",
36
47
  "file:border-0 file:bg-transparent file:font-medium",
37
48
  "focus-visible:outline-none dark:text-gray-200"
@@ -39,10 +50,10 @@ const inputVariants = cva(
39
50
  {
40
51
  variants: {
41
52
  variant: {
42
- standard: "border border-gray-300 dark:border-gray-700 rounded-md px-3 py-2 hover:border-gray-400 dark:hover:border-gray-600 focus-visible:ring-2 focus-visible:ring-primary/30 dark:focus-visible:ring-primary/20 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:bg-gray-800/80 dark:shadow-inner dark:shadow-gray-950/10",
53
+ standard: "border border-input rounded-md px-3 py-2 focus-visible:ring-2 focus-visible:ring-primary/30 dark:focus-visible:ring-primary/20 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:bg-gray-800/80 dark:shadow-inner dark:shadow-gray-950/10",
43
54
  filled: "border border-transparent bg-gray-100 dark:bg-gray-800 rounded-md px-3 py-2 hover:bg-gray-200 dark:hover:bg-gray-700 focus-visible:ring-2 focus-visible:ring-primary/30 dark:focus-visible:ring-primary/20 dark:shadow-inner dark:shadow-gray-950/10",
44
- ghost: "border-none bg-transparent shadow-none px-1 dark:text-gray-300 dark:placeholder:text-gray-500 hover:bg-gray-100/50 dark:hover:bg-gray-800/30 focus-visible:bg-transparent",
45
- underline: "border-t-0 border-l-0 border-r-0 border-b border-gray-300 dark:border-gray-600 rounded-none px-0 py-2 hover:border-gray-400 dark:hover:border-gray-500 focus-visible:ring-0 focus-visible:border-b-2 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:text-gray-300 dark:bg-transparent",
55
+ ghost: "border-none bg-transparent shadow-none px-1 dark:text-gray-300 hover:bg-gray-100/50 dark:hover:bg-gray-800/30 focus-visible:bg-transparent",
56
+ underline: "border-t-0 border-l-0 border-r-0 border-b border-input rounded-none px-0 py-2 focus-visible:ring-0 focus-visible:border-b-2 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:text-gray-300 dark:bg-transparent",
46
57
  },
47
58
  size: {
48
59
  sm: "h-8 text-xs",
@@ -7,6 +7,17 @@ import { cva } from "class-variance-authority"
7
7
 
8
8
  import { cn } from "../../lib/utils"
9
9
 
10
+ // #296: Form kontrolü kenarlıkları hardcode Tailwind grisi kullanıyordu ve
11
+ // `--input` token'ını tamamen atlıyordu; #284'ün token onarımı bu yüzeylere
12
+ // hiç ulaşmıyordu. Ölçüldü (WCAG 1.4.11, eşik 3.0):
13
+ // border-gray-200 1.24 · border-gray-300 1.47 · dark:border-gray-700 1.72
14
+ // dark:border-gray-600 2.35 · hover:border-gray-400 2.54 → hepsi KALIYOR
15
+ // `border-input` ile: açık 3.11, koyu 3.37 — ikisi de geçiyor.
16
+ // Hover kenarlık ezmeleri kaldırıldı: taban kenarlık zaten eşiği geçiyor,
17
+ // ayrı bir hover grisi tutmak yalnız token'ı yeniden atlamak olurdu.
18
+ // NOT: text-gray-* sınıflarına DOKUNULMADI — hepsi kontrastı geçiyor
19
+ // (4.83–17.74); onları çevirmek estetik refactor olurdu, a11y kazancı yok.
20
+
10
21
  /**
11
22
  * Premium Select Component
12
23
  *
@@ -189,7 +200,7 @@ const SelectContent = React.forwardRef<
189
200
  avoidCollisions={false}
190
201
  className={cn(
191
202
  ["relative z-50 max-h-96 min-w-[8rem] overflow-hidden",
192
- "rounded-md border border-gray-200 dark:border-gray-700",
203
+ "rounded-md border border-input",
193
204
  "bg-background dark:bg-gray-800/80 backdrop-blur-sm text-foreground dark:text-gray-200",
194
205
  "shadow-lg dark:shadow-gray-900/20",
195
206
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
@@ -5,13 +5,24 @@ import { cva, type VariantProps } from "class-variance-authority"
5
5
  import { cn } from "../../lib/utils"
6
6
  import { Loader2 } from "lucide-react"
7
7
 
8
+ // #296: Form kontrolü kenarlıkları hardcode Tailwind grisi kullanıyordu ve
9
+ // `--input` token'ını tamamen atlıyordu; #284'ün token onarımı bu yüzeylere
10
+ // hiç ulaşmıyordu. Ölçüldü (WCAG 1.4.11, eşik 3.0):
11
+ // border-gray-200 1.24 · border-gray-300 1.47 · dark:border-gray-700 1.72
12
+ // dark:border-gray-600 2.35 · hover:border-gray-400 2.54 → hepsi KALIYOR
13
+ // `border-input` ile: açık 3.11, koyu 3.37 — ikisi de geçiyor.
14
+ // Hover kenarlık ezmeleri kaldırıldı: taban kenarlık zaten eşiği geçiyor,
15
+ // ayrı bir hover grisi tutmak yalnız token'ı yeniden atlamak olurdu.
16
+ // NOT: text-gray-* sınıflarına DOKUNULMADI — hepsi kontrastı geçiyor
17
+ // (4.83–17.74); onları çevirmek estetik refactor olurdu, a11y kazancı yok.
18
+
8
19
  /**
9
20
  * Textarea Variant Styles
10
21
  */
11
22
  const textareaVariants = cva(
12
23
  [
13
24
  "flex w-full rounded-md px-3 py-2 text-sm transition-all duration-200",
14
- "text-foreground placeholder:text-muted-foreground dark:placeholder:text-gray-500",
25
+ "text-foreground placeholder:text-muted-foreground",
15
26
  "disabled:cursor-not-allowed disabled:opacity-50",
16
27
  "focus-visible:outline-none dark:text-gray-200",
17
28
  "resize-none" // Always disable manual resize, we control it
@@ -19,10 +30,10 @@ const textareaVariants = cva(
19
30
  {
20
31
  variants: {
21
32
  variant: {
22
- default: "border border-gray-300 dark:border-gray-700 bg-background dark:bg-gray-800/80 hover:border-gray-400 dark:hover:border-gray-600 focus-visible:ring-2 focus-visible:ring-primary/30 dark:focus-visible:ring-primary/20 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:shadow-inner dark:shadow-gray-950/10",
23
- outline: "border-2 border-gray-300 dark:border-gray-700 bg-transparent hover:border-gray-400 dark:hover:border-gray-600 focus-visible:border-primary dark:focus-visible:border-primary/80",
33
+ default: "border border-input bg-background dark:bg-gray-800/80 focus-visible:ring-2 focus-visible:ring-primary/30 dark:focus-visible:ring-primary/20 focus-visible:border-primary dark:focus-visible:border-primary/80 dark:shadow-inner dark:shadow-gray-950/10",
34
+ outline: "border-2 border-input bg-transparent focus-visible:border-primary dark:focus-visible:border-primary/80",
24
35
  ghost: "border-none bg-transparent hover:bg-gray-100/50 dark:hover:bg-gray-800/30 focus-visible:bg-transparent",
25
- underline: "border-t-0 border-l-0 border-r-0 border-b-2 border-gray-300 dark:border-gray-600 rounded-none px-0 hover:border-gray-400 dark:hover:border-gray-500 focus-visible:ring-0 focus-visible:border-primary dark:focus-visible:border-primary/80 bg-transparent dark:bg-transparent"
36
+ underline: "border-t-0 border-l-0 border-r-0 border-b-2 border-input rounded-none px-0 focus-visible:ring-0 focus-visible:border-primary dark:focus-visible:border-primary/80 bg-transparent dark:bg-transparent"
26
37
  },
27
38
  size: {
28
39
  sm: "min-h-[60px] text-xs",
package/src/lib/utils.ts CHANGED
@@ -1,6 +1,31 @@
1
+ import * as React from "react";
1
2
  import { type ClassValue, clsx } from 'clsx';
2
3
  import { twMerge } from 'tailwind-merge';
3
4
 
4
5
  export function cn(...inputs: ClassValue[]) {
5
6
  return twMerge(clsx(inputs));
6
7
  }
8
+
9
+ /**
10
+ * React children'ından okunabilir düz metin çıkarır.
11
+ *
12
+ * NEDEN (#298): Yalnız ikon içeren kaldırma düğmelerine SABİT bir aria-label
13
+ * veriliyordu ("Remove badge"). Bu bileşenler liste hâlinde kullanıldığı için
14
+ * ekran okuyucu kullanıcısı aynı adı defalarca duyup hangi öğeyi kaldıracağını
15
+ * ayırt edemiyordu (WCAG 4.1.2). Ad artık öğenin görünen içeriğinden türetilir.
16
+ *
17
+ * string / number / dizi / iç içe element'i gezer; çıkaramazsa "" döner ve
18
+ * çağıran taraf kendi geri düşüşünü uygular.
19
+ */
20
+ export function readableText(node: React.ReactNode): string {
21
+ if (node === null || node === undefined || typeof node === "boolean") return "";
22
+ if (typeof node === "string" || typeof node === "number") return String(node);
23
+ if (Array.isArray(node)) {
24
+ return node.map(readableText).filter(Boolean).join(" ").trim();
25
+ }
26
+ if (React.isValidElement(node)) {
27
+ const props = node.props as { children?: React.ReactNode };
28
+ return readableText(props.children);
29
+ }
30
+ return "";
31
+ }
@@ -1,33 +0,0 @@
1
- 'use client';
2
-
3
- /** @license MoonUI v1.0.0 - MIT License - https://moonui.dev */
4
- var b=Object.create;var S=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var j=t=>{throw TypeError(t)};var at=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Q=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of G(e))!W.call(t,o)&&o!==n&&S(t,o,{get:()=>e[o],enumerable:!(r=z(e,o))||r.enumerable});return t};var yt=(t,e,n)=>(n=t!=null?b(B(t)):{},Q(e||!t||!t.__esModule?S(n,"default",{value:t,enumerable:!0}):n,t));var w=(t,e,n)=>e.has(t)||j("Cannot "+n);var vt=(t,e,n)=>(w(t,e,"read from private field"),n?n.call(t):e.get(t)),Tt=(t,e,n)=>e.has(t)?j("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Rt=(t,e,n,r)=>(w(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);var x=_(u=>{"use strict";var R=Symbol.for("react.transitional.element"),X=Symbol.for("react.portal"),Z=Symbol.for("react.fragment"),J=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),K=Symbol.for("react.consumer"),F=Symbol.for("react.context"),tt=Symbol.for("react.forward_ref"),et=Symbol.for("react.suspense"),nt=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),rt=Symbol.for("react.activity"),P=Symbol.iterator;function ut(t){return t===null||typeof t!="object"?null:(t=P&&t[P]||t["@@iterator"],typeof t=="function"?t:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$=Object.assign,Y={};function E(t,e,n){this.props=t,this.context=e,this.refs=Y,this.updater=n||N}E.prototype.isReactComponent={};E.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};E.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function k(){}k.prototype=E.prototype;function m(t,e,n){this.props=t,this.context=e,this.refs=Y,this.updater=n||N}var C=m.prototype=new k;C.constructor=m;$(C,E.prototype);C.isPureReactComponent=!0;var h=Array.isArray;function T(){}var i={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function d(t,e,n){var r=n.ref;return{$$typeof:R,type:t,key:e,ref:r!==void 0?r:null,props:n}}function ot(t,e){return d(t.type,e,t.props)}function A(t){return typeof t=="object"&&t!==null&&t.$$typeof===R}function st(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){return e[n]})}var O=/\/+/g;function v(t,e){return typeof t=="object"&&t!==null&&t.key!=null?st(""+t.key):e.toString(36)}function ft(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(T,T):(t.status="pending",t.then(function(e){t.status==="pending"&&(t.status="fulfilled",t.value=e)},function(e){t.status==="pending"&&(t.status="rejected",t.reason=e)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function l(t,e,n,r,o){var s=typeof t;(s==="undefined"||s==="boolean")&&(t=null);var f=!1;if(t===null)f=!0;else switch(s){case"bigint":case"string":case"number":f=!0;break;case"object":switch(t.$$typeof){case R:case X:f=!0;break;case g:return f=t._init,l(f(t._payload),e,n,r,o)}}if(f)return o=o(t),f=r===""?"."+v(t,0):r,h(o)?(n="",f!=null&&(n=f.replace(O,"$&/")+"/"),l(o,e,n,"",function(q){return q})):o!=null&&(A(o)&&(o=ot(o,n+(o.key==null||t&&t.key===o.key?"":(""+o.key).replace(O,"$&/")+"/")+f)),e.push(o)),1;f=0;var p=r===""?".":r+":";if(h(t))for(var c=0;c<t.length;c++)r=t[c],s=p+v(r,c),f+=l(r,e,n,s,o);else if(c=ut(t),typeof c=="function")for(t=c.call(t),c=0;!(r=t.next()).done;)r=r.value,s=p+v(r,c++),f+=l(r,e,n,s,o);else if(s==="object"){if(typeof t.then=="function")return l(ft(t),e,n,r,o);throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.")}return f}function a(t,e,n){if(t==null)return t;var r=[],o=0;return l(t,r,"","",function(s){return e.call(n,s,o++)}),r}function it(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(n){(t._status===0||t._status===-1)&&(t._status=1,t._result=n)},function(n){(t._status===0||t._status===-1)&&(t._status=2,t._result=n)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var H=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},ct={map:a,forEach:function(t,e,n){a(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return a(t,function(){e++}),e},toArray:function(t){return a(t,function(e){return e})||[]},only:function(t){if(!A(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};u.Activity=rt;u.Children=ct;u.Component=E;u.Fragment=Z;u.Profiler=V;u.PureComponent=m;u.StrictMode=J;u.Suspense=et;u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i;u.__COMPILER_RUNTIME={__proto__:null,c:function(t){return i.H.useMemoCache(t)}};u.cache=function(t){return function(){return t.apply(null,arguments)}};u.cacheSignal=function(){return null};u.cloneElement=function(t,e,n){if(t==null)throw Error("The argument must be a React element, but you passed "+t+".");var r=$({},t.props),o=t.key;if(e!=null)for(s in e.key!==void 0&&(o=""+e.key),e)!M.call(e,s)||s==="key"||s==="__self"||s==="__source"||s==="ref"&&e.ref===void 0||(r[s]=e[s]);var s=arguments.length-2;if(s===1)r.children=n;else if(1<s){for(var f=Array(s),p=0;p<s;p++)f[p]=arguments[p+2];r.children=f}return d(t.type,o,r)};u.createContext=function(t){return t={$$typeof:F,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider=t,t.Consumer={$$typeof:K,_context:t},t};u.createElement=function(t,e,n){var r,o={},s=null;if(e!=null)for(r in e.key!==void 0&&(s=""+e.key),e)M.call(e,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=e[r]);var f=arguments.length-2;if(f===1)o.children=n;else if(1<f){for(var p=Array(f),c=0;c<f;c++)p[c]=arguments[c+2];o.children=p}if(t&&t.defaultProps)for(r in f=t.defaultProps,f)o[r]===void 0&&(o[r]=f[r]);return d(t,s,o)};u.createRef=function(){return{current:null}};u.forwardRef=function(t){return{$$typeof:tt,render:t}};u.isValidElement=A;u.lazy=function(t){return{$$typeof:g,_payload:{_status:-1,_result:t},_init:it}};u.memo=function(t,e){return{$$typeof:nt,type:t,compare:e===void 0?null:e}};u.startTransition=function(t){var e=i.T,n={};i.T=n;try{var r=t(),o=i.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(T,H)}catch(s){H(s)}finally{e!==null&&n.types!==null&&(e.types=n.types),i.T=e}};u.unstable_useCacheRefresh=function(){return i.H.useCacheRefresh()};u.use=function(t){return i.H.use(t)};u.useActionState=function(t,e,n){return i.H.useActionState(t,e,n)};u.useCallback=function(t,e){return i.H.useCallback(t,e)};u.useContext=function(t){return i.H.useContext(t)};u.useDebugValue=function(){};u.useDeferredValue=function(t,e){return i.H.useDeferredValue(t,e)};u.useEffect=function(t,e){return i.H.useEffect(t,e)};u.useEffectEvent=function(t){return i.H.useEffectEvent(t)};u.useId=function(){return i.H.useId()};u.useImperativeHandle=function(t,e,n){return i.H.useImperativeHandle(t,e,n)};u.useInsertionEffect=function(t,e){return i.H.useInsertionEffect(t,e)};u.useLayoutEffect=function(t,e){return i.H.useLayoutEffect(t,e)};u.useMemo=function(t,e){return i.H.useMemo(t,e)};u.useOptimistic=function(t,e){return i.H.useOptimistic(t,e)};u.useReducer=function(t,e,n){return i.H.useReducer(t,e,n)};u.useRef=function(t){return i.H.useRef(t)};u.useState=function(t){return i.H.useState(t)};u.useSyncExternalStore=function(t,e,n){return i.H.useSyncExternalStore(t,e,n)};u.useTransition=function(){return i.H.useTransition()};u.version="19.2.3"});var pt=_((dt,I)=>{"use strict";I.exports=x()});var U=_(y=>{"use strict";var lt=Symbol.for("react.transitional.element"),Et=Symbol.for("react.fragment");function L(t,e,n){var r=null;if(n!==void 0&&(r=""+n),e.key!==void 0&&(r=""+e.key),"key"in e){n={};for(var o in e)o!=="key"&&(n[o]=e[o])}else n=e;return e=n.ref,{$$typeof:lt,type:t,key:r,ref:e!==void 0?e:null,props:n}}y.Fragment=Et;y.jsx=L;y.jsxs=L});var _t=_((St,D)=>{"use strict";D.exports=U()});export{at as a,_ as b,yt as c,vt as d,Tt as e,Rt as f,pt as g,_t as h};
5
- /*! Bundled license information:
6
-
7
- react/cjs/react.production.js:
8
- (**
9
- * @license React
10
- * react.production.js
11
- *
12
- * Copyright (c) Meta Platforms, Inc. and affiliates.
13
- *
14
- * This source code is licensed under the MIT license found in the
15
- * LICENSE file in the root directory of this source tree.
16
- *)
17
-
18
- react/cjs/react-jsx-runtime.production.js:
19
- (**
20
- * @license React
21
- * react-jsx-runtime.production.js
22
- *
23
- * Copyright (c) Meta Platforms, Inc. and affiliates.
24
- *
25
- * This source code is licensed under the MIT license found in the
26
- * LICENSE file in the root directory of this source tree.
27
- *)
28
- */
29
-
30
- if (typeof window !== 'undefined' && !window.React) {
31
- console.warn('MoonUI: React not found. Please include React and ReactDOM before MoonUI.');
32
- }
33
- //# sourceMappingURL=chunk-2EN7SB2G.global.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/react/jsx-runtime.js"],"sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.3\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"mappings":"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","names":["require_react_production","__commonJSMin","exports","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","noop","ReactSharedInternals","hasOwnProperty","ReactElement","type","key","refProp","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","invokeCallback","c","nextNamePrefix","i","mapChildren","func","result","count","child","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","Children","forEachFunc","forEachContext","n","size","fn","config","propName","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","value","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","require_react","__commonJSMin","exports","module","require_react_jsx_runtime_production","__commonJSMin","exports","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","require_jsx_runtime","__commonJSMin","exports","module"]}