@orioncactuscorp/ui 1.7.0 → 1.9.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/dist/components/Accordion/Accordion.css +1 -1
- package/dist/components/Alert/Alert.js +1 -1
- package/dist/components/Button/Button.css +1 -1
- package/dist/components/Checkbox/Checkbox.css +1 -1
- package/dist/components/Modal/Modal.css +1 -1
- package/dist/components/Modal/Modal.js +671 -517
- package/dist/components/Modal/bottomSheetGeometry.js +88 -0
- package/dist/components/Modal/modalScrollArbitration.js +8 -7
- package/dist/components/Modal/snapPoints.js +9 -8
- package/dist/components/Modal/useModalContentBlockTransition.js +64 -0
- package/dist/components/Modal/useModalDrag.js +917 -788
- package/dist/components/Radio/Radio.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +250 -223
- package/dist/components/ScrollArea/useScrollAreaGeometryStabilizer.js +36 -0
- package/dist/components/TextButton/TextButton.css +1 -1
- package/dist/components/TextButton/TextButton.module.scss.js +8 -6
- package/dist/components/internal/DisclosureIndicator.js +23 -23
- package/dist/styles.css +7 -7
- package/dist/ui/src/components/Modal/Modal.d.ts +2 -2
- package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/bottomSheetGeometry.d.ts +36 -0
- package/dist/ui/src/components/Modal/bottomSheetGeometry.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/index.d.ts +1 -1
- package/dist/ui/src/components/Modal/index.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/modalScrollArbitration.d.ts +2 -1
- package/dist/ui/src/components/Modal/modalScrollArbitration.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/snapPoints.d.ts +1 -0
- package/dist/ui/src/components/Modal/snapPoints.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/types.d.ts +11 -1
- package/dist/ui/src/components/Modal/types.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts +5 -0
- package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalDrag.d.ts +5 -1
- package/dist/ui/src/components/Modal/useModalDrag.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/useScrollAreaGeometryStabilizer.d.ts +11 -0
- package/dist/ui/src/components/ScrollArea/useScrollAreaGeometryStabilizer.d.ts.map +1 -0
- package/dist/ui/src/index.d.ts +1 -1
- package/dist/ui/src/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/scss/mixins/_element.scss +161 -14
- package/src/scss/mixins/_element.test.ts +94 -5
- package/src/scss/mixins/_icon.scss +27 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useRef as r, useCallback as F, useEffect as R } from "react";
|
|
2
|
+
const s = {
|
|
3
|
+
maxFrames: 90,
|
|
4
|
+
minFrames: 30,
|
|
5
|
+
stableFrames: 3
|
|
6
|
+
};
|
|
7
|
+
function A({
|
|
8
|
+
enabled: a,
|
|
9
|
+
getGeometrySignature: m,
|
|
10
|
+
updateGeometry: i
|
|
11
|
+
}) {
|
|
12
|
+
const e = r(null), t = r(0), n = r(0), c = r(""), u = r(0), o = F(() => {
|
|
13
|
+
e.current === null || typeof window > "u" || (window.cancelAnimationFrame(e.current), e.current = null);
|
|
14
|
+
}, []), d = F(() => {
|
|
15
|
+
if (!a || typeof window > "u" || (t.current = 0, n.current = 0, c.current = "", u.current = s.maxFrames, e.current !== null)) return;
|
|
16
|
+
const l = () => {
|
|
17
|
+
i();
|
|
18
|
+
const f = m();
|
|
19
|
+
n.current = f === c.current ? n.current + 1 : 0, c.current = f, t.current += 1, u.current -= 1;
|
|
20
|
+
const w = t.current >= s.minFrames && n.current >= s.stableFrames;
|
|
21
|
+
if (u.current > 0 && !w) {
|
|
22
|
+
e.current = window.requestAnimationFrame(l);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
e.current = null;
|
|
26
|
+
};
|
|
27
|
+
e.current = window.requestAnimationFrame(l);
|
|
28
|
+
}, [a, m, i]);
|
|
29
|
+
return R(() => o, [o]), {
|
|
30
|
+
cancelGeometryUpdate: o,
|
|
31
|
+
scheduleGeometryUpdate: d
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
A as useScrollAreaGeometryStabilizer
|
|
36
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.oc-TextButton-module__textButton__71n5b{position:relative;display:inline-flex;align-items:center;justify-content:center;appearance:none;border:none;background-color:transparent;padding:0;cursor:pointer;text-decoration:none;color:inherit;will-change:transform;transition:transform 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-TextButton-module__textButton__71n5b{transition:none;transform:none}}.oc-TextButton-module__textButton__71n5b{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;display:inline-flex;align-items:center;gap:.125em;color:var(--oc-text-button-color);transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),transform 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-TextButton-module__textButton__71n5b{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);transform:none}}.oc-TextButton-module__textButton__71n5b{--oc-text-button-color: inherit;--oc-interaction-color: currentcolor;--oc-interaction-scale: .95;--oc-interaction-time: .225s;--oc-interaction-inset-x: -.375em;--oc-interaction-inset-y: -.1em;--oc-interaction-radius: max(0px, .3125em * var(--oc-atomic-radius-factor))}.oc-TextButton-module__textButton__71n5b>[data-oc-part=icon]{display:inline-flex;align-items:center;justify-content:center
|
|
1
|
+
.oc-TextButton-module__textButton__71n5b{position:relative;display:inline-flex;align-items:center;justify-content:center;appearance:none;border:none;background-color:transparent;padding:0;cursor:pointer;text-decoration:none;color:inherit;will-change:transform;transition:transform 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-TextButton-module__textButton__71n5b{transition:none;transform:none}}.oc-TextButton-module__textButton__71n5b{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;display:inline-flex;align-items:center;gap:.125em;padding-block:var(--oc-text-button-padding-y);padding-inline:var(--oc-text-button-padding-x);color:var(--oc-text-button-color);transition:color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),transform 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-TextButton-module__textButton__71n5b{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);transform:none}}.oc-TextButton-module__textButton__71n5b{--oc-text-button-color: inherit;--oc-text-button-padding-x: 0px;--oc-text-button-padding-y: 0px;--oc-interaction-color: currentcolor;--oc-interaction-scale: .95;--oc-interaction-time: .225s;--oc-interaction-inset-x: -.375em;--oc-interaction-inset-y: -.1em;--oc-interaction-radius: max(0px, .3125em * var(--oc-atomic-radius-factor))}.oc-TextButton-module__textButton__71n5b>[data-oc-part=icon]{display:inline-flex;align-items:center;justify-content:center}.oc-TextButton-module__textButton__71n5b>[data-oc-part=icon]>[data-oc-component=svg-icon]{inline-size:auto;block-size:var(--oc-text-button-icon-size, calc(1.5em - var(--oc-text-button-icon-padding-block, .1875em) * 2))}@supports (block-size: 1lh){.oc-TextButton-module__textButton__71n5b>[data-oc-part=icon]>[data-oc-component=svg-icon]{block-size:var(--oc-text-button-icon-size, calc(1lh - var(--oc-text-button-icon-padding-block, .1875em) * 2))}}.oc-TextButton-module__textButton__71n5b:focus-visible:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);transform:scale(1)}@media(hover:hover){.oc-TextButton-module__textButton__71n5b:hover:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);transform:scale(1)}}.oc-TextButton-module__textButton__71n5b:active:not(:disabled,[aria-disabled=true]){transform:scale(max(0,1 + (.95 - 1) * var(--oc-motion-scale-factor-feedback)))}.oc-TextButton-module__textButton__71n5b:active:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);transform:scale(1)}.oc-TextButton-module__textButton__71n5b:where(.oc-TextButton-module__primary__dlRiO){--oc-text-button-color: var(--oc-color-theme-primary-normal)}.oc-TextButton-module__textButton__71n5b:where(.oc-TextButton-module__assistive__wUKa-){--oc-text-button-color: var(--oc-color-theme-label-alternative)}.oc-TextButton-module__textButton__71n5b:disabled,.oc-TextButton-module__textButton__71n5b[aria-disabled=true]{--oc-text-button-color: var(--oc-color-theme-label-disable);cursor:not-allowed}.oc-TextButton-module__textButton__71n5b:where(.oc-TextButton-module__medium__1VOra){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);font-weight:var(--oc-typo-weight-body1-bold)}.oc-TextButton-module__textButton__71n5b:where(.oc-TextButton-module__small__zxHdc){font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label1);font-weight:var(--oc-typo-weight-label1-bold)}.oc-TextButton-module__textButton__71n5b:where(.oc-TextButton-module__padding__1EgaV){--oc-text-button-padding-x: var(--oc-space-item-padding-small);--oc-text-button-padding-y: var(--oc-space-item-padding-small);--oc-interaction-inset-x: 0px;--oc-interaction-inset-y: 0px}@media(prefers-reduced-motion:reduce){.oc-TextButton-module__textButton__71n5b:active:not(:disabled,[aria-disabled=true]){transform:none}}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import './TextButton.css';const t = "oc-TextButton-module__textButton__71n5b", o = "oc-TextButton-module__primary__dlRiO", e = "oc-TextButton-module__assistive__wUKa-",
|
|
1
|
+
import './TextButton.css';const t = "oc-TextButton-module__textButton__71n5b", o = "oc-TextButton-module__primary__dlRiO", e = "oc-TextButton-module__assistive__wUKa-", _ = "oc-TextButton-module__medium__1VOra", s = "oc-TextButton-module__small__zxHdc", n = "oc-TextButton-module__padding__1EgaV", u = {
|
|
2
2
|
textButton: t,
|
|
3
3
|
primary: o,
|
|
4
4
|
assistive: e,
|
|
5
|
-
medium:
|
|
6
|
-
small:
|
|
5
|
+
medium: _,
|
|
6
|
+
small: s,
|
|
7
|
+
padding: n
|
|
7
8
|
};
|
|
8
9
|
export {
|
|
9
10
|
e as assistive,
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
u as default,
|
|
12
|
+
_ as medium,
|
|
13
|
+
n as padding,
|
|
12
14
|
o as primary,
|
|
13
|
-
|
|
15
|
+
s as small,
|
|
14
16
|
t as textButton
|
|
15
17
|
};
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import
|
|
4
|
-
import { normalizeSlotIcon as
|
|
5
|
-
const
|
|
6
|
-
function
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as p, useState as I, useEffect as R } from "react";
|
|
3
|
+
import S from "@orioncactuscorp/icons/orioncactus/ChevronDownTight";
|
|
4
|
+
import { normalizeSlotIcon as E } from "./slot.js";
|
|
5
|
+
const e = 180;
|
|
6
|
+
function _({
|
|
7
7
|
open: t,
|
|
8
|
-
children:
|
|
8
|
+
children: r,
|
|
9
9
|
part: n = "indicator",
|
|
10
|
-
rotationVariable:
|
|
11
|
-
style:
|
|
12
|
-
...
|
|
10
|
+
rotationVariable: a = "--oc-disclosure-indicator-rotation",
|
|
11
|
+
style: c,
|
|
12
|
+
...s
|
|
13
13
|
}) {
|
|
14
|
-
const
|
|
15
|
-
() => t ?
|
|
16
|
-
), f =
|
|
17
|
-
...
|
|
18
|
-
[
|
|
14
|
+
const i = p(t), [d, u] = I(
|
|
15
|
+
() => t ? e : 0
|
|
16
|
+
), f = r === void 0 ? /* @__PURE__ */ o(S, { size: "custom" }) : r, m = {
|
|
17
|
+
...c,
|
|
18
|
+
[a]: `${d}deg`
|
|
19
19
|
};
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
(l) => l +
|
|
20
|
+
return R(() => {
|
|
21
|
+
i.current !== t && (i.current = t, u(
|
|
22
|
+
(l) => l + e
|
|
23
23
|
));
|
|
24
|
-
}, [t]), /* @__PURE__ */
|
|
24
|
+
}, [t]), /* @__PURE__ */ o(
|
|
25
25
|
"span",
|
|
26
26
|
{
|
|
27
|
-
...
|
|
27
|
+
...s,
|
|
28
28
|
"aria-hidden": "true",
|
|
29
29
|
"data-oc-part": n,
|
|
30
30
|
"data-oc-state": t ? "open" : "closed",
|
|
31
31
|
style: m,
|
|
32
|
-
children:
|
|
32
|
+
children: /* @__PURE__ */ o("span", { "data-oc-part": "indicator-frame", children: E(f) })
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
36
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
_ as DisclosureIndicator,
|
|
38
|
+
_ as default
|
|
39
39
|
};
|