@orioncactuscorp/ui 1.3.0 → 1.4.1
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 +1 -1
- package/dist/components/ActionArea/ActionArea.css +1 -1
- package/dist/components/ActionArea/ActionAreaLayout.css +1 -0
- package/dist/components/ActionArea/ActionAreaLayout.js +145 -0
- package/dist/components/ActionArea/ActionAreaLayout.module.scss.js +11 -0
- package/dist/components/ActionArea.js +10 -4
- package/dist/components/BackgroundIconButton/BackgroundIconButton.js +72 -52
- package/dist/components/Button/Button.css +1 -1
- package/dist/components/Button/Button.js +79 -139
- package/dist/components/IconButton/IconButton.js +48 -29
- package/dist/components/Loading/Loading.css +1 -1
- package/dist/components/Loading/Loading.js +10 -10
- package/dist/components/Modal/Modal.css +1 -1
- package/dist/components/internal/Pressable.js +90 -0
- package/dist/index.js +102 -96
- package/dist/styles.css +5 -4
- package/dist/ui/src/components/ActionArea/ActionAreaLayout.d.ts +12 -0
- package/dist/ui/src/components/ActionArea/ActionAreaLayout.d.ts.map +1 -0
- package/dist/ui/src/components/ActionArea/index.d.ts +2 -1
- package/dist/ui/src/components/ActionArea/index.d.ts.map +1 -1
- package/dist/ui/src/components/ActionArea/types.d.ts +11 -0
- package/dist/ui/src/components/ActionArea/types.d.ts.map +1 -1
- package/dist/ui/src/components/BackgroundIconButton/BackgroundIconButton.d.ts +1 -1
- package/dist/ui/src/components/BackgroundIconButton/BackgroundIconButton.d.ts.map +1 -1
- package/dist/ui/src/components/BackgroundIconButton/index.d.ts +1 -1
- package/dist/ui/src/components/BackgroundIconButton/index.d.ts.map +1 -1
- package/dist/ui/src/components/BackgroundIconButton/types.d.ts +6 -5
- package/dist/ui/src/components/BackgroundIconButton/types.d.ts.map +1 -1
- package/dist/ui/src/components/Button/Button.d.ts.map +1 -1
- package/dist/ui/src/components/Button/types.d.ts +3 -7
- package/dist/ui/src/components/Button/types.d.ts.map +1 -1
- package/dist/ui/src/components/IconButton/IconButton.d.ts +1 -1
- package/dist/ui/src/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/ui/src/components/IconButton/index.d.ts +1 -1
- package/dist/ui/src/components/IconButton/index.d.ts.map +1 -1
- package/dist/ui/src/components/IconButton/types.d.ts +6 -5
- package/dist/ui/src/components/IconButton/types.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/types.d.ts +2 -2
- package/dist/ui/src/components/Modal/types.d.ts.map +1 -1
- package/dist/ui/src/components/internal/Pressable.d.ts +19 -0
- package/dist/ui/src/components/internal/Pressable.d.ts.map +1 -0
- package/dist/ui/src/index.d.ts +2 -2
- package/dist/ui/src/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ export default function Example() {
|
|
|
61
61
|
|
|
62
62
|
- `SectionHeader`
|
|
63
63
|
- `Button`, `TextButton`, `IconButton`, `BackgroundIconButton`
|
|
64
|
-
- `ActionArea`, `ActionAreaButton`
|
|
64
|
+
- `ActionArea`, `ActionAreaButton`, `ActionAreaLayout`
|
|
65
65
|
- `Badge`, `Background`, `Divider`, `Loading`, `Cell`, `CellItem`
|
|
66
66
|
- `CheckMark`
|
|
67
67
|
- `Field`, `FieldLabel`, `FieldControl`, `FieldMessage`, `FieldErrorMessage` (`vertical`/`horizontal` orientation)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.oc-ActionArea-module__actionArea__jnxep{position:relative;isolation:isolate;display:flex;flex-direction:column;inline-size:100%;padding:var(--oc-action-area-padding-y) var(--oc-action-area-padding-x) var(--oc-action-area-padding-bottom);--oc-action-area-padding-x: var(--oc-space-section-padding-viewport-x);--oc-action-area-padding-y: var(--oc-space-section-padding-viewport-y);--oc-action-area-padding-bottom: var(--oc-action-area-padding-y);--oc-action-area-gap: var(--oc-space-item-gap-small);--oc-action-area-actions-gap: var(--oc-space-item-gap-small);--oc-action-area-background-color: var(--oc-color-theme-background-elevated-normal)}.oc-ActionArea-module__actionArea__jnxep:before{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,transparent,var(--oc-action-area-background-color) 45%);opacity:0;content:"";pointer-events:none}.oc-ActionArea-module__actionArea__jnxep>*{position:relative;z-index:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-background=true]:before{opacity:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-has-extra=true]{border-block-start:1px solid var(--oc-color-theme-line-normal-neutral);background-color:var(--oc-action-area-background-color)}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=extra-slot]{display:flex;flex-direction:column;align-items:center;margin-block-end:calc(var(--oc-action-area-gap) + var(--oc-action-area-padding-y))}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=caption]{font-size:calc(var(--oc-typo-size-label2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label2);font-weight:var(--oc-typo-weight-label2-normal);margin:0 0 var(--oc-space-item-gap-medium);color:var(--oc-color-theme-label-alternative);text-align:center}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{display:flex;gap:var(--oc-action-area-actions-gap);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=strong] [data-oc-part=actions],.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=cancel] [data-oc-part=actions]{flex-direction:column}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]{flex-direction:row}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button=true]{flex:1 1 0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]{flex-direction:row;justify-content:flex-end}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]:has(>[data-oc-action-area-button-priority=sub][data-oc-icon-only=true]){justify-content:space-between;inline-size:100%}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-row]{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-item-gap-medium);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-slot]{display:flex;align-items:center;flex:1 1 auto;min-width:0}.oc-ActionArea-module__actionButton__fKHJQ{min-width:0}.oc-ActionArea-module__actionButton__fKHJQ[data-oc-component=text-button]{flex:0 0 auto;inline-size:fit-content;align-self:center}
|
|
1
|
+
.oc-ActionArea-module__actionArea__jnxep{position:relative;isolation:isolate;display:flex;flex-direction:column;inline-size:100%;padding:var(--oc-action-area-padding-y) var(--oc-action-area-padding-x) var(--oc-action-area-padding-bottom);--oc-action-area-padding-x: var(--oc-space-section-padding-viewport-x);--oc-action-area-padding-y: var(--oc-space-section-padding-viewport-y);--oc-action-area-padding-bottom: var(--oc-action-area-padding-y);--oc-action-area-gap: var(--oc-space-item-gap-small);--oc-action-area-actions-gap: var(--oc-space-item-gap-small);--oc-action-area-container-max-width: var(--oc-atomic-width-content);--oc-action-area-background-color: var(--oc-color-theme-background-elevated-normal)}.oc-ActionArea-module__actionArea__jnxep:before{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,transparent,var(--oc-action-area-background-color) 45%);opacity:0;content:"";pointer-events:none}.oc-ActionArea-module__actionArea__jnxep>*{position:relative;z-index:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-background=true]:before{opacity:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-has-extra=true]{border-block-start:1px solid var(--oc-color-theme-line-normal-neutral);background-color:var(--oc-action-area-background-color)}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=extra-slot]{display:flex;flex-direction:column;align-items:center;margin-block-end:calc(var(--oc-action-area-gap) + var(--oc-action-area-padding-y))}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=caption]{font-size:calc(var(--oc-typo-size-label2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label2);font-weight:var(--oc-typo-weight-label2-normal);margin:0 0 var(--oc-space-item-gap-medium);color:var(--oc-color-theme-label-alternative);text-align:center}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{display:flex;gap:var(--oc-action-area-actions-gap);min-width:0}@media screen and (min-width:769px){.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{max-inline-size:var(--oc-action-area-container-max-width)}.oc-ActionArea-module__actionArea__jnxep:not([data-oc-variant=compact]) [data-oc-part=actions]{inline-size:100%;margin-inline:auto}}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=strong] [data-oc-part=actions],.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=cancel] [data-oc-part=actions]{flex-direction:column}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]{flex-direction:row}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button=true]{flex:1 1 0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]{flex-direction:row;justify-content:flex-end}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]:has(>[data-oc-action-area-button-priority=sub][data-oc-icon-only=true]){justify-content:space-between;inline-size:100%}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-row]{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-item-gap-medium);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-slot]{display:flex;align-items:center;flex:1 1 auto;min-width:0}.oc-ActionArea-module__actionButton__fKHJQ{min-width:0}.oc-ActionArea-module__actionButton__fKHJQ[data-oc-component=text-button]{flex:0 0 auto;inline-size:fit-content;align-self:center}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.oc-ActionAreaLayout-module__layout__UBL8D{--oc-action-area-layout-block-size: 100dvh;--oc-action-area-layout-gradient-overlap: 100%;--oc-action-area-layout-gradient-size: 50%;display:grid;grid-template-rows:minmax(0,1fr) auto;min-block-size:0;block-size:var(--oc-action-area-layout-block-size)}.oc-ActionAreaLayout-module__body__Q3-3E{min-block-size:0;overflow-y:auto;overscroll-behavior-y:contain}.oc-ActionAreaLayout-module__footer__-ewkN{--_-action-area-layout-footer-background-opacity: 0;--_-action-area-layout-footer-background-scale-y: 0;--oc-action-area-layout-background-color: var(--oc-color-theme-background-elevated-normal);position:relative;z-index:1;min-block-size:0}.oc-ActionAreaLayout-module__footer__-ewkN:before{position:absolute;inset-block:calc(-1 * var(--oc-action-area-layout-gradient-overlap)) 0;inset-inline:0;z-index:0;background-color:var(--oc-action-area-layout-background-color);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--oc-action-area-layout-gradient-size));mask-image:linear-gradient(to bottom,transparent 0,black var(--oc-action-area-layout-gradient-size));opacity:var(--_-action-area-layout-footer-background-opacity);content:"";pointer-events:none;transform:scaleY(var(--_-action-area-layout-footer-background-scale-y));transform-origin:bottom center;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),transform 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-ActionAreaLayout-module__footer__-ewkN:before{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);transform:none}}.oc-ActionAreaLayout-module__footer__-ewkN:has(>[data-oc-component=action-area][data-oc-background=true]):before{--_-action-area-layout-footer-background-opacity: 1;--_-action-area-layout-footer-background-scale-y: 1}.oc-ActionAreaLayout-module__footer__-ewkN>*{position:relative;z-index:1}.oc-ActionAreaLayout-module__footer__-ewkN>[data-oc-component=action-area]:before{content:none}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
3
|
+
import { useState as b, useCallback as S, useEffect as h, useMemo as N, useContext as O, createContext as C } from "react";
|
|
4
|
+
import { ActionArea as x } from "./ActionArea.js";
|
|
5
|
+
import d from "./ActionAreaLayout.module.scss.js";
|
|
6
|
+
const p = {
|
|
7
|
+
canScroll: !1,
|
|
8
|
+
scrolledToBottom: !0
|
|
9
|
+
}, L = 1, v = C(null);
|
|
10
|
+
function f(...o) {
|
|
11
|
+
return o.filter(Boolean).join(" ");
|
|
12
|
+
}
|
|
13
|
+
function R(o, t) {
|
|
14
|
+
typeof o == "function" ? o(t) : o && (o.current = t);
|
|
15
|
+
}
|
|
16
|
+
function E(o) {
|
|
17
|
+
if (!o) return p;
|
|
18
|
+
const t = o.scrollHeight - o.scrollTop - o.clientHeight, r = o.scrollHeight - o.clientHeight > L;
|
|
19
|
+
return {
|
|
20
|
+
canScroll: r,
|
|
21
|
+
scrolledToBottom: !r || t <= L
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function A(o) {
|
|
25
|
+
const t = O(v);
|
|
26
|
+
if (!t)
|
|
27
|
+
throw new Error(`${o} must be used within ActionAreaLayout.`);
|
|
28
|
+
return t;
|
|
29
|
+
}
|
|
30
|
+
function H(o, t) {
|
|
31
|
+
return o.canScroll === t.canScroll && o.scrolledToBottom === t.scrolledToBottom ? o : t;
|
|
32
|
+
}
|
|
33
|
+
function w({
|
|
34
|
+
children: o,
|
|
35
|
+
className: t = "",
|
|
36
|
+
ref: r,
|
|
37
|
+
...n
|
|
38
|
+
}) {
|
|
39
|
+
const [s, i] = b(p), u = N(
|
|
40
|
+
() => ({
|
|
41
|
+
...s,
|
|
42
|
+
setScrollState: i
|
|
43
|
+
}),
|
|
44
|
+
[s]
|
|
45
|
+
);
|
|
46
|
+
return /* @__PURE__ */ l(v.Provider, { value: u, children: /* @__PURE__ */ l(
|
|
47
|
+
"div",
|
|
48
|
+
{
|
|
49
|
+
...n,
|
|
50
|
+
ref: r,
|
|
51
|
+
className: f(d.layout, t),
|
|
52
|
+
"data-oc-component": "action-area-layout",
|
|
53
|
+
children: o
|
|
54
|
+
}
|
|
55
|
+
) });
|
|
56
|
+
}
|
|
57
|
+
function _({
|
|
58
|
+
children: o,
|
|
59
|
+
className: t = "",
|
|
60
|
+
onScroll: r,
|
|
61
|
+
ref: n,
|
|
62
|
+
...s
|
|
63
|
+
}) {
|
|
64
|
+
const { setScrollState: i } = A(
|
|
65
|
+
"ActionAreaLayout.Body"
|
|
66
|
+
), [u, g] = b(null), c = S(
|
|
67
|
+
(e) => {
|
|
68
|
+
i(
|
|
69
|
+
(a) => H(a, E(e))
|
|
70
|
+
);
|
|
71
|
+
},
|
|
72
|
+
[i]
|
|
73
|
+
), B = S(
|
|
74
|
+
(e) => {
|
|
75
|
+
g(e), R(n, e), c(e);
|
|
76
|
+
},
|
|
77
|
+
[n, c]
|
|
78
|
+
);
|
|
79
|
+
return h(() => {
|
|
80
|
+
const e = u;
|
|
81
|
+
if (c(e), !e || typeof ResizeObserver > "u")
|
|
82
|
+
return;
|
|
83
|
+
const a = new ResizeObserver(() => c(e)), y = () => {
|
|
84
|
+
a.disconnect(), a.observe(e);
|
|
85
|
+
for (const T of Array.from(e.children))
|
|
86
|
+
a.observe(T);
|
|
87
|
+
c(e);
|
|
88
|
+
}, m = typeof MutationObserver > "u" ? void 0 : new MutationObserver(y);
|
|
89
|
+
return y(), m?.observe(e, { childList: !0 }), () => {
|
|
90
|
+
a.disconnect(), m?.disconnect();
|
|
91
|
+
};
|
|
92
|
+
}, [u, c]), /* @__PURE__ */ l(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
...s,
|
|
96
|
+
ref: B,
|
|
97
|
+
className: f(d.body, t),
|
|
98
|
+
"data-oc-part": "body",
|
|
99
|
+
"data-oc-component": "action-area-layout-body",
|
|
100
|
+
onScroll: (e) => {
|
|
101
|
+
c(e.currentTarget), r?.(e);
|
|
102
|
+
},
|
|
103
|
+
children: o
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function F({
|
|
108
|
+
children: o,
|
|
109
|
+
className: t = "",
|
|
110
|
+
ref: r,
|
|
111
|
+
...n
|
|
112
|
+
}) {
|
|
113
|
+
return A("ActionAreaLayout.Footer"), /* @__PURE__ */ l(
|
|
114
|
+
"footer",
|
|
115
|
+
{
|
|
116
|
+
...n,
|
|
117
|
+
ref: r,
|
|
118
|
+
className: f(d.footer, t),
|
|
119
|
+
"data-oc-part": "footer",
|
|
120
|
+
"data-oc-component": "action-area-layout-footer",
|
|
121
|
+
children: o
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
function j({
|
|
126
|
+
background: o = "auto",
|
|
127
|
+
...t
|
|
128
|
+
}) {
|
|
129
|
+
const { canScroll: r, scrolledToBottom: n } = A(
|
|
130
|
+
"ActionAreaLayout.ActionArea"
|
|
131
|
+
);
|
|
132
|
+
return /* @__PURE__ */ l(x, { ...t, background: o === "auto" ? r && !n : o });
|
|
133
|
+
}
|
|
134
|
+
const P = Object.assign(w, {
|
|
135
|
+
Body: _,
|
|
136
|
+
Footer: F,
|
|
137
|
+
ActionArea: j
|
|
138
|
+
});
|
|
139
|
+
export {
|
|
140
|
+
w as ActionAreaLayout,
|
|
141
|
+
j as ActionAreaLayoutActionArea,
|
|
142
|
+
_ as ActionAreaLayoutBody,
|
|
143
|
+
F as ActionAreaLayoutFooter,
|
|
144
|
+
P as default
|
|
145
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './ActionAreaLayout.css';const o = "oc-ActionAreaLayout-module__layout__UBL8D", t = "oc-ActionAreaLayout-module__body__Q3-3E", e = "oc-ActionAreaLayout-module__footer__-ewkN", _ = {
|
|
2
|
+
layout: o,
|
|
3
|
+
body: t,
|
|
4
|
+
footer: e
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
t as body,
|
|
8
|
+
_ as default,
|
|
9
|
+
e as footer,
|
|
10
|
+
o as layout
|
|
11
|
+
};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { ActionArea as
|
|
1
|
+
import { ActionArea as a, ActionAreaButton as A, default as e } from "./ActionArea/ActionArea.js";
|
|
2
|
+
import { default as n, ActionAreaLayoutActionArea as c, ActionAreaLayoutBody as i, ActionAreaLayoutFooter as u, ActionAreaLayout as y } from "./ActionArea/ActionAreaLayout.js";
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
a as ActionArea,
|
|
5
|
+
A as ActionAreaButton,
|
|
6
|
+
n as ActionAreaLayout,
|
|
7
|
+
c as ActionAreaLayoutActionArea,
|
|
8
|
+
i as ActionAreaLayoutBody,
|
|
9
|
+
u as ActionAreaLayoutFooter,
|
|
10
|
+
y as ActionAreaLayoutRoot,
|
|
11
|
+
e as default
|
|
6
12
|
};
|
|
@@ -1,61 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as o, jsxs as N, Fragment as E } from "react/jsx-runtime";
|
|
3
|
+
import { isValidElement as I, cloneElement as P } from "react";
|
|
4
|
+
import j from "../Interaction/Interaction.js";
|
|
5
|
+
import y from "../internal/Pressable.js";
|
|
6
|
+
import i from "./BackgroundIconButton.module.scss.js";
|
|
7
|
+
function $({
|
|
8
|
+
className: k = "",
|
|
9
|
+
children: a,
|
|
10
|
+
href: l,
|
|
11
|
+
disabled: s = !1,
|
|
12
|
+
size: t = 24,
|
|
13
|
+
variant: n = "normal",
|
|
14
|
+
alternative: r = !1,
|
|
15
|
+
viewBox: d,
|
|
16
|
+
color: v,
|
|
17
|
+
style: h,
|
|
18
|
+
ref: u,
|
|
19
|
+
"aria-label": c,
|
|
20
|
+
"aria-labelledby": e,
|
|
21
|
+
"data-oc-component": m = "background-icon-button",
|
|
22
|
+
...p
|
|
20
23
|
}) {
|
|
21
|
-
process.env.NODE_ENV !== "production" && !
|
|
24
|
+
process.env.NODE_ENV !== "production" && !c && !e && console.warn(
|
|
22
25
|
"[@orioncactuscorp/ui] BackgroundIconButton requires `aria-label` or `aria-labelledby` for screen reader accessibility."
|
|
23
26
|
);
|
|
24
|
-
const
|
|
25
|
-
size:
|
|
26
|
-
color:
|
|
27
|
-
...
|
|
28
|
-
}) :
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const B = I(a) ? P(a, {
|
|
28
|
+
size: t,
|
|
29
|
+
color: v,
|
|
30
|
+
...d ? { viewBox: d } : {}
|
|
31
|
+
}) : a, b = [
|
|
32
|
+
i.backgroundIconButton,
|
|
33
|
+
i[n],
|
|
34
|
+
r ? i.alternative : "",
|
|
35
|
+
k
|
|
36
|
+
].filter(Boolean).join(" "), f = {
|
|
37
|
+
...h,
|
|
38
|
+
"--oc-background-icon-button-size": `${t / 16}rem`
|
|
39
|
+
}, g = /* @__PURE__ */ N(E, { children: [
|
|
40
|
+
/* @__PURE__ */ o("span", { "data-oc-part": "icon", children: B }),
|
|
41
|
+
/* @__PURE__ */ o("span", { "data-oc-part": "background", "aria-hidden": "true", role: "presentation" }),
|
|
42
|
+
/* @__PURE__ */ o(j, { variant: "light" })
|
|
43
|
+
] });
|
|
44
|
+
return l !== void 0 ? /* @__PURE__ */ o(
|
|
45
|
+
y,
|
|
31
46
|
{
|
|
32
|
-
...
|
|
33
|
-
ref:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
...p,
|
|
48
|
+
ref: u,
|
|
49
|
+
href: l,
|
|
50
|
+
disabled: s,
|
|
51
|
+
className: b,
|
|
52
|
+
"aria-label": c,
|
|
53
|
+
"aria-labelledby": e,
|
|
54
|
+
"data-oc-component": m,
|
|
55
|
+
"data-oc-variant": n,
|
|
56
|
+
"data-oc-size": String(t),
|
|
57
|
+
"data-oc-alternative": r ? "true" : void 0,
|
|
58
|
+
style: f,
|
|
59
|
+
children: g
|
|
60
|
+
}
|
|
61
|
+
) : /* @__PURE__ */ o(
|
|
62
|
+
y,
|
|
63
|
+
{
|
|
64
|
+
...p,
|
|
65
|
+
ref: u,
|
|
66
|
+
disabled: s,
|
|
67
|
+
className: b,
|
|
68
|
+
"aria-label": c,
|
|
69
|
+
"aria-labelledby": e,
|
|
70
|
+
"data-oc-component": m,
|
|
71
|
+
"data-oc-variant": n,
|
|
72
|
+
"data-oc-size": String(t),
|
|
73
|
+
"data-oc-alternative": r ? "true" : void 0,
|
|
74
|
+
style: f,
|
|
75
|
+
children: g
|
|
56
76
|
}
|
|
57
77
|
);
|
|
58
78
|
}
|
|
59
79
|
export {
|
|
60
|
-
|
|
80
|
+
$ as default
|
|
61
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.oc-Button-module__button__18Bed{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-Button-module__button__18Bed{transition:none;transform:none}}.oc-Button-module__button__18Bed{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;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);display:inline-flex;position:relative;overflow:hidden;flex-direction:column;gap:0;box-shadow:inset 0 0 0 1px var(--oc-button-border-color, transparent);border-radius:var(--oc-button-radius);background-color:var(--oc-button-background-color);padding:var(--oc-button-padding-y) var(--oc-button-padding-x);min-block-size:calc(var(--oc-button-content-height) + var(--oc-button-padding-y) * 2);color:var(--oc-button-color);white-space:nowrap;transition:background-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),box-shadow calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),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-Button-module__button__18Bed{transition-property:background-color,box-shadow,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-Button-module__button__18Bed{--oc-button-padding-x: var(--oc-space-item-padding-medium);--oc-button-padding-y: var(--oc-space-item-padding-xsmall);--oc-button-content-height: var(--oc-typo-height-body1);--oc-button-control-size: calc(var(--oc-button-content-height) + (var(--oc-button-padding-y) * 2));--oc-button-icon-size: var(--oc-typo-height-label1);--oc-button-gap: var(--oc-space-item-gap-tiny);--oc-button-label-padding-x: 0;--oc-button-radius: var(--oc-atomic-radius-small);--oc-button-background-color: var(--oc-color-theme-label-strong);--oc-button-color: var(--oc-color-theme-background-normal-normal);--oc-interaction-color: var(--oc-color-theme-background-normal-normal);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-loading-color: var(--oc-color-theme-label-alternative);--oc-interaction-z-index: 1}.oc-Button-module__button__18Bed>[data-oc-component=interaction]{border-radius:var(--oc-button-radius)}.oc-Button-module__button__18Bed>[data-oc-part=content]{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:var(--oc-button-gap);block-size:var(--oc-button-content-height)}.oc-Button-module__button__18Bed>[data-oc-part=loading]{position:absolute;z-index:3;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--oc-button-content-height);block-size:var(--oc-button-content-height);color:currentcolor;line-height:0;pointer-events:none}.oc-Button-module__button__18Bed>[data-oc-part=loading]>[data-oc-component=loading]{--oc-loading-size: 100%;--oc-loading-color: var(--oc-button-loading-color)}.oc-Button-module__button__18Bed [data-oc-part=label]{display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--oc-button-label-padding-x, 0)}.oc-Button-module__button__18Bed [data-oc-part=leading-icon],.oc-Button-module__button__18Bed [data-oc-part=trailing-icon],.oc-Button-module__button__18Bed [data-oc-part=icon]{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--oc-button-icon-size);block-size:var(--oc-button-icon-size);color:currentcolor}.oc-Button-module__button__18Bed [data-oc-part=leading-icon]>svg,.oc-Button-module__button__18Bed [data-oc-part=trailing-icon]>svg,.oc-Button-module__button__18Bed [data-oc-part=icon]>svg{inline-size:100%;block-size:100%}.oc-Button-module__button__18Bed:focus-visible>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);transform:scale(1)}@media(hover:hover){.oc-Button-module__button__18Bed:hover:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);transform:scale(1)}}.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true]){transform:scale(max(0,1 + (.9875 - 1) * var(--oc-motion-scale-factor-feedback)))}.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);transform:scale(1)}.oc-Button-module__button__18Bed:disabled,.oc-Button-module__button__18Bed[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-interaction-disable);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable);cursor:not-allowed}.oc-Button-module__button__18Bed:where(.oc-Button-module__medium__HYxwi){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);font-weight:var(--oc-typo-weight-body2-bold);--oc-button-padding-x: var(--oc-space-item-padding-small);--oc-button-padding-y: var(--oc-space-item-padding-mini)}.oc-Button-module__button__18Bed:where(.oc-Button-module__small__zfmcP){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-button-padding-x: var(--oc-space-item-padding-xsmall);--oc-button-padding-y: var(--oc-space-item-padding-tiny);--oc-button-gap: var(--oc-space-item-gap-nano);--oc-button-label-padding-x: var(--oc-space-item-padding-atom);--oc-button-radius: var(--oc-atomic-radius-xsmall);--oc-button-icon-size: var(--oc-typo-height-label2)}.oc-Button-module__button__18Bed:where(.oc-Button-module__xsmall__QS3d-){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-button-padding-x: var(--oc-space-item-padding-mini);--oc-button-padding-y: var(--oc-space-item-padding-tiny);--oc-button-content-height: var(--oc-typo-height-label1);--oc-button-gap: var(--oc-space-item-gap-atom);--oc-button-label-padding-x: var(--oc-space-item-padding-atom);--oc-button-radius: var(--oc-atomic-radius-mini);--oc-button-icon-size: var(--oc-typo-height-caption1)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):where(.oc-Button-module__primary__st6yY){--oc-button-background-color: var(--oc-color-theme-primary-normal);--oc-button-color: var(--oc-color-theme-static-white);--oc-button-loading-color: var(--oc-color-theme-static-white);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):where(.oc-Button-module__assistive__6KrCl){--oc-button-background-color: var(--oc-color-theme-fill-normal);--oc-button-color: var(--oc-color-theme-label-neutral);--oc-interaction-color: var(--oc-color-theme-label-neutral)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):disabled,.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB)[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-interaction-disable);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH){--oc-button-background-color: transparent;--oc-button-border-color: var(--oc-color-theme-label-normal);--oc-button-color: var(--oc-color-theme-label-normal);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__primary__st6yY){--oc-button-border-color: var(--oc-color-theme-primary-normal);--oc-button-color: var(--oc-color-theme-primary-normal);--oc-interaction-color: var(--oc-color-theme-primary-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__secondary__j-3rj){--oc-button-border-color: var(--oc-color-theme-line-normal-normal);--oc-button-color: var(--oc-color-theme-primary-normal);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl){--oc-button-border-color: var(--oc-color-theme-line-normal-normal);--oc-button-color: var(--oc-color-theme-label-neutral);--oc-interaction-color: var(--oc-color-theme-label-neutral);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-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__medium__HYxwi){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);font-weight:var(--oc-typo-weight-body2-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__small__zfmcP),.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__xsmall__QS3d-){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-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):disabled,.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH)[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-static-transparent);--oc-button-border-color: var(--oc-color-theme-line-normal-neutral);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable)}.oc-Button-module__button__18Bed:where(.oc-Button-module__loading__QfItr){cursor:progress}.oc-Button-module__button__18Bed:where(.oc-Button-module__loading__QfItr)>[data-oc-part=content]{visibility:hidden}.oc-Button-module__button__18Bed:where(.oc-Button-module__iconOnly__FNrSu){aspect-ratio:1;inline-size:var(--oc-button-control-size);padding-inline:var(--oc-button-padding-y)}.oc-Button-module__button__18Bed:where(.oc-Button-module__fullWidth__AHpSl){inline-size:100%}.oc-Button-module__button__18Bed:where(.oc-Button-module__iconOnly__FNrSu):where(.oc-Button-module__fullWidth__AHpSl){aspect-ratio:auto}@media(prefers-reduced-motion:reduce){.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true]){transform:none}}
|
|
1
|
+
.oc-Button-module__button__18Bed{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-Button-module__button__18Bed{transition:none;transform:none}}.oc-Button-module__button__18Bed{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;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);display:inline-flex;position:relative;overflow:hidden;flex-direction:column;gap:0;box-shadow:inset 0 0 0 1px var(--oc-button-border-color, transparent);border-radius:var(--oc-button-radius);background-color:var(--oc-button-background-color);padding:var(--oc-button-padding-y) var(--oc-button-padding-x);min-block-size:calc(var(--oc-button-content-height) + var(--oc-button-padding-y) * 2);color:var(--oc-button-color);white-space:nowrap;transition:background-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),box-shadow calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback),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-Button-module__button__18Bed{transition-property:background-color,box-shadow,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-Button-module__button__18Bed{--oc-button-padding-x: var(--oc-space-item-padding-medium);--oc-button-padding-y: var(--oc-space-item-padding-xsmall);--oc-button-content-height: var(--oc-typo-height-body1);--oc-button-control-size: calc(var(--oc-button-content-height) + (var(--oc-button-padding-y) * 2));--oc-button-icon-size: var(--oc-typo-height-label1);--oc-button-gap: var(--oc-space-item-gap-tiny);--oc-button-label-padding-x: 0;--oc-button-radius: var(--oc-atomic-radius-small);--oc-button-background-color: var(--oc-color-theme-label-strong);--oc-button-color: var(--oc-color-theme-background-normal-normal);--oc-interaction-color: var(--oc-color-theme-background-normal-normal);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-loading-color: var(--oc-color-theme-label-alternative);--oc-interaction-z-index: 1}.oc-Button-module__button__18Bed>[data-oc-component=interaction]{border-radius:var(--oc-button-radius)}.oc-Button-module__button__18Bed>[data-oc-part=content]{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:var(--oc-button-gap);block-size:var(--oc-button-content-height)}.oc-Button-module__button__18Bed>[data-oc-part=loading]{position:absolute;z-index:3;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--oc-button-content-height);block-size:var(--oc-button-content-height);color:currentcolor;line-height:0;padding:.0625rem;pointer-events:none}.oc-Button-module__button__18Bed>[data-oc-part=loading]>[data-oc-component=loading]{--oc-loading-size: 100%;--oc-loading-color: var(--oc-button-loading-color)}.oc-Button-module__button__18Bed [data-oc-part=label]{display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--oc-button-label-padding-x, 0)}.oc-Button-module__button__18Bed [data-oc-part=leading-icon],.oc-Button-module__button__18Bed [data-oc-part=trailing-icon],.oc-Button-module__button__18Bed [data-oc-part=icon]{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--oc-button-icon-size);block-size:var(--oc-button-icon-size);color:currentcolor}.oc-Button-module__button__18Bed [data-oc-part=leading-icon]>svg,.oc-Button-module__button__18Bed [data-oc-part=trailing-icon]>svg,.oc-Button-module__button__18Bed [data-oc-part=icon]>svg{inline-size:100%;block-size:100%}.oc-Button-module__button__18Bed:focus-visible>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);transform:scale(1)}@media(hover:hover){.oc-Button-module__button__18Bed:hover:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);transform:scale(1)}}.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true]){transform:scale(max(0,1 + (.9875 - 1) * var(--oc-motion-scale-factor-feedback)))}.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true])>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);transform:scale(1)}.oc-Button-module__button__18Bed:disabled,.oc-Button-module__button__18Bed[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-interaction-disable);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable);cursor:not-allowed}.oc-Button-module__button__18Bed:where(.oc-Button-module__medium__HYxwi){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);font-weight:var(--oc-typo-weight-body2-bold);--oc-button-padding-x: var(--oc-space-item-padding-small);--oc-button-padding-y: var(--oc-space-item-padding-mini)}.oc-Button-module__button__18Bed:where(.oc-Button-module__small__zfmcP){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-button-padding-x: var(--oc-space-item-padding-xsmall);--oc-button-padding-y: var(--oc-space-item-padding-tiny);--oc-button-gap: var(--oc-space-item-gap-nano);--oc-button-label-padding-x: var(--oc-space-item-padding-atom);--oc-button-radius: var(--oc-atomic-radius-xsmall);--oc-button-icon-size: var(--oc-typo-height-label2)}.oc-Button-module__button__18Bed:where(.oc-Button-module__xsmall__QS3d-){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-button-padding-x: var(--oc-space-item-padding-mini);--oc-button-padding-y: var(--oc-space-item-padding-tiny);--oc-button-content-height: var(--oc-typo-height-label1);--oc-button-gap: var(--oc-space-item-gap-atom);--oc-button-label-padding-x: var(--oc-space-item-padding-atom);--oc-button-radius: var(--oc-atomic-radius-mini);--oc-button-icon-size: var(--oc-typo-height-caption1)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):where(.oc-Button-module__primary__st6yY){--oc-button-background-color: var(--oc-color-theme-primary-normal);--oc-button-color: var(--oc-color-theme-static-white);--oc-button-loading-color: var(--oc-color-theme-static-white);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):where(.oc-Button-module__assistive__6KrCl){--oc-button-background-color: var(--oc-color-theme-fill-normal);--oc-button-color: var(--oc-color-theme-label-neutral);--oc-interaction-color: var(--oc-color-theme-label-neutral)}.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB):disabled,.oc-Button-module__button__18Bed:where(.oc-Button-module__solid__yi-oB)[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-interaction-disable);--oc-button-border-color: var(--oc-color-theme-static-transparent);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH){--oc-button-background-color: transparent;--oc-button-border-color: var(--oc-color-theme-label-normal);--oc-button-color: var(--oc-color-theme-label-normal);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__primary__st6yY){--oc-button-border-color: var(--oc-color-theme-primary-normal);--oc-button-color: var(--oc-color-theme-primary-normal);--oc-interaction-color: var(--oc-color-theme-primary-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__secondary__j-3rj){--oc-button-border-color: var(--oc-color-theme-line-normal-normal);--oc-button-color: var(--oc-color-theme-primary-normal);--oc-interaction-color: var(--oc-color-theme-label-normal)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl){--oc-button-border-color: var(--oc-color-theme-line-normal-normal);--oc-button-color: var(--oc-color-theme-label-neutral);--oc-interaction-color: var(--oc-color-theme-label-neutral);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-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__medium__HYxwi){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);font-weight:var(--oc-typo-weight-body2-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__small__zfmcP),.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):where(.oc-Button-module__assistive__6KrCl):where(.oc-Button-module__xsmall__QS3d-){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-medium)}.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH):disabled,.oc-Button-module__button__18Bed:where(.oc-Button-module__outlined__f4ewH)[aria-disabled=true]{--oc-button-background-color: var(--oc-color-theme-static-transparent);--oc-button-border-color: var(--oc-color-theme-line-normal-neutral);--oc-button-color: var(--oc-color-theme-label-disable);--oc-button-loading-color: var(--oc-color-theme-label-disable)}.oc-Button-module__button__18Bed:where(.oc-Button-module__loading__QfItr){cursor:progress}.oc-Button-module__button__18Bed:where(.oc-Button-module__loading__QfItr)>[data-oc-part=content]{visibility:hidden}.oc-Button-module__button__18Bed:where(.oc-Button-module__iconOnly__FNrSu){aspect-ratio:1;inline-size:var(--oc-button-control-size);padding-inline:var(--oc-button-padding-y)}.oc-Button-module__button__18Bed:where(.oc-Button-module__fullWidth__AHpSl){inline-size:100%}.oc-Button-module__button__18Bed:where(.oc-Button-module__iconOnly__FNrSu):where(.oc-Button-module__fullWidth__AHpSl){aspect-ratio:auto}@media(prefers-reduced-motion:reduce){.oc-Button-module__button__18Bed:active:not(:disabled,[aria-disabled=true]){transform:none}}
|
|
@@ -1,152 +1,92 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"aria-
|
|
22
|
-
|
|
2
|
+
import { jsx as o, jsxs as x, Fragment as O } from "react/jsx-runtime";
|
|
3
|
+
import q from "../Interaction/Interaction.js";
|
|
4
|
+
import C from "../Loading/Loading.js";
|
|
5
|
+
import V from "../internal/Pressable.js";
|
|
6
|
+
import t from "./Button.module.scss.js";
|
|
7
|
+
function H({
|
|
8
|
+
children: c,
|
|
9
|
+
className: z = "",
|
|
10
|
+
style: v,
|
|
11
|
+
disabled: h = !1,
|
|
12
|
+
href: y,
|
|
13
|
+
appearance: r = "solid",
|
|
14
|
+
variant: e = "default",
|
|
15
|
+
size: l = "large",
|
|
16
|
+
fullWidth: d = !1,
|
|
17
|
+
loading: a = !1,
|
|
18
|
+
leadingIcon: s,
|
|
19
|
+
trailingIcon: u,
|
|
20
|
+
icon: m,
|
|
21
|
+
"aria-label": b,
|
|
22
|
+
"aria-labelledby": f,
|
|
23
|
+
...N
|
|
23
24
|
}) {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
].filter(Boolean).join(" "),
|
|
34
|
-
process.env.NODE_ENV !== "production" &&
|
|
25
|
+
const n = r === "solid" && e === "secondary" ? "primary" : e, w = c != null, i = !!(m && !w && !s && !u), B = [
|
|
26
|
+
t.button,
|
|
27
|
+
t[r],
|
|
28
|
+
t[n],
|
|
29
|
+
t[l],
|
|
30
|
+
i ? t.iconOnly : "",
|
|
31
|
+
d ? t.fullWidth : "",
|
|
32
|
+
a ? t.loading : "",
|
|
33
|
+
z
|
|
34
|
+
].filter(Boolean).join(" "), E = r === "solid" && n === "default" || r === "outlined" && n === "secondary" ? "light" : "normal";
|
|
35
|
+
process.env.NODE_ENV !== "production" && i && !b && !f && console.warn(
|
|
35
36
|
"[@orioncactuscorp/ui] Button with `icon` requires `aria-label` or `aria-labelledby` for screen reader accessibility."
|
|
36
37
|
);
|
|
37
|
-
const
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const p = (j, g) => /* @__PURE__ */ o("span", { "data-oc-part": g, "aria-hidden": "true", children: /* @__PURE__ */ o(j, { size: "custom" }) }), P = /* @__PURE__ */ x(O, { children: [
|
|
39
|
+
/* @__PURE__ */ o("span", { "data-oc-part": "content", children: i && m ? p(m, "icon") : /* @__PURE__ */ x(O, { children: [
|
|
40
|
+
s ? p(s, "leading-icon") : null,
|
|
41
|
+
w ? /* @__PURE__ */ o("span", { "data-oc-part": "label", children: c }) : null,
|
|
42
|
+
u ? p(u, "trailing-icon") : null
|
|
42
43
|
] }) }),
|
|
43
|
-
|
|
44
|
-
/* @__PURE__ */
|
|
44
|
+
a ? /* @__PURE__ */ o("span", { "data-oc-part": "loading", "aria-hidden": "true", children: /* @__PURE__ */ o(C, { size: "custom" }) }) : null,
|
|
45
|
+
/* @__PURE__ */ o(q, { variant: E })
|
|
45
46
|
] });
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
onAuxClick: b,
|
|
49
|
-
onClick: G,
|
|
50
|
-
onKeyDown: H,
|
|
51
|
-
onMouseDown: I,
|
|
52
|
-
onPointerDown: J,
|
|
53
|
-
ref: Q,
|
|
54
|
-
tabIndex: R,
|
|
55
|
-
...S
|
|
56
|
-
} = o;
|
|
57
|
-
return /* @__PURE__ */ a(
|
|
58
|
-
"a",
|
|
59
|
-
{
|
|
60
|
-
...S,
|
|
61
|
-
ref: Q,
|
|
62
|
-
className: K,
|
|
63
|
-
style: C,
|
|
64
|
-
href: P,
|
|
65
|
-
onAuxClick: (n) => {
|
|
66
|
-
if (l || t) {
|
|
67
|
-
n.preventDefault(), n.stopPropagation();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
b?.(n);
|
|
71
|
-
},
|
|
72
|
-
onClick: (n) => {
|
|
73
|
-
if (l || t) {
|
|
74
|
-
n.preventDefault();
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
G?.(n);
|
|
78
|
-
},
|
|
79
|
-
onKeyDown: (n) => {
|
|
80
|
-
(n.key === "Enter" || n.key === " ") && r(n) || H?.(n);
|
|
81
|
-
},
|
|
82
|
-
onMouseDown: (n) => {
|
|
83
|
-
r(n) || I?.(n);
|
|
84
|
-
},
|
|
85
|
-
onPointerDown: (n) => {
|
|
86
|
-
r(n) || J?.(n);
|
|
87
|
-
},
|
|
88
|
-
"aria-label": p,
|
|
89
|
-
"aria-labelledby": k,
|
|
90
|
-
"aria-busy": t ? "true" : void 0,
|
|
91
|
-
"aria-disabled": l || t ? "true" : void 0,
|
|
92
|
-
tabIndex: l || t ? -1 : R,
|
|
93
|
-
"data-oc-component": "button",
|
|
94
|
-
"data-oc-appearance": i,
|
|
95
|
-
"data-oc-variant": u,
|
|
96
|
-
"data-oc-resolved-variant": c,
|
|
97
|
-
"data-oc-size": f,
|
|
98
|
-
"data-oc-full-width": h ? "true" : void 0,
|
|
99
|
-
"data-oc-loading": t ? "true" : void 0,
|
|
100
|
-
"data-oc-icon-only": s ? "true" : void 0,
|
|
101
|
-
children: M
|
|
102
|
-
}
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
const j = B, {
|
|
106
|
-
type: O = "button",
|
|
107
|
-
onClick: V,
|
|
108
|
-
onKeyDown: z,
|
|
109
|
-
onMouseDown: q,
|
|
110
|
-
onPointerDown: F,
|
|
111
|
-
ref: _,
|
|
112
|
-
...g
|
|
113
|
-
} = j;
|
|
114
|
-
return /* @__PURE__ */ a(
|
|
115
|
-
"button",
|
|
47
|
+
return y !== void 0 ? /* @__PURE__ */ o(
|
|
48
|
+
V,
|
|
116
49
|
{
|
|
117
|
-
...
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
"aria-
|
|
124
|
-
"aria-
|
|
125
|
-
"aria-labelledby": k,
|
|
126
|
-
onClick: (o) => {
|
|
127
|
-
r(o) || V?.(o);
|
|
128
|
-
},
|
|
129
|
-
onKeyDown: (o) => {
|
|
130
|
-
(o.key === "Enter" || o.key === " ") && r(o) || z?.(o);
|
|
131
|
-
},
|
|
132
|
-
onMouseDown: (o) => {
|
|
133
|
-
r(o) || q?.(o);
|
|
134
|
-
},
|
|
135
|
-
onPointerDown: (o) => {
|
|
136
|
-
r(o) || F?.(o);
|
|
137
|
-
},
|
|
50
|
+
...N,
|
|
51
|
+
className: B,
|
|
52
|
+
style: v,
|
|
53
|
+
href: y,
|
|
54
|
+
disabled: h || a,
|
|
55
|
+
"aria-busy": a ? "true" : void 0,
|
|
56
|
+
"aria-label": b,
|
|
57
|
+
"aria-labelledby": f,
|
|
138
58
|
"data-oc-component": "button",
|
|
139
|
-
"data-oc-appearance":
|
|
140
|
-
"data-oc-variant":
|
|
141
|
-
"data-oc-resolved-variant":
|
|
142
|
-
"data-oc-size":
|
|
143
|
-
"data-oc-full-width":
|
|
144
|
-
"data-oc-loading":
|
|
145
|
-
"data-oc-icon-only":
|
|
146
|
-
children:
|
|
59
|
+
"data-oc-appearance": r,
|
|
60
|
+
"data-oc-variant": e,
|
|
61
|
+
"data-oc-resolved-variant": n,
|
|
62
|
+
"data-oc-size": l,
|
|
63
|
+
"data-oc-full-width": d ? "true" : void 0,
|
|
64
|
+
"data-oc-loading": a ? "true" : void 0,
|
|
65
|
+
"data-oc-icon-only": i ? "true" : void 0,
|
|
66
|
+
children: P
|
|
67
|
+
}
|
|
68
|
+
) : /* @__PURE__ */ o(
|
|
69
|
+
V,
|
|
70
|
+
{
|
|
71
|
+
...N,
|
|
72
|
+
className: B,
|
|
73
|
+
style: v,
|
|
74
|
+
disabled: h || a,
|
|
75
|
+
"aria-busy": a ? "true" : void 0,
|
|
76
|
+
"aria-label": b,
|
|
77
|
+
"aria-labelledby": f,
|
|
78
|
+
"data-oc-component": "button",
|
|
79
|
+
"data-oc-appearance": r,
|
|
80
|
+
"data-oc-variant": e,
|
|
81
|
+
"data-oc-resolved-variant": n,
|
|
82
|
+
"data-oc-size": l,
|
|
83
|
+
"data-oc-full-width": d ? "true" : void 0,
|
|
84
|
+
"data-oc-loading": a ? "true" : void 0,
|
|
85
|
+
"data-oc-icon-only": i ? "true" : void 0,
|
|
86
|
+
children: P
|
|
147
87
|
}
|
|
148
88
|
);
|
|
149
89
|
}
|
|
150
90
|
export {
|
|
151
|
-
|
|
91
|
+
H as default
|
|
152
92
|
};
|