musae 1.0.27-beta.36 → 1.0.27-beta.38

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.
@@ -112,13 +112,7 @@ var PALETTE = {
112
112
  * @description
113
113
  * theme context
114
114
  */
115
- var Context = /*#__PURE__*/React.createContext({
116
- colors: colorRole.toColorRoles(PALETTE, "light"),
117
- mode: "light",
118
- toggle: function toggle() {
119
- return void 0;
120
- }
121
- });
115
+ var Context = /*#__PURE__*/React.createContext(null);
122
116
  /**
123
117
  * @author murukal
124
118
  *
@@ -129,7 +123,11 @@ var Context = /*#__PURE__*/React.createContext({
129
123
  * set the preset theme for musae ui component
130
124
  */
131
125
  var useTheme = function useTheme() {
132
- return React.useContext(Context);
126
+ var context = React.useContext(Context);
127
+ if (!context) {
128
+ throw new Error("useTheme must be used within a ThemeProvider");
129
+ }
130
+ return context;
133
131
  };
134
132
  /**
135
133
  * @description
@@ -191,7 +189,7 @@ var useSwitchable = function useSwitchable(_ref) {
191
189
  if (!relax.isFunction(document.startViewTransition)) {
192
190
  var _trigger$current;
193
191
  (_trigger$current = trigger.current) === null || _trigger$current === void 0 || _trigger$current.next(nextMode);
194
- return;
192
+ return nextMode;
195
193
  }
196
194
  var animation = document.startViewTransition(function () {
197
195
  var _trigger$current2;
@@ -216,6 +214,7 @@ var useSwitchable = function useSwitchable(_ref) {
216
214
  var _document$documentEle4;
217
215
  (_document$documentEle4 = document.documentElement.classList).remove.apply(_document$documentEle4, _toConsumableArray(className.normalize(styled.lighting.className, styled.darking.className)));
218
216
  });
217
+ return nextMode;
219
218
  });
220
219
  return {
221
220
  mode: mode,
@@ -5,7 +5,7 @@ export declare const PALETTE: Readonly<Palette>;
5
5
  * @description
6
6
  * theme context
7
7
  */
8
- export declare const Context: import("react").Context<ContextValue>;
8
+ export declare const Context: import("react").Context<ContextValue | null>;
9
9
  /**
10
10
  * @author murukal
11
11
  *
@@ -21,11 +21,11 @@ export declare const useTheme: () => ContextValue;
21
21
  * inject css names and styles into html element
22
22
  * for animations
23
23
  */
24
- export declare const useSwitchable: ({ theme, defaultMode }: {
24
+ export declare const useSwitchable: ({ theme, defaultMode, }: {
25
25
  theme: Theme;
26
26
  defaultMode?: Mode;
27
27
  }) => {
28
28
  mode: Mode;
29
- toggle: (event?: MouseEvent) => void;
29
+ toggle: (event?: MouseEvent) => Mode;
30
30
  colors: Record<import("../../utils/color-role").ColorRole, string>;
31
31
  };
@@ -1,6 +1,6 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { createContext, useContext, useState, useRef, useMemo } from 'react';
3
+ import { useContext, createContext, useState, useRef, useMemo } from 'react';
4
4
  import { toColorRoles } from '../../utils/color-role.mjs';
5
5
  import { useEvent, useMounted, isFunction } from '@aiszlab/relax';
6
6
  import { normalize } from '@aiszlab/relax/class-name';
@@ -110,13 +110,7 @@ var PALETTE = {
110
110
  * @description
111
111
  * theme context
112
112
  */
113
- var Context = /*#__PURE__*/createContext({
114
- colors: toColorRoles(PALETTE, "light"),
115
- mode: "light",
116
- toggle: function toggle() {
117
- return void 0;
118
- }
119
- });
113
+ var Context = /*#__PURE__*/createContext(null);
120
114
  /**
121
115
  * @author murukal
122
116
  *
@@ -127,7 +121,11 @@ var Context = /*#__PURE__*/createContext({
127
121
  * set the preset theme for musae ui component
128
122
  */
129
123
  var useTheme = function useTheme() {
130
- return useContext(Context);
124
+ var context = useContext(Context);
125
+ if (!context) {
126
+ throw new Error("useTheme must be used within a ThemeProvider");
127
+ }
128
+ return context;
131
129
  };
132
130
  /**
133
131
  * @description
@@ -189,7 +187,7 @@ var useSwitchable = function useSwitchable(_ref) {
189
187
  if (!isFunction(document.startViewTransition)) {
190
188
  var _trigger$current;
191
189
  (_trigger$current = trigger.current) === null || _trigger$current === void 0 || _trigger$current.next(nextMode);
192
- return;
190
+ return nextMode;
193
191
  }
194
192
  var animation = document.startViewTransition(function () {
195
193
  var _trigger$current2;
@@ -214,6 +212,7 @@ var useSwitchable = function useSwitchable(_ref) {
214
212
  var _document$documentEle4;
215
213
  (_document$documentEle4 = document.documentElement.classList).remove.apply(_document$documentEle4, _toConsumableArray(normalize(styled.lighting.className, styled.darking.className)));
216
214
  });
215
+ return nextMode;
217
216
  });
218
217
  return {
219
218
  mode: mode,
@@ -64,9 +64,9 @@ export interface ContextValue {
64
64
  */
65
65
  mode: Mode;
66
66
  /**
67
- * @description
68
- * toggle theme mode, if dark, change to light
67
+ * @zh 切换主题模式,返回更新后的模式
68
+ * @en toggle theme mode, returns the updated mode
69
69
  */
70
- toggle: (event?: MouseEvent) => void;
70
+ toggle: (event?: MouseEvent) => Mode;
71
71
  }
72
72
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musae",
3
- "version": "1.0.27-beta.36",
3
+ "version": "1.0.27-beta.38",
4
4
  "description": "musae-ui",
5
5
  "author": "tutu@fantufantu.com",
6
6
  "license": "MIT",