@bifrostui/react 1.3.1-beta.1 → 1.4.0-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.
@@ -5,6 +5,9 @@
5
5
  --height: var(--bui-button-height, 27px);
6
6
  --icon-start-margin-right: var(--bui-button-icon-start-margin-right, var(--bui-spacing-xs));
7
7
  --icon-start-margin-left: var(--bui-button-icon-start-margin-left, var(--bui-spacing-xs));
8
+ --default-border: var(--bui-button-default-border, 1px solid transparent);
9
+ --light-border: var(--bui-button-light-border, 1px solid transparent);
10
+ --outlined-default-border: var(--bui-button-outlined-default-border, 1px solid var(--bui-color-neutral-4));
8
11
  --disabled-opacity: var(--bui-button-disabled-opacity, 0.5);
9
12
  --small-padding: var(--bui-button-small-padding, 0 11px);
10
13
  --small-height: var(--bui-button-small-height, 24px);
@@ -13,7 +16,7 @@
13
16
  --large-height: var(--bui-button-large-height, 33px);
14
17
  --full-font-size: var(--bui-button-full-font-size, var(--bui-title-size-4));
15
18
  --full-height: var(--bui-button-full-height, 42px);
16
- border: 1px solid transparent;
19
+ border: var(--default-border);
17
20
  outline: 0;
18
21
  background-color: transparent;
19
22
  cursor: pointer;
@@ -165,7 +168,7 @@
165
168
  var(--bui-color-vip-end) 100%);
166
169
  }
167
170
  .bui-btn-outlined {
168
- border: solid 1px var(--border-color);
171
+ border: var(--outlined-default-border);
169
172
  }
170
173
  .bui-btn-outlined.bui-btn-primary {
171
174
  color: var(--bui-color-primary);
@@ -194,35 +197,35 @@
194
197
  .bui-btn-light {
195
198
  background-image: none;
196
199
  background-color: var(--bui-color-gray-light);
197
- border: 1px solid transparent;
200
+ border: var(--light-border);
198
201
  }
199
202
  .bui-btn-light.bui-btn-warning {
200
203
  background-image: none;
201
- border: 1px solid transparent;
204
+ border: var(--light-border);
202
205
  color: var(--bui-color-warning);
203
206
  background-color: var(--bui-color-warning-light);
204
207
  }
205
208
  .bui-btn-light.bui-btn-primary {
206
209
  background-image: none;
207
- border: 1px solid transparent;
210
+ border: var(--light-border);
208
211
  color: var(--bui-color-primary);
209
212
  background-color: var(--bui-color-primary-light);
210
213
  }
211
214
  .bui-btn-light.bui-btn-info {
212
215
  background-image: none;
213
- border: 1px solid transparent;
216
+ border: var(--light-border);
214
217
  color: var(--bui-color-info);
215
218
  background-color: var(--bui-color-info-light);
216
219
  }
217
220
  .bui-btn-light.bui-btn-success {
218
221
  background-image: none;
219
- border: 1px solid transparent;
222
+ border: var(--light-border);
220
223
  color: var(--bui-color-success);
221
224
  background-color: var(--bui-color-success-light);
222
225
  }
223
226
  .bui-btn-light.bui-btn-danger {
224
227
  background-image: none;
225
- border: 1px solid transparent;
228
+ border: var(--light-border);
226
229
  color: var(--bui-color-danger);
227
230
  background-color: var(--bui-color-danger-light);
228
231
  }
@@ -1,8 +1,10 @@
1
1
  .bui-input {
2
2
  --height: var(--bui-input-height, 32px);
3
3
  --padding: var(--bui-input-padding, 4px 10px);
4
+ --border-radius: var(--bui-input-border-radius, var(--bui-shape-radius-default));
4
5
  --icon-start-margin-right: var(--bui-input-icon-start-margin-right, 3px);
5
6
  --icon-end-margin-left: var(--bui-input-icon-end-margin-left, 3px);
7
+ --background-color: var(--bui-input-background-color, transparent);
6
8
  --disabled-background-color: var(--bui-input-disabled-background-color, rgba(0, 0, 0, 0.04));
7
9
  position: relative;
8
10
  display: flex;
@@ -10,7 +12,7 @@
10
12
  height: var(--height);
11
13
  padding: var(--padding);
12
14
  box-sizing: border-box;
13
- border-radius: var(--bui-shape-radius-default);
15
+ border-radius: var(--border-radius);
14
16
  border: 1px solid var(--bui-color-border-default);
15
17
  font-family: var(--bui-font-family);
16
18
  }
@@ -35,7 +37,7 @@
35
37
  color: var(--bui-color-fg-default);
36
38
  border: none;
37
39
  outline: none;
38
- background-color: transparent;
40
+ background-color: var(--background-color);
39
41
  font-size: var(--bui-text-size-2);
40
42
  }
41
43
  .bui-input-input::placeholder {
@@ -12,5 +12,5 @@ declare const Modal: React.ForwardRefExoticComponent<Omit<ViewProps & {
12
12
  keepMounted?: boolean;
13
13
  } & import("@bifrostui/types").ICommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
14
  ref?: React.Ref<HTMLDivElement>;
15
- }, keyof import("@bifrostui/types").ICommonProps | "container" | "open" | "disablePortal" | "hideBackdrop" | "BackdropProps" | "onClose" | "disableScrollLock" | "keepMounted">, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ }, "open" | keyof import("@bifrostui/types").ICommonProps | "container" | "disablePortal" | "hideBackdrop" | "BackdropProps" | "onClose" | "disableScrollLock" | "keepMounted">, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
16
  export default Modal;
@@ -1,6 +1,6 @@
1
1
  .bui-popover {
2
- --arrow-size: var(--bui-popover-arrow-size, 8px);
3
- --localtion-position: var(--bui-popover-localtion-position, 8px);
2
+ --arrow-size: var(--bui-popover-arrow-size, 8PX);
3
+ --localtion-position: var(--bui-popover-localtion-position, 8PX);
4
4
  --max-width: var(--bui-popover-max-width, 350px);
5
5
  --content-min-width: var(--bui-popover-content-min-width, 30px);
6
6
  --content-min-height: var(--bui-popover-content-min-height, 32px);
@@ -93,6 +93,7 @@ const Popover = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
93
93
  "hideArrow",
94
94
  "PortalProps"
95
95
  ]);
96
+ const controlByUser = typeof open !== "undefined";
96
97
  const positionArr = placement.split(/([A-Z])/);
97
98
  const direction = positionArr[0];
98
99
  let location;
@@ -108,6 +109,11 @@ const Popover = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
108
109
  const [arrowLocation, setArrowLocation] = (0, import_react.useState)(location);
109
110
  const [tooltyles, setTooltyles] = (0, import_react.useState)({});
110
111
  const ttId = (0, import_utils.useUniqueId)();
112
+ (0, import_react.useEffect)(() => {
113
+ if (!controlByUser)
114
+ return;
115
+ setOpenStatus(open);
116
+ }, [open]);
111
117
  const onRootElementMouted = () => {
112
118
  const result = (0, import_utils.getStylesAndLocation)({
113
119
  childrenRef,
@@ -127,7 +133,7 @@ const Popover = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
127
133
  setTooltyles(styles);
128
134
  };
129
135
  const changeOpenStatus = (event, status) => {
130
- if (open)
136
+ if (controlByUser)
131
137
  return;
132
138
  setOpenStatus(status);
133
139
  onOpenChange == null ? void 0 : onOpenChange(event, { open: status });
@@ -144,12 +150,15 @@ const Popover = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
144
150
  };
145
151
  if (!title && !content)
146
152
  return null;
147
- const triggerEventOption = (0, import_utils.triggerEventTransform)({
148
- trigger,
149
- click: triggerClick,
150
- show: showPopover,
151
- hide: hidePopover
152
- });
153
+ let triggerEventOption;
154
+ if (!controlByUser) {
155
+ triggerEventOption = (0, import_utils.triggerEventTransform)({
156
+ trigger,
157
+ click: triggerClick,
158
+ show: showPopover,
159
+ hide: hidePopover
160
+ });
161
+ }
153
162
  const childrenOptions = __spreadValues({
154
163
  ref: childrenRef
155
164
  }, triggerEventOption);
@@ -11,7 +11,6 @@ export type PopoverProps<D extends React.ElementType = 'div', P = {}> = Override
11
11
  defaultOpen?: boolean;
12
12
  /**
13
13
  * 用于手动控制浮层显隐
14
- * @default false
15
14
  */
16
15
  open?: boolean;
17
16
  /**
@@ -1,5 +1,5 @@
1
1
  .bui-progress {
2
- --fill-color: var(--bui-color-primary);
2
+ --fill-color: var(--bui-progress-fill-color, --bui-color-primary);
3
3
  --trail-color: var(--bui-progress-trail-color, rgba(156, 156, 165, 0.2));
4
4
  --stroke-width: var(--bui-progress-stroke-width, 8px);
5
5
  --width: var(--bui-progress-width, 100%);
@@ -1,7 +1,7 @@
1
1
  .bui-radio {
2
- --label-color: var(--bui-color-fg-default);
3
- --label-font-size: var(--bui-text-size-1);
4
- --icon-font-size: var(--bui-title-size-2);
2
+ --label-color: var(--bui-radio-label-color, --bui-color-fg-default);
3
+ --label-font-size: var(--bui-radio-label-font-size, --bui-text-size-1);
4
+ --icon-font-size: var(--bui-radio-icon-font-size, --bui-title-size-2);
5
5
  --icon-padding: var(--bui-radio-icon-padding, 5px);
6
6
  display: inline-flex;
7
7
  align-items: center;
@@ -1,5 +1,4 @@
1
1
  .bui-skeleton {
2
- --border-radius: var(--bui-shape-radius-label);
3
2
  --height: var(--bui-skeleton-height, 1.2em);
4
3
  display: block;
5
4
  }
@@ -21,7 +20,7 @@
21
20
  height: auto;
22
21
  transform-origin: 0 55%;
23
22
  transform: scale(1, 0.6);
24
- border-radius: var(--border-radius);
23
+ border-radius: var(--bui-shape-radius-label);
25
24
  }
26
25
  .bui-skeleton-text::before {
27
26
  content: "\a0";
@@ -31,7 +30,7 @@
31
30
  }
32
31
  .bui-skeleton-rounded {
33
32
  height: var(--height);
34
- border-radius: var(--border-radius);
33
+ border-radius: var(--bui-shape-radius-label);
35
34
  }
36
35
  .bui-skeleton-circular {
37
36
  border-radius: 50%;
@@ -1,9 +1,6 @@
1
1
  .bui-slider {
2
- --line-color: var(--bui-color-primary);
3
- --line-bg-color: var(--bui-color-border-default);
4
- --tooltip-font-size: var(--bui-text-size-3);
5
- --tooltip-color: var(--bui-color-white);
6
- --tooltip-bg-color: var(--line-color);
2
+ --line-color: var(--bui-slider-line-color, --bui-color-primary);
3
+ --line-bg-color: var(--bui-slider-line-bg-color, --bui-color-border-default);
7
4
  --width: var(--bui-slider-width, 100%);
8
5
  --height: var(--bui-slider-height, 2px);
9
6
  --padding: var(--bui-slider-padding, 19px 0);
@@ -15,6 +12,9 @@
15
12
  --tooltip-height: var(--bui-slider-tooltip-height, 24px);
16
13
  --tooltip-line-height: var(--bui-slider-tooltip-line-height, 24px);
17
14
  --tooltip-border-radius: var(--bui-slider-tooltip-border-radius, 24px);
15
+ --tooltip-font-size: var(--bui-tooltip-font-size, --bui-text-size-3);
16
+ --tooltip-color: var(--bui-tooltip-color, --bui-color-white);
17
+ --tooltip-bg-color: var(--bui-tooltip-bg-color, --line-color);
18
18
  position: relative;
19
19
  width: var(--width);
20
20
  height: var(--height);
@@ -71,8 +71,8 @@
71
71
  align-items: flex-start;
72
72
  }
73
73
  .bui-step-title {
74
- font-size: var(--title-font-size);
75
- font-weight: var(--title-font-weight);
74
+ font-size: var(--bui-title-size-4);
75
+ font-weight: var(--bui-font-weight-medium);
76
76
  width: auto;
77
77
  overflow: hidden;
78
78
  text-overflow: ellipsis;
@@ -1,7 +1,5 @@
1
1
  .bui-steps {
2
2
  --font-size: var(--bui-steps-font-size, var(--bui-title-size-3));
3
- --title-font-size: var(--bui-title-size-4);
4
- --title-font-weight: var(--bui-font-weight-medium);
5
3
  --subtitle-font-size: var(--bui-step-subtitle-font-size, var(--bui-text-size-2));
6
4
  --step-line-padding: var(--bui-step-line-padding, 20px 0 3px 0);
7
5
  --step-line-width: var(--bui-step-line-width, 1px);
package/dist/Tabs/Tab.css CHANGED
@@ -8,20 +8,20 @@
8
8
  box-sizing: border-box;
9
9
  position: relative;
10
10
  cursor: pointer;
11
- font-size: var(--font-size);
11
+ font-size: var(--bui-text-size-1);
12
12
  line-height: var(--bui-line-height);
13
13
  color: var(--color);
14
14
  padding: var(--tab-padding);
15
15
  font-family: var(--bui-font-family);
16
16
  }
17
17
  .bui-tab-active {
18
- font-size: var(--font-size);
18
+ font-size: var(--bui-text-size-1);
19
19
  line-height: var(--bui-line-height);
20
20
  font-weight: var(--bui-font-weight-medium);
21
21
  color: var(--active-color);
22
22
  }
23
23
  .bui-tab-miniapp-active {
24
- font-size: var(--font-size);
24
+ font-size: var(--bui-text-size-1);
25
25
  line-height: 1.5;
26
26
  font-weight: var(--bui-font-weight-medium);
27
27
  color: var(--active-color);
@@ -36,7 +36,7 @@
36
36
  width: 18px;
37
37
  height: 2px;
38
38
  transition: all 100ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
39
- background-color: var(--line-color);
39
+ background-color: var(--bui-color-primary);
40
40
  }
41
41
  .bui-tab-disabled {
42
42
  opacity: 0.5;
@@ -1,9 +1,7 @@
1
1
  .bui-tabs {
2
2
  --height: var(--bui-tabs-height, 39px);
3
- --font-size: var(--bui-text-size-1);
4
- --color: var(--bui-color-fg-subtle);
5
- --active-color: var(--bui-color-fg-default);
6
- --line-color: var(--bui-color-primary);
3
+ --color: var(--bui-tabs-color, var(--bui-color-fg-subtle));
4
+ --active-color: var(--bui-tabs-active-color, var(--bui-color-fg-default));
7
5
  --line-height: var(--bui-tabs-line-height, 3PX);
8
6
  --line-width: var(--bui-tabs-line-width, 18px);
9
7
  --mask-height: var(--bui-tabs-mask-height, 100%);
@@ -31,7 +29,7 @@
31
29
  bottom: 0;
32
30
  height: var(--line-height);
33
31
  color: var(--bui-color-primary);
34
- background: var(--line-color);
32
+ background: var(--bui-color-primary);
35
33
  border-radius: var(--bui-shape-radius-label);
36
34
  }
37
35
  .bui-tabs-content {
@@ -1,6 +1,7 @@
1
1
  .bui-textarea {
2
+ --border-radius: var(--bui-textarea-border-radius, var(--bui-shape-radius-label));
2
3
  --width: var(--bui-textarea-width, 100%);
3
- --bg-color: var(--bui-color-bg-default);
4
+ --bg-color: var(--bui-textarea-background-color, var(--bui-color-bg-default));
4
5
  --text-color: var(--bui-textarea-text-color, var(--bui-color-fg-subtle));
5
6
  --count-bg-color: var(--bg-color, var(--bui-color-bg-default));
6
7
  --count-text-color: var(--bui-textarea-count-color, var(--bui-color-fg-subtle));
@@ -8,9 +9,12 @@
8
9
  --count-font-size: var(--bui-textarea-count-font-size, var(--bui-title-size-3));
9
10
  --content-padding: var(--bui-textarea-padding, 8px);
10
11
  --count-padding: var(--bui-textarea-count-padding, 0 4px);
12
+ --placeholder-color: var(--bui-textarea-placeholder-color, #ced1d6);
11
13
  --placeholder-line-height: var(--bui-textarea-placeholder-line-height, 1.3);
12
14
  background: var(--bui-color-bg-default);
15
+ border-radius: var(--border-radius);
13
16
  font-family: var(--bui-font-family);
17
+ overflow: hidden;
14
18
  }
15
19
  .bui-textarea textarea {
16
20
  font-size: var(--text-font-size);
@@ -18,7 +22,7 @@
18
22
  line-height: var(--bui-line-height);
19
23
  }
20
24
  .bui-textarea .bui-mini-placeholder {
21
- color: var(--bui-color-fg-disabled);
25
+ color: var(--placeholder-color);
22
26
  }
23
27
  .bui-textarea-disabled {
24
28
  pointer-events: none;
@@ -29,7 +33,7 @@
29
33
  .bui-textarea-content {
30
34
  width: var(--width);
31
35
  resize: none;
32
- background: var(--bg-color);
36
+ background-color: var(--bg-color);
33
37
  padding: var(--content-padding);
34
38
  border: none;
35
39
  outline: none;
@@ -37,11 +41,11 @@
37
41
  box-sizing: border-box;
38
42
  }
39
43
  .bui-textarea-content::placeholder {
40
- color: var(--bui-color-fg-disabled);
44
+ color: var(--placeholder-color);
41
45
  line-height: var(--placeholder-line-height);
42
46
  }
43
47
  .bui-textarea-count {
44
- background: var(--count-bg-color);
48
+ background-color: var(--count-bg-color);
45
49
  color: var(--count-text-color);
46
50
  text-align: right;
47
51
  padding: var(--count-padding);
@@ -3,18 +3,15 @@
3
3
  --max-width: var(--bui-toast-max-width, 80%);
4
4
  --flex-direction: var(--bui-toast-flex-direction, column);
5
5
  --padding: var(--bui-toast-padding, var(--bui-spacing-xl));
6
- --word-break: break-all;
7
- --z-index: var(--bui-z-index-toast);
8
6
  --position-top: var(--bui-toast-position-top, 15%);
9
7
  --position-bottom: var(--bui-toast-position-bottom, 85%);
10
8
  --background-color: var(--bui-toast-bg-color, rgba(0, 0, 0, 0.8));
11
9
  --border-radius: var(--bui-toast-border-radius, --bui-shape-radius-default);
12
10
  --icon-margin: var(--bui-toast-icon-margin-bottom, 8px);
13
11
  --icon-font-size: var(--bui-toast-icon-font-size, 30px);
14
- --text-align: center;
15
12
  position: fixed;
16
13
  left: 50%;
17
- z-index: var(--z-index);
14
+ z-index: var(--bui-z-index-toast);
18
15
  width: fit-content;
19
16
  min-width: var(--min-width);
20
17
  max-width: var(--max-width);
@@ -22,10 +19,10 @@
22
19
  font-size: var(--bui-text-size-1);
23
20
  color: var(--bui-color-white);
24
21
  border-radius: var(--border-radius);
25
- word-break: var(--word-break);
22
+ word-break: break-all;
26
23
  white-space: pre-wrap;
27
24
  background-color: var(--background-color);
28
- text-align: var(--text-align);
25
+ text-align: center;
29
26
  font-family: var(--bui-font-family);
30
27
  }
31
28
  .bui-toast.bui-toast-allow-click {
@@ -1,6 +1,6 @@
1
1
  .bui-tooltip {
2
- --arrow-size: var(--bui-tooltip-arrow-size, 8px);
3
- --localtion-position: var(--bui-tooltip-localtion-position, 8px);
2
+ --arrow-size: var(--bui-tooltip-arrow-size, 8PX);
3
+ --localtion-position: var(--bui-tooltip-localtion-position, 8PX);
4
4
  --max-width: var(--bui-tooltip-max-width, 350px);
5
5
  --content-min-width: var(--bui-tooltip-content-min-width, 30px);
6
6
  --content-min-height: var(--bui-tooltip-content-min-height, 32px);
@@ -89,6 +89,7 @@ const Tooltip = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
89
89
  "open",
90
90
  "PortalProps"
91
91
  ]);
92
+ const controlByUser = typeof open !== "undefined";
92
93
  const positionArr = placement.split(/([A-Z])/);
93
94
  const direction = positionArr[0];
94
95
  let location;
@@ -104,6 +105,11 @@ const Tooltip = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
104
105
  const [arrowLocation, setArrowLocation] = (0, import_react.useState)(location);
105
106
  const [tooltyles, setTooltyles] = (0, import_react.useState)({});
106
107
  const ttId = (0, import_utils.useUniqueId)();
108
+ (0, import_react.useEffect)(() => {
109
+ if (!controlByUser)
110
+ return;
111
+ setOpenStatus(open);
112
+ }, [open]);
107
113
  const onRootElementMouted = () => {
108
114
  const result = (0, import_utils.getStylesAndLocation)({
109
115
  childrenRef,
@@ -123,7 +129,7 @@ const Tooltip = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
123
129
  setTooltyles(styles);
124
130
  };
125
131
  const changeOpenStatus = (event, status) => {
126
- if (open)
132
+ if (controlByUser)
127
133
  return;
128
134
  setOpenStatus(status);
129
135
  onOpenChange == null ? void 0 : onOpenChange(event, { open: status });
@@ -138,12 +144,15 @@ const Tooltip = /* @__PURE__ */ import_react.default.forwardRef((props, ref) =>
138
144
  const showTooltip = (event) => {
139
145
  changeOpenStatus(event, true);
140
146
  };
141
- const triggerEventOption = (0, import_utils.triggerEventTransform)({
142
- trigger,
143
- click: triggerClick,
144
- show: showTooltip,
145
- hide: hideTooltip
146
- });
147
+ let triggerEventOption;
148
+ if (!controlByUser) {
149
+ triggerEventOption = (0, import_utils.triggerEventTransform)({
150
+ trigger,
151
+ click: triggerClick,
152
+ show: showTooltip,
153
+ hide: hideTooltip
154
+ });
155
+ }
147
156
  const childrenOptions = __spreadValues({
148
157
  ref: childrenRef
149
158
  }, triggerEventOption);
@@ -15,7 +15,6 @@ export type TooltipProps<D extends React.ElementType = 'div', P = {}> = Override
15
15
  defaultOpen?: boolean;
16
16
  /**
17
17
  * 用于手动控制气泡浮层显隐
18
- * @default false
19
18
  */
20
19
  open?: boolean;
21
20
  /**
@@ -5,6 +5,9 @@
5
5
  --height: var(--bui-button-height, 27px);
6
6
  --icon-start-margin-right: var(--bui-button-icon-start-margin-right, var(--bui-spacing-xs));
7
7
  --icon-start-margin-left: var(--bui-button-icon-start-margin-left, var(--bui-spacing-xs));
8
+ --default-border: var(--bui-button-default-border, 1px solid transparent);
9
+ --light-border: var(--bui-button-light-border, 1px solid transparent);
10
+ --outlined-default-border: var(--bui-button-outlined-default-border, 1px solid var(--bui-color-neutral-4));
8
11
  --disabled-opacity: var(--bui-button-disabled-opacity, 0.5);
9
12
  --small-padding: var(--bui-button-small-padding, 0 11px);
10
13
  --small-height: var(--bui-button-small-height, 24px);
@@ -13,7 +16,7 @@
13
16
  --large-height: var(--bui-button-large-height, 33px);
14
17
  --full-font-size: var(--bui-button-full-font-size, var(--bui-title-size-4));
15
18
  --full-height: var(--bui-button-full-height, 42px);
16
- border: 1px solid transparent;
19
+ border: var(--default-border);
17
20
  outline: 0;
18
21
  background-color: transparent;
19
22
  cursor: pointer;
@@ -165,7 +168,7 @@
165
168
  var(--bui-color-vip-end) 100%);
166
169
  }
167
170
  .bui-btn-outlined {
168
- border: solid 1px var(--border-color);
171
+ border: var(--outlined-default-border);
169
172
  }
170
173
  .bui-btn-outlined.bui-btn-primary {
171
174
  color: var(--bui-color-primary);
@@ -194,35 +197,35 @@
194
197
  .bui-btn-light {
195
198
  background-image: none;
196
199
  background-color: var(--bui-color-gray-light);
197
- border: 1px solid transparent;
200
+ border: var(--light-border);
198
201
  }
199
202
  .bui-btn-light.bui-btn-warning {
200
203
  background-image: none;
201
- border: 1px solid transparent;
204
+ border: var(--light-border);
202
205
  color: var(--bui-color-warning);
203
206
  background-color: var(--bui-color-warning-light);
204
207
  }
205
208
  .bui-btn-light.bui-btn-primary {
206
209
  background-image: none;
207
- border: 1px solid transparent;
210
+ border: var(--light-border);
208
211
  color: var(--bui-color-primary);
209
212
  background-color: var(--bui-color-primary-light);
210
213
  }
211
214
  .bui-btn-light.bui-btn-info {
212
215
  background-image: none;
213
- border: 1px solid transparent;
216
+ border: var(--light-border);
214
217
  color: var(--bui-color-info);
215
218
  background-color: var(--bui-color-info-light);
216
219
  }
217
220
  .bui-btn-light.bui-btn-success {
218
221
  background-image: none;
219
- border: 1px solid transparent;
222
+ border: var(--light-border);
220
223
  color: var(--bui-color-success);
221
224
  background-color: var(--bui-color-success-light);
222
225
  }
223
226
  .bui-btn-light.bui-btn-danger {
224
227
  background-image: none;
225
- border: 1px solid transparent;
228
+ border: var(--light-border);
226
229
  color: var(--bui-color-danger);
227
230
  background-color: var(--bui-color-danger-light);
228
231
  }
@@ -1,8 +1,10 @@
1
1
  .bui-input {
2
2
  --height: var(--bui-input-height, 32px);
3
3
  --padding: var(--bui-input-padding, 4px 10px);
4
+ --border-radius: var(--bui-input-border-radius, var(--bui-shape-radius-default));
4
5
  --icon-start-margin-right: var(--bui-input-icon-start-margin-right, 3px);
5
6
  --icon-end-margin-left: var(--bui-input-icon-end-margin-left, 3px);
7
+ --background-color: var(--bui-input-background-color, transparent);
6
8
  --disabled-background-color: var(--bui-input-disabled-background-color, rgba(0, 0, 0, 0.04));
7
9
  position: relative;
8
10
  display: flex;
@@ -10,7 +12,7 @@
10
12
  height: var(--height);
11
13
  padding: var(--padding);
12
14
  box-sizing: border-box;
13
- border-radius: var(--bui-shape-radius-default);
15
+ border-radius: var(--border-radius);
14
16
  border: 1px solid var(--bui-color-border-default);
15
17
  font-family: var(--bui-font-family);
16
18
  }
@@ -35,7 +37,7 @@
35
37
  color: var(--bui-color-fg-default);
36
38
  border: none;
37
39
  outline: none;
38
- background-color: transparent;
40
+ background-color: var(--background-color);
39
41
  font-size: var(--bui-text-size-2);
40
42
  }
41
43
  .bui-input-input::placeholder {
@@ -12,5 +12,5 @@ declare const Modal: React.ForwardRefExoticComponent<Omit<ViewProps & {
12
12
  keepMounted?: boolean;
13
13
  } & import("@bifrostui/types").ICommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
14
  ref?: React.Ref<HTMLDivElement>;
15
- }, "open" | keyof import("@bifrostui/types").ICommonProps | "container" | "onClose" | "keepMounted" | "disablePortal" | "hideBackdrop" | "BackdropProps" | "disableScrollLock">, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ }, "open" | keyof import("@bifrostui/types").ICommonProps | "container" | "disablePortal" | "hideBackdrop" | "BackdropProps" | "onClose" | "disableScrollLock" | "keepMounted">, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
16
  export default Modal;
@@ -1,6 +1,6 @@
1
1
  .bui-popover {
2
- --arrow-size: var(--bui-popover-arrow-size, 8px);
3
- --localtion-position: var(--bui-popover-localtion-position, 8px);
2
+ --arrow-size: var(--bui-popover-arrow-size, 8PX);
3
+ --localtion-position: var(--bui-popover-localtion-position, 8PX);
4
4
  --max-width: var(--bui-popover-max-width, 350px);
5
5
  --content-min-width: var(--bui-popover-content-min-width, 30px);
6
6
  --content-min-height: var(--bui-popover-content-min-height, 32px);
@@ -30,7 +30,7 @@ var __objRest = (source, exclude) => {
30
30
  return target;
31
31
  };
32
32
  import clsx from "clsx";
33
- import React, { useState, useRef } from "react";
33
+ import React, { useState, useRef, useEffect } from "react";
34
34
  import {
35
35
  getStylesAndLocation,
36
36
  triggerEventTransform,
@@ -67,6 +67,7 @@ const Popover = /* @__PURE__ */ React.forwardRef((props, ref) => {
67
67
  "hideArrow",
68
68
  "PortalProps"
69
69
  ]);
70
+ const controlByUser = typeof open !== "undefined";
70
71
  const positionArr = placement.split(/([A-Z])/);
71
72
  const direction = positionArr[0];
72
73
  let location;
@@ -82,6 +83,11 @@ const Popover = /* @__PURE__ */ React.forwardRef((props, ref) => {
82
83
  const [arrowLocation, setArrowLocation] = useState(location);
83
84
  const [tooltyles, setTooltyles] = useState({});
84
85
  const ttId = useUniqueId();
86
+ useEffect(() => {
87
+ if (!controlByUser)
88
+ return;
89
+ setOpenStatus(open);
90
+ }, [open]);
85
91
  const onRootElementMouted = () => {
86
92
  const result = getStylesAndLocation({
87
93
  childrenRef,
@@ -101,7 +107,7 @@ const Popover = /* @__PURE__ */ React.forwardRef((props, ref) => {
101
107
  setTooltyles(styles);
102
108
  };
103
109
  const changeOpenStatus = (event, status) => {
104
- if (open)
110
+ if (controlByUser)
105
111
  return;
106
112
  setOpenStatus(status);
107
113
  onOpenChange == null ? void 0 : onOpenChange(event, { open: status });
@@ -118,12 +124,15 @@ const Popover = /* @__PURE__ */ React.forwardRef((props, ref) => {
118
124
  };
119
125
  if (!title && !content)
120
126
  return null;
121
- const triggerEventOption = triggerEventTransform({
122
- trigger,
123
- click: triggerClick,
124
- show: showPopover,
125
- hide: hidePopover
126
- });
127
+ let triggerEventOption;
128
+ if (!controlByUser) {
129
+ triggerEventOption = triggerEventTransform({
130
+ trigger,
131
+ click: triggerClick,
132
+ show: showPopover,
133
+ hide: hidePopover
134
+ });
135
+ }
127
136
  const childrenOptions = __spreadValues({
128
137
  ref: childrenRef
129
138
  }, triggerEventOption);
@@ -11,7 +11,6 @@ export type PopoverProps<D extends React.ElementType = 'div', P = {}> = Override
11
11
  defaultOpen?: boolean;
12
12
  /**
13
13
  * 用于手动控制浮层显隐
14
- * @default false
15
14
  */
16
15
  open?: boolean;
17
16
  /**
@@ -1,5 +1,5 @@
1
1
  .bui-progress {
2
- --fill-color: var(--bui-color-primary);
2
+ --fill-color: var(--bui-progress-fill-color, --bui-color-primary);
3
3
  --trail-color: var(--bui-progress-trail-color, rgba(156, 156, 165, 0.2));
4
4
  --stroke-width: var(--bui-progress-stroke-width, 8px);
5
5
  --width: var(--bui-progress-width, 100%);
@@ -1,7 +1,7 @@
1
1
  .bui-radio {
2
- --label-color: var(--bui-color-fg-default);
3
- --label-font-size: var(--bui-text-size-1);
4
- --icon-font-size: var(--bui-title-size-2);
2
+ --label-color: var(--bui-radio-label-color, --bui-color-fg-default);
3
+ --label-font-size: var(--bui-radio-label-font-size, --bui-text-size-1);
4
+ --icon-font-size: var(--bui-radio-icon-font-size, --bui-title-size-2);
5
5
  --icon-padding: var(--bui-radio-icon-padding, 5px);
6
6
  display: inline-flex;
7
7
  align-items: center;
@@ -1,5 +1,4 @@
1
1
  .bui-skeleton {
2
- --border-radius: var(--bui-shape-radius-label);
3
2
  --height: var(--bui-skeleton-height, 1.2em);
4
3
  display: block;
5
4
  }
@@ -21,7 +20,7 @@
21
20
  height: auto;
22
21
  transform-origin: 0 55%;
23
22
  transform: scale(1, 0.6);
24
- border-radius: var(--border-radius);
23
+ border-radius: var(--bui-shape-radius-label);
25
24
  }
26
25
  .bui-skeleton-text::before {
27
26
  content: "\a0";
@@ -31,7 +30,7 @@
31
30
  }
32
31
  .bui-skeleton-rounded {
33
32
  height: var(--height);
34
- border-radius: var(--border-radius);
33
+ border-radius: var(--bui-shape-radius-label);
35
34
  }
36
35
  .bui-skeleton-circular {
37
36
  border-radius: 50%;
@@ -1,9 +1,6 @@
1
1
  .bui-slider {
2
- --line-color: var(--bui-color-primary);
3
- --line-bg-color: var(--bui-color-border-default);
4
- --tooltip-font-size: var(--bui-text-size-3);
5
- --tooltip-color: var(--bui-color-white);
6
- --tooltip-bg-color: var(--line-color);
2
+ --line-color: var(--bui-slider-line-color, --bui-color-primary);
3
+ --line-bg-color: var(--bui-slider-line-bg-color, --bui-color-border-default);
7
4
  --width: var(--bui-slider-width, 100%);
8
5
  --height: var(--bui-slider-height, 2px);
9
6
  --padding: var(--bui-slider-padding, 19px 0);
@@ -15,6 +12,9 @@
15
12
  --tooltip-height: var(--bui-slider-tooltip-height, 24px);
16
13
  --tooltip-line-height: var(--bui-slider-tooltip-line-height, 24px);
17
14
  --tooltip-border-radius: var(--bui-slider-tooltip-border-radius, 24px);
15
+ --tooltip-font-size: var(--bui-tooltip-font-size, --bui-text-size-3);
16
+ --tooltip-color: var(--bui-tooltip-color, --bui-color-white);
17
+ --tooltip-bg-color: var(--bui-tooltip-bg-color, --line-color);
18
18
  position: relative;
19
19
  width: var(--width);
20
20
  height: var(--height);
package/es/Steps/Step.css CHANGED
@@ -71,8 +71,8 @@
71
71
  align-items: flex-start;
72
72
  }
73
73
  .bui-step-title {
74
- font-size: var(--title-font-size);
75
- font-weight: var(--title-font-weight);
74
+ font-size: var(--bui-title-size-4);
75
+ font-weight: var(--bui-font-weight-medium);
76
76
  width: auto;
77
77
  overflow: hidden;
78
78
  text-overflow: ellipsis;
@@ -1,7 +1,5 @@
1
1
  .bui-steps {
2
2
  --font-size: var(--bui-steps-font-size, var(--bui-title-size-3));
3
- --title-font-size: var(--bui-title-size-4);
4
- --title-font-weight: var(--bui-font-weight-medium);
5
3
  --subtitle-font-size: var(--bui-step-subtitle-font-size, var(--bui-text-size-2));
6
4
  --step-line-padding: var(--bui-step-line-padding, 20px 0 3px 0);
7
5
  --step-line-width: var(--bui-step-line-width, 1px);
package/es/Tabs/Tab.css CHANGED
@@ -8,20 +8,20 @@
8
8
  box-sizing: border-box;
9
9
  position: relative;
10
10
  cursor: pointer;
11
- font-size: var(--font-size);
11
+ font-size: var(--bui-text-size-1);
12
12
  line-height: var(--bui-line-height);
13
13
  color: var(--color);
14
14
  padding: var(--tab-padding);
15
15
  font-family: var(--bui-font-family);
16
16
  }
17
17
  .bui-tab-active {
18
- font-size: var(--font-size);
18
+ font-size: var(--bui-text-size-1);
19
19
  line-height: var(--bui-line-height);
20
20
  font-weight: var(--bui-font-weight-medium);
21
21
  color: var(--active-color);
22
22
  }
23
23
  .bui-tab-miniapp-active {
24
- font-size: var(--font-size);
24
+ font-size: var(--bui-text-size-1);
25
25
  line-height: 1.5;
26
26
  font-weight: var(--bui-font-weight-medium);
27
27
  color: var(--active-color);
@@ -36,7 +36,7 @@
36
36
  width: 18px;
37
37
  height: 2px;
38
38
  transition: all 100ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
39
- background-color: var(--line-color);
39
+ background-color: var(--bui-color-primary);
40
40
  }
41
41
  .bui-tab-disabled {
42
42
  opacity: 0.5;
package/es/Tabs/Tabs.css CHANGED
@@ -1,9 +1,7 @@
1
1
  .bui-tabs {
2
2
  --height: var(--bui-tabs-height, 39px);
3
- --font-size: var(--bui-text-size-1);
4
- --color: var(--bui-color-fg-subtle);
5
- --active-color: var(--bui-color-fg-default);
6
- --line-color: var(--bui-color-primary);
3
+ --color: var(--bui-tabs-color, var(--bui-color-fg-subtle));
4
+ --active-color: var(--bui-tabs-active-color, var(--bui-color-fg-default));
7
5
  --line-height: var(--bui-tabs-line-height, 3PX);
8
6
  --line-width: var(--bui-tabs-line-width, 18px);
9
7
  --mask-height: var(--bui-tabs-mask-height, 100%);
@@ -31,7 +29,7 @@
31
29
  bottom: 0;
32
30
  height: var(--line-height);
33
31
  color: var(--bui-color-primary);
34
- background: var(--line-color);
32
+ background: var(--bui-color-primary);
35
33
  border-radius: var(--bui-shape-radius-label);
36
34
  }
37
35
  .bui-tabs-content {
@@ -1,6 +1,7 @@
1
1
  .bui-textarea {
2
+ --border-radius: var(--bui-textarea-border-radius, var(--bui-shape-radius-label));
2
3
  --width: var(--bui-textarea-width, 100%);
3
- --bg-color: var(--bui-color-bg-default);
4
+ --bg-color: var(--bui-textarea-background-color, var(--bui-color-bg-default));
4
5
  --text-color: var(--bui-textarea-text-color, var(--bui-color-fg-subtle));
5
6
  --count-bg-color: var(--bg-color, var(--bui-color-bg-default));
6
7
  --count-text-color: var(--bui-textarea-count-color, var(--bui-color-fg-subtle));
@@ -8,9 +9,12 @@
8
9
  --count-font-size: var(--bui-textarea-count-font-size, var(--bui-title-size-3));
9
10
  --content-padding: var(--bui-textarea-padding, 8px);
10
11
  --count-padding: var(--bui-textarea-count-padding, 0 4px);
12
+ --placeholder-color: var(--bui-textarea-placeholder-color, #ced1d6);
11
13
  --placeholder-line-height: var(--bui-textarea-placeholder-line-height, 1.3);
12
14
  background: var(--bui-color-bg-default);
15
+ border-radius: var(--border-radius);
13
16
  font-family: var(--bui-font-family);
17
+ overflow: hidden;
14
18
  }
15
19
  .bui-textarea textarea {
16
20
  font-size: var(--text-font-size);
@@ -18,7 +22,7 @@
18
22
  line-height: var(--bui-line-height);
19
23
  }
20
24
  .bui-textarea .bui-mini-placeholder {
21
- color: var(--bui-color-fg-disabled);
25
+ color: var(--placeholder-color);
22
26
  }
23
27
  .bui-textarea-disabled {
24
28
  pointer-events: none;
@@ -29,7 +33,7 @@
29
33
  .bui-textarea-content {
30
34
  width: var(--width);
31
35
  resize: none;
32
- background: var(--bg-color);
36
+ background-color: var(--bg-color);
33
37
  padding: var(--content-padding);
34
38
  border: none;
35
39
  outline: none;
@@ -37,11 +41,11 @@
37
41
  box-sizing: border-box;
38
42
  }
39
43
  .bui-textarea-content::placeholder {
40
- color: var(--bui-color-fg-disabled);
44
+ color: var(--placeholder-color);
41
45
  line-height: var(--placeholder-line-height);
42
46
  }
43
47
  .bui-textarea-count {
44
- background: var(--count-bg-color);
48
+ background-color: var(--count-bg-color);
45
49
  color: var(--count-text-color);
46
50
  text-align: right;
47
51
  padding: var(--count-padding);
@@ -3,18 +3,15 @@
3
3
  --max-width: var(--bui-toast-max-width, 80%);
4
4
  --flex-direction: var(--bui-toast-flex-direction, column);
5
5
  --padding: var(--bui-toast-padding, var(--bui-spacing-xl));
6
- --word-break: break-all;
7
- --z-index: var(--bui-z-index-toast);
8
6
  --position-top: var(--bui-toast-position-top, 15%);
9
7
  --position-bottom: var(--bui-toast-position-bottom, 85%);
10
8
  --background-color: var(--bui-toast-bg-color, rgba(0, 0, 0, 0.8));
11
9
  --border-radius: var(--bui-toast-border-radius, --bui-shape-radius-default);
12
10
  --icon-margin: var(--bui-toast-icon-margin-bottom, 8px);
13
11
  --icon-font-size: var(--bui-toast-icon-font-size, 30px);
14
- --text-align: center;
15
12
  position: fixed;
16
13
  left: 50%;
17
- z-index: var(--z-index);
14
+ z-index: var(--bui-z-index-toast);
18
15
  width: fit-content;
19
16
  min-width: var(--min-width);
20
17
  max-width: var(--max-width);
@@ -22,10 +19,10 @@
22
19
  font-size: var(--bui-text-size-1);
23
20
  color: var(--bui-color-white);
24
21
  border-radius: var(--border-radius);
25
- word-break: var(--word-break);
22
+ word-break: break-all;
26
23
  white-space: pre-wrap;
27
24
  background-color: var(--background-color);
28
- text-align: var(--text-align);
25
+ text-align: center;
29
26
  font-family: var(--bui-font-family);
30
27
  }
31
28
  .bui-toast.bui-toast-allow-click {
@@ -1,6 +1,6 @@
1
1
  .bui-tooltip {
2
- --arrow-size: var(--bui-tooltip-arrow-size, 8px);
3
- --localtion-position: var(--bui-tooltip-localtion-position, 8px);
2
+ --arrow-size: var(--bui-tooltip-arrow-size, 8PX);
3
+ --localtion-position: var(--bui-tooltip-localtion-position, 8PX);
4
4
  --max-width: var(--bui-tooltip-max-width, 350px);
5
5
  --content-min-width: var(--bui-tooltip-content-min-width, 30px);
6
6
  --content-min-height: var(--bui-tooltip-content-min-height, 32px);
@@ -30,7 +30,7 @@ var __objRest = (source, exclude) => {
30
30
  return target;
31
31
  };
32
32
  import clsx from "clsx";
33
- import React, { useState, useRef } from "react";
33
+ import React, { useState, useRef, useEffect } from "react";
34
34
  import {
35
35
  getStylesAndLocation,
36
36
  triggerEventTransform,
@@ -63,6 +63,7 @@ const Tooltip = /* @__PURE__ */ React.forwardRef((props, ref) => {
63
63
  "open",
64
64
  "PortalProps"
65
65
  ]);
66
+ const controlByUser = typeof open !== "undefined";
66
67
  const positionArr = placement.split(/([A-Z])/);
67
68
  const direction = positionArr[0];
68
69
  let location;
@@ -78,6 +79,11 @@ const Tooltip = /* @__PURE__ */ React.forwardRef((props, ref) => {
78
79
  const [arrowLocation, setArrowLocation] = useState(location);
79
80
  const [tooltyles, setTooltyles] = useState({});
80
81
  const ttId = useUniqueId();
82
+ useEffect(() => {
83
+ if (!controlByUser)
84
+ return;
85
+ setOpenStatus(open);
86
+ }, [open]);
81
87
  const onRootElementMouted = () => {
82
88
  const result = getStylesAndLocation({
83
89
  childrenRef,
@@ -97,7 +103,7 @@ const Tooltip = /* @__PURE__ */ React.forwardRef((props, ref) => {
97
103
  setTooltyles(styles);
98
104
  };
99
105
  const changeOpenStatus = (event, status) => {
100
- if (open)
106
+ if (controlByUser)
101
107
  return;
102
108
  setOpenStatus(status);
103
109
  onOpenChange == null ? void 0 : onOpenChange(event, { open: status });
@@ -112,12 +118,15 @@ const Tooltip = /* @__PURE__ */ React.forwardRef((props, ref) => {
112
118
  const showTooltip = (event) => {
113
119
  changeOpenStatus(event, true);
114
120
  };
115
- const triggerEventOption = triggerEventTransform({
116
- trigger,
117
- click: triggerClick,
118
- show: showTooltip,
119
- hide: hideTooltip
120
- });
121
+ let triggerEventOption;
122
+ if (!controlByUser) {
123
+ triggerEventOption = triggerEventTransform({
124
+ trigger,
125
+ click: triggerClick,
126
+ show: showTooltip,
127
+ hide: hideTooltip
128
+ });
129
+ }
121
130
  const childrenOptions = __spreadValues({
122
131
  ref: childrenRef
123
132
  }, triggerEventOption);
@@ -15,7 +15,6 @@ export type TooltipProps<D extends React.ElementType = 'div', P = {}> = Override
15
15
  defaultOpen?: boolean;
16
16
  /**
17
17
  * 用于手动控制气泡浮层显隐
18
- * @default false
19
18
  */
20
19
  open?: boolean;
21
20
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bifrostui/react",
3
- "version": "1.3.1-beta.1",
3
+ "version": "1.4.0-beta.0",
4
4
  "description": "React components for building mobile application",
5
5
  "homepage": "http://bui.taopiaopiao.com",
6
6
  "license": "MIT",
@@ -33,10 +33,10 @@
33
33
  "clsx": "^1.2.1",
34
34
  "dayjs": "^1.11.7",
35
35
  "swiper": "^8.1.5",
36
- "@bifrostui/icons": "1.3.1-beta.1",
37
- "@bifrostui/utils": "1.3.1-beta.1",
38
- "@bifrostui/types": "1.3.1-beta.1",
39
- "@bifrostui/styles": "1.3.1-beta.1"
36
+ "@bifrostui/icons": "1.4.0-beta.0",
37
+ "@bifrostui/types": "1.4.0-beta.0",
38
+ "@bifrostui/styles": "1.4.0-beta.0",
39
+ "@bifrostui/utils": "1.4.0-beta.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "@tarojs/components": "^3.0.0",