@orioncactuscorp/ui 1.10.0 → 1.11.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 (84) hide show
  1. package/README.md +119 -54
  2. package/dist/components/Accordion/Accordion.css +1 -1
  3. package/dist/components/Accordion/Accordion.js +169 -177
  4. package/dist/components/ActionArea/ActionAreaLayout.js +20 -24
  5. package/dist/components/Cell/Cell.css +1 -1
  6. package/dist/components/Cell/Cell.js +57 -58
  7. package/dist/components/CheckMark/CheckMark.css +1 -1
  8. package/dist/components/Checkbox/Checkbox.css +1 -1
  9. package/dist/components/Checkbox/Checkbox.js +50 -51
  10. package/dist/components/Menu/Menu.css +1 -1
  11. package/dist/components/Menu/Menu.module.scss.js +20 -22
  12. package/dist/components/Modal/Modal.js +253 -261
  13. package/dist/components/Modal/useModalContentBlockTransition.js +49 -44
  14. package/dist/components/Radio/Radio.css +1 -1
  15. package/dist/components/ScrollArea/ScrollArea.js +197 -200
  16. package/dist/components/Select/Select.js +31 -34
  17. package/dist/components/Switch/Switch.css +1 -1
  18. package/dist/components/Tabs/Tabs.css +1 -0
  19. package/dist/components/Tabs/Tabs.js +208 -0
  20. package/dist/components/Tabs/Tabs.module.scss.js +27 -0
  21. package/dist/components/Tabs.d.ts +6 -0
  22. package/dist/components/Tabs.js +8 -0
  23. package/dist/components/TextArea/TextArea.js +57 -58
  24. package/dist/components/TextInput/TextInput.js +30 -33
  25. package/dist/components/Tooltip/Tooltip.css +1 -1
  26. package/dist/foundations/color.theme.dark.css +1 -1
  27. package/dist/foundations/color.theme.light.css +1 -1
  28. package/dist/foundations/focus.css +1 -0
  29. package/dist/foundations/reset.css +1 -1
  30. package/dist/foundations.css +4 -3
  31. package/dist/index.js +69 -64
  32. package/dist/react/motion.js +31 -35
  33. package/dist/reset.css +1 -1
  34. package/dist/styles.css +13 -11
  35. package/dist/ui/src/components/Accordion/Accordion.d.ts.map +1 -1
  36. package/dist/ui/src/components/ActionArea/ActionAreaLayout.d.ts.map +1 -1
  37. package/dist/ui/src/components/Cell/Cell.d.ts.map +1 -1
  38. package/dist/ui/src/components/CheckMark/types.d.ts +10 -0
  39. package/dist/ui/src/components/CheckMark/types.d.ts.map +1 -1
  40. package/dist/ui/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  41. package/dist/ui/src/components/Checkbox/types.d.ts +16 -0
  42. package/dist/ui/src/components/Checkbox/types.d.ts.map +1 -1
  43. package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -1
  44. package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts.map +1 -1
  45. package/dist/ui/src/components/Radio/types.d.ts +16 -0
  46. package/dist/ui/src/components/Radio/types.d.ts.map +1 -1
  47. package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  48. package/dist/ui/src/components/Select/Select.d.ts.map +1 -1
  49. package/dist/ui/src/components/Switch/types.d.ts +10 -0
  50. package/dist/ui/src/components/Switch/types.d.ts.map +1 -1
  51. package/dist/ui/src/components/Tabs/Tabs.d.ts +7 -0
  52. package/dist/ui/src/components/Tabs/Tabs.d.ts.map +1 -0
  53. package/dist/ui/src/components/Tabs/index.d.ts +3 -0
  54. package/dist/ui/src/components/Tabs/index.d.ts.map +1 -0
  55. package/dist/ui/src/components/Tabs/types.d.ts +26 -0
  56. package/dist/ui/src/components/Tabs/types.d.ts.map +1 -0
  57. package/dist/ui/src/components/TextArea/TextArea.d.ts.map +1 -1
  58. package/dist/ui/src/components/TextInput/TextInput.d.ts.map +1 -1
  59. package/dist/ui/src/index.d.ts +2 -0
  60. package/dist/ui/src/index.d.ts.map +1 -1
  61. package/dist/ui/src/react/motion/index.d.ts.map +1 -1
  62. package/dist/ui/src/utils/mergeRefs.d.ts +13 -0
  63. package/dist/ui/src/utils/mergeRefs.d.ts.map +1 -0
  64. package/dist/utils/mergeRefs.js +24 -0
  65. package/dist/vscode/oc-ui-vars.css +13 -0
  66. package/docs/editor-setup.md +42 -0
  67. package/docs/motion.md +665 -0
  68. package/docs/responsive-foundation-profile.md +230 -0
  69. package/docs/scss-helpers.md +189 -0
  70. package/docs/selector-contract.md +260 -0
  71. package/docs/spring.md +382 -0
  72. package/docs/stability.md +62 -0
  73. package/docs/tokens.md +559 -0
  74. package/package.json +9 -4
  75. package/src/scss/foundations/color-theme.test.ts +14 -0
  76. package/src/scss/foundations/color.theme.dark.scss +1 -0
  77. package/src/scss/foundations/color.theme.light.scss +1 -0
  78. package/src/scss/foundations/focus.scss +4 -0
  79. package/src/scss/foundations/focus.test.ts +48 -0
  80. package/src/scss/foundations/reset.scss +9 -4
  81. package/src/scss/foundations/reset.test.ts +32 -0
  82. package/src/scss/index.scss +2 -0
  83. package/src/scss/mixins/_focus.scss +11 -0
  84. package/src/scss/mixins/_focus.test.ts +58 -0
@@ -1,58 +1,63 @@
1
- import { useRef as r, useCallback as d, useLayoutEffect as S, useEffect as N } from "react";
2
- const w = 600, E = 4;
3
- function v(t) {
4
- const n = Number.parseFloat(window.getComputedStyle(t).height);
5
- return Number.isFinite(n) && n > 0 ? n : t.getBoundingClientRect().height;
1
+ import { useRef as r, useCallback as T, useLayoutEffect as E, useEffect as S } from "react";
2
+ const _ = 600, O = 4, B = 1;
3
+ function g(e) {
4
+ const n = Number.parseFloat(window.getComputedStyle(e).height);
5
+ return Number.isFinite(n) && n > 0 ? n : e.getBoundingClientRect().height;
6
6
  }
7
- function B({
8
- enabled: t,
7
+ function w({
8
+ enabled: e,
9
9
  node: n
10
10
  }) {
11
- const s = r(null), i = r(null), a = r(null), T = r(null), l = r(!1), o = r(0), g = r(!1), f = d(() => {
12
- T.current?.(), T.current = null;
13
- }, []), u = d(() => {
14
- i.current !== null && (window.cancelAnimationFrame(i.current), i.current = null), a.current !== null && (window.clearTimeout(a.current), a.current = null), f();
15
- }, [f]), h = d(() => {
16
- const e = s.current;
17
- e && (u(), e.style.removeProperty("height"), e.dataset.ocContentTransitionState = "idle", l.current = !1, o.current = v(e));
18
- }, [u]), C = d(() => {
19
- const e = s.current;
20
- !e || !t || l.current || i.current === null && (i.current = window.requestAnimationFrame(() => {
21
- i.current = null;
22
- const m = o.current, c = v(e);
23
- if (!g.current) {
24
- g.current = !0, o.current = c;
11
+ const a = r(null), c = r(null), l = r(null), h = r(null), f = r(!1), i = r(0), v = r(0), m = r(!1), d = T(() => {
12
+ h.current?.(), h.current = null;
13
+ }, []), u = T(() => {
14
+ c.current !== null && (window.cancelAnimationFrame(c.current), c.current = null), l.current !== null && (window.clearTimeout(l.current), l.current = null), d();
15
+ }, [d]), C = T(() => {
16
+ const t = a.current;
17
+ t && (u(), t.style.removeProperty("height"), t.dataset.ocContentTransitionState = "idle", f.current = !1, i.current = g(t));
18
+ }, [u]), p = T(() => {
19
+ const t = a.current;
20
+ !t || !e || f.current || c.current === null && (c.current = window.requestAnimationFrame(() => {
21
+ c.current = null;
22
+ const s = i.current, o = g(t);
23
+ if (!m.current) {
24
+ m.current = !0, i.current = o;
25
25
  return;
26
26
  }
27
- if (m <= 0 || Math.abs(c - m) <= E) {
28
- o.current = c;
27
+ if (Math.abs(o - v.current) > B) {
28
+ i.current = o;
29
29
  return;
30
30
  }
31
- l.current = !0, e.dataset.ocContentTransitionState = "changing", e.style.height = `${m}px`, e.getBoundingClientRect(), e.style.height = `${c}px`, o.current = c;
32
- const p = (R) => {
33
- R.target !== e || R.propertyName !== "height" || (e.removeEventListener("transitionend", p), h());
31
+ if (s <= 0 || Math.abs(o - s) <= O) {
32
+ i.current = o;
33
+ return;
34
+ }
35
+ f.current = !0, t.dataset.ocContentTransitionState = "changing", t.style.height = `${s}px`, t.getBoundingClientRect(), t.style.height = `${o}px`, i.current = o;
36
+ const N = (R) => {
37
+ R.target !== t || R.propertyName !== "height" || (t.removeEventListener("transitionend", N), C());
34
38
  };
35
- f(), e.addEventListener("transitionend", p), T.current = () => {
36
- e.removeEventListener("transitionend", p);
37
- }, a.current = window.setTimeout(() => {
38
- h();
39
- }, w);
39
+ d(), t.addEventListener("transitionend", N), h.current = () => {
40
+ t.removeEventListener("transitionend", N);
41
+ }, l.current = window.setTimeout(() => {
42
+ C();
43
+ }, _);
40
44
  }));
41
- }, [t, h, f]);
42
- S(() => {
43
- s.current = n;
44
- const e = s.current;
45
- e && (o.current = v(e), g.current = !1, t || (u(), e.style.removeProperty("height"), e.dataset.ocContentTransitionState = "idle", l.current = !1));
46
- }, [u, t, n]), N(() => {
47
- if (!n || !t || typeof ResizeObserver > "u")
45
+ }, [e, C, d]);
46
+ E(() => {
47
+ a.current = n;
48
+ const t = a.current;
49
+ t && (i.current = g(t), m.current = !1, e || (u(), t.style.removeProperty("height"), t.dataset.ocContentTransitionState = "idle", f.current = !1));
50
+ }, [u, e, n]), S(() => {
51
+ if (!n || !e || typeof ResizeObserver > "u")
48
52
  return;
49
- const e = new ResizeObserver(() => {
50
- C();
53
+ const t = new ResizeObserver(() => {
54
+ const s = a.current;
55
+ s && (v.current = g(s)), p();
51
56
  });
52
- return e.observe(n), () => {
53
- e.disconnect();
57
+ return t.observe(n), () => {
58
+ t.disconnect();
54
59
  };
55
- }, [t, n, C]), N(
60
+ }, [e, n, p]), S(
56
61
  () => () => {
57
62
  u();
58
63
  },
@@ -60,5 +65,5 @@ function B({
60
65
  );
61
66
  }
62
67
  export {
63
- B as useModalContentBlockTransition
68
+ w as useModalContentBlockTransition
64
69
  };
@@ -1 +1 @@
1
- .oc-Radio-module__radio__qhO7H{font-size:calc(var(--oc-typo-size-body2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body2);display:inline-flex;position:relative;align-items:flex-start;gap:.5em;opacity:1;color:var(--oc-color-theme-label-normal);transition:opacity calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1.5) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1.5);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.oc-Radio-module__radio__qhO7H:has([data-oc-part=input]:disabled){opacity:var(--oc-color-global-opacity-43);cursor:not-allowed}.oc-Radio-module__radio__qhO7H{--oc-radio-icon-scale: .675}.oc-Radio-module__fill__h24zJ{display:flex;inline-size:100%}.oc-Radio-module__small__PGRQA{font-size:calc(var(--oc-typo-size-body2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body2);--oc-radio-control-size: var(--oc-typo-height-body2);--oc-radio-content-height: var(--oc-typo-height-body2)}.oc-Radio-module__medium__OItEm{font-size:calc(var(--oc-typo-size-body1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body1);--oc-radio-control-size: var(--oc-typo-height-body1);--oc-radio-content-height: var(--oc-typo-height-body1)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]{position:absolute;opacity:0;pointer-events:none;inline-size:0;block-size:0}.oc-Radio-module__radio__qhO7H [data-oc-part=container]{position:relative;isolation:isolate;flex-shrink:0;padding:.125em;inline-size:var(--oc-radio-control-size);block-size:var(--oc-radio-control-size);--oc-interaction-inset-x: -.25em;--oc-interaction-inset-y: -.25em;--oc-interaction-z-index: 2;--oc-interaction-radius: var(--oc-atomic-radius-max)}.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{display:flex;box-shadow:inset 0 0 0 1.5px currentcolor}@supports (-webkit-backdrop-filter: none){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1px currentcolor}@media only screen and (resolution:2dppx){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1.5px currentcolor}}@media only screen and (resolution:3dppx){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1.6666px currentcolor}}}.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{border-radius:var(--oc-atomic-radius-max);inline-size:100%;block-size:100%;color:var(--oc-color-theme-line-normal-normal);transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),background-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{transition-property:color,background-color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]{display:flex;align-items:center;justify-content:center;transform:scale(var(--oc-radio-icon-scale));inline-size:100%;block-size:100%;color:transparent;transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]{transition-property:color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]>svg{inline-size:100%;block-size:100%;padding:.125rem}.oc-Radio-module__radio__qhO7H [data-oc-part=content]{display:flex;flex:1;align-items:flex-start;gap:var(--oc-space-item-gap-tiny);min-inline-size:0;padding-block:calc((var(--oc-radio-control-size) - var(--oc-radio-content-height)) / 2)}.oc-Radio-module__radio__qhO7H [data-oc-part=label]{-webkit-user-select:none;user-select:none}.oc-Radio-module__radio__qhO7H [data-oc-part=trailing-compound]{display:flex;flex-shrink:0;margin-inline-start:auto}.oc-Radio-module__fill__h24zJ [data-oc-part=label]{flex:1}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:disabled+[data-oc-part=container] [data-oc-part=wrapper]{color:var(--oc-color-theme-line-normal-alternative)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:checked+[data-oc-part=container] [data-oc-part=wrapper]{color:transparent;background-color:var(--oc-color-theme-primary-normal)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:checked+[data-oc-part=container] [data-oc-part=icon-wrapper]{color:var(--oc-color-theme-static-white)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:focus-visible+[data-oc-part=container] [data-oc-part=wrapper]{outline:2px solid var(--oc-color-theme-primary-normal);outline-offset:2px}
1
+ .oc-Radio-module__radio__qhO7H{font-size:calc(var(--oc-typo-size-body2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body2);display:inline-flex;position:relative;align-items:flex-start;gap:.5em;opacity:1;color:var(--oc-color-theme-label-normal);transition:opacity calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1.5) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1.5);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.oc-Radio-module__radio__qhO7H:has([data-oc-part=input]:disabled){opacity:var(--oc-color-global-opacity-43);cursor:not-allowed}.oc-Radio-module__radio__qhO7H{--oc-radio-icon-scale: .675}.oc-Radio-module__fill__h24zJ{display:flex;inline-size:100%}.oc-Radio-module__small__PGRQA{font-size:calc(var(--oc-typo-size-body2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body2);--oc-radio-control-size: var(--oc-typo-height-body2);--oc-radio-content-height: var(--oc-typo-height-body2)}.oc-Radio-module__medium__OItEm{font-size:calc(var(--oc-typo-size-body1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body1);--oc-radio-control-size: var(--oc-typo-height-body1);--oc-radio-content-height: var(--oc-typo-height-body1)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]{position:absolute;opacity:0;pointer-events:none;inline-size:0;block-size:0}.oc-Radio-module__radio__qhO7H [data-oc-part=container]{position:relative;isolation:isolate;flex-shrink:0;padding:.125em;inline-size:var(--oc-radio-control-size);block-size:var(--oc-radio-control-size);--oc-interaction-inset-x: -.25em;--oc-interaction-inset-y: -.25em;--oc-interaction-z-index: 2;--oc-interaction-radius: var(--oc-atomic-radius-max)}.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{display:flex;box-shadow:inset 0 0 0 1.5px currentcolor}@supports (-webkit-backdrop-filter: none){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1px currentcolor}@media only screen and (resolution:2dppx){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1.5px currentcolor}}@media only screen and (resolution:3dppx){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{box-shadow:inset 0 0 0 1.6666px currentcolor}}}.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{border-radius:var(--oc-atomic-radius-max);inline-size:100%;block-size:100%;color:var(--oc-color-theme-line-normal-normal);transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),background-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H [data-oc-part=wrapper]{transition-property:color,background-color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]{display:flex;align-items:center;justify-content:center;transform:scale(var(--oc-radio-icon-scale));inline-size:100%;block-size:100%;color:transparent;transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]{transition-property:color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-feedback)}}.oc-Radio-module__radio__qhO7H [data-oc-part=icon-wrapper]>svg{inline-size:100%;block-size:100%;padding:.125rem}.oc-Radio-module__radio__qhO7H [data-oc-part=content]{display:flex;flex:1;align-items:flex-start;gap:var(--oc-space-item-gap-tiny);min-inline-size:0;padding-block:calc((var(--oc-radio-control-size) - var(--oc-radio-content-height)) / 2)}.oc-Radio-module__radio__qhO7H [data-oc-part=label]{-webkit-user-select:none;user-select:none}.oc-Radio-module__radio__qhO7H [data-oc-part=trailing-compound]{display:flex;flex-shrink:0;margin-inline-start:auto}.oc-Radio-module__fill__h24zJ [data-oc-part=label]{flex:1}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:disabled+[data-oc-part=container] [data-oc-part=wrapper]{color:var(--oc-color-theme-line-normal-alternative)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:checked+[data-oc-part=container] [data-oc-part=wrapper]{color:transparent;background-color:var(--oc-color-theme-primary-normal)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:checked+[data-oc-part=container] [data-oc-part=icon-wrapper]{color:var(--oc-color-theme-static-white)}.oc-Radio-module__radio__qhO7H [data-oc-part=input]:focus-visible+[data-oc-part=container] [data-oc-part=wrapper]{outline:var(--oc-focus-ring-width) solid var(--oc-color-theme-focus-ring);outline-offset:var(--oc-focus-ring-offset)}