@join-x5/react-provider-next 1.0.0-rc
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/ThemeProviderNext.d.ts +21 -0
- package/dist/ThemeProviderNext.es.js +21 -0
- package/dist/ThemeProviderNext.es.js.map +1 -0
- package/dist/fonts/index.d.ts +1 -0
- package/dist/fonts/index.es.js +6 -0
- package/dist/fonts/index.es.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +5 -0
- package/dist/index.es.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ThemeName, ThemeProps, PropsWithChildren } from '@join-x5/react-theme';
|
|
2
|
+
type ThemeProviderNextProps = {
|
|
3
|
+
/** Путь к шрифтам X5 Sans
|
|
4
|
+
*
|
|
5
|
+
* также требуется скопировать из репозитория шрифты, и добавить в public/${fontsPath}
|
|
6
|
+
*/
|
|
7
|
+
fontsPath?: string;
|
|
8
|
+
/** Тема */
|
|
9
|
+
themeName?: ThemeName | `${ThemeName}`;
|
|
10
|
+
/** Свойства темы
|
|
11
|
+
*
|
|
12
|
+
* Используется если не подошла палитра из themeName
|
|
13
|
+
*/
|
|
14
|
+
themeProps?: ThemeProps;
|
|
15
|
+
} & PropsWithChildren;
|
|
16
|
+
/** Тема, совместима с Next.js (для не ssr используйте ThemeProvider)
|
|
17
|
+
*
|
|
18
|
+
* добавляет SnackbarProvider
|
|
19
|
+
*/
|
|
20
|
+
export declare const ThemeProviderNext: React.FC<ThemeProviderNextProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs as s, jsx as h } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import { ThemeProvider as i, Global as n } from "@emotion/react";
|
|
4
|
+
import { ThemeName as f, themes as p } from "@join-x5/react-theme";
|
|
5
|
+
import { getFonts as d } from "./fonts/index.es.js";
|
|
6
|
+
const P = (t) => {
|
|
7
|
+
const {
|
|
8
|
+
children: o,
|
|
9
|
+
fontsPath: e,
|
|
10
|
+
themeProps: r,
|
|
11
|
+
themeName: m = f.Base
|
|
12
|
+
} = t;
|
|
13
|
+
return /* @__PURE__ */ s(i, { theme: r ?? p[m], children: [
|
|
14
|
+
typeof e < "u" && /* @__PURE__ */ h(n, { styles: d(e) }),
|
|
15
|
+
o
|
|
16
|
+
] });
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
P as ThemeProviderNext
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=ThemeProviderNext.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProviderNext.es.js","sources":["../src/ThemeProviderNext.tsx"],"sourcesContent":["'use client';\n\nimport {Global, ThemeProvider as BaseThemeProvider} from '@emotion/react';\n\nimport {ThemeName, themes} from '@join-x5/react-theme';\n\nimport {getFonts} from './fonts';\n\nimport type {ThemeProps, PropsWithChildren} from '@join-x5/react-theme';\n\ntype ThemeProviderNextProps = {\n /** Путь к шрифтам X5 Sans\n *\n * также требуется скопировать из репозитория шрифты, и добавить в public/${fontsPath}\n */\n fontsPath?: string;\n\n /** Тема */\n themeName?: ThemeName;\n\n /** Свойства темы\n *\n * Используется если не подошла палитра из themeName\n */\n themeProps?: ThemeProps;\n} & PropsWithChildren;\n\n/** Тема, совместима с Next.js (для не ssr используйте ThemeProvider)\n *\n * добавляет SnackbarProvider\n */\nexport const ThemeProviderNext: React.FC<ThemeProviderNextProps> = props => {\n const {children, fontsPath, themeProps, themeName = ThemeName.Base} = props;\n\n return (\n <BaseThemeProvider theme={themeProps ?? themes[themeName]}>\n {typeof fontsPath !== 'undefined' && <Global styles={getFonts(fontsPath)} />}\n {children}\n </BaseThemeProvider>\n );\n};\n"],"names":["children","fontsPath","themeProps","Base"],"mappings":";;;;;AA+BO;AACC;AAAA;AAACA;AAAUC;AAAWC;AAAkCC;AAE9D;AAEK;AAA2E;AAC3EH;AAGP;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getFonts: (path: string) => import('@emotion/react').SerializedStyles;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { css as b } from "@emotion/react";
|
|
2
|
+
const c = (o) => /* @__PURE__ */ b("@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:400;font-display:swap;src:url(", o, "/X5-Sans-UI_Regular.woff2) format('woff2'),url(", o, "/X5-Sans-UI_Regular.woff) format('woff');}@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:500;font-display:swap;src:url(", o, "/X5-Sans-UI_Medium.woff) format('woff2'),url(", o, "/X5-Sans-UI_Medium.woff2) format('woff');}@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:700;font-display:swap;src:url(", o, "/X5-Sans-UI_Bold.woff) format('woff2'),url(", o, "/X5-Sans-UI_Bold.woff2) format('woff');}" + (process.env.NODE_ENV === "production" ? "" : ";label:getFonts;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL3Byb3ZpZGVyLW5leHQvc3JjL2ZvbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUU2QyIsImZpbGUiOiIvaG9tZS9zYWR5a292c2Qvam9pbi14NS9wYWNrYWdlcy9wcm92aWRlci1uZXh0L3NyYy9mb250cy9pbmRleC50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3NzfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBnZXRGb250cyA9IChwYXRoOiBzdHJpbmcpID0+IGNzc2BcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdYNSBTYW5zIFVJJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOlxuICAgICAgdXJsKCR7cGF0aH0vWDUtU2Fucy1VSV9SZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX1JlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1g1IFNhbnMgVUknO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6XG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX01lZGl1bS53b2ZmKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX01lZGl1bS53b2ZmMikgZm9ybWF0KCd3b2ZmJyk7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1g1IFNhbnMgVUknO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6XG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX0JvbGQud29mZikgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgdXJsKCR7cGF0aH0vWDUtU2Fucy1VSV9Cb2xkLndvZmYyKSBmb3JtYXQoJ3dvZmYnKTtcbiAgfVxuYDtcbiJdfQ== */");
|
|
3
|
+
export {
|
|
4
|
+
c as getFonts
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/fonts/index.ts"],"sourcesContent":["import {css} from '@emotion/react';\n\nexport const getFonts = (path: string) => css`\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Regular.woff2) format('woff2'),\n url(${path}/X5-Sans-UI_Regular.woff) format('woff');\n }\n\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Medium.woff) format('woff2'),\n url(${path}/X5-Sans-UI_Medium.woff2) format('woff');\n }\n\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Bold.woff) format('woff2'),\n url(${path}/X5-Sans-UI_Bold.woff2) format('woff');\n }\n`;\n"],"names":["getFonts","path","css","process","env","NODE_ENV"],"mappings":";AAEO,MAAMA,IAAWA,CAACC,MAAiBC,gBAAAA,EAO9BD,oGAAAA,GACAA,mDAAAA,iJASAA,GAAI,iDACJA,GAAI,8IASJA,GAAI,+CACJA,GAAI,8CAAAE,QAAAC,IAAAC,sDAAAF,QAAAC,IAAAC,aAEf,eAAA,KAAA,y+CAAA;"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@emotion/react/jsx-runtime"),t=require("@emotion/react"),m=require("@join-x5/react-theme"),f=o=>t.css("@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:400;font-display:swap;src:url(",o,"/X5-Sans-UI_Regular.woff2) format('woff2'),url(",o,"/X5-Sans-UI_Regular.woff) format('woff');}@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:500;font-display:swap;src:url(",o,"/X5-Sans-UI_Medium.woff) format('woff2'),url(",o,"/X5-Sans-UI_Medium.woff2) format('woff');}@font-face{font-family:'X5 Sans UI';font-style:normal;font-weight:700;font-display:swap;src:url(",o,"/X5-Sans-UI_Bold.woff) format('woff2'),url(",o,"/X5-Sans-UI_Bold.woff2) format('woff');}"+(process.env.NODE_ENV==="production"?"":";label:getFonts;"),process.env.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL3Byb3ZpZGVyLW5leHQvc3JjL2ZvbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUU2QyIsImZpbGUiOiIvaG9tZS9zYWR5a292c2Qvam9pbi14NS9wYWNrYWdlcy9wcm92aWRlci1uZXh0L3NyYy9mb250cy9pbmRleC50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3NzfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBnZXRGb250cyA9IChwYXRoOiBzdHJpbmcpID0+IGNzc2BcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdYNSBTYW5zIFVJJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOlxuICAgICAgdXJsKCR7cGF0aH0vWDUtU2Fucy1VSV9SZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX1JlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1g1IFNhbnMgVUknO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6XG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX01lZGl1bS53b2ZmKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX01lZGl1bS53b2ZmMikgZm9ybWF0KCd3b2ZmJyk7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1g1IFNhbnMgVUknO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6XG4gICAgICB1cmwoJHtwYXRofS9YNS1TYW5zLVVJX0JvbGQud29mZikgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgdXJsKCR7cGF0aH0vWDUtU2Fucy1VSV9Cb2xkLndvZmYyKSBmb3JtYXQoJ3dvZmYnKTtcbiAgfVxuYDtcbiJdfQ== */"),l=o=>{const{children:b,fontsPath:e,themeProps:I,themeName:n=m.ThemeName.Base}=o;return c.jsxs(t.ThemeProvider,{theme:I??m.themes[n],children:[typeof e<"u"&&c.jsx(t.Global,{styles:f(e)}),b]})};exports.ThemeProviderNext=l;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/fonts/index.ts","../src/ThemeProviderNext.tsx"],"sourcesContent":["import {css} from '@emotion/react';\n\nexport const getFonts = (path: string) => css`\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Regular.woff2) format('woff2'),\n url(${path}/X5-Sans-UI_Regular.woff) format('woff');\n }\n\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Medium.woff) format('woff2'),\n url(${path}/X5-Sans-UI_Medium.woff2) format('woff');\n }\n\n @font-face {\n font-family: 'X5 Sans UI';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src:\n url(${path}/X5-Sans-UI_Bold.woff) format('woff2'),\n url(${path}/X5-Sans-UI_Bold.woff2) format('woff');\n }\n`;\n","'use client';\n\nimport {Global, ThemeProvider as BaseThemeProvider} from '@emotion/react';\n\nimport {ThemeName, themes} from '@join-x5/react-theme';\n\nimport {getFonts} from './fonts';\n\nimport type {ThemeProps, PropsWithChildren} from '@join-x5/react-theme';\n\ntype ThemeProviderNextProps = {\n /** Путь к шрифтам X5 Sans\n *\n * также требуется скопировать из репозитория шрифты, и добавить в public/${fontsPath}\n */\n fontsPath?: string;\n\n /** Тема */\n themeName?: ThemeName;\n\n /** Свойства темы\n *\n * Используется если не подошла палитра из themeName\n */\n themeProps?: ThemeProps;\n} & PropsWithChildren;\n\n/** Тема, совместима с Next.js (для не ssr используйте ThemeProvider)\n *\n * добавляет SnackbarProvider\n */\nexport const ThemeProviderNext: React.FC<ThemeProviderNextProps> = props => {\n const {children, fontsPath, themeProps, themeName = ThemeName.Base} = props;\n\n return (\n <BaseThemeProvider theme={themeProps ?? themes[themeName]}>\n {typeof fontsPath !== 'undefined' && <Global styles={getFonts(fontsPath)} />}\n {children}\n </BaseThemeProvider>\n );\n};\n"],"names":["getFonts","path","css","process","env","NODE_ENV","ThemeProviderNext","props","children","fontsPath","themeProps","themeName","ThemeName","Base","BaseThemeProvider","themes","jsx","Global"],"mappings":"4LAEaA,EAAYC,GAAiBC,EAAAA,IAO9BD,mGAAAA,EACAA,kDAAAA,+IASAA,EAAI,gDACJA,EAAI,6IASJA,EAAI,8CACJA,EAAI,4CAAAE,QAAAC,IAAAC,+CAAAF,QAAAC,IAAAC,WAEf,aAAA,GAAA,y+CAAA,ECDYC,EAA+DC,GAAA,CACpE,KAAA,CAACC,SAAAA,EAAUC,UAAAA,EAAWC,WAAAA,EAAYC,UAAAA,EAAYC,EAAAA,UAAUC,IAAAA,EAAQN,EAEtE,cACGO,EAAkB,cAAA,CAAA,MAAOJ,GAAcK,SAAOJ,CAAS,EACrD,SAAA,CAAA,OAAOF,EAAc,KAAeO,MAACC,EAAAA,QAAO,OAAQjB,EAASS,CAAS,EAAK,EAC3ED,CAAAA,EACH,CAEJ"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ThemeProviderNext';
|
package/dist/index.es.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@join-x5/react-provider-next",
|
|
3
|
+
"version": "1.0.0-rc",
|
|
4
|
+
"private": false,
|
|
5
|
+
"homepage": "https://www.figma.com/design/c0xn3Ib5FZSfPcnfsOIrmy4i/Join-Web%3A-component",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "dist/index.cjs",
|
|
8
|
+
"module": "dist/index.es.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc --noEmit && vite build",
|
|
15
|
+
"lint": "eslint src --ignore-pattern \"**/*.stories.tsx\""
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@emotion/babel-plugin": "^11.13.5",
|
|
19
|
+
"@eslint/js": "^9.3.0",
|
|
20
|
+
"@laynezh/vite-plugin-lib-assets": "^0.5.24",
|
|
21
|
+
"@types/react": "^18.3.11",
|
|
22
|
+
"@types/react-dom": "^18.3.0",
|
|
23
|
+
"@types/react-window": "^1.8.8",
|
|
24
|
+
"@vitejs/plugin-react": "^4.3.2",
|
|
25
|
+
"eslint": "^8.57.0",
|
|
26
|
+
"eslint-config-prettier": "^9.1.0",
|
|
27
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
28
|
+
"eslint-plugin-import": "^2.31.0",
|
|
29
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
30
|
+
"eslint-plugin-react": "^7.34.1",
|
|
31
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
32
|
+
"eslint-plugin-workspaces": "^0.10.1",
|
|
33
|
+
"jsdom": "^25.0.1",
|
|
34
|
+
"prettier": "3.3.3",
|
|
35
|
+
"react": "^18.3.1",
|
|
36
|
+
"react-dom": "^18.3.1",
|
|
37
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
38
|
+
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
39
|
+
"typescript": "^5.4.5",
|
|
40
|
+
"typescript-eslint": "^7.10.0",
|
|
41
|
+
"vite": "^5.4.8",
|
|
42
|
+
"vite-plugin-dts": "^4.2.4",
|
|
43
|
+
"vite-tsconfig-paths": "^5.0.1"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@join-x5/react-theme": "1.0.0-rc",
|
|
47
|
+
"@emotion/react": "^11.11.4",
|
|
48
|
+
"@emotion/styled": "^11.11.5"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"@join-x5/react-theme": "1.0.0-rc",
|
|
52
|
+
"@emotion/react": "^11.11.4",
|
|
53
|
+
"@emotion/styled": "^11.11.5",
|
|
54
|
+
"react": ">=17.0.0",
|
|
55
|
+
"react-dom": ">=17.0.0"
|
|
56
|
+
}
|
|
57
|
+
}
|