rsuite 6.0.0-canary-20251029 → 6.0.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 (59) hide show
  1. package/Badge/styles/index.css +62 -5
  2. package/Breadcrumb/styles/index.css +2 -3
  3. package/CHANGELOG.md +196 -396
  4. package/Modal/styles/index.css +5 -0
  5. package/Nav/styles/index.css +4 -0
  6. package/Pagination/styles/index.css +25 -2
  7. package/Tabs/styles/index.css +4 -0
  8. package/cjs/AutoComplete/utils.js +0 -0
  9. package/cjs/Badge/Badge.d.ts +5 -1
  10. package/cjs/Badge/Badge.js +4 -2
  11. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  12. package/cjs/CheckPicker/CheckPicker.js +5 -2
  13. package/cjs/CheckTreePicker/CheckTreePicker.js +5 -2
  14. package/cjs/DOMHelper/isElement.js +0 -0
  15. package/cjs/DatePicker/Toolbar.js +4 -1
  16. package/cjs/Dropdown/DropdownState.js +0 -0
  17. package/cjs/List/ListContext.js +0 -0
  18. package/cjs/List/helper/AutoScroller.js +0 -0
  19. package/cjs/List/helper/useManager.js +0 -0
  20. package/cjs/MaskedInput/adjustCaretPosition.js +0 -0
  21. package/cjs/MaskedInput/types.js +0 -0
  22. package/cjs/MaskedInput/utilities.js +0 -0
  23. package/cjs/Modal/Modal.d.ts +5 -0
  24. package/cjs/Modal/Modal.js +2 -0
  25. package/cjs/Modal/utils.js +24 -5
  26. package/cjs/MultiCascader/MultiCascader.js +5 -2
  27. package/cjs/Sidenav/Node.js +0 -0
  28. package/cjs/internals/Picker/SelectedElement.d.ts +2 -0
  29. package/cjs/internals/Picker/SelectedElement.js +4 -2
  30. package/dist/rsuite-no-reset.css +97 -7
  31. package/dist/rsuite-no-reset.min.css +1 -1
  32. package/dist/rsuite.css +97 -7
  33. package/dist/rsuite.js +265 -265
  34. package/dist/rsuite.min.css +1 -1
  35. package/dist/rsuite.min.js +1 -1
  36. package/dist/rsuite.min.js.map +1 -1
  37. package/esm/AutoComplete/utils.js +0 -0
  38. package/esm/Badge/Badge.d.ts +5 -1
  39. package/esm/Badge/Badge.js +4 -2
  40. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  41. package/esm/CheckPicker/CheckPicker.js +5 -2
  42. package/esm/CheckTreePicker/CheckTreePicker.js +5 -2
  43. package/esm/DOMHelper/isElement.js +0 -0
  44. package/esm/DatePicker/Toolbar.js +4 -1
  45. package/esm/Dropdown/DropdownState.js +0 -0
  46. package/esm/List/ListContext.js +0 -0
  47. package/esm/List/helper/AutoScroller.js +0 -0
  48. package/esm/List/helper/useManager.js +0 -0
  49. package/esm/MaskedInput/adjustCaretPosition.js +0 -0
  50. package/esm/MaskedInput/types.js +0 -0
  51. package/esm/MaskedInput/utilities.js +0 -0
  52. package/esm/Modal/Modal.d.ts +5 -0
  53. package/esm/Modal/Modal.js +2 -0
  54. package/esm/Modal/utils.js +24 -5
  55. package/esm/MultiCascader/MultiCascader.js +5 -2
  56. package/esm/Sidenav/Node.js +0 -0
  57. package/esm/internals/Picker/SelectedElement.d.ts +2 -0
  58. package/esm/internals/Picker/SelectedElement.js +4 -2
  59. package/package.json +1 -1
@@ -215,6 +215,11 @@ body{
215
215
  .rs-modal.rs-modal-full .rs-modal-dialog .rs-modal-footer{
216
216
  flex:0 0 auto;
217
217
  }
218
+ .rs-modal.rs-modal-fill .rs-modal-dialog,
219
+ .rs-modal.rs-modal-fill .rs-modal-body{
220
+ margin:0;
221
+ padding:0;
222
+ }
218
223
  .rs-modal .rs-modal-dialog{
219
224
  position:relative;
220
225
  background-color:var(--rs-bg-overlay);
@@ -1709,6 +1709,10 @@ body{
1709
1709
  bottom:auto;
1710
1710
  top:0;
1711
1711
  }
1712
+ .rs-nav[data-appearance=subtle][data-direction=vertical]{
1713
+ display:flex;
1714
+ flex-direction:column;
1715
+ }
1712
1716
  .rs-nav[data-appearance=subtle][data-direction=vertical] .rs-nav-bar{
1713
1717
  width:2px;
1714
1718
  background:var(--rs-navs-subtle-border);
@@ -2483,10 +2483,33 @@ body{
2483
2483
  }
2484
2484
 
2485
2485
  .rs-pagination-group{
2486
- --pagination-group-gap:calc(var(--rs-spacing) * 2.5);
2486
+ --rs-pagination-font-size-xs:var(--rs-font-size-xs);
2487
+ --rs-pagination-font-size-sm:var(--rs-font-size-sm);
2488
+ --rs-pagination-font-size-md:var(--rs-font-size-sm);
2489
+ --rs-pagination-font-size-lg:var(--rs-font-size-md);
2490
+ --rs-pagination-group-gap:calc(var(--rs-spacing) * 2.5);
2487
2491
  display:flex;
2488
2492
  align-items:center;
2489
- gap:var(--pagination-group-gap);
2493
+ gap:var(--rs-pagination-group-gap);
2494
+ }
2495
+ .rs-pagination-group-total, .rs-pagination-group-skip{
2496
+ font-size:var(--rs-pagination-font-size-md);
2497
+ }
2498
+ .rs-pagination-group[data-size=xs] .rs-pagination-group-total,
2499
+ .rs-pagination-group[data-size=xs] .rs-pagination-group-skip{
2500
+ font-size:var(--rs-pagination-font-size-xs);
2501
+ }
2502
+ .rs-pagination-group[data-size=sm] .rs-pagination-group-total,
2503
+ .rs-pagination-group[data-size=sm] .rs-pagination-group-skip{
2504
+ font-size:var(--rs-pagination-font-size-sm);
2505
+ }
2506
+ .rs-pagination-group[data-size=md] .rs-pagination-group-total,
2507
+ .rs-pagination-group[data-size=md] .rs-pagination-group-skip{
2508
+ font-size:var(--rs-pagination-font-size-md);
2509
+ }
2510
+ .rs-pagination-group[data-size=lg] .rs-pagination-group-total,
2511
+ .rs-pagination-group[data-size=lg] .rs-pagination-group-skip{
2512
+ font-size:var(--rs-pagination-font-size-lg);
2490
2513
  }
2491
2514
  .rs-pagination-group-grow{
2492
2515
  flex-grow:1;
@@ -1709,6 +1709,10 @@ body{
1709
1709
  bottom:auto;
1710
1710
  top:0;
1711
1711
  }
1712
+ .rs-nav[data-appearance=subtle][data-direction=vertical]{
1713
+ display:flex;
1714
+ flex-direction:column;
1715
+ }
1712
1716
  .rs-nav[data-appearance=subtle][data-direction=vertical] .rs-nav-bar{
1713
1717
  width:2px;
1714
1718
  background:var(--rs-navs-subtle-border);
File without changes
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BoxProps } from '../internals/Box';
3
- import type { Color, PlacementCorners } from '../internals/types';
3
+ import type { Color, PlacementCorners, Size } from '../internals/types';
4
4
  export interface BadgeProps extends BoxProps {
5
5
  /**
6
6
  * The content of the badge
@@ -33,6 +33,10 @@ export interface BadgeProps extends BoxProps {
33
33
  * @version 6.0.0
34
34
  */
35
35
  shape?: 'rectangle' | 'circle';
36
+ /**
37
+ * A badge can have different sizes
38
+ */
39
+ size?: Size;
36
40
  /**
37
41
  * Define the horizontal and vertical offset of the badge relative to its wrapped element
38
42
  * @version 6.0.0
@@ -31,6 +31,7 @@ const Badge = (0, _utils.forwardRef)((props, ref) => {
31
31
  outline = true,
32
32
  placement = 'topEnd',
33
33
  shape,
34
+ size = 'md',
34
35
  style,
35
36
  invisible,
36
37
  ...rest
@@ -58,9 +59,10 @@ const Badge = (0, _utils.forwardRef)((props, ref) => {
58
59
  ['data-outline']: outline,
59
60
  ['data-hidden']: invisible,
60
61
  ['data-independent']: !children,
61
- ['data-placement']: children ? placement : undefined
62
+ ['data-placement']: children ? placement : undefined,
63
+ ['data-size']: size
62
64
  };
63
- }, [color, shape, compact, isOneChar, outline, invisible, children, placement]);
65
+ }, [color, shape, compact, isOneChar, outline, invisible, children, placement, size]);
64
66
  if (!children) {
65
67
  return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
66
68
  as: as,
@@ -36,7 +36,7 @@ const Breadcrumb = (0, _utils.forwardRef)((props, ref) => {
36
36
  ellipsis = '...',
37
37
  maxItems = 5,
38
38
  separator = '/',
39
- size = 'md',
39
+ size,
40
40
  locale,
41
41
  onExpand,
42
42
  ...rest
@@ -52,6 +52,7 @@ const CheckPicker = (0, _utils2.forwardRef)((props, ref) => {
52
52
  searchable = true,
53
53
  sticky,
54
54
  style,
55
+ size,
55
56
  toggleAs,
56
57
  value: valueProp,
57
58
  valueKey = 'value',
@@ -210,7 +211,8 @@ const CheckPicker = (0, _utils2.forwardRef)((props, ref) => {
210
211
  countable: countable,
211
212
  valueKey: valueKey,
212
213
  labelKey: labelKey,
213
- prefix: prefix
214
+ prefix: prefix,
215
+ badgeSize: size
214
216
  });
215
217
  }
216
218
  if ((value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue)) {
@@ -310,7 +312,8 @@ const CheckPicker = (0, _utils2.forwardRef)((props, ref) => {
310
312
  active: active,
311
313
  placement: placement,
312
314
  inputValue: value,
313
- focusItemValue: focusItemValue
315
+ focusItemValue: focusItemValue,
316
+ size: size
314
317
  }, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
315
318
  });
316
319
  CheckPicker.displayName = 'CheckPicker';
@@ -61,6 +61,7 @@ const CheckTreePicker = (0, _utils.forwardRef)((props, ref) => {
61
61
  showIndentLine,
62
62
  searchable = true,
63
63
  style,
64
+ size,
64
65
  valueKey = 'value',
65
66
  value: controlledValue,
66
67
  virtualized = false,
@@ -274,7 +275,8 @@ const CheckTreePicker = (0, _utils.forwardRef)((props, ref) => {
274
275
  childrenKey: childrenKey,
275
276
  prefix: prefix,
276
277
  cascade: cascade,
277
- locale: locale
278
+ locale: locale,
279
+ badgeSize: size
278
280
  });
279
281
  if ((0, _isFunction.default)(renderValue)) {
280
282
  selectedElement = renderValue(value, selectedNodes, selectedElement);
@@ -316,7 +318,8 @@ const CheckTreePicker = (0, _utils.forwardRef)((props, ref) => {
316
318
  active: active,
317
319
  placement: placement,
318
320
  inputValue: value,
319
- focusItemValue: focusItemValue
321
+ focusItemValue: focusItemValue,
322
+ size: size
320
323
  }, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
321
324
  });
322
325
  CheckTreePicker.displayName = 'CheckTreePicker';
File without changes
@@ -51,10 +51,13 @@ const Toolbar = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
51
51
  return null;
52
52
  }
53
53
  const classes = merge(className, withPrefix());
54
+
55
+ // If there are no ranges, the ok button should be aligned to the right
56
+ const justify = (ranges === null || ranges === void 0 ? void 0 : ranges.length) === 0 ? 'flex-end' : 'space-between';
54
57
  return /*#__PURE__*/_react.default.createElement(_Stack.default, (0, _extends2.default)({
55
58
  ref: ref,
56
59
  className: classes,
57
- justify: "space-between",
60
+ justify: justify,
58
61
  align: "flex-start"
59
62
  }, rest), /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {
60
63
  wrap: true,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -27,6 +27,11 @@ export interface ModalProps extends BaseModalProps, Pick<React.HTMLAttributes<HT
27
27
  isDrawer?: boolean;
28
28
  /** Custom close button, used when rendered as a Drawer */
29
29
  closeButton?: React.ReactNode | boolean;
30
+ /**
31
+ * Remove default padding from the dialog and body so the content can occupy the full height.
32
+ * Useful for creating custom layouts with full-width/height content like split panels or image galleries.
33
+ */
34
+ bodyFill?: boolean;
30
35
  }
31
36
  /**
32
37
  * The `Modal` component is used to show content in a layer above the app.
@@ -46,6 +46,7 @@ const Modal = (0, _utils.forwardRef)((props, ref) => {
46
46
  'aria-describedby': ariaDescribedby,
47
47
  backdropClassName,
48
48
  backdrop = true,
49
+ bodyFill,
49
50
  className,
50
51
  classPrefix = 'modal',
51
52
  centered,
@@ -77,6 +78,7 @@ const Modal = (0, _utils.forwardRef)((props, ref) => {
77
78
  const [shake, setShake] = (0, _react.useState)(false);
78
79
  const classes = merge(className, prefix({
79
80
  full,
81
+ fill: bodyFill,
80
82
  [size]: modalSizes.includes(size)
81
83
  }));
82
84
  const dialogRef = (0, _react.useRef)(null);
@@ -20,7 +20,6 @@ const useBodyStyles = (ref, options) => {
20
20
  const contentElementResizeObserver = (0, _react.useRef)(null);
21
21
  const updateBodyStyles = (0, _react.useCallback)((_event, entering) => {
22
22
  const dialog = ref.current;
23
- const scrollHeight = dialog ? dialog.scrollHeight : 0;
24
23
  const styles = {
25
24
  overflow: 'auto'
26
25
  };
@@ -33,13 +32,33 @@ const useBodyStyles = (ref, options) => {
33
32
  headerHeight = headerDOM ? (0, _getHeight.default)(headerDOM) + headerHeight : headerHeight;
34
33
  footerHeight = footerDOM ? (0, _getHeight.default)(footerDOM) + footerHeight : footerHeight;
35
34
 
35
+ // Get the actual margin from the modal element itself (.rs-modal)
36
+ const computedStyle = window.getComputedStyle(dialog);
37
+ const marginTop = parseFloat(computedStyle.marginTop) || 0;
38
+ const marginBottom = parseFloat(computedStyle.marginBottom) || 0;
39
+ const dialogMargin = marginTop + marginBottom;
40
+
41
+ // Get padding from the wrapper if needed
42
+ const wrapper = dialog.parentElement;
43
+ let wrapperPadding = 0;
44
+ if (wrapper) {
45
+ const wrapperStyle = window.getComputedStyle(wrapper);
46
+ const paddingTop = parseFloat(wrapperStyle.paddingTop) || 0;
47
+ const paddingBottom = parseFloat(wrapperStyle.paddingBottom) || 0;
48
+ wrapperPadding = paddingTop + paddingBottom;
49
+ }
50
+
51
+ // Add extra space during entering animation (10px buffer)
52
+ const extraSpace = entering ? 10 : 0;
53
+
36
54
  /**
37
- * Header height + Footer height + Dialog margin
55
+ * Header height + Footer height + Dialog margin + Wrapper padding + Extra space
38
56
  */
39
- const excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);
57
+ const excludeHeight = headerHeight + footerHeight + dialogMargin + wrapperPadding + extraSpace;
40
58
  const bodyHeight = (0, _getHeight.default)(window) - excludeHeight;
41
- const maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;
42
- styles.maxHeight = maxHeight;
59
+
60
+ // Always set maxHeight to available space, let browser handle content that's smaller
61
+ styles.maxHeight = bodyHeight;
43
62
  }
44
63
  setBodyStyles(styles);
45
64
  }, [prefix, ref]);
@@ -60,6 +60,7 @@ const MultiCascader = (0, _utils3.forwardRef)((props, ref) => {
60
60
  renderValue,
61
61
  searchable = true,
62
62
  style,
63
+ size,
63
64
  toggleAs,
64
65
  uncheckableItemValues = emptyArray,
65
66
  value: valueProp,
@@ -276,7 +277,8 @@ const MultiCascader = (0, _utils3.forwardRef)((props, ref) => {
276
277
  childrenKey: childrenKey,
277
278
  prefix: prefix,
278
279
  cascade: cascade,
279
- locale: locale
280
+ locale: locale,
281
+ badgeSize: size
280
282
  });
281
283
  }
282
284
 
@@ -325,7 +327,8 @@ const MultiCascader = (0, _utils3.forwardRef)((props, ref) => {
325
327
  hasValue: hasValue,
326
328
  active: active,
327
329
  placement: placement,
328
- inputValue: value
330
+ inputValue: value,
331
+ size: size
329
332
  }, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
330
333
  });
331
334
  MultiCascader.displayName = 'MultiCascader';
File without changes
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../../locales';
3
+ import type { Size } from '../types';
3
4
  export interface SelectedElementProps {
5
+ badgeSize?: Size;
4
6
  selectedItems: any[];
5
7
  valueKey: string;
6
8
  labelKey: string;
@@ -16,7 +16,8 @@ const SelectedElement = props => {
16
16
  childrenKey = 'children',
17
17
  countable,
18
18
  cascade,
19
- locale
19
+ locale,
20
+ badgeSize
20
21
  } = props;
21
22
  const count = selectedItems.length;
22
23
  let title = '';
@@ -46,7 +47,8 @@ const SelectedElement = props => {
46
47
  })), countable ? /*#__PURE__*/_react.default.createElement(_Badge.default, {
47
48
  className: prefix('value-count'),
48
49
  title: `${count}`,
49
- content: count > 99 ? '99+' : count
50
+ content: count > 99 ? '99+' : count,
51
+ size: badgeSize
50
52
  }) : null);
51
53
  };
52
54
  var _default = exports.default = SelectedElement;
@@ -3685,11 +3685,33 @@ tbody.rs-anim-collapse.rs-anim-in{
3685
3685
  }
3686
3686
 
3687
3687
  .rs-badge{
3688
+ --rs-badge-font-size-xs:0.625rem;
3689
+ --rs-badge-font-size-sm:0.6875rem;
3690
+ --rs-badge-font-size-md:0.75rem;
3691
+ --rs-badge-font-size-lg:0.875rem;
3692
+ --rs-badge-font-size-xl:1rem;
3693
+ --rs-badge-line-height-xs:0.875rem;
3694
+ --rs-badge-line-height-sm:0.9375rem;
3695
+ --rs-badge-line-height-md:1rem;
3696
+ --rs-badge-line-height-lg:1.125rem;
3697
+ --rs-badge-line-height-xl:1.25rem;
3698
+ --rs-badge-one-char-size-xs:1rem;
3699
+ --rs-badge-one-char-size-sm:1.125rem;
3700
+ --rs-badge-one-char-size-md:1.25rem;
3701
+ --rs-badge-one-char-size-lg:1.5rem;
3702
+ --rs-badge-one-char-size-xl:1.75rem;
3703
+ --rs-badge-dot-size-xs:0.375rem;
3704
+ --rs-badge-dot-size-sm:0.5rem;
3705
+ --rs-badge-dot-size-md:0.625rem;
3706
+ --rs-badge-dot-size-lg:0.75rem;
3707
+ --rs-badge-dot-size-xl:0.875rem;
3688
3708
  --rs-badge-offset-x:5%;
3689
3709
  --rs-badge-offset-y:5%;
3690
3710
  --rs-badge-move:var(--rs-badge-offset, 40%);
3691
- --rs-badge-one-char-size:20px;
3692
- --rs-badge-dot-size:10px;
3711
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-md);
3712
+ --rs-badge-dot-size:var(--rs-badge-dot-size-md);
3713
+ --rs-badge-font-size:var(--rs-badge-font-size-md);
3714
+ --rs-badge-line-height:var(--rs-badge-line-height-md);
3693
3715
  --rs-badge-transform-top-start:translate(calc(-1 * var(--rs-badge-move)), calc(-1 * var(--rs-badge-move)));
3694
3716
  --rs-badge-transform-top-end:translate(var(--rs-badge-move), calc(-1 * var(--rs-badge-move)));
3695
3717
  --rs-badge-transform-bottom-start:translate(calc(-1 * var(--rs-badge-move)), var(--rs-badge-move));
@@ -3721,14 +3743,15 @@ tbody.rs-anim-collapse.rs-anim-in{
3721
3743
  background-color:var(--rs-badge-bg);
3722
3744
  color:var(--rs-badge-text);
3723
3745
  border-radius:var(--rs-radius-full);
3724
- font-size:var(--rs-font-size-xs);
3725
- line-height:1rem;
3746
+ font-size:var(--rs-badge-font-size);
3747
+ line-height:var(--rs-badge-line-height);
3726
3748
  padding-inline:0.3125rem;
3727
3749
  transition:opacity 0.3s ease-in-out;
3728
3750
  }
3729
3751
  .rs-badge[data-one-char=true] .rs-badge-content, .rs-badge[data-one-char=true][data-independent=true]{
3730
3752
  width:var(--rs-badge-one-char-size);
3731
3753
  height:var(--rs-badge-one-char-size);
3754
+ line-height:var(--rs-badge-one-char-size);
3732
3755
  }
3733
3756
  .rs-badge-content{
3734
3757
  box-sizing:border-box;
@@ -3806,12 +3829,47 @@ tbody.rs-anim-collapse.rs-anim-in{
3806
3829
  --rs-badge-bg:var(--rs-pink-500);
3807
3830
  }
3808
3831
 
3832
+ .rs-badge[data-size=xs]{
3833
+ --rs-badge-font-size:var(--rs-badge-font-size-xs);
3834
+ --rs-badge-line-height:var(--rs-badge-line-height-xs);
3835
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-xs);
3836
+ --rs-badge-dot-size:var(--rs-badge-dot-size-xs);
3837
+ }
3838
+
3839
+ .rs-badge[data-size=sm]{
3840
+ --rs-badge-font-size:var(--rs-badge-font-size-sm);
3841
+ --rs-badge-line-height:var(--rs-badge-line-height-sm);
3842
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-sm);
3843
+ --rs-badge-dot-size:var(--rs-badge-dot-size-sm);
3844
+ }
3845
+
3846
+ .rs-badge[data-size=md]{
3847
+ --rs-badge-font-size:var(--rs-badge-font-size-md);
3848
+ --rs-badge-line-height:var(--rs-badge-line-height-md);
3849
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-md);
3850
+ --rs-badge-dot-size:var(--rs-badge-dot-size-md);
3851
+ }
3852
+
3853
+ .rs-badge[data-size=lg]{
3854
+ --rs-badge-font-size:var(--rs-badge-font-size-lg);
3855
+ --rs-badge-line-height:var(--rs-badge-line-height-lg);
3856
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-lg);
3857
+ --rs-badge-dot-size:var(--rs-badge-dot-size-lg);
3858
+ }
3859
+
3860
+ .rs-badge[data-size=xl]{
3861
+ --rs-badge-font-size:var(--rs-badge-font-size-xl);
3862
+ --rs-badge-line-height:var(--rs-badge-line-height-xl);
3863
+ --rs-badge-one-char-size:var(--rs-badge-one-char-size-xl);
3864
+ --rs-badge-dot-size:var(--rs-badge-dot-size-xl);
3865
+ }
3866
+
3809
3867
  .rs-breadcrumb{
3810
3868
  --rs-breadcrumb-spacing:var(--rs-spacing);
3811
3869
  --rs-breadcrumb-size-sm:var(--rs-font-size-xs);
3812
3870
  --rs-breadcrumb-size-md:var(--rs-font-size-sm);
3813
3871
  --rs-breadcrumb-size-lg:var(--rs-font-size-md);
3814
- --rs-breadcrumb-size:var(--rs-breadcrumb-size-sm);
3872
+ --rs-breadcrumb-size:var(--rs-breadcrumb-size-md);
3815
3873
  font-size:var(--rs-breadcrumb-size);
3816
3874
  color:var(--rs-text-secondary);
3817
3875
  }
@@ -10130,6 +10188,11 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
10130
10188
  .rs-modal.rs-modal-full .rs-modal-dialog .rs-modal-footer{
10131
10189
  flex:0 0 auto;
10132
10190
  }
10191
+ .rs-modal.rs-modal-fill .rs-modal-dialog,
10192
+ .rs-modal.rs-modal-fill .rs-modal-body{
10193
+ margin:0;
10194
+ padding:0;
10195
+ }
10133
10196
  .rs-modal .rs-modal-dialog{
10134
10197
  position:relative;
10135
10198
  background-color:var(--rs-bg-overlay);
@@ -10467,6 +10530,10 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
10467
10530
  bottom:auto;
10468
10531
  top:0;
10469
10532
  }
10533
+ .rs-nav[data-appearance=subtle][data-direction=vertical]{
10534
+ display:flex;
10535
+ flex-direction:column;
10536
+ }
10470
10537
  .rs-nav[data-appearance=subtle][data-direction=vertical] .rs-nav-bar{
10471
10538
  width:2px;
10472
10539
  background:var(--rs-navs-subtle-border);
@@ -10978,10 +11045,33 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
10978
11045
  }
10979
11046
 
10980
11047
  .rs-pagination-group{
10981
- --pagination-group-gap:calc(var(--rs-spacing) * 2.5);
11048
+ --rs-pagination-font-size-xs:var(--rs-font-size-xs);
11049
+ --rs-pagination-font-size-sm:var(--rs-font-size-sm);
11050
+ --rs-pagination-font-size-md:var(--rs-font-size-sm);
11051
+ --rs-pagination-font-size-lg:var(--rs-font-size-md);
11052
+ --rs-pagination-group-gap:calc(var(--rs-spacing) * 2.5);
10982
11053
  display:flex;
10983
11054
  align-items:center;
10984
- gap:var(--pagination-group-gap);
11055
+ gap:var(--rs-pagination-group-gap);
11056
+ }
11057
+ .rs-pagination-group-total, .rs-pagination-group-skip{
11058
+ font-size:var(--rs-pagination-font-size-md);
11059
+ }
11060
+ .rs-pagination-group[data-size=xs] .rs-pagination-group-total,
11061
+ .rs-pagination-group[data-size=xs] .rs-pagination-group-skip{
11062
+ font-size:var(--rs-pagination-font-size-xs);
11063
+ }
11064
+ .rs-pagination-group[data-size=sm] .rs-pagination-group-total,
11065
+ .rs-pagination-group[data-size=sm] .rs-pagination-group-skip{
11066
+ font-size:var(--rs-pagination-font-size-sm);
11067
+ }
11068
+ .rs-pagination-group[data-size=md] .rs-pagination-group-total,
11069
+ .rs-pagination-group[data-size=md] .rs-pagination-group-skip{
11070
+ font-size:var(--rs-pagination-font-size-md);
11071
+ }
11072
+ .rs-pagination-group[data-size=lg] .rs-pagination-group-total,
11073
+ .rs-pagination-group[data-size=lg] .rs-pagination-group-skip{
11074
+ font-size:var(--rs-pagination-font-size-lg);
10985
11075
  }
10986
11076
  .rs-pagination-group-grow{
10987
11077
  flex-grow:1;