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

Sign up to get free protection for your applications and to get access to all the features.
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);