@kaizen/components 1.74.1 → 1.74.3

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 (29) hide show
  1. package/dist/cjs/Input/Input/Input.cjs +1 -3
  2. package/dist/cjs/Input/Input/Input.module.scss.cjs +1 -1
  3. package/dist/cjs/Input/InputSearch/InputSearch.cjs +1 -3
  4. package/dist/cjs/Input/InputSearch/InputSearch.module.scss.cjs +0 -1
  5. package/dist/esm/Input/Input/Input.mjs +1 -3
  6. package/dist/esm/Input/Input/Input.module.scss.mjs +1 -1
  7. package/dist/esm/Input/InputSearch/InputSearch.mjs +1 -3
  8. package/dist/esm/Input/InputSearch/InputSearch.module.scss.mjs +0 -1
  9. package/dist/styles.css +59 -176
  10. package/locales/de.json +4 -4
  11. package/locales/id.json +3 -3
  12. package/locales/mi.json +2 -2
  13. package/locales/zh-TW.json +1 -1
  14. package/package.json +3 -3
  15. package/src/Checkbox/Checkbox/Checkbox.module.scss +7 -19
  16. package/src/ClearButton/ClearButton.module.scss +5 -24
  17. package/src/Input/Input/Input.module.scss +6 -15
  18. package/src/Input/Input/Input.tsx +0 -4
  19. package/src/Input/InputSearch/InputSearch.module.scss +7 -23
  20. package/src/Input/InputSearch/InputSearch.tsx +0 -3
  21. package/src/Link/Link.module.css +8 -13
  22. package/src/Modal/GenericModal/GenericModal.module.scss +5 -11
  23. package/src/Notification/subcomponents/GenericNotification/GenericNotification.module.scss +4 -16
  24. package/src/Radio/Radio/Radio.module.scss +4 -20
  25. package/src/__next__/Button/Button.module.css +6 -11
  26. package/src/__next__/Icon/_docs/Icon.docs.module.css +3 -5
  27. package/src/__next__/Select/subcomponents/Option/Option.module.scss +2 -12
  28. package/src/__next__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +4 -15
  29. package/src/__next__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +3 -14
@@ -37,9 +37,7 @@ var Input = function (_a) {
37
37
  defaultValue: defaultValue,
38
38
  disabled: disabled,
39
39
  className: classnames__default.default(Input_module.input, Input_module[status], classNameOverride, reversed ? Input_module.reversed : Input_module.default, disabled && Input_module.disabled)
40
- }, restProps)), React__default.default.createElement("div", {
41
- className: Input_module.focusRing
42
- }), endIconAdornment && React__default.default.createElement("div", {
40
+ }, restProps)), endIconAdornment && React__default.default.createElement("div", {
43
41
  className: Input_module.endIconAdornment
44
42
  }, endIconAdornment));
45
43
  };
@@ -6,7 +6,6 @@ var styles = {
6
6
  "input": "Input-module_input__d-Moh",
7
7
  "disabled": "Input-module_disabled__CJeOi",
8
8
  "reversed": "Input-module_reversed__Kh7dc",
9
- "focusRing": "Input-module_focusRing__E68jh",
10
9
  "withStartIconAdornment": "Input-module_withStartIconAdornment__de6-U",
11
10
  "startIconAdornment": "Input-module_startIconAdornment__pnn-b",
12
11
  "withDisabled": "Input-module_withDisabled__pzzCm",
@@ -14,6 +13,7 @@ var styles = {
14
13
  "endIconAdornment": "Input-module_endIconAdornment__bg-PL",
15
14
  "withReversed": "Input-module_withReversed__SKSOD",
16
15
  "default": "Input-module_default__zata3",
16
+ "focusRing": "Input-module_focusRing__E68jh",
17
17
  "error": "Input-module_error__a-BFh",
18
18
  "caution": "Input-module_caution__rC0sY"
19
19
  };
@@ -63,9 +63,7 @@ var InputSearch = function (props) {
63
63
  value: value,
64
64
  onChange: onChange,
65
65
  readOnly: onChange === undefined
66
- }, restProps)), React__default.default.createElement("div", {
67
- className: InputSearch_module.focusRing
68
- }), value && React__default.default.createElement(ClearButton.ClearButton, {
66
+ }, restProps)), value && React__default.default.createElement(ClearButton.ClearButton, {
69
67
  isReversed: reversed,
70
68
  onClick: handleOnClear,
71
69
  disabled: disabled,
@@ -4,7 +4,6 @@ var styles = {
4
4
  "wrapper": "InputSearch-module_wrapper__xz4kh",
5
5
  "input": "InputSearch-module_input__hCit3",
6
6
  "hasEndIconAdornment": "InputSearch-module_hasEndIconAdornment__ZtGcu",
7
- "focusRing": "InputSearch-module_focusRing__kDUuP",
8
7
  "startIconAdornment": "InputSearch-module_startIconAdornment__Tc7Yx",
9
8
  "loadingSpinner": "InputSearch-module_loadingSpinner__GIO1C",
10
9
  "endIconAdornment": "InputSearch-module_endIconAdornment__lm-3h",
@@ -29,9 +29,7 @@ const Input = /*#__PURE__*/function () {
29
29
  defaultValue: defaultValue,
30
30
  disabled: disabled,
31
31
  className: classnames(styles.input, styles[status], classNameOverride, reversed ? styles.reversed : styles.default, disabled && styles.disabled)
32
- }, restProps)), /*#__PURE__*/React.createElement("div", {
33
- className: styles.focusRing
34
- }), endIconAdornment && /*#__PURE__*/React.createElement("div", {
32
+ }, restProps)), endIconAdornment && /*#__PURE__*/React.createElement("div", {
35
33
  className: styles.endIconAdornment
36
34
  }, endIconAdornment));
37
35
  };
@@ -4,7 +4,6 @@ var styles = {
4
4
  "input": "Input-module_input__d-Moh",
5
5
  "disabled": "Input-module_disabled__CJeOi",
6
6
  "reversed": "Input-module_reversed__Kh7dc",
7
- "focusRing": "Input-module_focusRing__E68jh",
8
7
  "withStartIconAdornment": "Input-module_withStartIconAdornment__de6-U",
9
8
  "startIconAdornment": "Input-module_startIconAdornment__pnn-b",
10
9
  "withDisabled": "Input-module_withDisabled__pzzCm",
@@ -12,6 +11,7 @@ var styles = {
12
11
  "endIconAdornment": "Input-module_endIconAdornment__bg-PL",
13
12
  "withReversed": "Input-module_withReversed__SKSOD",
14
13
  "default": "Input-module_default__zata3",
14
+ "focusRing": "Input-module_focusRing__E68jh",
15
15
  "error": "Input-module_error__a-BFh",
16
16
  "caution": "Input-module_caution__rC0sY"
17
17
  };
@@ -55,9 +55,7 @@ const InputSearch = /*#__PURE__*/function () {
55
55
  value: value,
56
56
  onChange: onChange,
57
57
  readOnly: onChange === undefined
58
- }, restProps)), /*#__PURE__*/React.createElement("div", {
59
- className: styles.focusRing
60
- }), value && (/*#__PURE__*/React.createElement(ClearButton, {
58
+ }, restProps)), value && (/*#__PURE__*/React.createElement(ClearButton, {
61
59
  isReversed: reversed,
62
60
  onClick: handleOnClear,
63
61
  disabled: disabled,
@@ -2,7 +2,6 @@ var styles = {
2
2
  "wrapper": "InputSearch-module_wrapper__xz4kh",
3
3
  "input": "InputSearch-module_input__hCit3",
4
4
  "hasEndIconAdornment": "InputSearch-module_hasEndIconAdornment__ZtGcu",
5
- "focusRing": "InputSearch-module_focusRing__kDUuP",
6
5
  "startIconAdornment": "InputSearch-module_startIconAdornment__Tc7Yx",
7
6
  "loadingSpinner": "InputSearch-module_loadingSpinner__GIO1C",
8
7
  "endIconAdornment": "InputSearch-module_endIconAdornment__lm-3h",
package/dist/styles.css CHANGED
@@ -2024,6 +2024,8 @@
2024
2024
  .Checkbox-module_checkbox__qJnwV:focus + .Checkbox-module_box__Q6BJn {
2025
2025
  background: white;
2026
2026
  border-color: var(--color-gray-600, #524e56);
2027
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
2028
+ outline-offset: 1px;
2027
2029
  }
2028
2030
  .Checkbox-module_checkbox__qJnwV:checked:focus + .Checkbox-module_box__Q6BJn, .Checkbox-module_checkbox__qJnwV:indeterminate:focus + .Checkbox-module_box__Q6BJn {
2029
2031
  background: var(--color-gray-600, #524e56);
@@ -2033,20 +2035,6 @@
2033
2035
  background: var(--color-gray-600, #524e56);
2034
2036
  border-color: var(--color-gray-600, #524e56);
2035
2037
  }
2036
- .Checkbox-module_checkbox__qJnwV:focus + .Checkbox-module_box__Q6BJn::after {
2037
- content: "";
2038
- box-sizing: border-box;
2039
- position: absolute;
2040
- background: transparent;
2041
- border-radius: var(--border-focus-ring-border-radius, 10px);
2042
- border-width: var(--border-focus-ring-border-width, 2px);
2043
- border-style: var(--border-focus-ring-border-style, solid);
2044
- border-color: var(--color-blue-500, #0168b3);
2045
- top: calc(-2px - 24px / 8);
2046
- left: calc(-2px - 24px / 8);
2047
- width: calc(24px + 2px + var(--border-solid-border-width, 2px) * 2);
2048
- height: calc(24px + 2px + var(--border-solid-border-width, 2px) * 2);
2049
- }
2050
2038
 
2051
2039
  .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf {
2052
2040
  border: var(--border-solid-border-width, 2px) var(--border-solid-border-style, solid) rgba(var(--color-white-rgb, 255, 255, 255), 0.65);
@@ -2055,6 +2043,9 @@
2055
2043
  .Checkbox-module_checkbox__qJnwV:checked + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf, .Checkbox-module_checkbox__qJnwV:indeterminate + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf {
2056
2044
  background: rgba(var(--color-white-rgb, 255, 255, 255), 0.65);
2057
2045
  }
2046
+ .Checkbox-module_checkbox__qJnwV:focus + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf {
2047
+ outline-color: var(--color-blue-300);
2048
+ }
2058
2049
  .Checkbox-module_checkbox__qJnwV:not([checked]):hover + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf, .Checkbox-module_checkbox__qJnwV:not([checked]):focus + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf {
2059
2050
  border-color: var(--color-white, #ffffff);
2060
2051
  background: rgba(var(--color-white-rgb, 255, 255, 255), 0.1);
@@ -2067,9 +2058,6 @@
2067
2058
  background: var(--color-white, #ffffff);
2068
2059
  border-color: var(--color-white, #ffffff);
2069
2060
  }
2070
- .Checkbox-module_checkbox__qJnwV:focus + .Checkbox-module_box__Q6BJn.Checkbox-module_reversed__YWdUf::after {
2071
- border-color: var(--color-blue-300, #73c0e8);
2072
- }
2073
2061
  /** THIS IS AN AUTOGENERATED FILE **/
2074
2062
  /** THIS IS AN AUTOGENERATED FILE **/
2075
2063
  /** THIS IS AN AUTOGENERATED FILE **/
@@ -2210,21 +2198,14 @@
2210
2198
  border: none;
2211
2199
  position: relative;
2212
2200
  display: inline-flex;
2201
+ border-radius: 100%;
2213
2202
  }
2214
2203
  .ClearButton-module_clearButton__CSOIc:hover {
2215
2204
  cursor: pointer;
2216
2205
  }
2217
- .ClearButton-module_clearButton__CSOIc:focus {
2218
- outline: none;
2219
- }
2220
- .ClearButton-module_clearButton__CSOIc:focus-visible::after {
2221
- content: "";
2222
- position: absolute;
2223
- background: transparent;
2224
- border-width: var(--border-focus-ring-border-width, 2px);
2225
- border-style: var(--border-focus-ring-border-style, solid);
2226
- border-radius: 50%;
2227
- inset: -1px;
2206
+ .ClearButton-module_clearButton__CSOIc:focus-visible {
2207
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
2208
+ outline-offset: -1px;
2228
2209
  }
2229
2210
 
2230
2211
  .ClearButton-module_default__lBJxw {
@@ -2233,9 +2214,6 @@
2233
2214
  .ClearButton-module_default__lBJxw:hover, .ClearButton-module_default__lBJxw:focus-visible {
2234
2215
  color: var(--color-purple-800, #2f2438);
2235
2216
  }
2236
- .ClearButton-module_default__lBJxw:focus-visible::after {
2237
- border-color: var(--color-blue-500, #0168b3);
2238
- }
2239
2217
 
2240
2218
  .ClearButton-module_reversed__0I2DC {
2241
2219
  color: rgba(var(--color-white-rgb, 255, 255, 255), 0.8);
@@ -2243,8 +2221,8 @@
2243
2221
  .ClearButton-module_reversed__0I2DC:hover, .ClearButton-module_reversed__0I2DC:focus-visible {
2244
2222
  color: var(--color-white, #ffffff);
2245
2223
  }
2246
- .ClearButton-module_reversed__0I2DC:focus-visible::after {
2247
- border-color: var(--color-blue-300, #73c0e8);
2224
+ .ClearButton-module_reversed__0I2DC:focus-visible {
2225
+ outline-color: var(--color-blue-300);
2248
2226
  }
2249
2227
  /** THIS IS AN AUTOGENERATED FILE **/
2250
2228
  /** THIS IS AN AUTOGENERATED FILE **/
@@ -2454,6 +2432,10 @@
2454
2432
  position: static;
2455
2433
  opacity: 100%;
2456
2434
  }
2435
+ .Input-module_input__d-Moh:focus:not([disabled]), .Input-module_input__d-Moh:hover:focus:not([disabled]) {
2436
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
2437
+ outline-offset: 1px;
2438
+ }
2457
2439
  .Input-module_input__d-Moh:focus:not([disabled])::placeholder, .Input-module_input__d-Moh:hover:focus:not([disabled])::placeholder {
2458
2440
  font-family: var(--typography-paragraph-body-font-family, "Inter", "Noto Sans", Helvetica, Arial, sans-serif);
2459
2441
  font-size: var(--typography-paragraph-body-font-size, 1rem);
@@ -2476,17 +2458,6 @@
2476
2458
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.3);
2477
2459
  }
2478
2460
 
2479
- .Input-module_input__d-Moh:focus + .Input-module_focusRing__E68jh {
2480
- position: absolute;
2481
- background: transparent;
2482
- border-radius: var(--border-focus-ring-border-radius, 10px);
2483
- border-width: var(--border-focus-ring-border-width, 2px);
2484
- border-style: var(--border-focus-ring-border-style, solid);
2485
- border-color: transparent;
2486
- inset: -3px;
2487
- pointer-events: none;
2488
- }
2489
-
2490
2461
  /* stylelint-disable no-descending-specificity */
2491
2462
  .Input-module_withStartIconAdornment__de6-U .Input-module_startIconAdornment__pnn-b {
2492
2463
  position: absolute;
@@ -2639,8 +2610,8 @@
2639
2610
  .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:focus:not([disabled]), .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:hover:not([disabled]), .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:hover:focus:not([disabled]) {
2640
2611
  background: rgba(var(--color-white-rgb, 255, 255, 255), 0.1);
2641
2612
  }
2642
- .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:focus + .Input-module_focusRing__E68jh {
2643
- border-color: var(--color-blue-300, #73c0e8);
2613
+ .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:focus {
2614
+ outline-color: var(--color-blue-300);
2644
2615
  }
2645
2616
  .Input-module_input__d-Moh.Input-module_reversed__Kh7dc:not(.Input-module_error__a-BFh, .Input-module_caution__rC0sY) {
2646
2617
  border-color: rgba(var(--color-white-rgb, 255, 255, 255), 0.65);
@@ -2896,15 +2867,9 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
2896
2867
  position: static;
2897
2868
  opacity: 0%;
2898
2869
  }
2899
-
2900
- .InputSearch-module_input__hCit3[type=search]:focus + .InputSearch-module_focusRing__kDUuP {
2901
- position: absolute;
2902
- background: transparent;
2903
- border-radius: 48px;
2904
- border-width: var(--border-focus-ring-border-width, 2px);
2905
- border-style: var(--border-focus-ring-border-style, solid);
2906
- inset: -3px;
2907
- pointer-events: none;
2870
+ .InputSearch-module_input__hCit3[type=search]:focus {
2871
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
2872
+ outline-offset: 1px;
2908
2873
  }
2909
2874
 
2910
2875
  .InputSearch-module_startIconAdornment__Tc7Yx {
@@ -2950,9 +2915,6 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
2950
2915
  color: var(--color-purple-800, #2f2438);
2951
2916
  opacity: 0.7;
2952
2917
  }
2953
- .InputSearch-module_default__4d3Ek .InputSearch-module_focusRing__kDUuP {
2954
- border-color: var(--color-blue-500, #0168b3);
2955
- }
2956
2918
  .InputSearch-module_default__4d3Ek .InputSearch-module_startIconAdornment__Tc7Yx {
2957
2919
  color: var(--color-purple-800, #2f2438);
2958
2920
  opacity: 0.7;
@@ -2989,9 +2951,6 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
2989
2951
  color: var(--color-purple-800, #2f2438);
2990
2952
  opacity: 0.7;
2991
2953
  }
2992
- .InputSearch-module_secondary__l68uD .InputSearch-module_focusRing__kDUuP {
2993
- border-color: var(--color-blue-500, #0168b3);
2994
- }
2995
2954
  .InputSearch-module_secondary__l68uD .InputSearch-module_startIconAdornment__Tc7Yx {
2996
2955
  color: var(--color-purple-800, #2f2438);
2997
2956
  opacity: 0.7;
@@ -3027,8 +2986,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
3027
2986
  color: var(--color-white, #ffffff);
3028
2987
  opacity: 0.8;
3029
2988
  }
3030
- .InputSearch-module_reversed__eS7Nr .InputSearch-module_focusRing__kDUuP {
3031
- border-color: var(--color-blue-300, #73c0e8);
2989
+ .InputSearch-module_reversed__eS7Nr .InputSearch-module_input__hCit3[type=search]:focus {
2990
+ outline-color: var(--color-blue-300);
3032
2991
  }
3033
2992
  .InputSearch-module_reversed__eS7Nr .InputSearch-module_startIconAdornment__Tc7Yx {
3034
2993
  color: var(--color-white, #ffffff);
@@ -4021,15 +3980,7 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4021
3980
  .Option-module_option__q837b.Option-module_isFocusVisible__gIulJ {
4022
3981
  background-color: var(--color-blue-100, #e6f6ff);
4023
3982
  color: var(--color-blue-500, #0168b3);
4024
- }
4025
- .Option-module_option__q837b.Option-module_isFocusVisible__gIulJ::after {
4026
- content: "";
4027
- position: absolute;
4028
- background: transparent;
4029
- border: var(--border-focus-ring-border-width, 2px) var(--border-focus-ring-border-style, solid) var(--color-blue-500, #0168b3);
4030
- border-radius: 4px;
4031
- inset: calc(-1 * calc(var(--border-focus-ring-border-width, 2px) * 2 + 1px));
4032
- z-index: 1;
3983
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
4033
3984
  }
4034
3985
  .Option-module_option__q837b.Option-module_isFocusVisible__gIulJ .Option-module_icon__6dMZa {
4035
3986
  color: var(--color-blue-500, #0168b3);
@@ -4135,18 +4086,11 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4135
4086
  border-color: var(--color-gray-600, #524e56);
4136
4087
  }
4137
4088
  .SelectToggle-module_selectToggle__WzOfT:focus {
4138
- outline: none;
4089
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
4090
+ outline-offset: 1px;
4139
4091
  background-color: var(--color-gray-200, #f4f4f5);
4140
4092
  border-color: var(--color-gray-600, #524e56);
4141
4093
  }
4142
- .SelectToggle-module_selectToggle__WzOfT:focus::after {
4143
- content: "";
4144
- position: absolute;
4145
- background: transparent;
4146
- border: var(--border-focus-ring-border-width, 2px) var(--border-focus-ring-border-style, solid) var(--color-blue-500, #0168b3);
4147
- border-radius: var(--border-focus-ring-border-radius, 10px);
4148
- inset: calc(-1 * calc(var(--border-focus-ring-border-width, 2px) * 2 + 1px));
4149
- }
4150
4094
 
4151
4095
  .SelectToggle-module_placeholder__MqhPo {
4152
4096
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.7);
@@ -4185,8 +4129,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4185
4129
  .SelectToggle-module_reversed__4b0JA:active .SelectToggle-module_icon__MX9x-, .SelectToggle-module_reversed__4b0JA:hover .SelectToggle-module_icon__MX9x-, .SelectToggle-module_reversed__4b0JA:focus .SelectToggle-module_icon__MX9x- {
4186
4130
  color: var(--color-white, #ffffff);
4187
4131
  }
4188
- .SelectToggle-module_reversed__4b0JA:focus::after {
4189
- border-color: var(--color-blue-300, #73c0e8);
4132
+ .SelectToggle-module_reversed__4b0JA:focus {
4133
+ outline-color: var(--color-blue-300);
4190
4134
  }
4191
4135
  .SelectToggle-module_reversed__4b0JA .SelectToggle-module_error__2j0Yb {
4192
4136
  border-color: var(--color-red-300, #f597a8);
@@ -4976,20 +4920,11 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4976
4920
  display: flex;
4977
4921
  align-items: center;
4978
4922
  justify-content: center;
4923
+ border-radius: var(--border-solid-border-radius);
4979
4924
  }
4980
- .GenericNotification-module_cancel__c6wky:focus, .GenericNotification-module_cancel__c6wky:focus-visible {
4981
- outline: none;
4982
- }
4983
- .GenericNotification-module_cancel__c6wky:focus-visible::after {
4984
- content: "";
4985
- pointer-events: none;
4986
- position: absolute;
4987
- background: transparent;
4988
- border-radius: var(--border-focus-ring-border-radius, 10px);
4989
- border-width: var(--border-focus-ring-border-width, 2px);
4990
- border-style: var(--border-focus-ring-border-style, solid);
4991
- border-color: var(--color-blue-500, #0168b3);
4992
- inset: var(--spacing-2);
4925
+ .GenericNotification-module_cancel__c6wky:focus-visible {
4926
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
4927
+ outline-offset: -4px;
4993
4928
  }
4994
4929
 
4995
4930
  .GenericNotification-module_notificationTitle__Oaqb8 {
@@ -5123,15 +5058,10 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5123
5058
  --button-text-color: var(--color-white);
5124
5059
  }
5125
5060
 
5126
- &[data-focus-visible]::after {
5127
- content: '';
5128
- position: absolute;
5129
- background: transparent;
5130
- border-color: var(--color-blue-500);
5131
- border-radius: var(--border-focus-ring-border-radius);
5132
- border-width: var(--border-focus-ring-border-width);
5133
- border-style: var(--border-focus-ring-border-style);
5134
- inset: calc(-1 * (var(--border-focus-ring-border-width) * 2) - 1px);
5061
+ &[data-focus-visible] {
5062
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
5063
+ var(--color-blue-500);
5064
+ outline-offset: 1px;
5135
5065
  }
5136
5066
  }
5137
5067
 
@@ -5234,8 +5164,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5234
5164
  .Button-module_primaryReversed__Sa4YW,
5235
5165
  .Button-module_secondaryReversed__u3qHz,
5236
5166
  .Button-module_tertiaryReversed__zn3XE {
5237
- &[data-focus-visible]::after {
5238
- border-color: var(--color-blue-300);
5167
+ &[data-focus-visible] {
5168
+ outline-color: var(--color-blue-300);
5239
5169
  }
5240
5170
  }
5241
5171
 
@@ -5531,17 +5461,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5531
5461
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.7);
5532
5462
  }
5533
5463
  .RemoveButton-module_removeButton__C5eDJ:focus, .RemoveButton-module_removeButton__C5eDJ:focus-visible {
5534
- outline: none;
5535
- }
5536
- .RemoveButton-module_removeButton__C5eDJ:focus::after, .RemoveButton-module_removeButton__C5eDJ:focus-visible::after {
5537
- border-color: var(--color-blue-500, #0168b3);
5538
- content: "";
5539
- position: absolute;
5540
- background: transparent;
5541
- border-width: var(--border-focus-ring-border-width, 2px);
5542
- border-style: var(--border-focus-ring-border-style, solid);
5543
- border-radius: 50%;
5544
- inset: -3px;
5464
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
5465
+ outline-offset: 1px;
5545
5466
  }
5546
5467
  .RemoveButton-module_removeButton__C5eDJ::before {
5547
5468
  position: absolute;
@@ -5867,15 +5788,10 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5867
5788
  outline: 0;
5868
5789
  }
5869
5790
 
5870
- .Link-module_link__8oxip[data-focus-visible]::after {
5871
- content: '';
5872
- position: absolute;
5873
- background: transparent;
5874
- border-color: var(--color-blue-500);
5875
- border-radius: 0;
5876
- border-width: var(--border-focus-ring-border-width);
5877
- border-style: var(--border-focus-ring-border-style);
5878
- inset: calc(-1 * (var(--border-focus-ring-border-width) * 2) - 1px);
5791
+ .Link-module_link__8oxip[data-focus-visible] {
5792
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
5793
+ var(--color-blue-500);
5794
+ outline-offset: 3px;
5879
5795
  }
5880
5796
 
5881
5797
  .Link-module_isUnderlined__qvbtS {
@@ -5951,8 +5867,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5951
5867
  --link-text-color: var(--color-white);
5952
5868
  }
5953
5869
 
5954
- .Link-module_white__qQr6q[data-focus-visible]::after {
5955
- border-color: var(--color-blue-300);
5870
+ .Link-module_white__qQr6q[data-focus-visible] {
5871
+ outline-color: var(--color-blue-300);
5956
5872
  }
5957
5873
 
5958
5874
  .Link-module_white__qQr6q.Link-module_isDisabled__gvLNv {
@@ -5963,8 +5879,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5963
5879
  --link-text-color: var(--color-white);
5964
5880
  }
5965
5881
 
5966
- .Link-module_reversed__IqX8B[data-focus-visible]::after {
5967
- border-color: var(--color-blue-300);
5882
+ .Link-module_reversed__IqX8B[data-focus-visible] {
5883
+ outline-color: var(--color-blue-300);
5968
5884
  }
5969
5885
 
5970
5886
  .Link-module_link__8oxip.Link-module_isDisabled__gvLNv {
@@ -6711,15 +6627,9 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
6711
6627
  width: 100%;
6712
6628
  }
6713
6629
  }
6714
- .ConfirmationModal-module_modal__k3pXu:has([class*="modalLabel"]:focus-visible)::after {
6715
- content: "";
6716
- position: absolute;
6717
- background: transparent;
6718
- border-radius: var(--border-focus-ring-border-radius, 10px);
6719
- border-width: var(--border-focus-ring-border-width, 2px);
6720
- border-style: var(--border-focus-ring-border-style, solid);
6721
- border-color: var(--color-blue-300, #73c0e8);
6722
- inset: -4px;
6630
+ .ConfirmationModal-module_modal__k3pXu:has([class*="modalLabel"]:focus-visible) {
6631
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-300);
6632
+ outline-offset: 2px;
6723
6633
  }
6724
6634
 
6725
6635
  .ConfirmationModal-module_animatingEnter__4W4xh {
@@ -7066,15 +6976,9 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
7066
6976
  width: 100%;
7067
6977
  }
7068
6978
  }
7069
- .ContextModal-module_modal__wriV7:has([class*="modalLabel"]:focus-visible)::after {
7070
- content: "";
7071
- position: absolute;
7072
- background: transparent;
7073
- border-radius: var(--border-focus-ring-border-radius, 10px);
7074
- border-width: var(--border-focus-ring-border-width, 2px);
7075
- border-style: var(--border-focus-ring-border-style, solid);
7076
- border-color: var(--color-blue-300, #73c0e8);
7077
- inset: -4px;
6979
+ .ContextModal-module_modal__wriV7:has([class*="modalLabel"]:focus-visible) {
6980
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-300);
6981
+ outline-offset: 2px;
7078
6982
  }
7079
6983
 
7080
6984
  .ContextModal-module_animatingEnter__53BlF {
@@ -7389,15 +7293,9 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
7389
7293
  width: 100%;
7390
7294
  }
7391
7295
  }
7392
- .InputEditModal-module_modal__SbQqp:has([class*="modalLabel"]:focus-visible)::after {
7393
- content: "";
7394
- position: absolute;
7395
- background: transparent;
7396
- border-radius: var(--border-focus-ring-border-radius, 10px);
7397
- border-width: var(--border-focus-ring-border-width, 2px);
7398
- border-style: var(--border-focus-ring-border-style, solid);
7399
- border-color: var(--color-blue-300, #73c0e8);
7400
- inset: -4px;
7296
+ .InputEditModal-module_modal__SbQqp:has([class*="modalLabel"]:focus-visible) {
7297
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-300);
7298
+ outline-offset: 2px;
7401
7299
  }
7402
7300
 
7403
7301
  .InputEditModal-module_animatingEnter__qZgX2 {
@@ -8223,21 +8121,8 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
8223
8121
  }
8224
8122
  .Radio-module_radioInput__-zPUZ:focus:not([disabled]) + .Radio-module_box__nEGD7 {
8225
8123
  border-color: var(--color-gray-600, #524e56);
8226
- }
8227
- .Radio-module_radioInput__-zPUZ:focus:not([disabled]) + .Radio-module_box__nEGD7::after {
8228
- pointer-events: none;
8229
- content: "";
8230
- box-sizing: border-box;
8231
- position: absolute;
8232
- background: transparent;
8233
- border-radius: 26px;
8234
- border-width: var(--border-focus-ring-border-width, 2px);
8235
- border-style: var(--border-focus-ring-border-style, solid);
8236
- border-color: var(--color-blue-500, #0168b3);
8237
- top: calc(-2px - 24px / 8);
8238
- left: calc(-2px - 24px / 8);
8239
- width: calc(24px + 2px + var(--border-solid-border-width, 2px) * 2);
8240
- height: calc(24px + 2px + var(--border-solid-border-width, 2px) * 2);
8124
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) var(--color-blue-500);
8125
+ outline-offset: 1px;
8241
8126
  }
8242
8127
  .Radio-module_radioInput__-zPUZ:not([disabled]) + .Radio-module_box__nEGD7:hover {
8243
8128
  border-color: var(--color-gray-600, #524e56);
@@ -8249,9 +8134,7 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
8249
8134
  }
8250
8135
  .Radio-module_radioInput__-zPUZ:focus:not([disabled]) + .Radio-module_box__nEGD7.Radio-module_reversed__pfCrF {
8251
8136
  border-color: var(--color-white, #ffffff);
8252
- }
8253
- .Radio-module_radioInput__-zPUZ:focus:not([disabled]) + .Radio-module_box__nEGD7.Radio-module_reversed__pfCrF::after {
8254
- border-color: var(--color-blue-300, #73c0e8);
8137
+ outline-color: var(--color-blue-300, #73c0e8);
8255
8138
  }
8256
8139
  .Radio-module_radioInput__-zPUZ:not([disabled]) + .Radio-module_box__nEGD7.Radio-module_reversed__pfCrF:hover {
8257
8140
  border-color: var(--color-white, #ffffff);
package/locales/de.json CHANGED
@@ -63,11 +63,11 @@
63
63
  },
64
64
  "filterMultiSelectClearButton.label" : {
65
65
  "description" : "Clear button label for filter multi-select",
66
- "message" : "Clear<VisuallyHidden> selections</VisuallyHidden>"
66
+ "message" : "<VisuallyHidden>Auswahlen</VisuallyHidden> löschen"
67
67
  },
68
68
  "filterMultiSelectMultiSelectOption.available" : {
69
69
  "description" : "Number of filter items available",
70
- "message" : "<Badge>{count}</Badge><VisuallyHidden> available</VisuallyHidden>"
70
+ "message" : "<Badge>{count}</Badge><VisuallyHidden> verfügbar</VisuallyHidden>"
71
71
  },
72
72
  "filterMultiSelectSearchInput.label" : {
73
73
  "description" : "Label for the search input",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "kzErrorPage.400.message" : {
93
93
  "description" : "Call to action instructions for the user",
94
- "message" : "Problem beim Laden der Seite. Versuchen Sie es noch einmal oder gehen Sie zur Startseite."
94
+ "message" : "Problem beim Laden der Seite. Versuche es erneut oder gehe zur Startseite."
95
95
  },
96
96
  "kzErrorPage.400.title" : {
97
97
  "description" : "Heading for page",
@@ -186,6 +186,6 @@
186
186
  },
187
187
  "splitButton.dropdownButton.label" : {
188
188
  "description" : "Label for a dropdown menu holding additional actions",
189
- "message" : "Zusätzliche Aktionen"
189
+ "message" : "Zusätzliche Maßnahmen"
190
190
  }
191
191
  }
package/locales/id.json CHANGED
@@ -63,11 +63,11 @@
63
63
  },
64
64
  "filterMultiSelectClearButton.label" : {
65
65
  "description" : "Clear button label for filter multi-select",
66
- "message" : "Clear<VisuallyHidden> selections</VisuallyHidden>"
66
+ "message" : "Hapus<VisuallyHidden> pilihan</VisuallyHidden>"
67
67
  },
68
68
  "filterMultiSelectMultiSelectOption.available" : {
69
69
  "description" : "Number of filter items available",
70
- "message" : "<Badge>{count}</Badge><VisuallyHidden> available</VisuallyHidden>"
70
+ "message" : "<Badge>{count}</Badge><VisuallyHidden> tersedia</VisuallyHidden>"
71
71
  },
72
72
  "filterMultiSelectSearchInput.label" : {
73
73
  "description" : "Label for the search input",
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "filterMultiSelectSelectAllButton.label" : {
81
81
  "description" : "Select all button in filter multi select",
82
- "message" : "Pilih Semua"
82
+ "message" : "Pilih semua"
83
83
  },
84
84
  "inputSearch.clear" : {
85
85
  "description" : "Label for the clear search button",
package/locales/mi.json CHANGED
@@ -63,11 +63,11 @@
63
63
  },
64
64
  "filterMultiSelectClearButton.label" : {
65
65
  "description" : "Clear button label for filter multi-select",
66
- "message" : "Clear<VisuallyHidden> selections</VisuallyHidden>"
66
+ "message" : "Maamaa<VisuallyHidden> kowhiringa</VisuallyHidden>"
67
67
  },
68
68
  "filterMultiSelectMultiSelectOption.available" : {
69
69
  "description" : "Number of filter items available",
70
- "message" : "<Badge>{count}</Badge><VisuallyHidden> available</VisuallyHidden>"
70
+ "message" : "<Badge>{count}</Badge><VisuallyHidden> e wātea ana</VisuallyHidden>"
71
71
  },
72
72
  "filterMultiSelectSearchInput.label" : {
73
73
  "description" : "Label for the search input",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "filterMultiSelectMultiSelectOption.available" : {
69
69
  "description" : "Number of filter items available",
70
- "message" : "<Badge>{count}</Badge><VisuallyHidden> available</VisuallyHidden>"
70
+ "message" : "<VisuallyHidden>現有 <Badge>{count}</Badge> 項</VisuallyHidden>"
71
71
  },
72
72
  "filterMultiSelectSearchInput.label" : {
73
73
  "description" : "Label for the search input",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaizen/components",
3
- "version": "1.74.1",
3
+ "version": "1.74.3",
4
4
  "description": "Kaizen component library",
5
5
  "author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
6
6
  "homepage": "https://cultureamp.design",
@@ -178,8 +178,8 @@
178
178
  "react": "^18.3.1",
179
179
  "react-dom": "^18.3.1",
180
180
  "react-highlight": "^0.15.0",
181
- "react-intl": "^7.1.6",
182
- "rollup": "^4.36.0",
181
+ "react-intl": "^7.1.10",
182
+ "rollup": "^4.38.0",
183
183
  "sass": "1.79.6",
184
184
  "serialize-query-params": "^2.0.2",
185
185
  "svgo": "^3.3.2",
@@ -57,6 +57,9 @@ $dt-color-checkbox-background-color-checked: $color-gray-500;
57
57
  .checkbox:focus + & {
58
58
  background: white;
59
59
  border-color: $dt-color-form-border-color-hover;
60
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
61
+ var(--color-blue-500);
62
+ outline-offset: 1px;
60
63
  }
61
64
 
62
65
  .checkbox:checked:focus + &,
@@ -70,21 +73,6 @@ $dt-color-checkbox-background-color-checked: $color-gray-500;
70
73
  background: $dt-color-form-border-color-hover;
71
74
  border-color: $dt-color-form-border-color-hover;
72
75
  }
73
-
74
- .checkbox:focus + &::after {
75
- content: '';
76
- box-sizing: border-box;
77
- position: absolute;
78
- background: transparent;
79
- border-radius: $border-focus-ring-border-radius;
80
- border-width: $border-focus-ring-border-width;
81
- border-style: $border-focus-ring-border-style;
82
- border-color: $dt-color-form-border-color-focus;
83
- top: calc(-#{$focus-ring-offset} - calc(#{$checkbox-size} / 8));
84
- left: calc(-#{$focus-ring-offset} - calc(#{$checkbox-size} / 8));
85
- width: calc(#{$checkbox-size} + #{$focus-ring-offset} + #{$border-solid-border-width} * 2);
86
- height: calc(#{$checkbox-size} + #{$focus-ring-offset} + #{$border-solid-border-width} * 2);
87
- }
88
76
  }
89
77
 
90
78
  .box.reversed {
@@ -96,6 +84,10 @@ $dt-color-checkbox-background-color-checked: $color-gray-500;
96
84
  background: rgba($color-white-rgb, 0.65);
97
85
  }
98
86
 
87
+ .checkbox:focus + & {
88
+ outline-color: var(--color-blue-300);
89
+ }
90
+
99
91
  .checkbox:not([checked]):hover + &,
100
92
  .checkbox:not([checked]):focus + & {
101
93
  border-color: $color-white;
@@ -113,8 +105,4 @@ $dt-color-checkbox-background-color-checked: $color-gray-500;
113
105
  background: $color-white;
114
106
  border-color: $color-white;
115
107
  }
116
-
117
- .checkbox:focus + &::after {
118
- border-color: $dt-color-form-border-color-reversed-focus;
119
- }
120
108
  }
@@ -7,27 +7,16 @@
7
7
 
8
8
  position: relative;
9
9
  display: inline-flex;
10
+ border-radius: 100%;
10
11
 
11
12
  &:hover {
12
13
  cursor: pointer;
13
14
  }
14
15
 
15
- &:focus {
16
- outline: none;
17
- }
18
-
19
16
  &:focus-visible {
20
- &::after {
21
- $focus-ring-offset: -1px;
22
-
23
- content: '';
24
- position: absolute;
25
- background: transparent;
26
- border-width: $border-focus-ring-border-width;
27
- border-style: $border-focus-ring-border-style;
28
- border-radius: 50%;
29
- inset: $focus-ring-offset;
30
- }
17
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
18
+ var(--color-blue-500);
19
+ outline-offset: -1px;
31
20
  }
32
21
  }
33
22
 
@@ -38,12 +27,6 @@
38
27
  &:focus-visible {
39
28
  color: $color-purple-800;
40
29
  }
41
-
42
- &:focus-visible {
43
- &::after {
44
- border-color: $color-blue-500;
45
- }
46
- }
47
30
  }
48
31
 
49
32
  .reversed {
@@ -55,8 +38,6 @@
55
38
  }
56
39
 
57
40
  &:focus-visible {
58
- &::after {
59
- border-color: $color-blue-300;
60
- }
41
+ outline-color: var(--color-blue-300);
61
42
  }
62
43
  }
@@ -50,6 +50,10 @@ $input-with-icon-padding: calc(#{$input-icon-size} + calc(#{$spacing-md} * 0.75)
50
50
 
51
51
  &:focus:not([disabled]),
52
52
  &:hover:focus:not([disabled]) {
53
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
54
+ var(--color-blue-500);
55
+ outline-offset: 1px;
56
+
53
57
  @include form-input-placeholder {
54
58
  opacity: 0%;
55
59
  }
@@ -66,19 +70,6 @@ $input-with-icon-padding: calc(#{$input-icon-size} + calc(#{$spacing-md} * 0.75)
66
70
  }
67
71
  }
68
72
 
69
- .input:focus + .focusRing {
70
- $focus-ring-offset: 3px;
71
-
72
- position: absolute;
73
- background: transparent;
74
- border-radius: $border-focus-ring-border-radius;
75
- border-width: $border-focus-ring-border-width;
76
- border-style: $border-focus-ring-border-style;
77
- border-color: transparent;
78
- inset: -$focus-ring-offset;
79
- pointer-events: none;
80
- }
81
-
82
73
  /* stylelint-disable no-descending-specificity */
83
74
  ///////////////////////////////////////////////////
84
75
  // ICON ADORNMENT STYLES
@@ -278,8 +269,8 @@ $input-with-icon-padding: calc(#{$input-icon-size} + calc(#{$spacing-md} * 0.75)
278
269
  background: rgba($color-white-rgb, 0.1);
279
270
  }
280
271
 
281
- &:focus + .focusRing {
282
- border-color: $color-blue-300;
272
+ &:focus {
273
+ outline-color: var(--color-blue-300);
283
274
  }
284
275
 
285
276
  &:not(.error, .caution) {
@@ -62,10 +62,6 @@ export const Input = ({
62
62
  {...restProps}
63
63
  />
64
64
 
65
- {/* Inputs aren't able to have pseudo elements like ::after on them,
66
- so we have to create an element ourselves for the focus ring */}
67
- <div className={styles.focusRing} />
68
-
69
65
  {endIconAdornment && <div className={styles.endIconAdornment}>{endIconAdornment}</div>}
70
66
  </div>
71
67
  )
@@ -60,19 +60,11 @@ $classname--input: '.input[type="search"]';
60
60
  opacity: 0%;
61
61
  }
62
62
  }
63
- }
64
63
 
65
- .focusRing {
66
- #{$classname--input}:focus + & {
67
- $focus-ring-offset: 3px;
68
-
69
- position: absolute;
70
- background: transparent;
71
- border-radius: $border-solid-border-radius-curved;
72
- border-width: $border-focus-ring-border-width;
73
- border-style: $border-focus-ring-border-style;
74
- inset: -$focus-ring-offset;
75
- pointer-events: none;
64
+ &:focus {
65
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
66
+ var(--color-blue-500);
67
+ outline-offset: 1px;
76
68
  }
77
69
  }
78
70
 
@@ -123,10 +115,6 @@ $classname--input: '.input[type="search"]';
123
115
  }
124
116
  }
125
117
 
126
- .focusRing {
127
- border-color: $color-blue-500;
128
- }
129
-
130
118
  .startIconAdornment {
131
119
  color: $color-purple-800;
132
120
  opacity: $start-icon-opacity--default;
@@ -162,10 +150,6 @@ $classname--input: '.input[type="search"]';
162
150
  }
163
151
  }
164
152
 
165
- .focusRing {
166
- border-color: $color-blue-500;
167
- }
168
-
169
153
  .startIconAdornment {
170
154
  color: $color-purple-800;
171
155
  opacity: $start-icon-opacity--default;
@@ -198,10 +182,10 @@ $classname--input: '.input[type="search"]';
198
182
  color: $color-white;
199
183
  opacity: $input-placeholder-opacity--reversed;
200
184
  }
201
- }
202
185
 
203
- .focusRing {
204
- border-color: $color-blue-300;
186
+ &:focus {
187
+ outline-color: var(--color-blue-300);
188
+ }
205
189
  }
206
190
 
207
191
  .startIconAdornment {
@@ -75,9 +75,6 @@ export const InputSearch = (props: InputSearchProps): JSX.Element => {
75
75
  readOnly={onChange === undefined}
76
76
  {...restProps}
77
77
  />
78
- {/* Inputs aren't able to have pseudo elements like ::after on them,
79
- so we have to create an element ourselves for the focus ring */}
80
- <div className={styles.focusRing} />
81
78
 
82
79
  {value && (
83
80
  <ClearButton
@@ -10,15 +10,10 @@
10
10
  outline: 0;
11
11
  }
12
12
 
13
- .link[data-focus-visible]::after {
14
- content: '';
15
- position: absolute;
16
- background: transparent;
17
- border-color: var(--color-blue-500);
18
- border-radius: 0;
19
- border-width: var(--border-focus-ring-border-width);
20
- border-style: var(--border-focus-ring-border-style);
21
- inset: calc(-1 * (var(--border-focus-ring-border-width) * 2) - 1px);
13
+ .link[data-focus-visible] {
14
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
15
+ var(--color-blue-500);
16
+ outline-offset: 3px;
22
17
  }
23
18
 
24
19
  .isUnderlined {
@@ -94,8 +89,8 @@
94
89
  --link-text-color: var(--color-white);
95
90
  }
96
91
 
97
- .white[data-focus-visible]::after {
98
- border-color: var(--color-blue-300);
92
+ .white[data-focus-visible] {
93
+ outline-color: var(--color-blue-300);
99
94
  }
100
95
 
101
96
  .white.isDisabled {
@@ -106,8 +101,8 @@
106
101
  --link-text-color: var(--color-white);
107
102
  }
108
103
 
109
- .reversed[data-focus-visible]::after {
110
- border-color: var(--color-blue-300);
104
+ .reversed[data-focus-visible] {
105
+ outline-color: var(--color-blue-300);
111
106
  }
112
107
 
113
108
  .link.isDisabled {
@@ -56,17 +56,11 @@
56
56
  }
57
57
 
58
58
  // wrap the modal container with a focus ring when the title has focus
59
- // don't copy this over on the rebuild
60
- // rather than putting the focus on the title, put it on the role=dialog element itself
61
- &:has(:global([class*='modalLabel']):focus-visible)::after {
62
- content: '';
63
- position: absolute;
64
- background: transparent;
65
- border-radius: $border-focus-ring-border-radius;
66
- border-width: $border-focus-ring-border-width;
67
- border-style: $border-focus-ring-border-style;
68
- border-color: $color-blue-300;
69
- inset: -4px;
59
+ // for the rebuild: rather than putting the focus on the title, put it on the role=dialog element itself
60
+ &:has(:global([class*='modalLabel']):focus-visible) {
61
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
62
+ var(--color-blue-300);
63
+ outline-offset: 2px;
70
64
  }
71
65
  }
72
66
 
@@ -34,24 +34,12 @@
34
34
  display: flex;
35
35
  align-items: center;
36
36
  justify-content: center;
37
+ border-radius: var(--border-solid-border-radius);
37
38
 
38
- &:focus,
39
39
  &:focus-visible {
40
- outline: none;
41
- }
42
-
43
- &:focus-visible::after {
44
- $focus-ring-offset: var(--spacing-2);
45
-
46
- content: '';
47
- pointer-events: none;
48
- position: absolute;
49
- background: transparent;
50
- border-radius: $border-focus-ring-border-radius;
51
- border-width: $border-focus-ring-border-width;
52
- border-style: $border-focus-ring-border-style;
53
- border-color: $color-blue-500;
54
- inset: $focus-ring-offset;
40
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
41
+ var(--color-blue-500);
42
+ outline-offset: -4px;
55
43
  }
56
44
  }
57
45
 
@@ -52,22 +52,9 @@ $dt-color-radio-border-color-focus-reversed: $color-blue-300;
52
52
 
53
53
  .radioInput:focus:not([disabled]) + & {
54
54
  border-color: $dt-color-radio-disc-color-base;
55
- }
56
-
57
- .radioInput:focus:not([disabled]) + &::after {
58
- pointer-events: none;
59
- content: '';
60
- box-sizing: border-box;
61
- position: absolute;
62
- background: transparent;
63
- border-radius: $radio-size + $focus-ring-offset;
64
- border-width: $border-focus-ring-border-width;
65
- border-style: $border-focus-ring-border-style;
66
- border-color: $dt-color-radio-border-color-focus;
67
- top: calc(-#{$focus-ring-offset} - calc(#{$radio-size} / 8));
68
- left: calc(-#{$focus-ring-offset} - calc(#{$radio-size} / 8));
69
- width: calc(#{$radio-size} + #{$focus-ring-offset} + #{$border-solid-border-width} * 2);
70
- height: calc(#{$radio-size} + #{$focus-ring-offset} + #{$border-solid-border-width} * 2);
55
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
56
+ var(--color-blue-500);
57
+ outline-offset: 1px;
71
58
  }
72
59
 
73
60
  .radioInput:not([disabled]) + &:hover {
@@ -81,10 +68,7 @@ $dt-color-radio-border-color-focus-reversed: $color-blue-300;
81
68
 
82
69
  .radioInput:focus:not([disabled]) + & {
83
70
  border-color: $color-white;
84
- }
85
-
86
- .radioInput:focus:not([disabled]) + &::after {
87
- border-color: $dt-color-radio-border-color-focus-reversed;
71
+ outline-color: $dt-color-radio-border-color-focus-reversed;
88
72
  }
89
73
 
90
74
  .radioInput:not([disabled]) + &:hover {
@@ -53,15 +53,10 @@
53
53
  --button-text-color: var(--color-white);
54
54
  }
55
55
 
56
- &[data-focus-visible]::after {
57
- content: '';
58
- position: absolute;
59
- background: transparent;
60
- border-color: var(--color-blue-500);
61
- border-radius: var(--border-focus-ring-border-radius);
62
- border-width: var(--border-focus-ring-border-width);
63
- border-style: var(--border-focus-ring-border-style);
64
- inset: calc(-1 * (var(--border-focus-ring-border-width) * 2) - 1px);
56
+ &[data-focus-visible] {
57
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
58
+ var(--color-blue-500);
59
+ outline-offset: 1px;
65
60
  }
66
61
  }
67
62
 
@@ -164,8 +159,8 @@
164
159
  .primaryReversed,
165
160
  .secondaryReversed,
166
161
  .tertiaryReversed {
167
- &[data-focus-visible]::after {
168
- border-color: var(--color-blue-300);
162
+ &[data-focus-visible] {
163
+ outline-color: var(--color-blue-300);
169
164
  }
170
165
  }
171
166
 
@@ -9,9 +9,7 @@
9
9
  }
10
10
  }
11
11
 
12
- .interactiveIcon:focus::after {
13
- position: absolute;
14
- content: '';
15
- border: var(--border-focus-ring-border-width) solid var(--color-blue-500);
16
- inset: -2px;
12
+ .interactiveIcon:focus {
13
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
14
+ var(--color-blue-500);
17
15
  }
@@ -40,18 +40,8 @@ $iconAndBadgeHeight: $spacing-md;
40
40
  &.isFocusVisible {
41
41
  background-color: $color-blue-100;
42
42
  color: $color-blue-500;
43
-
44
- &::after {
45
- $focus-ring-offset: calc((#{$border-focus-ring-border-width} * 2) + 1px);
46
-
47
- content: '';
48
- position: absolute;
49
- background: transparent;
50
- border: $border-focus-ring-border-width $border-focus-ring-border-style $color-blue-500;
51
- border-radius: 4px;
52
- inset: calc(-1 * #{$focus-ring-offset});
53
- z-index: 1; // show border when sibling option is hovered
54
- }
43
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
44
+ var(--color-blue-500);
55
45
 
56
46
  .icon {
57
47
  color: $color-blue-500;
@@ -54,20 +54,11 @@
54
54
  }
55
55
 
56
56
  &:focus {
57
- outline: none;
57
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
58
+ var(--color-blue-500);
59
+ outline-offset: 1px;
58
60
  background-color: $color-gray-200;
59
61
  border-color: $color-gray-600;
60
-
61
- &::after {
62
- $focus-ring-offset: calc((#{$border-focus-ring-border-width} * 2) + 1px);
63
-
64
- content: '';
65
- position: absolute;
66
- background: transparent;
67
- border: $border-focus-ring-border-width $border-focus-ring-border-style $color-blue-500;
68
- border-radius: $border-focus-ring-border-radius;
69
- inset: calc(-1 * #{$focus-ring-offset});
70
- }
71
62
  }
72
63
  }
73
64
 
@@ -115,9 +106,7 @@
115
106
  }
116
107
 
117
108
  &:focus {
118
- &::after {
119
- border-color: $color-blue-300;
120
- }
109
+ outline-color: var(--color-blue-300);
121
110
  }
122
111
 
123
112
  .error {
@@ -12,20 +12,9 @@
12
12
 
13
13
  &:focus,
14
14
  &:focus-visible {
15
- outline: none;
16
-
17
- &::after {
18
- $focus-ring-offset: -3px;
19
-
20
- border-color: $color-blue-500;
21
- content: '';
22
- position: absolute;
23
- background: transparent;
24
- border-width: $border-focus-ring-border-width;
25
- border-style: $border-focus-ring-border-style;
26
- border-radius: 50%;
27
- inset: $focus-ring-offset;
28
- }
15
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
16
+ var(--color-blue-500);
17
+ outline-offset: 1px;
29
18
  }
30
19
 
31
20
  &::before {