@react-ui-org/react-ui 0.51.0 → 0.52.1

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 (42) hide show
  1. package/dist/lib.development.js +141 -33
  2. package/dist/lib.js +1 -1
  3. package/dist/react-ui.css +40 -0
  4. package/dist/react-ui.js +1 -0
  5. package/package.json +1 -1
  6. package/src/lib/components/Button/Button.jsx +17 -9
  7. package/src/lib/components/Button/_base.scss +21 -12
  8. package/src/lib/components/Button/_priorities.scss +1 -18
  9. package/src/lib/components/Button/_theme.scss +0 -10
  10. package/src/lib/components/ButtonGroup/ButtonGroup.jsx +5 -3
  11. package/src/lib/components/ButtonGroup/ButtonGroup.scss +26 -1
  12. package/src/lib/components/ButtonGroup/README.mdx +11 -1
  13. package/src/lib/components/ButtonGroup/_theme.scss +13 -0
  14. package/src/lib/components/FormLayout/README.mdx +5 -0
  15. package/src/lib/components/InputGroup/InputGroup.jsx +170 -0
  16. package/src/lib/components/InputGroup/InputGroup.scss +92 -0
  17. package/src/lib/components/InputGroup/InputGroupContext.js +3 -0
  18. package/src/lib/components/InputGroup/README.mdx +278 -0
  19. package/src/lib/components/InputGroup/_theme.scss +2 -0
  20. package/src/lib/components/InputGroup/index.js +2 -0
  21. package/src/lib/components/Modal/Modal.jsx +58 -97
  22. package/src/lib/components/Modal/README.mdx +288 -15
  23. package/src/lib/components/Modal/_helpers/getPositionClassName.js +7 -0
  24. package/src/lib/components/Modal/_helpers/getSizeClassName.js +19 -0
  25. package/src/lib/components/Modal/_hooks/useModalFocus.js +126 -0
  26. package/src/lib/components/Modal/_hooks/useModalScrollPrevention.js +35 -0
  27. package/src/lib/components/Modal/_settings.scss +1 -1
  28. package/src/lib/components/Radio/README.mdx +9 -1
  29. package/src/lib/components/Radio/Radio.jsx +39 -31
  30. package/src/lib/components/Radio/Radio.scss +12 -2
  31. package/src/lib/components/SelectField/SelectField.jsx +21 -8
  32. package/src/lib/components/SelectField/SelectField.scss +5 -0
  33. package/src/lib/components/TextField/TextField.jsx +21 -8
  34. package/src/lib/components/TextField/TextField.scss +5 -0
  35. package/src/lib/index.js +1 -0
  36. package/src/lib/styles/theme/_borders.scss +2 -1
  37. package/src/lib/styles/tools/form-fields/_box-field-elements.scss +19 -2
  38. package/src/lib/styles/tools/form-fields/_box-field-layout.scss +26 -14
  39. package/src/lib/styles/tools/form-fields/_box-field-sizes.scss +11 -8
  40. package/src/lib/styles/tools/form-fields/_foundation.scss +7 -0
  41. package/src/lib/theme.scss +23 -11
  42. /package/src/lib/components/{Button/helpers → _helpers}/getRootPriorityClassName.js +0 -0
@@ -1,19 +1,22 @@
1
1
  @use "sass:map";
2
2
  @use "../../theme/form-fields" as theme;
3
3
 
4
- @mixin size($size, $is-multiline: false) {
4
+ @mixin size($size, $has-input: true, $is-multiline: false) {
5
5
  $size-properties: map.get(theme.$box-sizes, $size);
6
6
 
7
7
  --rui-local-padding-y: #{map.get($size-properties, padding-y)};
8
8
  --rui-local-padding-x: #{map.get($size-properties, padding-x)};
9
- --rui-local-font-size: #{map.get($size-properties, font-size)};
10
9
 
11
- .input {
12
- @if $is-multiline {
13
- height: auto;
14
- min-height: map.get($size-properties, height);
15
- } @else {
16
- --rui-local-height: #{map.get($size-properties, height)};
10
+ @if $has-input {
11
+ --rui-local-font-size: #{map.get($size-properties, font-size)};
12
+
13
+ .input {
14
+ @if $is-multiline {
15
+ height: auto;
16
+ min-height: map.get($size-properties, height);
17
+ } @else {
18
+ --rui-local-height: #{map.get($size-properties, height)};
19
+ }
17
20
  }
18
21
  }
19
22
  }
@@ -1,4 +1,5 @@
1
1
  // 1. Don't let text alignment be affected by a parent.
2
+ // 2. Override foundation reset.
2
3
 
3
4
  @use "../../settings/form-fields" as settings;
4
5
  @use "../../theme/form-fields" as theme;
@@ -7,6 +8,12 @@
7
8
  text-align: left; // 1.
8
9
  }
9
10
 
11
+ @mixin fieldset() {
12
+ &:not(:last-child) {
13
+ margin-bottom: 0; // 2.
14
+ }
15
+ }
16
+
10
17
  @mixin label() {
11
18
  color: var(--rui-local-surrounding-text-color, #{theme.$label-color});
12
19
  }
@@ -30,7 +30,8 @@
30
30
  --rui-dimension-breakpoint-x3l: #{breakpoints.$x3l};
31
31
 
32
32
  // Radii
33
- --rui-dimension-radius-1: 0.25rem;
33
+ --rui-dimension-radius-1: 0.125rem;
34
+ --rui-dimension-radius-2: 0.25rem;
34
35
 
35
36
  // Spacing
36
37
  --rui-dimension-space-0: 0;
@@ -259,7 +260,7 @@
259
260
  --rui-Alert__padding: var(--rui-dimension-space-3);
260
261
  --rui-Alert__font-weight: var(--rui-font-weight-base);
261
262
  --rui-Alert__border-width: var(--rui-dimension-border-width-1);
262
- --rui-Alert__border-radius: var(--rui-dimension-radius-1);
263
+ --rui-Alert__border-radius: var(--rui-dimension-radius-2);
263
264
  --rui-Alert__emphasis__font-weight: var(--rui-font-weight-bold);
264
265
  --rui-Alert__stripe__width: var(--rui-dimension-border-width-1);
265
266
 
@@ -312,7 +313,7 @@
312
313
  --rui-Button__letter-spacing: 0;
313
314
  --rui-Button__text-transform: none;
314
315
  --rui-Button__border-width: var(--rui-dimension-border-width-1);
315
- --rui-Button__border-radius: var(--rui-dimension-radius-1);
316
+ --rui-Button__border-radius: var(--rui-dimension-radius-2);
316
317
  --rui-Button--disabled__opacity: var(--rui-ratio-disabled-opacity);
317
318
  --rui-Button--disabled__cursor: var(--rui-cursor-not-allowed);
318
319
  --rui-Button--feedback__opacity: 1;
@@ -711,26 +712,30 @@
711
712
  // ButtonGroup
712
713
  // ===========
713
714
 
715
+ --rui-ButtonGroup__inner-border-radius: 0;
716
+
714
717
  // ButtonGroup: filled buttons
715
718
  --rui-ButtonGroup--filled__gap: calc(-1 * var(--rui-Button__border-width));
716
719
  --rui-ButtonGroup--filled__separator__width: var(--rui-Button__border-width);
717
720
  --rui-ButtonGroup--filled__separator__color: currentColor;
718
721
 
722
+ // ButtonGroup: outline buttons
723
+ --rui-ButtonGroup--outline__gap: calc(-1 * var(--rui-Button__border-width));
724
+ --rui-ButtonGroup--outline__separator__width: 0;
725
+ --rui-ButtonGroup--outline__separator__color: transparent;
726
+
719
727
  // ButtonGroup: flat buttons
720
728
  --rui-ButtonGroup--flat__gap: var(--rui-Button__border-width);
721
729
  --rui-ButtonGroup--flat__separator__width: var(--rui-ButtonGroup--flat__gap);
722
730
  --rui-ButtonGroup--flat__separator__color: currentColor;
723
731
 
724
- // ButtonGroup: outline buttons
725
- --rui-ButtonGroup--outline__gap: calc(-1 * var(--rui-Button__border-width));
726
-
727
732
  //
728
733
  // Card
729
734
  // ====
730
735
 
731
736
  --rui-Card__padding: var(--rui-dimension-space-4);
732
737
  --rui-Card__border-width: var(--rui-dimension-border-width-1);
733
- --rui-Card__border-radius: var(--rui-dimension-radius-1);
738
+ --rui-Card__border-radius: var(--rui-dimension-radius-2);
734
739
  --rui-Card--dense__padding: var(--rui-dimension-space-2);
735
740
  --rui-Card--raised__box-shadow: var(--rui-shadow-layer-1);
736
741
  --rui-Card--disabled__background-color: var(--rui-color-background-disabled);
@@ -834,7 +839,7 @@
834
839
 
835
840
  // Form fields: box fields
836
841
  --rui-FormField--box__border-width: var(--rui-dimension-border-width-1);
837
- --rui-FormField--box__border-radius: var(--rui-dimension-radius-1);
842
+ --rui-FormField--box__border-radius: var(--rui-dimension-radius-2);
838
843
  --rui-FormField--box__input__width: auto; // 1.
839
844
  --rui-FormField--box__input__min-width: 240px; // 1.
840
845
  --rui-FormField--box__placeholder__color: var(--rui-color-text-secondary);
@@ -910,6 +915,13 @@
910
915
  --rui-FormLayout--horizontal__label__width--auto: auto;
911
916
  --rui-FormLayout--horizontal__label__width--limited: fit-content(50%);
912
917
 
918
+ //
919
+ // InputGroup
920
+ // =======
921
+
922
+ --rui-InputGroup__gap: var(--rui-dimension-space-1);
923
+ --rui-InputGroup__inner-border-radius: var(--rui-dimension-radius-1);
924
+
913
925
  //
914
926
  // Modal
915
927
  // =====
@@ -941,7 +953,7 @@
941
953
  --rui-Paper__padding: var(--rui-dimension-space-4);
942
954
  --rui-Paper__border-width: 0;
943
955
  --rui-Paper__border-color: transparent;
944
- --rui-Paper__border-radius: var(--rui-dimension-radius-1);
956
+ --rui-Paper__border-radius: var(--rui-dimension-radius-2);
945
957
  --rui-Paper__background-color: var(--rui-color-background-layer-1);
946
958
  --rui-Paper--muted__background-color: var(--rui-color-background-disabled);
947
959
  --rui-Paper--muted__opacity: var(--rui-ratio-disabled-opacity);
@@ -955,7 +967,7 @@
955
967
  --rui-Popover__padding: var(--rui-dimension-space-3);
956
968
  --rui-Popover__border-width: 0;
957
969
  --rui-Popover__border-color: transparent;
958
- --rui-Popover__border-radius: var(--rui-dimension-radius-1);
970
+ --rui-Popover__border-radius: var(--rui-dimension-radius-2);
959
971
  --rui-Popover__color: var(--rui-color-text-primary);
960
972
  --rui-Popover__background-color: var(--rui-color-background-layer-2);
961
973
  --rui-Popover__box-shadow: var(--rui-shadow-layer-2);
@@ -983,7 +995,7 @@
983
995
  var(--rui-color-border-secondary)
984
996
  transparent
985
997
  var(--rui-color-border-secondary);
986
- --rui-Tabs__item__border-radius: var(--rui-dimension-radius-1);
998
+ --rui-Tabs__item__border-radius: var(--rui-dimension-radius-2);
987
999
  --rui-Tabs__item__background-color: var(--rui-color-background-layer-1);
988
1000
  --rui-Tabs__item__box-shadow: none;
989
1001
  --rui-Tabs__item__icon__gap: var(--rui-dimension-space-2);