@arim-aisdc/public-components 0.0.2 → 0.0.4

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.
Files changed (70) hide show
  1. package/dist/components/Foo/index.d.ts +6 -0
  2. package/dist/{Foo → components/Foo}/index.js +6 -0
  3. package/dist/components/Foo/index.less +3 -0
  4. package/dist/components/TableMax/TableBody/Row.d.ts +38 -0
  5. package/dist/{TableMax → components/TableMax}/TableBody/Row.js +0 -1
  6. package/dist/components/TableMax/TableBody/index.d.ts +49 -0
  7. package/dist/{TableMax → components/TableMax}/TableBody/index.js +6 -12
  8. package/dist/components/TableMax/TableHeader/Cell.d.ts +13 -0
  9. package/dist/{TableMax → components/TableMax}/TableHeader/Cell.js +32 -17
  10. package/dist/components/TableMax/TableHeader/index.d.ts +16 -0
  11. package/dist/{TableMax → components/TableMax}/TableHeader/index.js +8 -15
  12. package/dist/{TableMax → components/TableMax}/TableHeader/index.less +23 -17
  13. package/dist/components/TableMax/TableHeader/utils.d.ts +1 -0
  14. package/dist/components/TableMax/TableMax.d.ts +18 -0
  15. package/dist/{TableMax/index.js → components/TableMax/TableMax.js} +170 -201
  16. package/dist/components/TableMax/components/ColumnEdit/components/numberRange/index.d.ts +8 -0
  17. package/dist/{TableMax → components/TableMax}/components/ColumnEdit/components/numberRange/index.js +4 -3
  18. package/dist/components/TableMax/components/ColumnEdit/index.d.ts +28 -0
  19. package/dist/{TableMax → components/TableMax}/components/ColumnEdit/index.js +31 -12
  20. package/dist/{TableMax → components/TableMax}/components/ColumnEdit/index.less +9 -4
  21. package/dist/components/TableMax/components/ColumnFilter/FilterDateRange/index.d.ts +16 -0
  22. package/dist/{TableMax → components/TableMax}/components/ColumnFilter/FilterDateRange/index.js +5 -4
  23. package/dist/components/TableMax/components/ColumnFilter/MultipleSelect/index.d.ts +8 -0
  24. package/dist/{TableMax → components/TableMax}/components/ColumnFilter/MultipleSelect/index.js +3 -2
  25. package/dist/components/TableMax/components/ColumnFilter/SingleSelect/index.d.ts +8 -0
  26. package/dist/{TableMax → components/TableMax}/components/ColumnFilter/SingleSelect/index.js +3 -2
  27. package/dist/components/TableMax/components/ColumnFilter/customFilterFns.d.ts +6 -0
  28. package/dist/{TableMax → components/TableMax}/components/ColumnFilter/customFilterFns.js +6 -1
  29. package/dist/components/TableMax/components/ColumnFilter/index.d.ts +21 -0
  30. package/dist/{TableMax → components/TableMax}/components/ColumnFilter/index.js +39 -36
  31. package/dist/components/TableMax/components/ColumnSetting/index.d.ts +18 -0
  32. package/dist/{TableMax → components/TableMax}/components/ColumnSetting/index.js +16 -29
  33. package/dist/components/TableMax/components/CustomDragerLayer/index.d.ts +2 -0
  34. package/dist/{TableMax → components/TableMax}/components/CustomDragerLayer/index.js +49 -9
  35. package/dist/{TableMax → components/TableMax}/components/CustomDragerLayer/index.less +9 -5
  36. package/dist/components/TableMax/index.d.ts +7 -0
  37. package/dist/components/TableMax/index.js +5 -0
  38. package/dist/{TableMax/index.less → components/TableMax/tableMax.less} +3 -7
  39. package/dist/components/TableMax/type.d.ts +250 -0
  40. package/dist/components/TableMax/type.js +1 -0
  41. package/dist/components/TableMax/utils.d.ts +6 -0
  42. package/dist/{TableMax → components/TableMax}/utils.js +1 -1
  43. package/dist/constants/index.d.ts +0 -0
  44. package/dist/constants/index.js +0 -0
  45. package/dist/hooks/usePageCacheState/config.d.ts +5 -0
  46. package/dist/hooks/usePageCacheState/config.js +1 -0
  47. package/dist/hooks/usePageCacheState/index.d.ts +25 -0
  48. package/dist/hooks/usePageCacheState/index.js +210 -0
  49. package/dist/hooks/usePageCacheState/tableDemoConfig.d.ts +3 -0
  50. package/dist/hooks/usePageCacheState/tableDemoConfig.js +5 -0
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.js +3 -2
  53. package/dist/themes/ThemeContext.d.ts +6 -0
  54. package/dist/themes/ThemeContext.js +51 -0
  55. package/dist/themes/custom-dark.css +28466 -0
  56. package/dist/themes/custom-light.css +28092 -0
  57. package/dist/themes/theme.d.ts +75 -0
  58. package/dist/themes/theme.js +147 -0
  59. package/dist/themes/variables.less +70 -0
  60. package/dist/utils/index.d.ts +1 -0
  61. package/package.json +92 -89
  62. package/dist/Foo/index.less +0 -3
  63. package/dist/TableMax/type.d.ts +0 -216
  64. /package/dist/{TableMax → components/TableMax}/TableBody/index.less +0 -0
  65. /package/dist/{TableMax → components/TableMax}/TableHeader/utils.js +0 -0
  66. /package/dist/{TableMax → components/TableMax}/components/ColumnEdit/components/numberRange/index.less +0 -0
  67. /package/dist/{TableMax → components/TableMax}/components/ColumnFilter/FilterDateRange/index.less +0 -0
  68. /package/dist/{TableMax → components/TableMax}/components/ColumnFilter/MultipleSelect/index.less +0 -0
  69. /package/dist/{TableMax → components/TableMax}/components/ColumnFilter/SingleSelect/index.less +0 -0
  70. /package/dist/{TableMax → components/TableMax}/components/ColumnSetting/index.less +0 -0
@@ -0,0 +1,210 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
4
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
5
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ import { useMemoizedFn, useUpdateEffect } from 'ahooks';
15
+ import { cloneDeep, mergeWith } from 'lodash';
16
+ import { useState } from 'react';
17
+ import { useLocation } from 'umi'; // TODO: 优化:去掉umi
18
+
19
+ export * from "./config";
20
+ export * from "./tableDemoConfig";
21
+
22
+ // 缓存数据使用的key
23
+ var PAGE_CACHE_KEY = 'HBIS_PAGE_CACHE';
24
+
25
+ // 使用localStorage / sessionStorage;
26
+ var storage = localStorage;
27
+
28
+ // 页面缓存有效期:1小时
29
+ var CACHE_MAX_AGE = 1 * 60 * 60 * 1000;
30
+ // 页面缓存保存时间字段
31
+ var PAGE_CACHE_SAVE_TIME = 'PAGE_CACHE_SAVE_TIME';
32
+
33
+ // 获取缓存数据
34
+ function getAllPageCache() {
35
+ // 所有页面的缓存
36
+ var allPageCacheData = {};
37
+ try {
38
+ var stringifiedData = storage.getItem(PAGE_CACHE_KEY) || '{}';
39
+ allPageCacheData = JSON.parse(stringifiedData);
40
+ } catch (e) {
41
+ console.log(e);
42
+ }
43
+ return allPageCacheData;
44
+ }
45
+
46
+ // 获取状态缓存,如果缓存过期则清除掉缓存
47
+ function getStateCache(pageCacheKey, stateCacheKey) {
48
+ // 所有页面的缓存
49
+ var allPageCacheData = getAllPageCache();
50
+ // 当前页面的缓存
51
+ var curPageCacheData = allPageCacheData[pageCacheKey] || {};
52
+ // 上次保存当前页面缓存的的时间
53
+ var lastSaveTime = curPageCacheData[PAGE_CACHE_SAVE_TIME];
54
+ if (lastSaveTime && +new Date() - lastSaveTime <= CACHE_MAX_AGE) {
55
+ // 缓存在有效期内
56
+ // 当前状态的缓存
57
+ var stateCacheValue = curPageCacheData[stateCacheKey];
58
+ return stateCacheValue;
59
+ }
60
+ // 缓存过期,清除当前页面缓存
61
+ delete allPageCacheData[pageCacheKey];
62
+ try {
63
+ storage.setItem(PAGE_CACHE_KEY, JSON.stringify(allPageCacheData));
64
+ } catch (e) {
65
+ console.log(e);
66
+ }
67
+ return undefined;
68
+ }
69
+
70
+ // 设置缓存数据
71
+ var setStateCache = function setStateCache(pageCacheKey, stateCacheKey, fieldValue) {
72
+ var _objectSpread2;
73
+ // 所有页面的缓存
74
+ var allPageCacheData = getAllPageCache();
75
+ // 当前页面的缓存
76
+ var curPageCacheData = allPageCacheData[pageCacheKey] || {};
77
+ // 更新后的数据
78
+ var allPageNewCache = _objectSpread(_objectSpread({}, allPageCacheData), {}, _defineProperty({}, pageCacheKey, _objectSpread(_objectSpread({}, curPageCacheData), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, stateCacheKey, fieldValue), _defineProperty(_objectSpread2, PAGE_CACHE_SAVE_TIME, +new Date()), _objectSpread2))));
79
+ try {
80
+ storage.setItem(PAGE_CACHE_KEY, JSON.stringify(allPageNewCache));
81
+ // console.log('写入缓存', allPageNewCache);
82
+ } catch (e) {
83
+ console.log(e);
84
+ }
85
+ };
86
+
87
+ // 获取深层次属性值
88
+ var getFieldFromObject = function getFieldFromObject(obj, path) {
89
+ return path.reduce(function (preObj, currentPath) {
90
+ var innerPreObj = preObj || {};
91
+ return innerPreObj[currentPath];
92
+ }, obj);
93
+ };
94
+
95
+ // 更新深层次属性值
96
+ var updateNestedField = function updateNestedField(obj, fieldPath, defaultValue) {
97
+ var pathArray = fieldPath.split('.');
98
+ // 获取不需要缓存的属性的默认值
99
+ var defaultFieldValue = getFieldFromObject(defaultValue, pathArray);
100
+ var currentObj = obj;
101
+ var _iterator = _createForOfIteratorHelper(pathArray.slice(0, -1)),
102
+ _step;
103
+ try {
104
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
105
+ var _key = _step.value;
106
+ currentObj[_key] = currentObj[_key] || {};
107
+ currentObj = currentObj[_key];
108
+ }
109
+ } catch (err) {
110
+ _iterator.e(err);
111
+ } finally {
112
+ _iterator.f();
113
+ }
114
+ var lastKey = pathArray[pathArray.length - 1];
115
+ currentObj[lastKey] = defaultFieldValue;
116
+ };
117
+
118
+ // 自定义合并策略
119
+ function customMerger(defaultValue, cacheValue) {
120
+ // 数组不merge,直接覆盖
121
+ if (Array.isArray(defaultValue)) {
122
+ return cacheValue || defaultValue;
123
+ }
124
+ }
125
+
126
+ /**
127
+ * 替代useState,初始化时会自动读取storage作为默认值,修改数据时会自动同步到storage中;
128
+ * params:
129
+ * {
130
+ * originStateCacheKey: CacheKeyEnums, // state存储到storage时得key值
131
+ * defaultConfig: T | { // 直接传一个对象(state默认值) 或者 一个包含defaultValue字段(state默认值)的对象
132
+ * defaultValue: T, // state默认值
133
+ * noCacheFields?: string[], // 不需要缓存的字段,会返回传进来的默认值,格式:['pageSize','search.time' ]
134
+ * }
135
+ * deps: any[], // 依赖值,state存储key = originStateCacheKey + deps,deps不同,存储key不同,deps变化时,自动读取对应key的缓存,
136
+ * }
137
+ * return:
138
+ * [
139
+ * state, // 状态
140
+ * setState, // 修改状态函数
141
+ * initState, // 初始化状态函数
142
+ * ]
143
+ */
144
+ export function usePageCacheState(originStateCacheKey, defaultConfig, deps) {
145
+ // @ts-ignore
146
+ var defaultValue = _typeof(defaultConfig.defaultValue) === 'object' ? defaultConfig.defaultValue : defaultConfig;
147
+ // @ts-ignore
148
+ var noCacheFields = defaultConfig.noCacheFields;
149
+ var location = useLocation();
150
+ var pathname = location.pathname;
151
+ var getStateCacheKey = function getStateCacheKey(newDeps) {
152
+ var curDeps = newDeps || deps;
153
+ return curDeps && curDeps.length ? "".concat(originStateCacheKey, "_").concat(curDeps === null || curDeps === void 0 ? void 0 : curDeps.join('_')) : originStateCacheKey;
154
+ };
155
+
156
+ // 状态存储key值
157
+ var stateCacheKey = getStateCacheKey();
158
+ var getInitState = function getInitState() {
159
+ // console.log('getInitState');
160
+ // 获取state缓存数据
161
+ var stateCacheValue = getStateCache(pathname, stateCacheKey);
162
+ // 没有缓存直接返回默认值
163
+ if (!stateCacheValue) {
164
+ return defaultValue;
165
+ }
166
+ var initState = mergeWith(cloneDeep(defaultValue), stateCacheValue, customMerger);
167
+ // 处理不需要缓存的属性
168
+ if (noCacheFields && noCacheFields.length) {
169
+ noCacheFields.forEach(function (fieldPath) {
170
+ // 更新不需要缓存的属性为传进来的默认值
171
+ updateNestedField(initState, fieldPath, defaultValue);
172
+ });
173
+ }
174
+ return initState;
175
+ };
176
+ var _useState = useState(getInitState),
177
+ _useState2 = _slicedToArray(_useState, 2),
178
+ state = _useState2[0],
179
+ setState = _useState2[1];
180
+
181
+ // 修改state的函数
182
+ var customSetState = function customSetState(newData) {
183
+ // 用函数式写法,防止多次调用时拿不到最新值的情况。
184
+ setState(function (pre) {
185
+ var newState = _objectSpread(_objectSpread({}, pre), newData);
186
+ // console.log('setState', newState);
187
+ return newState;
188
+ });
189
+ };
190
+
191
+ // state变化后写入缓存
192
+ useUpdateEffect(function () {
193
+ // console.log('stateChange', state);
194
+ setStateCache(pathname, stateCacheKey, state);
195
+ }, [state]);
196
+
197
+ // deps变化后,自动初始化state;(deps变更渲染后,再变更,导致两次渲染)
198
+ // useUpdateLayoutEffect(() => {
199
+ // const cacheData = getInitState();
200
+ // setState(cacheData);
201
+ // }, [stateCacheKey]);
202
+
203
+ // deps变化时,手动调用初始化函数(和deps同时变更,不会多次渲染)
204
+ var initState = function initState(newDeps) {
205
+ stateCacheKey = getStateCacheKey(newDeps);
206
+ var initData = getInitState();
207
+ setState(initData);
208
+ };
209
+ return [state, useMemoizedFn(customSetState), initState];
210
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum MockDataCacheKey {
2
+ CONTROL = "CONTROL_STATE"
3
+ }
@@ -0,0 +1,5 @@
1
+ // mockData页面
2
+ export var MockDataCacheKey = /*#__PURE__*/function (MockDataCacheKey) {
3
+ MockDataCacheKey["CONTROL"] = "CONTROL_STATE";
4
+ return MockDataCacheKey;
5
+ }({});
@@ -0,0 +1,3 @@
1
+ export { default as Foo } from './components/Foo';
2
+ export * from './components/TableMax';
3
+ export { default as TableMax } from './components/TableMax';
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
- export { default as Foo } from "./Foo";
2
- export { default as TableMax } from "./TableMax";
1
+ export { default as Foo } from "./components/Foo";
2
+ export * from "./components/TableMax";
3
+ export { default as TableMax } from "./components/TableMax";
@@ -0,0 +1,6 @@
1
+ export declare const ThemeProvider: ({ children }: {
2
+ children: any;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const useTheme: () => {
5
+ theme: string;
6
+ };
@@ -0,0 +1,51 @@
1
+ import "antd/es/config-provider/style";
2
+ import _ConfigProvider from "antd/es/config-provider";
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // ThemeContext.js
9
+ import zhCN from 'antd/lib/locale-provider/zh_CN';
10
+ import { usePrefersColor } from 'dumi';
11
+ import { createContext, useContext, useEffect, useState } from 'react';
12
+ import { _setTheme } from "./theme";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ var ThemeContext = /*#__PURE__*/createContext({
15
+ theme: 'dark'
16
+ });
17
+ export var ThemeProvider = function ThemeProvider(_ref) {
18
+ var children = _ref.children;
19
+ var _usePrefersColor = usePrefersColor(),
20
+ _usePrefersColor2 = _slicedToArray(_usePrefersColor, 1),
21
+ color = _usePrefersColor2[0];
22
+ var _useState = useState(color),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ theme = _useState2[0],
25
+ setTheme = _useState2[1];
26
+ var _useState3 = useState("custom-".concat(color)),
27
+ _useState4 = _slicedToArray(_useState3, 2),
28
+ prefix = _useState4[0],
29
+ setPrefix = _useState4[1];
30
+ useEffect(function () {
31
+ setTheme(color);
32
+ _setTheme(color);
33
+ setPrefix("custom-".concat(color));
34
+ _ConfigProvider.config({
35
+ prefixCls: "custom-".concat(color)
36
+ }); //配置相关cls
37
+ }, [color]);
38
+ return /*#__PURE__*/_jsx(_ConfigProvider, {
39
+ locale: zhCN,
40
+ prefixCls: prefix,
41
+ children: /*#__PURE__*/_jsx(ThemeContext.Provider, {
42
+ value: {
43
+ theme: theme
44
+ },
45
+ children: children
46
+ })
47
+ });
48
+ };
49
+ export var useTheme = function useTheme() {
50
+ return useContext(ThemeContext);
51
+ };