@nocobase/portal-template-default 1.0.16 → 1.0.18
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/.env.example +0 -4
- package/AGENTS.md +10 -0
- package/README.MD +4 -0
- package/dist/assets/{LineDraw-vPRTWiQ5.js → LineDraw-B3HsIvjF.js} +1 -1
- package/dist/assets/{SymbolDraw-DOl_Tss3.js → SymbolDraw-C5oA6gYo.js} +1 -1
- package/dist/assets/{VisualMapping-j08W3KBm.js → VisualMapping-CjyVXYl-.js} +1 -1
- package/dist/assets/auth-method-demo-B4sxmO2B.js +1 -0
- package/dist/assets/auto-login-provider-DPtJmWC-.js +1 -0
- package/dist/assets/{auto-login-provider-Bukw7zEe.js → auto-login-provider-pxf3kSYY.js} +2 -2
- package/dist/assets/auto-redirect-provider-B51i6R_U.js +1 -0
- package/dist/assets/auto-redirect-provider-CDA_97es.js +1 -0
- package/dist/assets/auto-redirect-provider-CeJOAYfx.js +1 -0
- package/dist/assets/calendar-B41MfAkB.js +1 -0
- package/dist/assets/{cas-sign-in-button-BQn3Mttx.js → cas-sign-in-button-DmkMYnGb.js} +1 -1
- package/dist/assets/{components-BT5mL9gW.js → components-DLLYm5Qd.js} +3 -3
- package/dist/assets/{configuration-gate-BJoadoA6.js → configuration-gate-CdktspSj.js} +1 -1
- package/dist/assets/{createClipPathFromCoordSys-m8IbnJ1z.js → createClipPathFromCoordSys-BKzf1iWj.js} +1 -1
- package/dist/assets/createSeriesDataSimply-Dcpkokbc.js +1 -0
- package/dist/assets/{customGraphicKeyframeAnimation-CYLPurwK.js → customGraphicKeyframeAnimation-BYcy-PGj.js} +1 -1
- package/dist/assets/demo-BpC2e3zt.js +1 -0
- package/dist/assets/demo-CEA7jJM2.js +1 -0
- package/dist/assets/demo-CX_Zf30k.js +1 -0
- package/dist/assets/demo-CyvGiwq2.js +1 -0
- package/dist/assets/demo-DJgGXOii.js +1 -0
- package/dist/assets/demo-GTMcYVzl.js +1 -0
- package/dist/assets/demo-O2QwJ70o.js +1 -0
- package/dist/assets/{dingtalk-sign-in-button-DSluFaP9.js → dingtalk-sign-in-button-K_2ZYQNC.js} +1 -1
- package/dist/assets/{echarts-preview-mRXoEciY.js → echarts-preview-CTj0x24f.js} +1 -1
- package/dist/assets/{echarts-runtime-CvLr4Slh.js → echarts-runtime-BTfAtt-4.js} +3 -3
- package/dist/assets/{echarts-runtime-advanced-BC1tvfQ0.js → echarts-runtime-advanced-Xg4WXsLl.js} +1 -1
- package/dist/assets/{echarts-runtime-common-DhNaV5B8.js → echarts-runtime-common-Dfe5ONoi.js} +1 -1
- package/dist/assets/{echarts-runtime-components-BiioS8t1.js → echarts-runtime-components-BNoMvPY0.js} +1 -1
- package/dist/assets/{echarts-runtime-hierarchy-CAWqYvFh.js → echarts-runtime-hierarchy-bEvX8V8l.js} +1 -1
- package/dist/assets/{floating-RVbHvIiD.js → floating-CVEm6jgD.js} +2 -2
- package/dist/assets/index-0O4dSmNz.js +59 -0
- package/dist/assets/index-BBKV6O5d.css +1 -0
- package/dist/assets/{index-BysibBZu.js → index-Bliz6Sy2.js} +2 -2
- package/dist/assets/index-CMoFG_fD.js +1064 -0
- package/dist/assets/{index-Dw20Lzpp.js → index-N5q0Lo-n.js} +3 -3
- package/dist/assets/{index-C-tdHirk.js → index-dDkRfkPI.js} +1 -1
- package/dist/assets/index-s-Gc7krA.js +38 -0
- package/dist/assets/{labelHelper-DbITmOUW.js → labelHelper-CSRwI3Ku.js} +1 -1
- package/dist/assets/ldap-sign-in-form-BoVMVmwm.js +1 -0
- package/dist/assets/{oidc-sign-in-button-Cgpa8Qzj.js → oidc-sign-in-button-5pd4bZSW.js} +1 -1
- package/dist/assets/{page-context-AU6RU0Qi.js → page-context-o6ISleo3.js} +4 -4
- package/dist/assets/prompt-card-xoH-b2hL.js +1 -0
- package/dist/assets/prompt-output-7ZS2-d1_.js +1 -0
- package/dist/assets/saml-sign-in-button-CN2l8pSN.js +1 -0
- package/dist/assets/{sectorHelper-C6L782Ue.js → sectorHelper-D1jHcZDN.js} +1 -1
- package/dist/assets/shortcut-DUGrhOUX.js +47 -0
- package/dist/assets/{sms-sign-in-form-Bo2WLZuP.js → sms-sign-in-form-ajsTToFF.js} +1 -1
- package/dist/assets/{static.browser-CoPxsICt.js → static.browser-exfE5oYi.js} +1 -1
- package/dist/assets/switch-BVTKHDeA.js +1 -0
- package/dist/assets/{tool-cards-ipgJ_3Ec.js → tool-cards-CQklNnUU.js} +3 -3
- package/dist/assets/{use-authenticator-sign-in-BzFeh7qe.js → use-authenticator-sign-in-B8OPLh-w.js} +1 -1
- package/dist/assets/use-dingtalk-sign-in-DsX00uPU.js +1 -0
- package/dist/assets/{use-wecom-sign-in-PPIMLvGa.js → use-wecom-sign-in-Di3WFrU1.js} +1 -1
- package/dist/assets/{wecom-sign-in-button-rUq9RW8R.js → wecom-sign-in-button-BO8h0tS8.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/index.raw.html +2 -2
- package/package.json +9 -1
- package/src/App.tsx +5 -2
- package/src/app/extension.ts +2 -0
- package/src/app/extensions.tsx +18 -6
- package/src/app/route-access-guard.tsx +22 -0
- package/src/app/route-runtime.ts +200 -0
- package/src/app/routes.tsx +2 -2
- package/src/components/app-shell/header.tsx +56 -1
- package/src/components/app-shell/sidebar.tsx +14 -2
- package/src/components/data-table/data-table-filter.tsx +7 -4
- package/src/extensions/nocobase-acl/README.md +28 -14
- package/src/extensions/nocobase-acl/demo/index.tsx +87 -15
- package/src/extensions/nocobase-acl/demo/prompt-generator.tsx +1 -0
- package/src/extensions/nocobase-mail/README.md +74 -0
- package/src/extensions/nocobase-mail/components/index.ts +79 -0
- package/src/extensions/nocobase-mail/components/mail-api.ts +423 -0
- package/src/extensions/nocobase-mail/components/mail-attachment-list.tsx +67 -0
- package/src/extensions/nocobase-mail/components/mail-compose-attachments.tsx +166 -0
- package/src/extensions/nocobase-mail/components/mail-compose.tsx +1071 -0
- package/src/extensions/nocobase-mail/components/mail-detail.tsx +653 -0
- package/src/extensions/nocobase-mail/components/mail-draft-autosave.ts +26 -0
- package/src/extensions/nocobase-mail/components/mail-empty.tsx +48 -0
- package/src/extensions/nocobase-mail/components/mail-filters.tsx +277 -0
- package/src/extensions/nocobase-mail/components/mail-inbox.tsx +544 -0
- package/src/extensions/nocobase-mail/components/mail-inline-images.ts +69 -0
- package/src/extensions/nocobase-mail/components/mail-label-badge.tsx +25 -0
- package/src/extensions/nocobase-mail/components/mail-label-manager.tsx +271 -0
- package/src/extensions/nocobase-mail/components/mail-labels-editor.tsx +267 -0
- package/src/extensions/nocobase-mail/components/mail-mass-tracking.tsx +271 -0
- package/src/extensions/nocobase-mail/components/mail-note-editor.tsx +99 -0
- package/src/extensions/nocobase-mail/components/mail-recipient-input.tsx +260 -0
- package/src/extensions/nocobase-mail/components/mail-reply-quote.ts +28 -0
- package/src/extensions/nocobase-mail/components/mail-rich-editor.tsx +287 -0
- package/src/extensions/nocobase-mail/components/mail-send-actions.tsx +238 -0
- package/src/extensions/nocobase-mail/components/mail-senders.ts +61 -0
- package/src/extensions/nocobase-mail/components/mail-settings-drawer.tsx +708 -0
- package/src/extensions/nocobase-mail/components/mail-showcase-layout.tsx +64 -0
- package/src/extensions/nocobase-mail/components/mail-signature-manager.tsx +258 -0
- package/src/extensions/nocobase-mail/components/mail-signatures.ts +25 -0
- package/src/extensions/nocobase-mail/components/mail-table.tsx +476 -0
- package/src/extensions/nocobase-mail/components/mail-template-manager.tsx +204 -0
- package/src/extensions/nocobase-mail/components/mail-toolbar.tsx +155 -0
- package/src/extensions/nocobase-mail/components/mail-unread.tsx +111 -0
- package/src/extensions/nocobase-mail/components/types.ts +297 -0
- package/src/extensions/nocobase-mail/components/use-mail-compose.tsx +262 -0
- package/src/extensions/nocobase-mail/components/use-mail-mass-messages.ts +54 -0
- package/src/extensions/nocobase-mail/components/use-mail-messages.ts +113 -0
- package/src/extensions/nocobase-mail/components/use-mail-signatures.ts +122 -0
- package/src/extensions/nocobase-mail/components/use-mail-templates.ts +54 -0
- package/src/extensions/nocobase-mail/extension.tsx +105 -0
- package/src/extensions/nocobase-mail/index.ts +1 -0
- package/src/extensions/nocobase-mail/mail-demo-pages.tsx +503 -0
- package/src/extensions/nocobase-mail/mail-pages.tsx +201 -0
- package/src/extensions/nocobase-mail/tests/mail-quote-html-regression.mjs +51 -0
- package/src/extensions/nocobase-mail/tests/mail-regression.mjs +649 -0
- package/src/extensions/nocobase-users-example/app-routes.tsx +125 -0
- package/src/extensions/nocobase-users-example/extension.tsx +2 -100
- package/src/extensions/nocobase-users-example/index.ts +1 -1
- package/src/lib/nocobase/acl/menu.ts +17 -3
- package/src/lib/nocobase/acl/types.ts +4 -0
- package/src/locales/en-US.ts +2 -1
- package/src/locales/zh-CN.ts +2 -1
- package/src/providers/runtime-config.ts +18 -0
- package/src/routes.tsx +10 -0
- package/src/vite-env.d.ts +3 -0
- package/vite.config.ts +8 -0
- package/dist/assets/auth-method-demo-B2qcpY8z.js +0 -1
- package/dist/assets/auto-login-provider-BMtzvdxG.js +0 -1
- package/dist/assets/auto-redirect-provider-C6GNPg5r.js +0 -1
- package/dist/assets/auto-redirect-provider-D5c6kN2R.js +0 -1
- package/dist/assets/auto-redirect-provider-iTzGEDpU.js +0 -1
- package/dist/assets/calendar-Dv2RNnsr.js +0 -1
- package/dist/assets/card-C9Hpeq1c.js +0 -1
- package/dist/assets/createSeriesDataSimply-DKUV5b5e.js +0 -1
- package/dist/assets/demo-BWGOwqtJ.js +0 -1
- package/dist/assets/demo-BWbcvkya.js +0 -1
- package/dist/assets/demo-DIASSPgn.js +0 -1
- package/dist/assets/demo-DuZ6asUU.js +0 -1
- package/dist/assets/demo-Dxcy4bDE.js +0 -1
- package/dist/assets/demo-YpEC76uw.js +0 -1
- package/dist/assets/demo-wzkoR8T2.js +0 -1
- package/dist/assets/index-CBZbj45X.js +0 -58
- package/dist/assets/index-CgkdZ6Oc.js +0 -686
- package/dist/assets/index-NH3aqqQz.css +0 -1
- package/dist/assets/index-hSBzW-VA.js +0 -43
- package/dist/assets/ldap-sign-in-form-BOMNDTkK.js +0 -1
- package/dist/assets/prompt-card-FWugRgi-.js +0 -1
- package/dist/assets/prompt-output-DMTuTNab.js +0 -1
- package/dist/assets/saml-sign-in-button-qt8bMeoQ.js +0 -1
- package/dist/assets/shortcut-Bu7jT_-w.js +0 -47
- package/dist/assets/switch-DQkkIE7G.js +0 -1
- package/dist/assets/use-dingtalk-sign-in-mrq6K5Yx.js +0 -1
- package/src/extensions/nocobase-users-example/layout.tsx +0 -16
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{y as N,bk as j,b as l,j as e,E as f,F as v,C as c,k as d,l as m,m as p,n as u,o as g,I as w,T as L,bl as C,bm as S,B as x,bn as h,bo as k,bp as R,b7 as P}from"./index-CMoFG_fD.js";import{P as z}from"./prompt-output-7ZS2-d1_.js";/**
|
|
2
2
|
* @license lucide-react v0.487.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -20,4 +20,4 @@ Implementation contract
|
|
|
20
20
|
- Keep Starter and Registry UI resources local. Use app:getLang only for registered dynamic server namespaces such as lm-collections when the NocoBase i18n Registry is installed.
|
|
21
21
|
- Let the shared NocoBase client send the selected locale through X-Locale.
|
|
22
22
|
- Preserve compatibility when server metadata contains exact {{t("...")}} expressions.
|
|
23
|
-
- Provide complete React components, locale resource files, route/resource integration, and realistic visible content.`,[t,n]);return e.jsxs("details",{open:!0,className:"group rounded-xl border bg-muted/15",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium marker:hidden",children:[e.jsx(f,{className:"size-4 text-primary"}),s("demo.prompt.title",{ns:"nocobase-i18n"},"Prompt generator"),e.jsx(v,{className:"ml-auto size-4 text-muted-foreground transition-transform group-open:rotate-180"})]}),e.jsxs("div",{className:"grid items-start gap-5 border-t p-4 xl:grid-cols-[360px_minmax(0,1fr)]",children:[e.jsxs(c,{className:"gap-0 py-0",children:[e.jsxs(d,{className:"border-b py-4",children:[e.jsx(m,{className:"text-base",children:s("demo.prompt.settings",{ns:"nocobase-i18n"},"Scene settings")}),e.jsx(p,{children:s("demo.prompt.description",{ns:"nocobase-i18n"},"Describe a complete multilingual application scene and generate an implementation prompt.")})]}),e.jsxs(u,{className:"space-y-5 py-5",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"i18n-prompt-scene",children:s("demo.prompt.scene",{ns:"nocobase-i18n"},"Application scene")}),e.jsx(w,{id:"i18n-prompt-scene",value:n,onChange:r=>a(r.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"i18n-prompt-languages",children:s("demo.prompt.languages",{ns:"nocobase-i18n"},"Languages")}),e.jsx(L,{id:"i18n-prompt-languages",value:t,onChange:r=>i(r.target.value),className:"min-h-24"})]})]})]}),e.jsx(z,{title:s("demo.prompt.output",{ns:"nocobase-i18n"},"Generated prompt"),description:s("demo.prompt.outputDescription",{ns:"nocobase-i18n"},"Updates as you change the scene and language requirements."),prompt:y,copyLabel:s("demo.prompt.copy",{ns:"nocobase-i18n"},"Copy prompt"),copiedLabel:s("demo.prompt.copied",{ns:"nocobase-i18n"},"Copied"),copyErrorLabel:s("demo.prompt.copyError",{ns:"nocobase-i18n"},"Clipboard access failed. Select the prompt and copy it manually.")})]})]})}function
|
|
23
|
+
- Provide complete React components, locale resource files, route/resource integration, and realistic visible content.`,[t,n]);return e.jsxs("details",{open:!0,className:"group rounded-xl border bg-muted/15",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium marker:hidden",children:[e.jsx(f,{className:"size-4 text-primary"}),s("demo.prompt.title",{ns:"nocobase-i18n"},"Prompt generator"),e.jsx(v,{className:"ml-auto size-4 text-muted-foreground transition-transform group-open:rotate-180"})]}),e.jsxs("div",{className:"grid items-start gap-5 border-t p-4 xl:grid-cols-[360px_minmax(0,1fr)]",children:[e.jsxs(c,{className:"gap-0 py-0",children:[e.jsxs(d,{className:"border-b py-4",children:[e.jsx(m,{className:"text-base",children:s("demo.prompt.settings",{ns:"nocobase-i18n"},"Scene settings")}),e.jsx(p,{children:s("demo.prompt.description",{ns:"nocobase-i18n"},"Describe a complete multilingual application scene and generate an implementation prompt.")})]}),e.jsxs(u,{className:"space-y-5 py-5",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"i18n-prompt-scene",children:s("demo.prompt.scene",{ns:"nocobase-i18n"},"Application scene")}),e.jsx(w,{id:"i18n-prompt-scene",value:n,onChange:r=>a(r.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"i18n-prompt-languages",children:s("demo.prompt.languages",{ns:"nocobase-i18n"},"Languages")}),e.jsx(L,{id:"i18n-prompt-languages",value:t,onChange:r=>i(r.target.value),className:"min-h-24"})]})]})]}),e.jsx(z,{title:s("demo.prompt.output",{ns:"nocobase-i18n"},"Generated prompt"),description:s("demo.prompt.outputDescription",{ns:"nocobase-i18n"},"Updates as you change the scene and language requirements."),prompt:y,copyLabel:s("demo.prompt.copy",{ns:"nocobase-i18n"},"Copy prompt"),copiedLabel:s("demo.prompt.copied",{ns:"nocobase-i18n"},"Copied"),copyErrorLabel:s("demo.prompt.copyError",{ns:"nocobase-i18n"},"Clipboard access failed. Select the prompt and copy it manually.")})]})]})}function D(){const s=j(),a=C()(),i=S().length>1;return e.jsxs("div",{className:"space-y-10 pb-12",children:[e.jsxs("header",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{variant:"secondary",children:"i18n"}),e.jsx(x,{variant:"outline",children:a})]}),e.jsx("h1",{className:"text-2xl font-semibold tracking-[-0.025em] sm:text-3xl",children:s("demo.title",{ns:"nocobase-i18n"},"Internationalization")}),e.jsx("p",{className:"max-w-3xl text-sm leading-6 text-muted-foreground",children:s("demo.description",{ns:"nocobase-i18n"},"Optional NocoBase server translations and language controls built on the Starter's internationalization runtime.")})]}),e.jsxs("section",{className:"grid gap-5 xl:grid-cols-3",children:[e.jsxs(c,{children:[e.jsxs(d,{children:[e.jsxs(m,{className:"flex items-center gap-2",children:[e.jsx(h,{className:"size-4"}),s("demo.switcher.title",{ns:"nocobase-i18n"},"Language switcher")]}),e.jsx(p,{children:s("demo.switcher.description",{ns:"nocobase-i18n"},"The same reusable component is also integrated into the signed-in user menu.")})]}),e.jsx(u,{children:i?e.jsx(k,{className:"max-w-sm"}):e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border bg-muted/30 p-4",children:[e.jsx(h,{className:"mt-0.5 size-5 shrink-0 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:s("demo.switcher.unavailable.title",{ns:"nocobase-i18n"},"Only one language is enabled")}),e.jsx("p",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:s("demo.switcher.unavailable.description",{ns:"nocobase-i18n"},"Enable another language in NocoBase system settings to display the switcher.")})]})]})})]}),e.jsx(b,{icon:e.jsx(R,{className:"size-4"}),title:s("demo.frontend.title",{ns:"nocobase-i18n"},"Application UI translations"),description:s("demo.frontend.description",{ns:"nocobase-i18n"},"The Starter provides the runtime while application and Registry components keep their messages in local resource files."),children:e.jsxs("div",{className:"divide-y rounded-lg border",children:[e.jsx(o,{label:s("language.current",{ns:"nocobase-i18n"},"Current language"),value:a}),e.jsx(o,{label:s("demo.frontend.actions",{ns:"nocobase-i18n"},"Common actions"),value:`${s("buttons.apply","Apply")} · ${s("buttons.clear","Clear")}`})]})}),e.jsx(b,{icon:e.jsx(I,{className:"size-4"}),title:s("demo.server.title",{ns:"nocobase-i18n"},"NocoBase metadata translations"),description:s("demo.server.description",{ns:"nocobase-i18n"},"Collection and field labels are loaded from dynamic server namespaces such as lm-collections."),children:e.jsxs("div",{className:"divide-y rounded-lg border",children:[e.jsx(o,{label:"Users",value:s("Users",{ns:"lm-collections"},"Users")}),e.jsx(o,{label:"Nickname",value:s("Nickname",{ns:"lm-collections"},"Nickname")}),e.jsx(o,{label:"X-Locale",value:P.getLocale()??a,code:!0})]})})]}),e.jsx("section",{className:"border-t pt-8",children:e.jsx(T,{})})]})}function o({code:s,label:n,value:a}){return e.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2.5",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:n}),s?e.jsx("code",{className:"rounded bg-muted px-2 py-1 text-xs",children:a}):e.jsx("span",{className:"text-sm font-medium",children:a})]})}function b({children:s,description:n,icon:a,title:t}){return e.jsxs(c,{children:[e.jsxs(d,{children:[e.jsxs(m,{className:"flex items-center gap-2",children:[a,t]}),e.jsx(p,{children:n})]}),e.jsx(u,{className:"text-sm",children:s})]})}export{D as I18nDemoPage};
|