@transferwise/components 41.5.2-next-41fa7e8ce4.87 → 41.5.2-next-b7bb815196.87
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/CHANGELOG.md +19 -0
- package/build/es/no-polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
- package/build/es/no-polyfill/alert/Alert.js +1 -1
- package/build/es/no-polyfill/chips/Chip.js +1 -1
- package/build/es/no-polyfill/common/bottomSheet/BottomSheet.js +2 -2
- package/build/es/no-polyfill/common/hooks/index.js +1 -1
- package/build/es/no-polyfill/common/responsivePanel/ResponsivePanel.js +1 -1
- package/build/es/no-polyfill/criticalBanner/CriticalCommsBanner.js +1 -1
- package/build/es/no-polyfill/drawer/Drawer.js +1 -1
- package/build/es/no-polyfill/header/Header.js +1 -1
- package/build/es/no-polyfill/index.js +1 -1
- package/build/es/no-polyfill/inlineAlert/InlineAlert.js +1 -1
- package/build/es/no-polyfill/instructionsList/InstructionsList.js +1 -1
- package/build/es/no-polyfill/logo/Logo.js +1 -1
- package/build/es/no-polyfill/modal/Modal.js +1 -1
- package/build/es/no-polyfill/provider/index.js +1 -1
- package/build/es/no-polyfill/select/Select.js +1 -1
- package/build/es/no-polyfill/switch/Switch.js +1 -1
- package/build/es/no-polyfill/tile/Tile.js +1 -1
- package/build/es/polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
- package/build/es/polyfill/alert/Alert.js +1 -1
- package/build/es/polyfill/chips/Chip.js +1 -1
- package/build/es/polyfill/common/bottomSheet/BottomSheet.js +2 -2
- package/build/es/polyfill/common/hooks/index.js +1 -1
- package/build/es/polyfill/common/responsivePanel/ResponsivePanel.js +1 -1
- package/build/es/polyfill/criticalBanner/CriticalCommsBanner.js +1 -1
- package/build/es/polyfill/drawer/Drawer.js +1 -1
- package/build/es/polyfill/header/Header.js +1 -1
- package/build/es/polyfill/index.js +1 -1
- package/build/es/polyfill/inlineAlert/InlineAlert.js +1 -1
- package/build/es/polyfill/instructionsList/InstructionsList.js +1 -1
- package/build/es/polyfill/logo/Logo.js +1 -1
- package/build/es/polyfill/modal/Modal.js +1 -1
- package/build/es/polyfill/provider/index.js +1 -1
- package/build/es/polyfill/select/Select.js +1 -1
- package/build/es/polyfill/switch/Switch.js +1 -1
- package/build/es/polyfill/tile/Tile.js +1 -1
- package/build/main.css +1 -1
- package/build/styles/dimmer/Dimmer.css +1 -1
- package/build/styles/main.css +1 -1
- package/build/types/accordion/AccordionItem/AccordionItem.d.ts +2 -2
- package/build/types/common/RadioButton/RadioButton.d.ts +1 -1
- package/build/types/common/hooks/index.d.ts +0 -1
- package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts +1 -1
- package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts +1 -1
- package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts +1 -1
- package/build/types/dynamicFieldDefinitionList/FormattedValue/FormattedValue.d.ts +2 -2
- package/build/types/index.d.ts +1 -1
- package/build/types/provider/Provider.story.d.ts +3 -3
- package/build/types/provider/index.d.ts +0 -1
- package/build/types/tabs/TabPanel.d.ts +3 -3
- package/build/types/tile/Tile.d.ts +2 -2
- package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts +2 -2
- package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts +1 -1
- package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +1 -1
- package/build/types/withNextPortal/withNextPortal.d.ts +1 -1
- package/build/umd/no-polyfill/main.js +1 -1
- package/build/umd/polyfill/main.js +1 -1
- package/package.json +5 -3
- package/build/es/no-polyfill/common/hocs/index.js +0 -1
- package/build/es/no-polyfill/common/hocs/theme/index.js +0 -1
- package/build/es/no-polyfill/common/hocs/theme/withTheme.js +0 -2
- package/build/es/no-polyfill/common/hocs/theme/withTheme.spec.js +0 -1
- package/build/es/no-polyfill/common/hooks/useTheme/index.js +0 -1
- package/build/es/no-polyfill/common/hooks/useTheme/useTheme.js +0 -1
- package/build/es/no-polyfill/common/hooks/useTheme/useTheme.spec.js +0 -1
- package/build/es/no-polyfill/provider/theme/ThemeProvider.js +0 -3
- package/build/es/no-polyfill/provider/theme/ThemeProvider.spec.js +0 -2
- package/build/es/no-polyfill/provider/theme/index.js +0 -1
- package/build/es/polyfill/common/hocs/index.js +0 -1
- package/build/es/polyfill/common/hocs/theme/index.js +0 -1
- package/build/es/polyfill/common/hocs/theme/withTheme.js +0 -2
- package/build/es/polyfill/common/hocs/theme/withTheme.spec.js +0 -1
- package/build/es/polyfill/common/hooks/useTheme/index.js +0 -1
- package/build/es/polyfill/common/hooks/useTheme/useTheme.js +0 -1
- package/build/es/polyfill/common/hooks/useTheme/useTheme.spec.js +0 -1
- package/build/es/polyfill/provider/theme/ThemeProvider.js +0 -3
- package/build/es/polyfill/provider/theme/ThemeProvider.spec.js +0 -2
- package/build/es/polyfill/provider/theme/index.js +0 -1
- package/build/types/common/hocs/index.d.ts +0 -1
- package/build/types/common/hocs/theme/index.d.ts +0 -1
- package/build/types/common/hocs/theme/withTheme.d.ts +0 -10
- package/build/types/common/hocs/theme/withTheme.spec.d.ts +0 -1
- package/build/types/common/hooks/useTheme/index.d.ts +0 -1
- package/build/types/common/hooks/useTheme/useTheme.d.ts +0 -5
- package/build/types/common/hooks/useTheme/useTheme.spec.d.ts +0 -1
- package/build/types/provider/theme/ThemeProvider.d.ts +0 -9
- package/build/types/provider/theme/ThemeProvider.spec.d.ts +0 -1
- package/build/types/provider/theme/index.d.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@transferwise/components",
|
|
3
|
-
"version": "41.5.2-next-
|
|
3
|
+
"version": "41.5.2-next-b7bb815196.87+b7bb815196",
|
|
4
4
|
"description": "Neptune React components",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/umd/polyfill/main.js",
|
|
@@ -67,13 +67,14 @@
|
|
|
67
67
|
"@storybook/addon-links": "^6.4.19",
|
|
68
68
|
"@transferwise/icons": "^3.2.1",
|
|
69
69
|
"@transferwise/less-config": "^3.0.6",
|
|
70
|
-
"@transferwise/neptune-css": "^12.5.
|
|
70
|
+
"@transferwise/neptune-css": "^12.5.9-next-b7bb815196.204+b7bb815196",
|
|
71
71
|
"@transferwise/neptune-tokens": "8.0.0-next.20",
|
|
72
72
|
"@transferwise/test-config": "^5.0.0",
|
|
73
73
|
"@types/jest": "^26.0.20",
|
|
74
74
|
"@types/jscodeshift": "^0.11.0",
|
|
75
75
|
"@types/node": "^14.14.31",
|
|
76
76
|
"@types/react-transition-group": "4.4.4",
|
|
77
|
+
"@wise/components-theming": "^0.1.1-next-b7bb815196.2417+b7bb815196",
|
|
77
78
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
78
79
|
"html-loader": "^1.3.2",
|
|
79
80
|
"lodash.times": "^4.3.2",
|
|
@@ -87,6 +88,7 @@
|
|
|
87
88
|
"peerDependencies": {
|
|
88
89
|
"@transferwise/icons": "^3.2.1",
|
|
89
90
|
"@transferwise/neptune-css": "^12",
|
|
91
|
+
"@wise/components-theming": "^0.1.0",
|
|
90
92
|
"currency-flags": "4.0.0-beta.11",
|
|
91
93
|
"prop-types": "^15.7.2",
|
|
92
94
|
"react": ">=16.14",
|
|
@@ -132,5 +134,5 @@
|
|
|
132
134
|
"**/chokidar/glob-parent": "5.1.2",
|
|
133
135
|
"**/fast-glob/glob-parent": "5.1.2"
|
|
134
136
|
},
|
|
135
|
-
"gitHead": "
|
|
137
|
+
"gitHead": "b7bb815196ab445648a3d802ea54a7f1ce7936e6"
|
|
136
138
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{default as withTheme}from"./theme";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{withTheme as default}from"./withTheme";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useTheme}from"../../hooks";// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
|
-
import{jsx as _jsx}from"react/jsx-runtime";function getDisplayName(a){return a.displayName||a.name||"Component"}export function withTheme(a){var b=function(b){var c=useTheme(),d=c.theme;return/*#__PURE__*/_jsx(a,_objectSpread({theme:d},b))};return b.displayName="withTheme(".concat(getDisplayName(a),")"),b.WrappedComponent=a,b}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{render,screen}from"@testing-library/react";import{Theme}from"../..";import{ThemeProvider}from"../../../provider";import{withTheme}from"./withTheme";import{jsx as _jsx}from"react/jsx-runtime";var Component=withTheme(function(a){var b=a.theme,c=a.className;return/*#__PURE__*/_jsx("div",{className:c,"data-testid":"themed","data-theme":b})});describe("withTheme",function(){it("returns default light theme",function(){render(/*#__PURE__*/_jsx(Component,{className:"test-class"}));var a=screen.getByTestId("themed");expect(a).toHaveClass("test-class"),expect(a).toHaveAttribute("data-theme",Theme.LIGHT)}),it("returns provided theme",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Component,{})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.NAVY)}),it("returns closest theme provider value",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx(Component,{})})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.DARK)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{useTheme as default}from"./useTheme";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useContext,useMemo}from"react";import{ThemeContext}from"../../../provider/theme/ThemeProvider";import{getThemeClassName,modernThemes}from"../../theme";export var useTheme=function(){var a=useContext(ThemeContext);return{theme:a,isThemeModern:useMemo(function(){return modernThemes.has(a)},[a]),className:useMemo(function(){return getThemeClassName(a)},[a])}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{renderHook}from"@testing-library/react-hooks";import{Theme}from"../../../common/theme";import{ThemeProvider}from"../../../provider";import{useTheme}from"./useTheme";describe("useTheme",function(){it("returns default light theme",function(){var a=renderHook(function(){return useTheme()}),b=a.result.current;expect(b.theme).toStrictEqual(Theme.LIGHT)}),it("returns provided theme",function(){var a=renderHook(function(){return useTheme()},{wrapper:ThemeProvider,initialProps:{theme:Theme.NAVY}}),b=a.result.current;expect(b.theme).toStrictEqual(Theme.NAVY)})});
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import React from"react";import{Children,cloneElement,createContext,isValidElement}from"react";import{getThemeClassName,Theme}from"../../common/theme";import{jsx as _jsx}from"react/jsx-runtime";export var ThemeContext=/*#__PURE__*/createContext(Theme.LIGHT);export var ThemeProvider=function(a){var b=a.theme,c=a.children,d=Children.map(c,function(a){var c;if(!/*#__PURE__*/isValidElement(a))return"production"!==process.env.NODE_ENV&&console.warn("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!"),a;// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
2
|
-
var d=[getThemeClassName(b),null===a||void 0===a||null===(c=a.props)||void 0===c?void 0:c.className].filter(Boolean).join(" ");if(/*#__PURE__*/isValidElement(a))// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
return/*#__PURE__*/cloneElement(a,{className:d})});return/*#__PURE__*/_jsx(ThemeContext.Provider,{value:b,children:d})};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{render,screen}from"@testing-library/react";import{DirectionProvider}from"..";import{Button}from"../..";import{Direction}from"../../common/direction";import{Theme}from"../../common/theme";import{ThemeProvider}from"./ThemeProvider";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";describe("ThemeProvider",function(){it("appends theme to children",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"children 1"}),/*#__PURE__*/_jsx("div",{children:"children 2"})]})),expect(screen.getByText("children 1")).toHaveClass("np-theme-light"),expect(screen.getByText("children 2")).toHaveClass("np-theme-light")}),it("concatenate className with children",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.LIGHT,children:/*#__PURE__*/_jsx("div",{className:"other class names",children:"children"})})),expect(screen.getByText("children")).toHaveClass("np-theme-light other class names")}),it("can nest theme providers",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"light"}),/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx("div",{children:"navy"}),/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx("div",{children:"dark"})})]})]})),expect(screen.getByText("light")).toHaveClass("np-theme-light"),expect(screen.getByText("navy")).toHaveClass("np-theme-navy"),expect(screen.getByText("dark")).toHaveClass("np-theme-dark")}),it("can append className to a component",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})})),expect(screen.getByTestId("button")).toHaveClass("np-theme-navy")}),it("displays console warning when children is not a valid React element",function(){// eslint-disable-next-line no-console
|
|
2
|
-
jest.spyOn(console,"warn").mockImplementation(function(){return jest.fn()}),render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx(DirectionProvider,{direction:Direction.LTR,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})}),","]})),expect(screen.getByTestId("button")).not.toHaveClass("np-theme-navy"),expect(console.warn).toHaveBeenCalledWith("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{ThemeContext,ThemeProvider}from"./ThemeProvider";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{default as withTheme}from"./theme";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{withTheme as default}from"./withTheme";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.get-own-property-descriptors.js";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"core-js/modules/es.function.name.js";import{useTheme}from"../../hooks";// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
|
-
import{jsx as _jsx}from"react/jsx-runtime";function getDisplayName(a){return a.displayName||a.name||"Component"}export function withTheme(a){var b=function(b){var c=useTheme(),d=c.theme;return/*#__PURE__*/_jsx(a,_objectSpread({theme:d},b))};return b.displayName="withTheme(".concat(getDisplayName(a),")"),b.WrappedComponent=a,b}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{render,screen}from"@testing-library/react";import{Theme}from"../..";import{ThemeProvider}from"../../../provider";import{withTheme}from"./withTheme";import{jsx as _jsx}from"react/jsx-runtime";var Component=withTheme(function(a){var b=a.theme,c=a.className;return/*#__PURE__*/_jsx("div",{className:c,"data-testid":"themed","data-theme":b})});describe("withTheme",function(){it("returns default light theme",function(){render(/*#__PURE__*/_jsx(Component,{className:"test-class"}));var a=screen.getByTestId("themed");expect(a).toHaveClass("test-class"),expect(a).toHaveAttribute("data-theme",Theme.LIGHT)}),it("returns provided theme",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Component,{})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.NAVY)}),it("returns closest theme provider value",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx(Component,{})})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.DARK)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{useTheme as default}from"./useTheme";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useContext,useMemo}from"react";import{ThemeContext}from"../../../provider/theme/ThemeProvider";import{getThemeClassName,modernThemes}from"../../theme";export var useTheme=function(){var a=useContext(ThemeContext);return{theme:a,isThemeModern:useMemo(function(){return modernThemes.has(a)},[a]),className:useMemo(function(){return getThemeClassName(a)},[a])}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{renderHook}from"@testing-library/react-hooks";import{Theme}from"../../../common/theme";import{ThemeProvider}from"../../../provider";import{useTheme}from"./useTheme";describe("useTheme",function(){it("returns default light theme",function(){var a=renderHook(function(){return useTheme()}),b=a.result.current;expect(b.theme).toStrictEqual(Theme.LIGHT)}),it("returns provided theme",function(){var a=renderHook(function(){return useTheme()},{wrapper:ThemeProvider,initialProps:{theme:Theme.NAVY}}),b=a.result.current;expect(b.theme).toStrictEqual(Theme.NAVY)})});
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import"core-js/modules/es.array.map.js";import"core-js/modules/es.array.join.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.to-string.js";import React from"react";import{Children,cloneElement,createContext,isValidElement}from"react";import{getThemeClassName,Theme}from"../../common/theme";import{jsx as _jsx}from"react/jsx-runtime";export var ThemeContext=/*#__PURE__*/createContext(Theme.LIGHT);export var ThemeProvider=function(a){var b=a.theme,c=a.children,d=Children.map(c,function(a){var c;if(!/*#__PURE__*/isValidElement(a))return"production"!==process.env.NODE_ENV&&console.warn("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!"),a;// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
2
|
-
var d=[getThemeClassName(b),null===a||void 0===a||null===(c=a.props)||void 0===c?void 0:c.className].filter(Boolean).join(" ");if(/*#__PURE__*/isValidElement(a))// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
return/*#__PURE__*/cloneElement(a,{className:d})});return/*#__PURE__*/_jsx(ThemeContext.Provider,{value:b,children:d})};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{render,screen}from"@testing-library/react";import{DirectionProvider}from"..";import{Button}from"../..";import{Direction}from"../../common/direction";import{Theme}from"../../common/theme";import{ThemeProvider}from"./ThemeProvider";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";describe("ThemeProvider",function(){it("appends theme to children",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"children 1"}),/*#__PURE__*/_jsx("div",{children:"children 2"})]})),expect(screen.getByText("children 1")).toHaveClass("np-theme-light"),expect(screen.getByText("children 2")).toHaveClass("np-theme-light")}),it("concatenate className with children",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.LIGHT,children:/*#__PURE__*/_jsx("div",{className:"other class names",children:"children"})})),expect(screen.getByText("children")).toHaveClass("np-theme-light other class names")}),it("can nest theme providers",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"light"}),/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx("div",{children:"navy"}),/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx("div",{children:"dark"})})]})]})),expect(screen.getByText("light")).toHaveClass("np-theme-light"),expect(screen.getByText("navy")).toHaveClass("np-theme-navy"),expect(screen.getByText("dark")).toHaveClass("np-theme-dark")}),it("can append className to a component",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})})),expect(screen.getByTestId("button")).toHaveClass("np-theme-navy")}),it("displays console warning when children is not a valid React element",function(){// eslint-disable-next-line no-console
|
|
2
|
-
jest.spyOn(console,"warn").mockImplementation(function(){return jest.fn()}),render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx(DirectionProvider,{direction:Direction.LTR,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})}),","]})),expect(screen.getByTestId("button")).not.toHaveClass("np-theme-navy"),expect(console.warn).toHaveBeenCalledWith("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{ThemeContext,ThemeProvider}from"./ThemeProvider";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as withTheme } from './theme';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { withTheme as default } from './withTheme';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ThemeType } from '../..';
|
|
3
|
-
declare type WithThemeProps = {
|
|
4
|
-
theme: ThemeType;
|
|
5
|
-
};
|
|
6
|
-
export declare type WrappedComponentProps<P> = Omit<P, keyof WithThemeProps>;
|
|
7
|
-
export declare function withTheme<P extends WrappedComponentProps<P>>(WrappedComponent: React.FunctionComponent<P & WithThemeProps>): import("react").FC<P> & {
|
|
8
|
-
WrappedComponent: React.FunctionComponent<P & WithThemeProps>;
|
|
9
|
-
};
|
|
10
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTheme as default } from './useTheme';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { PropsWithChildren } from 'react';
|
|
3
|
-
import { ThemeType } from '../../common/theme';
|
|
4
|
-
export declare const ThemeContext: React.Context<ThemeType>;
|
|
5
|
-
declare type ThemeProviderProps = PropsWithChildren<{
|
|
6
|
-
theme: ThemeType;
|
|
7
|
-
}>;
|
|
8
|
-
export declare const ThemeProvider: ({ theme, children }: ThemeProviderProps) => JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ThemeContext, ThemeProvider } from "./ThemeProvider";
|