@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.
@@ -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"}
@@ -0,0 +1 @@
1
+ export * from './ThemeProviderNext';
@@ -0,0 +1,5 @@
1
+ import { ThemeProviderNext as o } from "./ThemeProviderNext.es.js";
2
+ export {
3
+ o as ThemeProviderNext
4
+ };
5
+ //# sourceMappingURL=index.es.js.map
@@ -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
+ }