musae 1.0.27-beta.39 → 1.0.27-beta.40

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,7 +112,13 @@ var PALETTE = {
112
112
  * @description
113
113
  * theme context
114
114
  */
115
- var Context = /*#__PURE__*/React.createContext(null);
115
+ var Context = /*#__PURE__*/React.createContext({
116
+ colors: colorRole.toColorRoles(PALETTE, "light"),
117
+ mode: "light",
118
+ toggle: function toggle() {
119
+ return "dark";
120
+ }
121
+ });
116
122
  /**
117
123
  * @author murukal
118
124
  *
@@ -124,9 +130,6 @@ var Context = /*#__PURE__*/React.createContext(null);
124
130
  */
125
131
  var useTheme = function useTheme() {
126
132
  var context = React.useContext(Context);
127
- if (!context) {
128
- throw new Error("useTheme must be used within a ThemeProvider");
129
- }
130
133
  return context;
131
134
  };
132
135
  /**
@@ -171,16 +174,16 @@ var useSwitchable = function useSwitchable(_ref) {
171
174
  (_document$documentEle2 = document.documentElement.classList).add.apply(_document$documentEle2, _toConsumableArray(className.normalize(styled[nextMode].className, styled[isDarking ? "darking" : "lighting"].className)));
172
175
  });
173
176
  relax.useMounted(function () {
174
- var _document$documentEle3;
177
+ var _document$documentEle3, _document$documentEle4;
175
178
  (_document$documentEle3 = document.documentElement.classList).add.apply(_document$documentEle3, _toConsumableArray(className.normalize(styled["default"].className)));
176
179
  document.documentElement.attributeStyleMap.set("--color-light", theme.palette.neutral[100]);
177
180
  document.documentElement.attributeStyleMap.set("--color-dark", theme.palette.neutral[0]);
178
181
  new rxjs.Observable(function (subscriber) {
179
- subscriber.next(mode);
180
182
  trigger.current = subscriber;
181
183
  }).pipe(rxjs.distinctUntilChanged()).subscribe({
182
184
  next: repaint
183
185
  });
186
+ (_document$documentEle4 = document.documentElement.classList).add.apply(_document$documentEle4, _toConsumableArray(className.normalize(styled[mode].className)));
184
187
  });
185
188
  // dark, light mode switch
186
189
  var toggle = relax.useEvent(function (event) {
@@ -212,8 +215,8 @@ var useSwitchable = function useSwitchable(_ref) {
212
215
  });
213
216
  });
214
217
  animation.finished.then(function () {
215
- var _document$documentEle4;
216
- (_document$documentEle4 = document.documentElement.classList).remove.apply(_document$documentEle4, _toConsumableArray(className.normalize(styled.lighting.className, styled.darking.className)));
218
+ var _document$documentEle5;
219
+ (_document$documentEle5 = document.documentElement.classList).remove.apply(_document$documentEle5, _toConsumableArray(className.normalize(styled.lighting.className, styled.darking.className)));
217
220
  });
218
221
  return nextMode;
219
222
  });
@@ -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 | null>;
8
+ export declare const Context: import("react").Context<ContextValue>;
9
9
  /**
10
10
  * @author murukal
11
11
  *
@@ -1,6 +1,6 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { useContext, createContext, useState, useRef, useMemo } from 'react';
3
+ import { createContext, useContext, 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,7 +110,13 @@ var PALETTE = {
110
110
  * @description
111
111
  * theme context
112
112
  */
113
- var Context = /*#__PURE__*/createContext(null);
113
+ var Context = /*#__PURE__*/createContext({
114
+ colors: toColorRoles(PALETTE, "light"),
115
+ mode: "light",
116
+ toggle: function toggle() {
117
+ return "dark";
118
+ }
119
+ });
114
120
  /**
115
121
  * @author murukal
116
122
  *
@@ -122,9 +128,6 @@ var Context = /*#__PURE__*/createContext(null);
122
128
  */
123
129
  var useTheme = function useTheme() {
124
130
  var context = useContext(Context);
125
- if (!context) {
126
- throw new Error("useTheme must be used within a ThemeProvider");
127
- }
128
131
  return context;
129
132
  };
130
133
  /**
@@ -169,16 +172,16 @@ var useSwitchable = function useSwitchable(_ref) {
169
172
  (_document$documentEle2 = document.documentElement.classList).add.apply(_document$documentEle2, _toConsumableArray(normalize(styled[nextMode].className, styled[isDarking ? "darking" : "lighting"].className)));
170
173
  });
171
174
  useMounted(function () {
172
- var _document$documentEle3;
175
+ var _document$documentEle3, _document$documentEle4;
173
176
  (_document$documentEle3 = document.documentElement.classList).add.apply(_document$documentEle3, _toConsumableArray(normalize(styled["default"].className)));
174
177
  document.documentElement.attributeStyleMap.set("--color-light", theme.palette.neutral[100]);
175
178
  document.documentElement.attributeStyleMap.set("--color-dark", theme.palette.neutral[0]);
176
179
  new Observable(function (subscriber) {
177
- subscriber.next(mode);
178
180
  trigger.current = subscriber;
179
181
  }).pipe(distinctUntilChanged()).subscribe({
180
182
  next: repaint
181
183
  });
184
+ (_document$documentEle4 = document.documentElement.classList).add.apply(_document$documentEle4, _toConsumableArray(normalize(styled[mode].className)));
182
185
  });
183
186
  // dark, light mode switch
184
187
  var toggle = useEvent(function (event) {
@@ -210,8 +213,8 @@ var useSwitchable = function useSwitchable(_ref) {
210
213
  });
211
214
  });
212
215
  animation.finished.then(function () {
213
- var _document$documentEle4;
214
- (_document$documentEle4 = document.documentElement.classList).remove.apply(_document$documentEle4, _toConsumableArray(normalize(styled.lighting.className, styled.darking.className)));
216
+ var _document$documentEle5;
217
+ (_document$documentEle5 = document.documentElement.classList).remove.apply(_document$documentEle5, _toConsumableArray(normalize(styled.lighting.className, styled.darking.className)));
215
218
  });
216
219
  return nextMode;
217
220
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musae",
3
- "version": "1.0.27-beta.39",
3
+ "version": "1.0.27-beta.40",
4
4
  "description": "musae-ui",
5
5
  "author": "tutu@fantufantu.com",
6
6
  "license": "MIT",