@bifrostui/react 1.3.0 → 1.3.1-beta.0

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 (281) hide show
  1. package/dist/ActionSheet/ActionSheet.css +6 -3
  2. package/dist/ActionSheet/ActionSheetItem.css +10 -6
  3. package/dist/Alert/index.css +14 -8
  4. package/dist/Avatar/Avatar.css +13 -9
  5. package/dist/Avatar/AvatarGroup.css +15 -8
  6. package/dist/Backdrop/Backdrop.css +2 -1
  7. package/dist/Badge/Badge.css +27 -17
  8. package/dist/Breadcrumb/Breadcrumb.css +34 -0
  9. package/dist/Breadcrumb/Breadcrumb.d.ts +5 -0
  10. package/dist/Breadcrumb/Breadcrumb.js +128 -0
  11. package/dist/Breadcrumb/Breadcrumb.types.d.ts +49 -0
  12. package/dist/Breadcrumb/Breadcrumb.types.js +15 -0
  13. package/dist/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  14. package/dist/Breadcrumb/BreadcrumbItem.js +78 -0
  15. package/dist/Breadcrumb/index.d.ts +4 -0
  16. package/dist/Breadcrumb/index.js +45 -0
  17. package/dist/Button/Button.css +26 -17
  18. package/dist/Calendar/Calendar.css +33 -18
  19. package/dist/Calendar/Calendar.d.ts +1 -1
  20. package/dist/Calendar/Calendar.js +38 -17
  21. package/dist/Calendar/Calendar.types.d.ts +21 -0
  22. package/dist/Card/CardFooter.css +2 -1
  23. package/dist/Card/CardHeader.css +3 -1
  24. package/dist/Checkbox/Checkbox.css +7 -5
  25. package/dist/CitySelector/CitySelector.css +29 -15
  26. package/dist/CitySelector/CitySelectorCore.js +25 -16
  27. package/dist/CitySelector/Selector/index.css +4 -4
  28. package/dist/Collapse/Collapse.css +6 -0
  29. package/dist/Collapse/Collapse.d.ts +5 -0
  30. package/dist/Collapse/Collapse.js +165 -0
  31. package/dist/Collapse/Collapse.types.d.ts +16 -0
  32. package/dist/Collapse/Collapse.types.js +15 -0
  33. package/dist/Collapse/index.d.ts +2 -0
  34. package/dist/Collapse/index.js +41 -0
  35. package/dist/CollapsePanel/CollapsePanel.css +32 -0
  36. package/dist/CollapsePanel/CollapsePanel.d.ts +5 -0
  37. package/dist/CollapsePanel/CollapsePanel.js +159 -0
  38. package/dist/CollapsePanel/CollapsePanel.types.d.ts +64 -0
  39. package/dist/CollapsePanel/CollapsePanel.types.js +15 -0
  40. package/dist/CollapsePanel/CollapsePanelItem.d.ts +4 -0
  41. package/dist/CollapsePanel/CollapsePanelItem.js +112 -0
  42. package/dist/CollapsePanel/index.d.ts +4 -0
  43. package/dist/CollapsePanel/index.js +45 -0
  44. package/dist/Countdown/Countdown.css +2 -1
  45. package/dist/Dialog/Dialog.d.ts +2 -2
  46. package/dist/Dialog/Dialog.js +20 -8
  47. package/dist/Dialog/Dialog.types.d.ts +12 -1
  48. package/dist/Dialog/FunctionalDialog.js +38 -2
  49. package/dist/Dialog/index.css +27 -18
  50. package/dist/Divider/Divider.css +6 -4
  51. package/dist/IconButton/IconButton.css +9 -7
  52. package/dist/Image/index.css +2 -1
  53. package/dist/Input/Input.css +10 -5
  54. package/dist/List/List.css +3 -0
  55. package/dist/List/ListItem.css +3 -3
  56. package/dist/List/ListItemContent.css +1 -1
  57. package/dist/Loading/Loading.css +4 -2
  58. package/dist/Modal/Modal.miniapp.d.ts +1 -1
  59. package/dist/NavBar/NavBar.css +9 -5
  60. package/dist/Picker/Picker.css +25 -29
  61. package/dist/Picker/Picker.js +31 -11
  62. package/dist/Picker/Picker.types.d.ts +4 -0
  63. package/dist/Picker/PickerPanel.css +8 -8
  64. package/dist/Picker/PickerPanel.js +14 -8
  65. package/dist/Picker/utils.d.ts +16 -0
  66. package/dist/Picker/utils.js +32 -2
  67. package/dist/Popover/Popover.css +97 -0
  68. package/dist/Popover/Popover.d.ts +5 -0
  69. package/dist/Popover/Popover.js +186 -0
  70. package/dist/Popover/Popover.types.d.ts +60 -0
  71. package/dist/Popover/Popover.types.js +15 -0
  72. package/dist/Popover/index.d.ts +2 -0
  73. package/dist/Popover/index.js +41 -0
  74. package/dist/Portal/Portal.types.d.ts +4 -0
  75. package/dist/Portal/PortalCore.js +8 -1
  76. package/dist/Progress/Progress.css +8 -6
  77. package/dist/Radio/Radio.css +2 -1
  78. package/dist/Rating/Rating.css +8 -4
  79. package/dist/Select/Select.css +21 -10
  80. package/dist/Select/Select.js +1 -1
  81. package/dist/Select/SelectOption.js +3 -0
  82. package/dist/Skeleton/Skeleton.css +3 -2
  83. package/dist/Slider/Slider.css +24 -13
  84. package/dist/Steps/Step.css +11 -11
  85. package/dist/Steps/Steps.css +14 -5
  86. package/dist/Swiper/Swiper.css +2 -1
  87. package/dist/Switch/Switch.css +31 -16
  88. package/dist/TabBar/TabBar.css +7 -3
  89. package/dist/TabBar/TabBarItem.css +0 -1
  90. package/dist/Tabs/Tab.css +2 -6
  91. package/dist/Tabs/Tabs.css +7 -4
  92. package/dist/Tag/Tag.css +7 -10
  93. package/dist/Tag/TagGroup.css +9 -1
  94. package/dist/TextArea/TextArea.css +14 -8
  95. package/dist/ThemeProvider/ThemeProvider.d.ts +4 -0
  96. package/dist/ThemeProvider/ThemeProvider.js +90 -0
  97. package/dist/ThemeProvider/ThemeProvider.types.d.ts +127 -0
  98. package/dist/ThemeProvider/ThemeProvider.types.js +27 -0
  99. package/dist/ThemeProvider/hooks/ThemeContext.d.ts +4 -0
  100. package/dist/ThemeProvider/hooks/ThemeContext.js +35 -0
  101. package/dist/ThemeProvider/hooks/createTheme.d.ts +2 -0
  102. package/dist/ThemeProvider/hooks/createTheme.js +55 -0
  103. package/dist/ThemeProvider/hooks/index.d.ts +4 -0
  104. package/dist/ThemeProvider/hooks/index.js +43 -0
  105. package/dist/ThemeProvider/hooks/useTheme.d.ts +1 -0
  106. package/dist/ThemeProvider/hooks/useTheme.js +39 -0
  107. package/dist/ThemeProvider/index.d.ts +4 -0
  108. package/dist/ThemeProvider/index.js +45 -0
  109. package/dist/ThemeProvider/utils/constants.d.ts +38 -0
  110. package/dist/ThemeProvider/utils/constants.js +65 -0
  111. package/dist/ThemeProvider/utils/index.d.ts +2 -0
  112. package/dist/ThemeProvider/utils/index.js +23 -0
  113. package/dist/ThemeProvider/utils/mountTokens.d.ts +26 -0
  114. package/dist/ThemeProvider/utils/mountTokens.js +123 -0
  115. package/dist/Toast/FunctionalToast.js +18 -0
  116. package/dist/Toast/Toast.css +15 -14
  117. package/dist/Toast/Toast.d.ts +2 -2
  118. package/dist/Toast/Toast.js +52 -48
  119. package/dist/Toast/Toast.types.d.ts +15 -1
  120. package/dist/Tooltip/Tooltip.css +91 -0
  121. package/dist/Tooltip/Tooltip.d.ts +5 -0
  122. package/dist/Tooltip/Tooltip.js +177 -0
  123. package/dist/Tooltip/Tooltip.types.d.ts +51 -0
  124. package/dist/Tooltip/Tooltip.types.js +15 -0
  125. package/dist/Tooltip/index.d.ts +2 -0
  126. package/dist/Tooltip/index.js +41 -0
  127. package/dist/index.d.ts +7 -0
  128. package/dist/index.js +15 -1
  129. package/dist/locales/base.d.ts +40 -0
  130. package/dist/locales/base.js +15 -0
  131. package/dist/locales/en-US.d.ts +3 -0
  132. package/dist/locales/en-US.js +69 -0
  133. package/dist/locales/hooks/useLocaleText.d.ts +3 -0
  134. package/dist/locales/hooks/useLocaleText.js +43 -0
  135. package/dist/locales/index.d.ts +5 -0
  136. package/dist/locales/index.js +49 -0
  137. package/dist/locales/zh-CN.d.ts +3 -0
  138. package/dist/locales/zh-CN.js +51 -0
  139. package/dist/locales/zh-TW.d.ts +3 -0
  140. package/dist/locales/zh-TW.js +51 -0
  141. package/es/ActionSheet/ActionSheet.css +6 -3
  142. package/es/ActionSheet/ActionSheetItem.css +10 -6
  143. package/es/Alert/index.css +14 -8
  144. package/es/Avatar/Avatar.css +13 -9
  145. package/es/Avatar/AvatarGroup.css +15 -8
  146. package/es/Backdrop/Backdrop.css +2 -1
  147. package/es/Badge/Badge.css +27 -17
  148. package/es/Breadcrumb/Breadcrumb.css +34 -0
  149. package/es/Breadcrumb/Breadcrumb.d.ts +5 -0
  150. package/es/Breadcrumb/Breadcrumb.js +101 -0
  151. package/es/Breadcrumb/Breadcrumb.types.d.ts +49 -0
  152. package/es/Breadcrumb/Breadcrumb.types.js +1 -0
  153. package/es/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  154. package/es/Breadcrumb/BreadcrumbItem.js +51 -0
  155. package/es/Breadcrumb/index.d.ts +4 -0
  156. package/es/Breadcrumb/index.js +9 -0
  157. package/es/Button/Button.css +26 -17
  158. package/es/Calendar/Calendar.css +33 -18
  159. package/es/Calendar/Calendar.d.ts +1 -1
  160. package/es/Calendar/Calendar.js +38 -17
  161. package/es/Calendar/Calendar.types.d.ts +21 -0
  162. package/es/Card/CardFooter.css +2 -1
  163. package/es/Card/CardHeader.css +3 -1
  164. package/es/Checkbox/Checkbox.css +7 -5
  165. package/es/CitySelector/CitySelector.css +29 -15
  166. package/es/CitySelector/CitySelectorCore.js +25 -16
  167. package/es/CitySelector/Selector/index.css +4 -4
  168. package/es/Collapse/Collapse.css +6 -0
  169. package/es/Collapse/Collapse.d.ts +5 -0
  170. package/es/Collapse/Collapse.js +144 -0
  171. package/es/Collapse/Collapse.types.d.ts +16 -0
  172. package/es/Collapse/Collapse.types.js +1 -0
  173. package/es/Collapse/index.d.ts +2 -0
  174. package/es/Collapse/index.js +6 -0
  175. package/es/CollapsePanel/CollapsePanel.css +32 -0
  176. package/es/CollapsePanel/CollapsePanel.d.ts +5 -0
  177. package/es/CollapsePanel/CollapsePanel.js +132 -0
  178. package/es/CollapsePanel/CollapsePanel.types.d.ts +64 -0
  179. package/es/CollapsePanel/CollapsePanel.types.js +1 -0
  180. package/es/CollapsePanel/CollapsePanelItem.d.ts +4 -0
  181. package/es/CollapsePanel/CollapsePanelItem.js +85 -0
  182. package/es/CollapsePanel/index.d.ts +4 -0
  183. package/es/CollapsePanel/index.js +9 -0
  184. package/es/Countdown/Countdown.css +2 -1
  185. package/es/Dialog/Dialog.d.ts +2 -2
  186. package/es/Dialog/Dialog.js +20 -8
  187. package/es/Dialog/Dialog.types.d.ts +12 -1
  188. package/es/Dialog/FunctionalDialog.js +38 -2
  189. package/es/Dialog/index.css +27 -18
  190. package/es/Divider/Divider.css +6 -4
  191. package/es/IconButton/IconButton.css +9 -7
  192. package/es/Image/index.css +2 -1
  193. package/es/Input/Input.css +10 -5
  194. package/es/List/List.css +3 -0
  195. package/es/List/ListItem.css +3 -3
  196. package/es/List/ListItemContent.css +1 -1
  197. package/es/Loading/Loading.css +4 -2
  198. package/es/Modal/Modal.miniapp.d.ts +1 -1
  199. package/es/NavBar/NavBar.css +9 -5
  200. package/es/Picker/Picker.css +25 -29
  201. package/es/Picker/Picker.js +32 -12
  202. package/es/Picker/Picker.types.d.ts +4 -0
  203. package/es/Picker/PickerPanel.css +8 -8
  204. package/es/Picker/PickerPanel.js +14 -8
  205. package/es/Picker/utils.d.ts +16 -0
  206. package/es/Picker/utils.js +29 -1
  207. package/es/Popover/Popover.css +97 -0
  208. package/es/Popover/Popover.d.ts +5 -0
  209. package/es/Popover/Popover.js +159 -0
  210. package/es/Popover/Popover.types.d.ts +60 -0
  211. package/es/Popover/Popover.types.js +1 -0
  212. package/es/Popover/index.d.ts +2 -0
  213. package/es/Popover/index.js +6 -0
  214. package/es/Portal/Portal.types.d.ts +4 -0
  215. package/es/Portal/PortalCore.js +8 -1
  216. package/es/Progress/Progress.css +8 -6
  217. package/es/Radio/Radio.css +2 -1
  218. package/es/Rating/Rating.css +8 -4
  219. package/es/Select/Select.css +21 -10
  220. package/es/Select/Select.js +1 -1
  221. package/es/Select/SelectOption.js +3 -0
  222. package/es/Skeleton/Skeleton.css +3 -2
  223. package/es/Slider/Slider.css +24 -13
  224. package/es/Steps/Step.css +11 -11
  225. package/es/Steps/Steps.css +14 -5
  226. package/es/Swiper/Swiper.css +2 -1
  227. package/es/Switch/Switch.css +31 -16
  228. package/es/TabBar/TabBar.css +7 -3
  229. package/es/TabBar/TabBarItem.css +0 -1
  230. package/es/Tabs/Tab.css +2 -6
  231. package/es/Tabs/Tabs.css +7 -4
  232. package/es/Tag/Tag.css +7 -10
  233. package/es/Tag/TagGroup.css +9 -1
  234. package/es/TextArea/TextArea.css +14 -8
  235. package/es/ThemeProvider/ThemeProvider.d.ts +4 -0
  236. package/es/ThemeProvider/ThemeProvider.js +61 -0
  237. package/es/ThemeProvider/ThemeProvider.types.d.ts +127 -0
  238. package/es/ThemeProvider/ThemeProvider.types.js +1 -0
  239. package/es/ThemeProvider/hooks/ThemeContext.d.ts +4 -0
  240. package/es/ThemeProvider/hooks/ThemeContext.js +6 -0
  241. package/es/ThemeProvider/hooks/createTheme.d.ts +2 -0
  242. package/es/ThemeProvider/hooks/createTheme.js +38 -0
  243. package/es/ThemeProvider/hooks/index.d.ts +4 -0
  244. package/es/ThemeProvider/hooks/index.js +8 -0
  245. package/es/ThemeProvider/hooks/useTheme.d.ts +1 -0
  246. package/es/ThemeProvider/hooks/useTheme.js +10 -0
  247. package/es/ThemeProvider/index.d.ts +4 -0
  248. package/es/ThemeProvider/index.js +8 -0
  249. package/es/ThemeProvider/utils/constants.d.ts +38 -0
  250. package/es/ThemeProvider/utils/constants.js +40 -0
  251. package/es/ThemeProvider/utils/index.d.ts +2 -0
  252. package/es/ThemeProvider/utils/index.js +2 -0
  253. package/es/ThemeProvider/utils/mountTokens.d.ts +26 -0
  254. package/es/ThemeProvider/utils/mountTokens.js +88 -0
  255. package/es/Toast/FunctionalToast.js +18 -0
  256. package/es/Toast/Toast.css +15 -14
  257. package/es/Toast/Toast.d.ts +2 -2
  258. package/es/Toast/Toast.js +53 -49
  259. package/es/Toast/Toast.types.d.ts +15 -1
  260. package/es/Tooltip/Tooltip.css +91 -0
  261. package/es/Tooltip/Tooltip.d.ts +5 -0
  262. package/es/Tooltip/Tooltip.js +150 -0
  263. package/es/Tooltip/Tooltip.types.d.ts +51 -0
  264. package/es/Tooltip/Tooltip.types.js +1 -0
  265. package/es/Tooltip/index.d.ts +2 -0
  266. package/es/Tooltip/index.js +6 -0
  267. package/es/index.d.ts +7 -0
  268. package/es/index.js +7 -0
  269. package/es/locales/base.d.ts +40 -0
  270. package/es/locales/base.js +0 -0
  271. package/es/locales/en-US.d.ts +3 -0
  272. package/es/locales/en-US.js +50 -0
  273. package/es/locales/hooks/useLocaleText.d.ts +3 -0
  274. package/es/locales/hooks/useLocaleText.js +26 -0
  275. package/es/locales/index.d.ts +5 -0
  276. package/es/locales/index.js +11 -0
  277. package/es/locales/zh-CN.d.ts +3 -0
  278. package/es/locales/zh-CN.js +32 -0
  279. package/es/locales/zh-TW.d.ts +3 -0
  280. package/es/locales/zh-TW.js +32 -0
  281. package/package.json +5 -5
@@ -1,4 +1,12 @@
1
1
  .bui-tag-group {
2
+ --height: var(--bui-tag-group-divider-height, 13%);
3
+ --tag-color: var(--bui-tag-color, var(--bui-color-gray));
4
+ --tag-border-color: var(--bui-tag-border-color, var(--bui-color-border-gray));
5
+ --tag-bg-color: var(--bui-tag-bg-color, var(--bui-color-gray));
6
+ --tag-height: var(--bui-tag-height, 15px);
7
+ --tag-line-height: var(--bui-tag-line-height, 15px);
8
+ --tag-padding: var(--bui-tag-padding, 0 var(--bui-spacing-xs));
9
+ --tag-bg-color-vip: var(--bui-tag-color-vip, rgba(255, 134, 110, 0.3));
2
10
  display: inline-flex;
3
11
  font-family: var(--bui-font-family);
4
12
  }
@@ -24,7 +32,7 @@
24
32
  position: absolute;
25
33
  right: -1px;
26
34
  width: 1px;
27
- height: 13%;
35
+ height: var(--height);
28
36
  color: #fff;
29
37
  background-color: #fff;
30
38
  border-right-style: solid;
@@ -1,13 +1,19 @@
1
1
  .bui-textarea {
2
+ --width: var(--bui-textarea-width, 100%);
2
3
  --bg-color: var(--bui-color-bg-default);
3
- --text-color: var(--bui-color-fg-subtle);
4
+ --text-color: var(--bui-textarea-text-color, var(--bui-color-fg-subtle));
4
5
  --count-bg-color: var(--bg-color, var(--bui-color-bg-default));
5
- --count-text-color: var(--bui-color-fg-subtle);
6
+ --count-text-color: var(--bui-textarea-count-color, var(--bui-color-fg-subtle));
7
+ --text-font-size: var(--bui-textarea-text-font-size, var(--bui-text-size-2));
8
+ --count-font-size: var(--bui-textarea-count-font-size, var(--bui-title-size-3));
9
+ --content-padding: var(--bui-textarea-padding, 8px);
10
+ --count-padding: var(--bui-textarea-count-padding, 0 4px);
11
+ --placeholder-line-height: var(--bui-textarea-placeholder-line-height, 1.3);
6
12
  background: var(--bui-color-bg-default);
7
13
  font-family: var(--bui-font-family);
8
14
  }
9
15
  .bui-textarea textarea {
10
- font-size: var(--bui-text-size-2);
16
+ font-size: var(--text-font-size);
11
17
  color: var(--text-color);
12
18
  line-height: var(--bui-line-height);
13
19
  }
@@ -21,10 +27,10 @@
21
27
  display: none;
22
28
  }
23
29
  .bui-textarea-content {
24
- width: 100%;
30
+ width: var(--width);
25
31
  resize: none;
26
32
  background: var(--bg-color);
27
- padding: 8px;
33
+ padding: var(--content-padding);
28
34
  border: none;
29
35
  outline: none;
30
36
  word-break: break-all;
@@ -32,12 +38,12 @@
32
38
  }
33
39
  .bui-textarea-content::placeholder {
34
40
  color: var(--bui-color-fg-disabled);
35
- line-height: 1.3;
41
+ line-height: var(--placeholder-line-height);
36
42
  }
37
43
  .bui-textarea-count {
38
44
  background: var(--count-bg-color);
39
45
  color: var(--count-text-color);
40
46
  text-align: right;
41
- padding: 0 4px;
42
- font-size: var(--bui-title-size-3);
47
+ padding: var(--count-padding);
48
+ font-size: var(--count-font-size);
43
49
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ThemeProviderProps } from './ThemeProvider.types';
3
+ declare const ThemeProvider: React.ForwardRefExoticComponent<Omit<ThemeProviderProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export default ThemeProvider;
@@ -0,0 +1,90 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var ThemeProvider_exports = {};
29
+ __export(ThemeProvider_exports, {
30
+ default: () => ThemeProvider_default
31
+ });
32
+ module.exports = __toCommonJS(ThemeProvider_exports);
33
+ var import_react = __toESM(require("react"));
34
+ var import_hooks = require("./hooks");
35
+ var import_constants = require("./utils/constants");
36
+ var import_mountTokens = require("./utils/mountTokens");
37
+ const ThemeProvider = /* @__PURE__ */ import_react.default.forwardRef(
38
+ (props, ref) => {
39
+ var _a;
40
+ const {
41
+ isRoot,
42
+ locale,
43
+ responsive,
44
+ defaultLightToken,
45
+ defaultDarkToken,
46
+ dmLightToken,
47
+ dmDarkToken,
48
+ token,
49
+ children
50
+ } = props;
51
+ let containerId = ((0, import_react.useId)() || "").replace(/:/g, "");
52
+ containerId = `${import_constants.BUI_VAR_PREFIX}${containerId}`;
53
+ const theme = (0, import_react.useMemo)(() => {
54
+ return { locale };
55
+ }, [locale]);
56
+ let childrenNode = children;
57
+ if (import_react.default.isValidElement(children)) {
58
+ childrenNode = import_react.default.cloneElement(children, {
59
+ className: `${containerId} ${((_a = children == null ? void 0 : children.props) == null ? void 0 : _a.className) || ""}`.trim()
60
+ });
61
+ }
62
+ (0, import_react.useEffect)(() => {
63
+ if (responsive || defaultLightToken || defaultDarkToken || dmLightToken || dmDarkToken || token) {
64
+ (0, import_mountTokens.mountTokens)({
65
+ isRoot,
66
+ containerId,
67
+ container: children,
68
+ responsive,
69
+ defaultLightToken,
70
+ defaultDarkToken,
71
+ dmLightToken,
72
+ dmDarkToken,
73
+ token
74
+ });
75
+ }
76
+ }, [
77
+ isRoot,
78
+ containerId,
79
+ responsive,
80
+ defaultLightToken,
81
+ defaultDarkToken,
82
+ dmLightToken,
83
+ dmDarkToken,
84
+ token
85
+ ]);
86
+ return /* @__PURE__ */ import_react.default.createElement(import_hooks.ThemeContext.Provider, { value: theme }, childrenNode);
87
+ }
88
+ );
89
+ ThemeProvider.displayName = "BuiThemeProvider";
90
+ var ThemeProvider_default = ThemeProvider;
@@ -0,0 +1,127 @@
1
+ import { ReactNode } from 'react';
2
+ import { OverrideProps } from '@bifrostui/types';
3
+ import { BaseLang } from '../locales/base';
4
+ export type ThemeProviderProps<D extends React.ElementType = 'div', P = {}> = OverrideProps<{
5
+ props: P & ThemeProps;
6
+ defaultComponent: D;
7
+ }, D>;
8
+ export interface Breakpoints {
9
+ /**
10
+ * 超小屏幕 (小于 576px,实际为了处理临界值,断点值为 575.98px)
11
+ * @default '575.98px'
12
+ */
13
+ xs?: string;
14
+ /**
15
+ * 小屏幕
16
+ * @default '576px'
17
+ */
18
+ sm?: string;
19
+ /**
20
+ * 中等屏幕
21
+ * @default '768px'
22
+ */
23
+ md?: string;
24
+ /**
25
+ * 大屏幕
26
+ * @default '992px'
27
+ */
28
+ lg?: string;
29
+ /**
30
+ * 超大屏幕
31
+ * @default '1200px'
32
+ */
33
+ xl?: string;
34
+ }
35
+ /**
36
+ * 响应式屏幕断点配置
37
+ */
38
+ interface ResponsiveTokenOptions {
39
+ /**
40
+ * 超小屏幕 (小于 576px,实际为了处理临界值,断点值为 575.98px)
41
+ */
42
+ xs?: Record<string, string>;
43
+ /**
44
+ * 小屏幕 (≥ 576px)
45
+ */
46
+ sm?: Record<string, string>;
47
+ /**
48
+ * 中等屏幕 (≥ 768px)
49
+ */
50
+ md?: Record<string, string>;
51
+ /**
52
+ * 大屏幕 (≥ 992px)
53
+ */
54
+ lg?: Record<string, string>;
55
+ /**
56
+ * 超大屏幕 (≥ 1200px)
57
+ */
58
+ xl?: Record<string, string>;
59
+ }
60
+ interface ThemeProps {
61
+ /**
62
+ * 当前ThemeProvider是否为最顶层
63
+ * 若当前应用会出现嵌套的ThemeProvider,则需要将最外层的ThemeProvider isRoot属性设置为true
64
+ * TODO 不通过属性判断
65
+ * @default false
66
+ */
67
+ isRoot?: boolean;
68
+ /**
69
+ * 挂载的容器
70
+ * @default root
71
+ */
72
+ container?: ReactNode;
73
+ /**
74
+ * 挂载容器的id
75
+ */
76
+ containerId?: string;
77
+ /**
78
+ * 语言
79
+ */
80
+ locale?: BaseLang;
81
+ /**
82
+ * 响应式屏幕断点配置
83
+ */
84
+ responsive?: ResponsiveTokenOptions;
85
+ /**
86
+ * 默认高亮主题Token
87
+ */
88
+ defaultLightToken?: Record<string, string>;
89
+ /**
90
+ * 默认暗黑主题Token
91
+ */
92
+ defaultDarkToken?: Record<string, string>;
93
+ /**
94
+ * 大麦高亮主题Token
95
+ */
96
+ dmLightToken?: Record<string, string>;
97
+ /**
98
+ * 大麦暗黑主题Token
99
+ */
100
+ dmDarkToken?: Record<string, string>;
101
+ /**
102
+ * 组件全局Token
103
+ */
104
+ token?: Record<string, string>;
105
+ }
106
+ /**
107
+ * 复写内置主题Tokens
108
+ */
109
+ type BuiltInThemesTokenOptions = Pick<ThemeProps, 'defaultLightToken' | 'defaultDarkToken' | 'dmLightToken' | 'dmDarkToken'>;
110
+ /**
111
+ * 挂载组件自定义Tokens参数
112
+ */
113
+ export type MountComponentsTokenOptions = Pick<ThemeProps, 'isRoot' | 'container' | 'containerId' | 'token'>;
114
+ /**
115
+ * 挂载响应式Tokens参数
116
+ */
117
+ type componentsTokenOptions = Pick<ThemeProps, 'token'>;
118
+ export type MountResponsiveTokenOptions = Pick<ThemeProps, 'responsive'> & {
119
+ breakpoints?: Breakpoints;
120
+ };
121
+ /**
122
+ * 更新Tokens
123
+ */
124
+ export type UpdateTokensOptions = Pick<ThemeProps, 'isRoot' | 'containerId' | 'container'> & {
125
+ rootString: string;
126
+ };
127
+ export { BaseLang, ResponsiveTokenOptions, ThemeProps, BuiltInThemesTokenOptions, componentsTokenOptions, };
@@ -0,0 +1,27 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ThemeProvider_types_exports = {};
19
+ __export(ThemeProvider_types_exports, {
20
+ BaseLang: () => import_base.BaseLang
21
+ });
22
+ module.exports = __toCommonJS(ThemeProvider_types_exports);
23
+ var import_base = require("../locales/base");
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {
26
+ BaseLang
27
+ });
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ThemeProps } from '../ThemeProvider.types';
3
+ declare const ThemeContext: React.Context<ThemeProps>;
4
+ export default ThemeContext;
@@ -0,0 +1,35 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var ThemeContext_exports = {};
29
+ __export(ThemeContext_exports, {
30
+ default: () => ThemeContext_default
31
+ });
32
+ module.exports = __toCommonJS(ThemeContext_exports);
33
+ var import_react = __toESM(require("react"));
34
+ const ThemeContext = import_react.default.createContext(null);
35
+ var ThemeContext_default = ThemeContext;
@@ -0,0 +1,2 @@
1
+ import { ThemeProps } from '../ThemeProvider.types';
2
+ export default function createTheme(options: ThemeProps): ThemeProps;
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __objRest = (source, exclude) => {
20
+ var target = {};
21
+ for (var prop in source)
22
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
23
+ target[prop] = source[prop];
24
+ if (source != null && __getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(source)) {
26
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
27
+ target[prop] = source[prop];
28
+ }
29
+ return target;
30
+ };
31
+ var __export = (target, all) => {
32
+ for (var name in all)
33
+ __defProp(target, name, { get: all[name], enumerable: true });
34
+ };
35
+ var __copyProps = (to, from, except, desc) => {
36
+ if (from && typeof from === "object" || typeof from === "function") {
37
+ for (let key of __getOwnPropNames(from))
38
+ if (!__hasOwnProp.call(to, key) && key !== except)
39
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
40
+ }
41
+ return to;
42
+ };
43
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
44
+ var createTheme_exports = {};
45
+ __export(createTheme_exports, {
46
+ default: () => createTheme
47
+ });
48
+ module.exports = __toCommonJS(createTheme_exports);
49
+ function createTheme(options) {
50
+ const _a = options || {}, { locale } = _a, others = __objRest(_a, ["locale"]);
51
+ const buiTheme = __spreadValues({
52
+ locale
53
+ }, others);
54
+ return buiTheme;
55
+ }
@@ -0,0 +1,4 @@
1
+ import createTheme from './createTheme';
2
+ import ThemeContext from './ThemeContext';
3
+ import useTheme from './useTheme';
4
+ export { createTheme, ThemeContext, useTheme };
@@ -0,0 +1,43 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var hooks_exports = {};
29
+ __export(hooks_exports, {
30
+ ThemeContext: () => import_ThemeContext.default,
31
+ createTheme: () => import_createTheme.default,
32
+ useTheme: () => import_useTheme.default
33
+ });
34
+ module.exports = __toCommonJS(hooks_exports);
35
+ var import_createTheme = __toESM(require("./createTheme"));
36
+ var import_ThemeContext = __toESM(require("./ThemeContext"));
37
+ var import_useTheme = __toESM(require("./useTheme"));
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ ThemeContext,
41
+ createTheme,
42
+ useTheme
43
+ });
@@ -0,0 +1 @@
1
+ export default function useTheme(defaultTheme?: import("../ThemeProvider.types").ThemeProps): import("../ThemeProvider.types").ThemeProps;
@@ -0,0 +1,39 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var useTheme_exports = {};
29
+ __export(useTheme_exports, {
30
+ default: () => useTheme
31
+ });
32
+ module.exports = __toCommonJS(useTheme_exports);
33
+ var import_react = __toESM(require("react"));
34
+ var import_createTheme = __toESM(require("./createTheme"));
35
+ var import_ThemeContext = __toESM(require("./ThemeContext"));
36
+ function useTheme(defaultTheme = (0, import_createTheme.default)(null)) {
37
+ const contextTheme = import_react.default.useContext(import_ThemeContext.default);
38
+ return !contextTheme || Object.keys(contextTheme).length === 0 ? defaultTheme : contextTheme;
39
+ }
@@ -0,0 +1,4 @@
1
+ export { default, default as ThemeProvider } from './ThemeProvider';
2
+ export * from './hooks';
3
+ export * from './utils';
4
+ export * from './ThemeProvider.types';
@@ -0,0 +1,45 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ThemeProvider_exports = {};
30
+ __export(ThemeProvider_exports, {
31
+ ThemeProvider: () => import_ThemeProvider.default,
32
+ default: () => import_ThemeProvider.default
33
+ });
34
+ module.exports = __toCommonJS(ThemeProvider_exports);
35
+ var import_ThemeProvider = __toESM(require("./ThemeProvider"));
36
+ __reExport(ThemeProvider_exports, require("./hooks"), module.exports);
37
+ __reExport(ThemeProvider_exports, require("./utils"), module.exports);
38
+ __reExport(ThemeProvider_exports, require("./ThemeProvider.types"), module.exports);
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ ThemeProvider,
42
+ ...require("./hooks"),
43
+ ...require("./utils"),
44
+ ...require("./ThemeProvider.types")
45
+ });
@@ -0,0 +1,38 @@
1
+ /**
2
+ * 响应式屏幕断点
3
+ */
4
+ export declare const breakpoints: {
5
+ /**
6
+ * 超小屏幕 (小于 576px,实际为了处理临界值,断点值为 575.98px)
7
+ */
8
+ xs: string;
9
+ /**
10
+ * 小屏幕 (≥ 576px)
11
+ */
12
+ sm: string;
13
+ /**
14
+ * 中等屏幕 (≥ 768px)
15
+ */
16
+ md: string;
17
+ /**
18
+ * 大屏幕 (≥ 992px)
19
+ */
20
+ lg: string;
21
+ /**
22
+ * 超大屏幕 (≥ 1200px)
23
+ */
24
+ xl: string;
25
+ };
26
+ /**
27
+ * 根节点选择器,用于挂载全局Tokens
28
+ */
29
+ export declare const rootSelector: {
30
+ defaultLight: string[];
31
+ defaultDark: string[];
32
+ dmLight: string[];
33
+ dmDark: string[];
34
+ };
35
+ /**
36
+ * BUI css变量前缀
37
+ */
38
+ export declare const BUI_VAR_PREFIX = "bui-var-";
@@ -0,0 +1,65 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var constants_exports = {};
19
+ __export(constants_exports, {
20
+ BUI_VAR_PREFIX: () => BUI_VAR_PREFIX,
21
+ breakpoints: () => breakpoints,
22
+ rootSelector: () => rootSelector
23
+ });
24
+ module.exports = __toCommonJS(constants_exports);
25
+ const breakpoints = {
26
+ /**
27
+ * 超小屏幕 (小于 576px,实际为了处理临界值,断点值为 575.98px)
28
+ */
29
+ xs: "575.98px",
30
+ /**
31
+ * 小屏幕 (≥ 576px)
32
+ */
33
+ sm: "576px",
34
+ /**
35
+ * 中等屏幕 (≥ 768px)
36
+ */
37
+ md: "768px",
38
+ /**
39
+ * 大屏幕 (≥ 992px)
40
+ */
41
+ lg: "992px",
42
+ /**
43
+ * 超大屏幕 (≥ 1200px)
44
+ */
45
+ xl: "1200px"
46
+ };
47
+ const rootSelector = {
48
+ defaultLight: [
49
+ ":root",
50
+ "page",
51
+ "xhs-page",
52
+ ".bui-default-light",
53
+ '[data-color-mode="light"][data-theme="default"]'
54
+ ],
55
+ defaultDark: [".bui-dark", '[data-color-mode="dark"][data-theme="default"]'],
56
+ dmLight: [".bui-dm-light", '[data-color-mode="light"][data-theme="dm"]'],
57
+ dmDark: [".bui-dm-dark", '[data-color-mode="dark"][data-theme="dm"]']
58
+ };
59
+ const BUI_VAR_PREFIX = "bui-var-";
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ BUI_VAR_PREFIX,
63
+ breakpoints,
64
+ rootSelector
65
+ });