@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.
- package/README.md +119 -54
- package/dist/components/Accordion/Accordion.css +1 -1
- package/dist/components/Accordion/Accordion.js +169 -177
- package/dist/components/ActionArea/ActionAreaLayout.js +20 -24
- package/dist/components/Cell/Cell.css +1 -1
- package/dist/components/Cell/Cell.js +57 -58
- package/dist/components/CheckMark/CheckMark.css +1 -1
- package/dist/components/Checkbox/Checkbox.css +1 -1
- package/dist/components/Checkbox/Checkbox.js +50 -51
- package/dist/components/Menu/Menu.css +1 -1
- package/dist/components/Menu/Menu.module.scss.js +20 -22
- package/dist/components/Modal/Modal.js +253 -261
- package/dist/components/Modal/useModalContentBlockTransition.js +49 -44
- package/dist/components/Radio/Radio.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +197 -200
- package/dist/components/Select/Select.js +31 -34
- package/dist/components/Switch/Switch.css +1 -1
- package/dist/components/Tabs/Tabs.css +1 -0
- package/dist/components/Tabs/Tabs.js +208 -0
- package/dist/components/Tabs/Tabs.module.scss.js +27 -0
- package/dist/components/Tabs.d.ts +6 -0
- package/dist/components/Tabs.js +8 -0
- package/dist/components/TextArea/TextArea.js +57 -58
- package/dist/components/TextInput/TextInput.js +30 -33
- package/dist/components/Tooltip/Tooltip.css +1 -1
- package/dist/foundations/color.theme.dark.css +1 -1
- package/dist/foundations/color.theme.light.css +1 -1
- package/dist/foundations/focus.css +1 -0
- package/dist/foundations/reset.css +1 -1
- package/dist/foundations.css +4 -3
- package/dist/index.js +69 -64
- package/dist/react/motion.js +31 -35
- package/dist/reset.css +1 -1
- package/dist/styles.css +13 -11
- package/dist/ui/src/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/ui/src/components/ActionArea/ActionAreaLayout.d.ts.map +1 -1
- package/dist/ui/src/components/Cell/Cell.d.ts.map +1 -1
- package/dist/ui/src/components/CheckMark/types.d.ts +10 -0
- package/dist/ui/src/components/CheckMark/types.d.ts.map +1 -1
- package/dist/ui/src/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/ui/src/components/Checkbox/types.d.ts +16 -0
- package/dist/ui/src/components/Checkbox/types.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts.map +1 -1
- package/dist/ui/src/components/Radio/types.d.ts +16 -0
- package/dist/ui/src/components/Radio/types.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/ui/src/components/Select/Select.d.ts.map +1 -1
- package/dist/ui/src/components/Switch/types.d.ts +10 -0
- package/dist/ui/src/components/Switch/types.d.ts.map +1 -1
- package/dist/ui/src/components/Tabs/Tabs.d.ts +7 -0
- package/dist/ui/src/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/ui/src/components/Tabs/index.d.ts +3 -0
- package/dist/ui/src/components/Tabs/index.d.ts.map +1 -0
- package/dist/ui/src/components/Tabs/types.d.ts +26 -0
- package/dist/ui/src/components/Tabs/types.d.ts.map +1 -0
- package/dist/ui/src/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/ui/src/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/ui/src/index.d.ts +2 -0
- package/dist/ui/src/index.d.ts.map +1 -1
- package/dist/ui/src/react/motion/index.d.ts.map +1 -1
- package/dist/ui/src/utils/mergeRefs.d.ts +13 -0
- package/dist/ui/src/utils/mergeRefs.d.ts.map +1 -0
- package/dist/utils/mergeRefs.js +24 -0
- package/dist/vscode/oc-ui-vars.css +13 -0
- package/docs/editor-setup.md +42 -0
- package/docs/motion.md +665 -0
- package/docs/responsive-foundation-profile.md +230 -0
- package/docs/scss-helpers.md +189 -0
- package/docs/selector-contract.md +260 -0
- package/docs/spring.md +382 -0
- package/docs/stability.md +62 -0
- package/docs/tokens.md +559 -0
- package/package.json +9 -4
- package/src/scss/foundations/color-theme.test.ts +14 -0
- package/src/scss/foundations/color.theme.dark.scss +1 -0
- package/src/scss/foundations/color.theme.light.scss +1 -0
- package/src/scss/foundations/focus.scss +4 -0
- package/src/scss/foundations/focus.test.ts +48 -0
- package/src/scss/foundations/reset.scss +9 -4
- package/src/scss/foundations/reset.test.ts +32 -0
- package/src/scss/index.scss +2 -0
- package/src/scss/mixins/_focus.scss +11 -0
- package/src/scss/mixins/_focus.test.ts +58 -0
|
@@ -1,58 +1,63 @@
|
|
|
1
|
-
import { useRef as r, useCallback as
|
|
2
|
-
const
|
|
3
|
-
function
|
|
4
|
-
const n = Number.parseFloat(window.getComputedStyle(
|
|
5
|
-
return Number.isFinite(n) && n > 0 ? n :
|
|
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
|
|
8
|
-
enabled:
|
|
7
|
+
function w({
|
|
8
|
+
enabled: e,
|
|
9
9
|
node: n
|
|
10
10
|
}) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
}, []), u =
|
|
14
|
-
|
|
15
|
-
}, [
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
}, [u]),
|
|
19
|
-
const
|
|
20
|
-
!
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
if (!
|
|
24
|
-
|
|
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 (
|
|
28
|
-
|
|
27
|
+
if (Math.abs(o - v.current) > B) {
|
|
28
|
+
i.current = o;
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
},
|
|
39
|
+
d(), t.addEventListener("transitionend", N), h.current = () => {
|
|
40
|
+
t.removeEventListener("transitionend", N);
|
|
41
|
+
}, l.current = window.setTimeout(() => {
|
|
42
|
+
C();
|
|
43
|
+
}, _);
|
|
40
44
|
}));
|
|
41
|
-
}, [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
}, [u,
|
|
47
|
-
if (!n || !
|
|
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
|
|
50
|
-
|
|
53
|
+
const t = new ResizeObserver(() => {
|
|
54
|
+
const s = a.current;
|
|
55
|
+
s && (v.current = g(s)), p();
|
|
51
56
|
});
|
|
52
|
-
return
|
|
53
|
-
|
|
57
|
+
return t.observe(n), () => {
|
|
58
|
+
t.disconnect();
|
|
54
59
|
};
|
|
55
|
-
}, [
|
|
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
|
-
|
|
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:
|
|
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)}
|