django-admin-react 1.5.1__tar.gz → 1.7.0__tar.gz
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.
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/PKG-INFO +48 -2
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/README.md +46 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/static/admin_react/.vite/manifest.json +4 -4
- django_admin_react-1.5.1/django_admin_react/static/admin_react/assets/ColumnLayoutModal-BqSoEcZA.js → django_admin_react-1.7.0/django_admin_react/static/admin_react/assets/ColumnLayoutModal-CwhusoTF.js +1 -1
- django_admin_react-1.5.1/django_admin_react/static/admin_react/assets/JsonViewer-COIsgmij.js → django_admin_react-1.7.0/django_admin_react/static/admin_react/assets/JsonViewer-7HjTBTgO.js +1 -1
- django_admin_react-1.7.0/django_admin_react/static/admin_react/assets/index-BFuttSSg.js +8 -0
- django_admin_react-1.7.0/django_admin_react/static/admin_react/assets/index-YKSkp2ru.css +1 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/static/admin_react/index.html +2 -2
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/admin_react/index.html +8 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/views.py +30 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/pyproject.toml +2 -2
- django_admin_react-1.5.1/django_admin_react/static/admin_react/assets/index-BFQ8Zoah.js +0 -8
- django_admin_react-1.5.1/django_admin_react/static/admin_react/assets/index-C6otedE2.css +0 -1
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/LICENSE +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/README.md +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/__init__.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/apps.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/audit.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/conf.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/pwa.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/README.md +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/admin/base_site.html +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/admin_react/README.md +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/admin_react/login.html +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/admin_react/sw.js +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templates/django_admin_react/_experience_toggle_strip.html +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templatetags/__init__.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/templatetags/experience_toggle.py +0 -0
- {django_admin_react-1.5.1 → django_admin_react-1.7.0}/django_admin_react/urls.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-admin-react
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.0
|
|
4
4
|
Summary: A drop-in React single-page admin for Django, driven entirely by ModelAdmin.
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -28,7 +28,7 @@ Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
|
28
28
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
29
29
|
Requires-Dist: django (>=4.2,<7.0)
|
|
30
30
|
Requires-Dist: django-admin-mcp-api (>=1.1.0,<2.0.0)
|
|
31
|
-
Requires-Dist: django-admin-rest-api (>=1.
|
|
31
|
+
Requires-Dist: django-admin-rest-api (>=1.2.0,<2.0.0)
|
|
32
32
|
Project-URL: Documentation, https://github.com/MartinCastroAlvarez/django-admin-react#readme
|
|
33
33
|
Project-URL: Homepage, https://github.com/MartinCastroAlvarez/django-admin-react
|
|
34
34
|
Project-URL: Repository, https://github.com/MartinCastroAlvarez/django-admin-react
|
|
@@ -786,6 +786,52 @@ The SPA's HTTP client already sends `credentials: "include"`, so no
|
|
|
786
786
|
frontend change is needed — only the Django-side cookie + CORS
|
|
787
787
|
config above. Tracked: [#635](https://github.com/MartinCastroAlvarez/django-admin-react/issues/635).
|
|
788
788
|
|
|
789
|
+
### Translated `verbose_name` / `help_text` / action descriptions (`LocaleMiddleware`)
|
|
790
|
+
|
|
791
|
+
The API package surfaces whatever your `ModelAdmin` declares —
|
|
792
|
+
including `gettext_lazy`-wrapped strings on `verbose_name`,
|
|
793
|
+
`help_text`, `@admin.action(description=…)`, etc. For those proxies
|
|
794
|
+
to resolve to the active request's language, you need Django's
|
|
795
|
+
**`LocaleMiddleware`** in your stack. It's not enabled by default
|
|
796
|
+
in `django-admin startproject`, and the package has no
|
|
797
|
+
ModelAdmin-level workaround:
|
|
798
|
+
|
|
799
|
+
```python
|
|
800
|
+
# settings.py
|
|
801
|
+
USE_I18N = True
|
|
802
|
+
LANGUAGE_CODE = "en-us" # or your default
|
|
803
|
+
LANGUAGES = [ # the locales your translations cover
|
|
804
|
+
("en", "English"),
|
|
805
|
+
("es", "Español"),
|
|
806
|
+
# …
|
|
807
|
+
]
|
|
808
|
+
|
|
809
|
+
MIDDLEWARE = [
|
|
810
|
+
"django.middleware.security.SecurityMiddleware",
|
|
811
|
+
"django.contrib.sessions.middleware.SessionMiddleware",
|
|
812
|
+
"django.middleware.locale.LocaleMiddleware", # ← REQUIRED for i18n
|
|
813
|
+
"django.middleware.common.CommonMiddleware",
|
|
814
|
+
"django.middleware.csrf.CsrfViewMiddleware",
|
|
815
|
+
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
|
816
|
+
"django.contrib.messages.middleware.MessageMiddleware",
|
|
817
|
+
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
|
818
|
+
]
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
With `LocaleMiddleware` in place, the API payload's
|
|
822
|
+
`verbose_name` / `help_text` / `description` strings come back
|
|
823
|
+
translated per the request's `Accept-Language` header (or the
|
|
824
|
+
user's stored preference if you wire one), the same as Django's
|
|
825
|
+
HTML admin. The wire shape is identical regardless of locale —
|
|
826
|
+
only the human-readable strings change.
|
|
827
|
+
|
|
828
|
+
**The SPA's own chrome strings** ("Add", "Search", "Save and
|
|
829
|
+
continue editing", "Loading…") are still hard-coded English. A
|
|
830
|
+
message-catalog refresh + `config.language` wire field is tracked
|
|
831
|
+
in [#630](https://github.com/MartinCastroAlvarez/django-admin-react/issues/630). Until that lands, non-English-primary shops
|
|
832
|
+
get translated `verbose_name` / `help_text` (via `LocaleMiddleware`)
|
|
833
|
+
but English chrome around them.
|
|
834
|
+
|
|
789
835
|
---
|
|
790
836
|
|
|
791
837
|
## The API surface
|
|
@@ -750,6 +750,52 @@ The SPA's HTTP client already sends `credentials: "include"`, so no
|
|
|
750
750
|
frontend change is needed — only the Django-side cookie + CORS
|
|
751
751
|
config above. Tracked: [#635](https://github.com/MartinCastroAlvarez/django-admin-react/issues/635).
|
|
752
752
|
|
|
753
|
+
### Translated `verbose_name` / `help_text` / action descriptions (`LocaleMiddleware`)
|
|
754
|
+
|
|
755
|
+
The API package surfaces whatever your `ModelAdmin` declares —
|
|
756
|
+
including `gettext_lazy`-wrapped strings on `verbose_name`,
|
|
757
|
+
`help_text`, `@admin.action(description=…)`, etc. For those proxies
|
|
758
|
+
to resolve to the active request's language, you need Django's
|
|
759
|
+
**`LocaleMiddleware`** in your stack. It's not enabled by default
|
|
760
|
+
in `django-admin startproject`, and the package has no
|
|
761
|
+
ModelAdmin-level workaround:
|
|
762
|
+
|
|
763
|
+
```python
|
|
764
|
+
# settings.py
|
|
765
|
+
USE_I18N = True
|
|
766
|
+
LANGUAGE_CODE = "en-us" # or your default
|
|
767
|
+
LANGUAGES = [ # the locales your translations cover
|
|
768
|
+
("en", "English"),
|
|
769
|
+
("es", "Español"),
|
|
770
|
+
# …
|
|
771
|
+
]
|
|
772
|
+
|
|
773
|
+
MIDDLEWARE = [
|
|
774
|
+
"django.middleware.security.SecurityMiddleware",
|
|
775
|
+
"django.contrib.sessions.middleware.SessionMiddleware",
|
|
776
|
+
"django.middleware.locale.LocaleMiddleware", # ← REQUIRED for i18n
|
|
777
|
+
"django.middleware.common.CommonMiddleware",
|
|
778
|
+
"django.middleware.csrf.CsrfViewMiddleware",
|
|
779
|
+
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
|
780
|
+
"django.contrib.messages.middleware.MessageMiddleware",
|
|
781
|
+
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
|
782
|
+
]
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
With `LocaleMiddleware` in place, the API payload's
|
|
786
|
+
`verbose_name` / `help_text` / `description` strings come back
|
|
787
|
+
translated per the request's `Accept-Language` header (or the
|
|
788
|
+
user's stored preference if you wire one), the same as Django's
|
|
789
|
+
HTML admin. The wire shape is identical regardless of locale —
|
|
790
|
+
only the human-readable strings change.
|
|
791
|
+
|
|
792
|
+
**The SPA's own chrome strings** ("Add", "Search", "Save and
|
|
793
|
+
continue editing", "Loading…") are still hard-coded English. A
|
|
794
|
+
message-catalog refresh + `config.language` wire field is tracked
|
|
795
|
+
in [#630](https://github.com/MartinCastroAlvarez/django-admin-react/issues/630). Until that lands, non-English-primary shops
|
|
796
|
+
get translated `verbose_name` / `help_text` (via `LocaleMiddleware`)
|
|
797
|
+
but English chrome around them.
|
|
798
|
+
|
|
753
799
|
---
|
|
754
800
|
|
|
755
801
|
## The API surface
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"../../packages/details/src/JsonViewer.tsx": {
|
|
3
|
-
"file": "assets/JsonViewer-
|
|
3
|
+
"file": "assets/JsonViewer-7HjTBTgO.js",
|
|
4
4
|
"name": "JsonViewer",
|
|
5
5
|
"src": "../../packages/details/src/JsonViewer.tsx",
|
|
6
6
|
"isDynamicEntry": true,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
]
|
|
10
10
|
},
|
|
11
11
|
"index.html": {
|
|
12
|
-
"file": "assets/index-
|
|
12
|
+
"file": "assets/index-BFuttSSg.js",
|
|
13
13
|
"name": "index",
|
|
14
14
|
"src": "index.html",
|
|
15
15
|
"isEntry": true,
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"src/ColumnLayoutModal.tsx"
|
|
19
19
|
],
|
|
20
20
|
"css": [
|
|
21
|
-
"assets/index-
|
|
21
|
+
"assets/index-YKSkp2ru.css"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"src/ColumnLayoutModal.tsx": {
|
|
25
|
-
"file": "assets/ColumnLayoutModal-
|
|
25
|
+
"file": "assets/ColumnLayoutModal-CwhusoTF.js",
|
|
26
26
|
"name": "ColumnLayoutModal",
|
|
27
27
|
"src": "src/ColumnLayoutModal.tsx",
|
|
28
28
|
"isDynamicEntry": true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as tt,d as c,R as $,r as ke,j as I,M as kn,b as On,a as Jt}from"./index-
|
|
1
|
+
import{c as tt,d as c,R as $,r as ke,j as I,M as kn,b as On,a as Jt}from"./index-BFuttSSg.js";const Tn=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Qt=tt("grip-vertical",Tn);const Ln=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]],jn=tt("lock-open",Ln);const zn=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],jt=tt("lock",zn);const $n=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Bn=tt("rotate-ccw",$n);function Pn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c.useMemo(()=>r=>{t.forEach(o=>o(r))},t)}const nt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function xe(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function mt(e){return"nodeType"in e}function B(e){var t,n;return e?xe(e)?e:mt(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function yt(e){const{Document:t}=B(e);return e instanceof t}function Pe(e){return xe(e)?!1:e instanceof B(e).HTMLElement}function Zt(e){return e instanceof B(e).SVGElement}function we(e){return e?xe(e)?e.document:mt(e)?yt(e)?e:Pe(e)||Zt(e)?e.ownerDocument:document:document:document}const Z=nt?c.useLayoutEffect:c.useEffect;function xt(e){const t=c.useRef(e);return Z(()=>{t.current=e}),c.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t.current==null?void 0:t.current(...r)},[])}function Fn(){const e=c.useRef(null),t=c.useCallback((r,o)=>{e.current=setInterval(r,o)},[]),n=c.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function je(e,t){t===void 0&&(t=[e]);const n=c.useRef(e);return Z(()=>{n.current!==e&&(n.current=e)},t),n}function Fe(e,t){const n=c.useRef();return c.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function Je(e){const t=xt(e),n=c.useRef(null),r=c.useCallback(o=>{o!==n.current&&t?.(o,n.current),n.current=o},[]);return[n,r]}function ht(e){const t=c.useRef();return c.useEffect(()=>{t.current=e},[e]),t.current}let lt={};function Xe(e,t){return c.useMemo(()=>{if(t)return t;const n=lt[e]==null?0:lt[e]+1;return lt[e]=n,e+"-"+n},[e,t])}function en(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((i,s)=>{const a=Object.entries(s);for(const[l,u]of a){const f=i[l];f!=null&&(i[l]=f+e*u)}return i},{...t})}}const ye=en(1),ze=en(-1);function Xn(e){return"clientX"in e&&"clientY"in e}function wt(e){if(!e)return!1;const{KeyboardEvent:t}=B(e.target);return t&&e instanceof t}function Un(e){if(!e)return!1;const{TouchEvent:t}=B(e.target);return t&&e instanceof t}function gt(e){if(Un(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Xn(e)?{x:e.clientX,y:e.clientY}:null}const $e=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[$e.Translate.toString(e),$e.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),zt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Yn(e){return e.matches(zt)?e:e.querySelector(zt)}const Wn={display:"none"};function Vn(e){let{id:t,value:n}=e;return $.createElement("div",{id:t,style:Wn},n)}function Hn(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return $.createElement("div",{id:t,style:o,role:"status","aria-live":r,"aria-atomic":!0},n)}function Kn(){const[e,t]=c.useState("");return{announce:c.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const tn=c.createContext(null);function _n(e){const t=c.useContext(tn);c.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function qn(){const[e]=c.useState(()=>new Set),t=c.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[c.useCallback(r=>{let{type:o,event:i}=r;e.forEach(s=>{var a;return(a=s[o])==null?void 0:a.call(s,i)})},[e]),t]}const Gn={draggable:`
|
|
2
2
|
To pick up a draggable item, press the space bar.
|
|
3
3
|
While dragging, use the arrow keys to move the item.
|
|
4
4
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as d,d as l,j as e,C as h}from"./index-
|
|
1
|
+
import{c as d,d as l,j as e,C as h}from"./index-BFuttSSg.js";const p=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],g=d("chevron-right",p);const y=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],j=d("copy",y);function N({raw:t,parsed:r}){const[s,c]=l.useState(!1);async function a(){try{await navigator.clipboard.writeText(t),c(!0),setTimeout(()=>c(!1),2e3)}catch{}}return e.jsxs("div",{className:"relative w-full overflow-x-auto rounded border border-gray-200 bg-gray-50 p-3 font-mono text-xs leading-relaxed text-gray-800 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-200",children:[e.jsx("button",{type:"button",onClick:a,"aria-label":"Copy JSON",title:s?"Copied":"Copy",className:"absolute right-2 top-2 inline-flex h-6 w-6 items-center justify-center rounded border border-gray-300 bg-white text-gray-600 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700",children:s?e.jsx(h,{className:"h-3.5 w-3.5 text-green-600","aria-hidden":!0}):e.jsx(j,{className:"h-3.5 w-3.5","aria-hidden":!0})}),e.jsx(o,{value:r,depth:0})]})}function o({value:t,depth:r}){return t===null?e.jsx("span",{className:"text-purple-600 dark:text-purple-400",children:"null"}):typeof t=="boolean"?e.jsx("span",{className:"text-purple-600 dark:text-purple-400",children:t?"true":"false"}):typeof t=="number"?e.jsx("span",{className:"text-blue-700",children:String(t)}):typeof t=="string"?e.jsxs("span",{className:"text-green-700 dark:text-green-400",children:['"',t,'"']}):Array.isArray(t)?e.jsx(u,{value:t,depth:r}):typeof t=="object"?e.jsx(m,{value:t,depth:r}):e.jsx("span",{className:"text-gray-500",children:String(t)})}function m({value:t,depth:r}){const s=Object.keys(t),[c,a]=l.useState(r<2);return s.length===0?e.jsx("span",{className:"text-gray-500",children:"{}"}):e.jsx(x,{open:c,onToggle:()=>a(n=>!n),collapsedLabel:`{…} ${s.length} ${s.length===1?"key":"keys"}`,openBracket:"{",closeBracket:"}",depth:r,children:s.map((n,i)=>e.jsxs("div",{className:"pl-4",children:[e.jsxs("span",{className:"text-rose-700 dark:text-rose-400",children:['"',n,'"']}),e.jsx("span",{className:"text-gray-500",children:": "}),e.jsx(o,{value:t[n],depth:r+1}),i<s.length-1?e.jsx("span",{className:"text-gray-500",children:","}):null]},n))})}function u({value:t,depth:r}){const[s,c]=l.useState(r<2);return t.length===0?e.jsx("span",{className:"text-gray-500",children:"[]"}):e.jsx(x,{open:s,onToggle:()=>c(a=>!a),collapsedLabel:`[…] ${t.length} ${t.length===1?"item":"items"}`,openBracket:"[",closeBracket:"]",depth:r,children:t.map((a,n)=>e.jsxs("div",{className:"pl-4",children:[e.jsx(o,{value:a,depth:r+1}),n<t.length-1?e.jsx("span",{className:"text-gray-500",children:","}):null]},n))})}function x({open:t,onToggle:r,collapsedLabel:s,openBracket:c,closeBracket:a,depth:n,children:i}){return e.jsxs("span",{children:[e.jsx("button",{type:"button",onClick:r,"aria-expanded":t,className:"inline-flex items-center align-baseline text-gray-500 hover:text-gray-800 dark:hover:text-gray-200",children:e.jsx(g,{className:`h-3 w-3 shrink-0 transition-transform ${t?"rotate-90":""}`,"aria-hidden":!0})}),e.jsx("span",{className:"text-gray-500",children:c}),t?e.jsxs(e.Fragment,{children:[i,e.jsx("div",{className:n===0?"":"pl-0",children:e.jsx("span",{className:"text-gray-500",children:a})})]}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"px-1 text-gray-500",children:s}),e.jsx("span",{className:"text-gray-500",children:a})]})]})}export{N as default};
|