rsuite 6.0.0-canary-2025031915 → 6.0.0-canary-20250320

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 (69) hide show
  1. package/Form/styles/index.css +0 -14
  2. package/Form/styles/index.less +0 -18
  3. package/FormControl/styles/index.css +10 -15
  4. package/FormControl/styles/index.less +11 -13
  5. package/FormControlLabel/styles/index.css +1 -1
  6. package/FormControlLabel/styles/index.less +1 -1
  7. package/FormGroup/styles/index.css +14 -21
  8. package/FormGroup/styles/index.less +15 -4
  9. package/FormStack/package.json +7 -0
  10. package/FormStack/styles/index.css +27 -0
  11. package/FormStack/styles/index.less +15 -0
  12. package/cjs/CustomProvider/types.d.ts +2 -0
  13. package/cjs/Form/Form.d.ts +10 -1
  14. package/cjs/Form/Form.js +32 -21
  15. package/cjs/FormControl/FormControl.d.ts +3 -2
  16. package/cjs/FormControl/FormControl.js +4 -2
  17. package/cjs/FormControlLabel/FormControlLabel.d.ts +2 -2
  18. package/cjs/FormControlLabel/FormControlLabel.js +4 -2
  19. package/cjs/FormErrorMessage/FormErrorMessage.d.ts +3 -2
  20. package/cjs/FormErrorMessage/FormErrorMessage.js +4 -2
  21. package/cjs/FormGroup/FormGroup.d.ts +2 -2
  22. package/cjs/FormGroup/FormGroup.js +5 -2
  23. package/cjs/FormHelpText/FormHelpText.d.ts +2 -2
  24. package/cjs/FormHelpText/FormHelpText.js +6 -3
  25. package/cjs/FormStack/FormStack.d.ts +27 -0
  26. package/cjs/FormStack/FormStack.js +50 -0
  27. package/cjs/FormStack/index.d.ts +4 -0
  28. package/cjs/FormStack/index.js +11 -0
  29. package/cjs/Schema/Schema.js +0 -0
  30. package/cjs/index.d.ts +1 -0
  31. package/cjs/index.js +6 -0
  32. package/dist/rsuite-no-reset-rtl.css +76 -77
  33. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  34. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  35. package/dist/rsuite-no-reset.css +76 -77
  36. package/dist/rsuite-no-reset.min.css +1 -1
  37. package/dist/rsuite-no-reset.min.css.map +1 -1
  38. package/dist/rsuite-rtl.css +76 -77
  39. package/dist/rsuite-rtl.min.css +1 -1
  40. package/dist/rsuite-rtl.min.css.map +1 -1
  41. package/dist/rsuite.css +76 -77
  42. package/dist/rsuite.js +29 -18
  43. package/dist/rsuite.js.map +1 -1
  44. package/dist/rsuite.min.css +1 -1
  45. package/dist/rsuite.min.css.map +1 -1
  46. package/dist/rsuite.min.js +1 -1
  47. package/dist/rsuite.min.js.map +1 -1
  48. package/esm/CustomProvider/types.d.ts +2 -0
  49. package/esm/Form/Form.d.ts +10 -1
  50. package/esm/Form/Form.js +30 -21
  51. package/esm/FormControl/FormControl.d.ts +3 -2
  52. package/esm/FormControl/FormControl.js +4 -2
  53. package/esm/FormControlLabel/FormControlLabel.d.ts +2 -2
  54. package/esm/FormControlLabel/FormControlLabel.js +4 -2
  55. package/esm/FormErrorMessage/FormErrorMessage.d.ts +3 -2
  56. package/esm/FormErrorMessage/FormErrorMessage.js +4 -2
  57. package/esm/FormGroup/FormGroup.d.ts +2 -2
  58. package/esm/FormGroup/FormGroup.js +5 -2
  59. package/esm/FormHelpText/FormHelpText.d.ts +2 -2
  60. package/esm/FormHelpText/FormHelpText.js +6 -3
  61. package/esm/FormStack/FormStack.d.ts +27 -0
  62. package/esm/FormStack/FormStack.js +45 -0
  63. package/esm/FormStack/index.d.ts +4 -0
  64. package/esm/FormStack/index.js +8 -0
  65. package/esm/Schema/Schema.js +0 -0
  66. package/esm/index.d.ts +1 -0
  67. package/esm/index.js +1 -0
  68. package/package.json +1 -1
  69. package/styles/index.less +4 -3
@@ -9,6 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _HelpOutline = _interopRequireDefault(require("@rsuite/icons/HelpOutline"));
10
10
  var _Tooltip = _interopRequireDefault(require("../Tooltip"));
11
11
  var _Whisper = _interopRequireDefault(require("../Whisper"));
12
+ var _Box = _interopRequireDefault(require("../internals/Box"));
12
13
  var _utils = require("../internals/utils");
13
14
  var _hooks = require("../internals/hooks");
14
15
  var _FormGroup = require("../FormGroup");
@@ -25,7 +26,7 @@ const FormHelpText = (0, _utils.forwardRef)((props, ref) => {
25
26
  propsWithDefaults
26
27
  } = (0, _CustomProvider.useCustom)('FormHelpText', props);
27
28
  const {
28
- as: Component = 'span',
29
+ as = 'span',
29
30
  classPrefix = 'form-help-text',
30
31
  className,
31
32
  tooltip,
@@ -47,7 +48,8 @@ const FormHelpText = (0, _utils.forwardRef)((props, ref) => {
47
48
  speaker: /*#__PURE__*/_react.default.createElement(_Tooltip.default, (0, _extends2.default)({
48
49
  id: id
49
50
  }, rest), children)
50
- }, /*#__PURE__*/_react.default.createElement(Component, {
51
+ }, /*#__PURE__*/_react.default.createElement(_Box.default, {
52
+ as: as,
51
53
  role: "img",
52
54
  "aria-label": "help",
53
55
  className: classes
@@ -55,7 +57,8 @@ const FormHelpText = (0, _utils.forwardRef)((props, ref) => {
55
57
  "aria-hidden": true
56
58
  })));
57
59
  }
58
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
60
+ return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
61
+ as: as,
59
62
  id: id
60
63
  }, rest, {
61
64
  ref: ref,
@@ -0,0 +1,27 @@
1
+ import { BoxProps } from '../internals/Box';
2
+ export interface FormStackProps extends BoxProps {
3
+ /**
4
+ * Set the layout of the elements within the form.
5
+ * 'horizontal': Left and right columns layout.
6
+ * 'vertical': Top and bottom layout.
7
+ * 'inline': Elements are placed inline.
8
+ */
9
+ layout?: 'horizontal' | 'vertical' | 'inline';
10
+ /**
11
+ * The fluid property allows the form elements to fill 100% of the container width.
12
+ * Only valid in vertical layouts.
13
+ */
14
+ fluid?: boolean;
15
+ /**
16
+ * Define the spacing between immediate children.
17
+ * Can be a number, string, or an array of numbers/strings for responsive spacing.
18
+ */
19
+ spacing?: number | string | (number | string)[];
20
+ }
21
+ /**
22
+ * The `<Form.Stack>` component is a quick layout component through Flexbox,
23
+ * supporting vertical and horizontal stacking, custom spacing and line wrapping.
24
+ * @see https://rsuitejs.com/components/form/
25
+ */
26
+ declare const FormStack: import("../internals/types").InternalRefForwardingComponent<"span", FormStackProps, never> & Record<string, never>;
27
+ export default FormStack;
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Box = _interopRequireDefault(require("../internals/Box"));
10
+ var _utils = require("../internals/utils");
11
+ var _hooks = require("../internals/hooks");
12
+ var _CustomProvider = require("../CustomProvider");
13
+ /**
14
+ * The `<Form.Stack>` component is a quick layout component through Flexbox,
15
+ * supporting vertical and horizontal stacking, custom spacing and line wrapping.
16
+ * @see https://rsuitejs.com/components/form/
17
+ */
18
+ const FormStack = (0, _utils.forwardRef)((props, ref) => {
19
+ const {
20
+ propsWithDefaults
21
+ } = (0, _CustomProvider.useCustom)('FormStack', props);
22
+ const {
23
+ as,
24
+ classPrefix = 'form-stack',
25
+ className,
26
+ children,
27
+ layout = 'vertical',
28
+ fluid,
29
+ spacing,
30
+ style,
31
+ ...rest
32
+ } = propsWithDefaults;
33
+ const {
34
+ withPrefix,
35
+ merge,
36
+ cssVar
37
+ } = (0, _hooks.useStyles)(classPrefix);
38
+ const classes = merge(className, withPrefix(layout, {
39
+ fluid
40
+ }));
41
+ const styles = (0, _utils.mergeStyles)(style, cssVar('spacing', spacing, _utils.getCssValue));
42
+ return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
43
+ as: as,
44
+ ref: ref,
45
+ style: styles,
46
+ className: classes
47
+ }, rest), children);
48
+ });
49
+ FormStack.displayName = 'FormStack';
50
+ var _default = exports.default = FormStack;
@@ -0,0 +1,4 @@
1
+ import FormStack from './FormStack';
2
+ export type { FormStackProps } from './FormStack';
3
+ export { FormStack };
4
+ export default FormStack;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _FormStack = _interopRequireDefault(require("./FormStack"));
8
+ exports.FormStack = _FormStack.default;
9
+ // export types
10
+ // export components
11
+ var _default = exports.default = _FormStack.default;
File without changes
package/cjs/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export * from './Breadcrumb';
33
33
  export * from './Pagination';
34
34
  export * from './Steps';
35
35
  export * from './Form';
36
+ export * from './FormStack';
36
37
  export * from './FormGroup';
37
38
  export * from './FormErrorMessage';
38
39
  export * from './FormControlLabel';
package/cjs/index.js CHANGED
@@ -212,6 +212,12 @@ Object.keys(_Form).forEach(function (key) {
212
212
  if (key in exports && exports[key] === _Form[key]) return;
213
213
  exports[key] = _Form[key];
214
214
  });
215
+ var _FormStack = require("./FormStack");
216
+ Object.keys(_FormStack).forEach(function (key) {
217
+ if (key === "default" || key === "__esModule") return;
218
+ if (key in exports && exports[key] === _FormStack[key]) return;
219
+ exports[key] = _FormStack[key];
220
+ });
215
221
  var _FormGroup = require("./FormGroup");
216
222
  Object.keys(_FormGroup).forEach(function (key) {
217
223
  if (key === "default" || key === "__esModule") return;
@@ -3858,9 +3858,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
3858
3858
  .rs-content {
3859
3859
  flex: 1 1 auto;
3860
3860
  }
3861
- .rs-form-plaintext .rs-form-control-label {
3862
- color: var(--rs-text-secondary);
3863
- }
3864
3861
  .rs-picker-toolbar {
3865
3862
  padding: 10px;
3866
3863
  border-top: 1px solid var(--rs-divider-border);
@@ -4954,31 +4951,72 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
4954
4951
  .rs-footer {
4955
4952
  flex: 0 0 auto;
4956
4953
  }
4957
- .rs-form {
4958
- --rs-form-direction: column;
4959
- --rs-form-spacing: calc(var(--rs-spacing) * 4);
4960
- --rs-form-group-spacing: var(--rs-spacing);
4961
- --rs-form-group-direction: column;
4954
+ .rs-form-stack {
4955
+ --rs-form-stack-dir: column;
4956
+ --rs-form-stack-spacing: calc(var(--rs-spacing) * 4);
4962
4957
  display: flex;
4963
- flex-direction: var(--rs-form-direction);
4964
- gap: var(--rs-form-spacing);
4958
+ flex-direction: var(--rs-form-stack-dir);
4959
+ gap: var(--rs-form-stack-spacing);
4965
4960
  align-items: flex-start;
4966
4961
  }
4967
- .rs-form-inline {
4968
- --rs-form-direction: row;
4962
+ .rs-form-stack-inline {
4963
+ --rs-form-stack-dir: row;
4964
+ }
4965
+ .rs-form-group {
4966
+ position: relative;
4967
+ display: flex;
4968
+ flex-direction: var(--rs-form-group-direction);
4969
+ gap: var(--rs-form-group-spacing);
4970
+ }
4971
+ .rs-form-group .rs-input {
4972
+ display: inline-block;
4973
+ }
4974
+ .rs-form-group textarea.rs-input {
4975
+ vertical-align: bottom;
4976
+ }
4977
+ .rs-form-stack-vertical .rs-form-group .rs-form-control-label {
4978
+ display: block;
4979
+ }
4980
+ .rs-form-stack {
4981
+ --rs-form-group-spacing: var(--rs-spacing);
4982
+ --rs-form-group-direction: column;
4983
+ }
4984
+ .rs-form-stack-horizontal {
4985
+ --rs-form-control-label-width: 170px;
4986
+ --rs-form-group-spacing: calc(var(--rs-spacing) * 3);
4987
+ --rs-form-group-direction: row;
4969
4988
  }
4970
- .rs-form-fluid .rs-form-control-wrapper {
4989
+ .rs-form-stack-horizontal .rs-form-group {
4990
+ align-items: baseline;
4991
+ }
4992
+ .rs-form-stack-horizontal .rs-form-group .rs-form-control-label {
4993
+ display: inline-block;
4994
+ font-size: var(--rs-font-size-sm);
4995
+ width: var(--rs-form-control-label-width);
4996
+ text-align: end;
4997
+ }
4998
+ .rs-form-stack-horizontal .rs-form-group .rs-btn-toolbar {
4999
+ padding-inline-start: calc(var(--rs-form-control-label-width) + var(--rs-form-group-spacing));
5000
+ }
5001
+ .rs-form-stack-inline {
5002
+ --rs-form-group-direction: row;
5003
+ --rs-form-group-spacing: calc(var(--rs-spacing) * 3);
5004
+ }
5005
+ .rs-form-stack-inline .rs-form-group {
5006
+ align-items: center;
5007
+ }
5008
+ .rs-form-stack-fluid .rs-form-group {
4971
5009
  width: 100%;
4972
5010
  }
4973
- .rs-form-fluid .rs-form-control-wrapper > .rs-input-number,
4974
- .rs-form-fluid .rs-form-control-wrapper > .rs-input {
5011
+ .rs-form-stack-fluid .rs-form-control-wrapper {
4975
5012
  width: 100%;
4976
5013
  }
4977
- .rs-form-fluid.rs-form-vertical .rs-form-group .rs-input-group {
5014
+ .rs-form-stack-fluid .rs-form-control-wrapper > .rs-input-number,
5015
+ .rs-form-stack-fluid .rs-form-control-wrapper > .rs-input {
4978
5016
  width: 100%;
4979
5017
  }
4980
- .rs-form-fluid.rs-form-vertical .rs-form-group .rs-form-control-wrapper {
4981
- max-width: 100%;
5018
+ .rs-form-stack-fluid.rs-form-stack-vertical .rs-form-group .rs-input-group {
5019
+ width: 100%;
4982
5020
  }
4983
5021
  .rs-form-control-wrapper {
4984
5022
  position: relative;
@@ -4991,24 +5029,22 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
4991
5029
  pointer-events: none;
4992
5030
  touch-action: none;
4993
5031
  }
4994
- .rs-form-vertical .rs-form-group .rs-input-group {
5032
+ .rs-form-stack-vertical .rs-form-group .rs-input-group {
4995
5033
  width: 300px;
4996
5034
  }
4997
- .rs-form-vertical .rs-form-group .rs-form-control-wrapper {
5035
+ .rs-form-stack-vertical .rs-form-group .rs-form-control-wrapper {
4998
5036
  display: inline-block;
4999
- max-width: -moz-max-content;
5000
- max-width: max-content;
5001
5037
  }
5002
- .rs-form-horizontal .rs-form-group .rs-form-control-wrapper {
5038
+ .rs-form-stack-horizontal .rs-form-group .rs-form-control-wrapper {
5003
5039
  float: inline-start;
5004
5040
  }
5005
- .rs-form-horizontal .rs-form-group .rs-form-control-wrapper + .rs-form-help-text {
5041
+ .rs-form-stack-horizontal .rs-form-group .rs-form-control-wrapper + .rs-form-help-text {
5006
5042
  clear: both;
5007
5043
  }
5008
- .rs-form-inline .rs-form-group .rs-form-control-wrapper {
5044
+ .rs-form-stack-inline .rs-form-group .rs-form-control-wrapper {
5009
5045
  display: inline-block;
5010
5046
  }
5011
- .rs-form-inline .rs-form-group .rs-sr-only + .rs-form-control-wrapper {
5047
+ .rs-form-stack-inline .rs-form-group .rs-sr-only + .rs-form-control-wrapper {
5012
5048
  margin-inline-start: 0;
5013
5049
  }
5014
5050
  .rs-input-group > .rs-form-control > .rs-input {
@@ -5016,45 +5052,8 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
5016
5052
  border: none;
5017
5053
  outline: none;
5018
5054
  }
5019
- .rs-form-group {
5020
- position: relative;
5021
- display: flex;
5022
- flex-direction: var(--rs-form-group-direction);
5023
- gap: var(--rs-form-group-spacing);
5024
- }
5025
- .rs-form-group .rs-input {
5026
- display: inline-block;
5027
- }
5028
- .rs-form-group textarea.rs-input {
5029
- vertical-align: bottom;
5030
- }
5031
- .rs-form-vertical .rs-form-group .rs-form-control-label {
5032
- display: block;
5033
- }
5034
- .rs-form-horizontal {
5035
- --rs-form-control-label-width: 170px;
5036
- --rs-form-group-spacing: calc(var(--rs-spacing) * 3);
5037
- --rs-form-group-direction: row;
5038
- }
5039
- .rs-form-horizontal .rs-form-group {
5040
- align-items: baseline;
5041
- }
5042
- .rs-form-horizontal .rs-form-group .rs-form-control-label {
5043
- display: inline-block;
5044
- font-size: var(--rs-font-size-sm);
5045
- width: var(--rs-form-control-label-width);
5046
- text-align: end;
5047
- }
5048
- .rs-form-horizontal .rs-form-group .rs-btn-toolbar {
5049
- padding-inline-start: calc(var(--rs-form-control-label-width) + var(--rs-form-group-spacing));
5050
- }
5051
- .rs-form-inline {
5052
- --rs-form-spacing: calc(var(--rs-spacing) * 4);
5053
- --rs-form-group-direction: row;
5054
- --rs-form-group-spacing: calc(var(--rs-spacing) * 3);
5055
- }
5056
- .rs-form-inline .rs-form-group {
5057
- align-items: center;
5055
+ [data-rs='form'][data-plaintext='true'] .rs-form-control-label {
5056
+ color: var(--rs-text-secondary);
5058
5057
  }
5059
5058
  @keyframes errorMessageSlideUpIn {
5060
5059
  0% {
@@ -5239,6 +5238,18 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
5239
5238
  .rs-form-error-message-wrapper:where([data-placement='left-end'], [data-placement='right-end']) .rs-form-error-message-arrow::after {
5240
5239
  bottom: 4px;
5241
5240
  }
5241
+ .rs-form-help-text {
5242
+ display: block;
5243
+ color: var(--rs-text-secondary);
5244
+ min-height: 20px;
5245
+ line-height: 1.66666667;
5246
+ font-size: var(--rs-font-size-xs);
5247
+ }
5248
+ .rs-form-help-text-tooltip {
5249
+ display: inline-flex;
5250
+ align-items: center;
5251
+ font-size: var(--rs-font-size-md);
5252
+ }
5242
5253
  :root {
5243
5254
  --rs-grid-gutter: calc(var(--rs-spacing) * 3);
5244
5255
  --rs-row-gutter: calc(var(--rs-grid-gutter) / -2);
@@ -7818,18 +7829,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
7818
7829
  .rs-header {
7819
7830
  flex: 0 0 auto;
7820
7831
  }
7821
- .rs-form-help-text {
7822
- display: block;
7823
- color: var(--rs-text-secondary);
7824
- min-height: 20px;
7825
- line-height: 1.66666667;
7826
- font-size: var(--rs-font-size-xs);
7827
- }
7828
- .rs-form-help-text-tooltip {
7829
- display: inline-flex;
7830
- align-items: center;
7831
- font-size: var(--rs-font-size-md);
7832
- }
7833
7832
  .rs-btn-icon {
7834
7833
  padding: calc((var(--rs-btn-size) - var(--rs-btn-icon-size)) / 2);
7835
7834
  line-height: var(--rs-btn-icon-size);