@qoretechnologies/reqore 0.76.3 → 0.77.0-pr.680.g682919a
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/ButtonRail/index.d.ts +68 -0
- package/dist/components/ButtonRail/index.d.ts.map +1 -0
- package/dist/components/ButtonRail/index.js +263 -0
- package/dist/components/ButtonRail/index.js.map +1 -0
- package/dist/components/Effect/index.d.ts +44 -8
- package/dist/components/Effect/index.d.ts.map +1 -1
- package/dist/components/Effect/index.js +110 -51
- package/dist/components/Effect/index.js.map +1 -1
- package/dist/components/FadeScroller/index.d.ts +29 -0
- package/dist/components/FadeScroller/index.d.ts.map +1 -1
- package/dist/components/FadeScroller/index.js +120 -14
- package/dist/components/FadeScroller/index.js.map +1 -1
- package/dist/components/NavRail/index.d.ts.map +1 -1
- package/dist/components/NavRail/index.js +16 -41
- package/dist/components/NavRail/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/tests.json +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TSizes } from '../../constants/sizes';
|
|
3
|
+
import { TReqorePadded } from '../../helpers/utils';
|
|
4
|
+
import { IReqoreDisabled, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreEffect, IWithReqoreFixed, IWithReqoreFlat, IWithReqoreFluid, IWithReqoreMinimal, IWithReqoreSize, IWithReqoreTooltip, IWithReqoreTransparent } from '../../types/global';
|
|
5
|
+
import { IReqoreButtonProps } from '../Button';
|
|
6
|
+
export interface IReqoreButtonRailProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>, IReqoreDisabled, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreEffect, IWithReqoreFixed, IWithReqoreFlat, IWithReqoreFluid, IWithReqoreMinimal, IWithReqoreSize, IWithReqoreTooltip, IWithReqoreTransparent {
|
|
7
|
+
/**
|
|
8
|
+
* Buttons declared as data — each entry is a `ReqoreButton`'s own props
|
|
9
|
+
* (`label` is its text; `id`, when set, is also its React key). Rendered
|
|
10
|
+
* BEFORE `children`; both forms can be mixed and neither is dropped.
|
|
11
|
+
*/
|
|
12
|
+
items?: IReqoreButtonProps[];
|
|
13
|
+
/** Lay the buttons out in a column instead of a row; the buttons share one width. */
|
|
14
|
+
vertical?: boolean;
|
|
15
|
+
/** Space between the buttons. Defaults to one step below `size`. */
|
|
16
|
+
gapSize?: TSizes;
|
|
17
|
+
/**
|
|
18
|
+
* Default props for every button in the rail (items and element children).
|
|
19
|
+
* A button's own props always win. The rail already defaults its buttons to
|
|
20
|
+
* `flat` (the rail is their surface) and to `pill` while the rail is a pill.
|
|
21
|
+
*/
|
|
22
|
+
buttonProps?: Partial<IReqoreButtonProps>;
|
|
23
|
+
/**
|
|
24
|
+
* Round the rail. `true` (default) is a pill concentric with its buttons —
|
|
25
|
+
* which default to `pill` so the curves nest; `radiusSize` swaps the pill for
|
|
26
|
+
* a fixed radius;
|
|
27
|
+
* `false` squares the rail and its buttons.
|
|
28
|
+
*/
|
|
29
|
+
rounded?: boolean;
|
|
30
|
+
/** A fixed corner radius from the pronounced `radiusSize` scale, instead of a pill. */
|
|
31
|
+
radiusSize?: TSizes;
|
|
32
|
+
/** Inner padding around the buttons. Default `true`. */
|
|
33
|
+
padded?: TReqorePadded;
|
|
34
|
+
/** Size the padding follows. Defaults to `size`. */
|
|
35
|
+
paddingSize?: TSizes;
|
|
36
|
+
/**
|
|
37
|
+
* Subtle 3D inset highlight. Only renders on a `flat` rail — a border already
|
|
38
|
+
* gives the surface its edge.
|
|
39
|
+
*/
|
|
40
|
+
raised?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The floating lift — a tight contact shadow plus a wide ambient one. Default
|
|
43
|
+
* `true`; never painted on a `transparent` / `minimal` rail, which has no
|
|
44
|
+
* surface to lift.
|
|
45
|
+
*/
|
|
46
|
+
elevated?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Opacity of the rail's surface colour (not of its buttons). Below `1` the
|
|
49
|
+
* surface is frosted: whatever is behind it is blurred by `blur`.
|
|
50
|
+
* @default 0.78
|
|
51
|
+
*/
|
|
52
|
+
opacity?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Backdrop blur in px behind a translucent surface (`opacity` < 1). `0` turns
|
|
55
|
+
* the frost off.
|
|
56
|
+
* @default 14
|
|
57
|
+
*/
|
|
58
|
+
blur?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Fold the buttons that do not fit into an overflow menu, exactly as a
|
|
61
|
+
* `responsive` `ReqoreControlGroup` does. Horizontal rails only.
|
|
62
|
+
*/
|
|
63
|
+
responsive?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export declare const StyledButtonRail: any;
|
|
66
|
+
export declare const ReqoreButtonRail: React.MemoExoticComponent<(props: IReqoreButtonRailProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null>;
|
|
67
|
+
export default ReqoreButtonRail;
|
|
68
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonRail/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAItE,OAAO,EAAgD,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK7F,OAAO,EAAkC,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpF,OAAO,EACL,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAqB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK7D,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,sBAAsB;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,gBAAgB,KAkD5B,CAAC;AA6BF,eAAO,MAAM,gBAAgB,+HAwN5B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
+
var ownKeys = function(o) {
|
|
35
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
+
var ar = [];
|
|
37
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
return ownKeys(o);
|
|
41
|
+
};
|
|
42
|
+
return function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
+
__setModuleDefault(result, mod);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
51
|
+
var t = {};
|
|
52
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
53
|
+
t[p] = s[p];
|
|
54
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
55
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
56
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
57
|
+
t[p[i]] = s[p[i]];
|
|
58
|
+
}
|
|
59
|
+
return t;
|
|
60
|
+
};
|
|
61
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
62
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
63
|
+
if (ar || !(i in from)) {
|
|
64
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
65
|
+
ar[i] = from[i];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
69
|
+
};
|
|
70
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
71
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
72
|
+
};
|
|
73
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
74
|
+
exports.ReqoreButtonRail = exports.StyledButtonRail = void 0;
|
|
75
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
76
|
+
var polished_1 = require("polished");
|
|
77
|
+
var react_1 = __importStar(require("react"));
|
|
78
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
79
|
+
var use_context_selector_1 = require("use-context-selector");
|
|
80
|
+
var colors_1 = require("../../constants/colors");
|
|
81
|
+
var sizes_1 = require("../../constants/sizes");
|
|
82
|
+
var ThemeProvider_1 = __importDefault(require("../../containers/ThemeProvider"));
|
|
83
|
+
var CustomThemeContext_1 = __importDefault(require("../../context/CustomThemeContext"));
|
|
84
|
+
var colors_2 = require("../../helpers/colors");
|
|
85
|
+
var utils_1 = require("../../helpers/utils");
|
|
86
|
+
var useCloneThroughFragments_1 = require("../../hooks/useCloneThroughFragments");
|
|
87
|
+
var useTheme_1 = require("../../hooks/useTheme");
|
|
88
|
+
var styles_1 = require("../../styles");
|
|
89
|
+
var Button_1 = __importDefault(require("../Button"));
|
|
90
|
+
var ControlGroup_1 = __importDefault(require("../ControlGroup"));
|
|
91
|
+
var Effect_1 = require("../Effect");
|
|
92
|
+
var TooltipComponent_1 = require("../TooltipComponent");
|
|
93
|
+
/** The floating lift: contact shadow + ambient shadow, lighter on a light theme. */
|
|
94
|
+
var getLiftShadows = function (theme) {
|
|
95
|
+
var isLight = (0, colors_2.shouldDarken)(theme.main);
|
|
96
|
+
return [
|
|
97
|
+
"0 2px 6px -1px ".concat((0, polished_1.rgba)(colors_1.Colors.DARK, isLight ? 0.12 : 0.4)),
|
|
98
|
+
"0 14px 40px -12px ".concat((0, polished_1.rgba)(colors_1.Colors.DARK, isLight ? 0.22 : 0.6)),
|
|
99
|
+
];
|
|
100
|
+
};
|
|
101
|
+
exports.StyledButtonRail = (0, styled_components_1.default)(Effect_1.StyledEffect)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: ", ";\n flex-direction: ", ";\n flex-wrap: nowrap;\n flex: ", ";\n width: ", ";\n max-width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: ", ";\n border-radius: ", ";\n transition: background-color 0.16s ease, border-color 0.16s ease;\n\n background-color: ", ";\n\n border: ", ";\n\n ", "\n\n ", "\n"], ["\n display: ", ";\n flex-direction: ", ";\n flex-wrap: nowrap;\n flex: ", ";\n width: ", ";\n max-width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: ", ";\n border-radius: ", ";\n transition: background-color 0.16s ease, border-color 0.16s ease;\n\n background-color: ", ";\n\n border: ", ";\n\n ", "\n\n ", "\n"])), function (_a) {
|
|
102
|
+
var $fluid = _a.$fluid;
|
|
103
|
+
return ($fluid ? 'flex' : 'inline-flex');
|
|
104
|
+
}, function (_a) {
|
|
105
|
+
var $vertical = _a.$vertical;
|
|
106
|
+
return ($vertical ? 'column' : 'row');
|
|
107
|
+
}, function (_a) {
|
|
108
|
+
var $fluid = _a.$fluid, $fixed = _a.$fixed;
|
|
109
|
+
return ($fixed || !$fluid ? '0 0 auto' : '1 1 auto');
|
|
110
|
+
}, function (_a) {
|
|
111
|
+
var $fluid = _a.$fluid, $fixed = _a.$fixed;
|
|
112
|
+
return ($fluid && !$fixed ? '100%' : 'fit-content');
|
|
113
|
+
}, function (_a) {
|
|
114
|
+
var $padding = _a.$padding;
|
|
115
|
+
return $padding;
|
|
116
|
+
}, function (_a) {
|
|
117
|
+
var $radius = _a.$radius;
|
|
118
|
+
return $radius;
|
|
119
|
+
}, function (_a) {
|
|
120
|
+
var theme = _a.theme, $intent = _a.$intent, $transparent = _a.$transparent, $opacity = _a.$opacity;
|
|
121
|
+
if ($transparent) {
|
|
122
|
+
return 'transparent';
|
|
123
|
+
}
|
|
124
|
+
var base = (0, colors_2.getMainBackgroundColor)(theme);
|
|
125
|
+
var intentColor = $intent ? theme.intents[$intent] : undefined;
|
|
126
|
+
return (0, polished_1.rgba)(intentColor ? (0, polished_1.mix)(0.16, intentColor, base) : base, $opacity);
|
|
127
|
+
}, function (_a) {
|
|
128
|
+
var theme = _a.theme, $intent = _a.$intent, $flat = _a.$flat;
|
|
129
|
+
return $flat
|
|
130
|
+
? 0
|
|
131
|
+
: "1px solid ".concat((0, colors_2.changeLightness)(($intent && theme.intents[$intent]) || (0, colors_2.getMainBackgroundColor)(theme), 0.08));
|
|
132
|
+
}, function (_a) {
|
|
133
|
+
var $blur = _a.$blur, $opacity = _a.$opacity, $transparent = _a.$transparent;
|
|
134
|
+
return !$transparent &&
|
|
135
|
+
$blur > 0 &&
|
|
136
|
+
$opacity < 1 && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n backdrop-filter: saturate(140%) blur(", "px);\n -webkit-backdrop-filter: saturate(140%) blur(", "px);\n "], ["\n backdrop-filter: saturate(140%) blur(", "px);\n -webkit-backdrop-filter: saturate(140%) blur(", "px);\n "])), $blur, $blur);
|
|
137
|
+
}, function (_a) {
|
|
138
|
+
var theme = _a.theme, effect = _a.effect, $elevated = _a.$elevated, $raised = _a.$raised, $flat = _a.$flat;
|
|
139
|
+
var shadows = $elevated ? getLiftShadows(theme) : [];
|
|
140
|
+
if ($raised && $flat) {
|
|
141
|
+
shadows.push(styles_1.RAISED_SHADOWS);
|
|
142
|
+
}
|
|
143
|
+
return shadows.length ? (0, Effect_1.withGlow)(theme, effect, shadows.join(', ')) : undefined;
|
|
144
|
+
});
|
|
145
|
+
/** What arrow-key navigation may land on: enabled, tabbable controls. */
|
|
146
|
+
var FOCUSABLE_SELECTOR = [
|
|
147
|
+
'button:not([disabled])',
|
|
148
|
+
'a[href]',
|
|
149
|
+
'input:not([disabled])',
|
|
150
|
+
'select:not([disabled])',
|
|
151
|
+
'textarea:not([disabled])',
|
|
152
|
+
'[tabindex]',
|
|
153
|
+
].join(', ');
|
|
154
|
+
/** Keys a text control needs for its own caret; the rail leaves them alone. */
|
|
155
|
+
var isTextEntry = function (element) {
|
|
156
|
+
return element.isContentEditable ||
|
|
157
|
+
element.tagName === 'TEXTAREA' ||
|
|
158
|
+
element.tagName === 'SELECT' ||
|
|
159
|
+
(element.tagName === 'INPUT' &&
|
|
160
|
+
!['button', 'checkbox', 'radio', 'submit', 'reset'].includes(element.type));
|
|
161
|
+
};
|
|
162
|
+
/** Drops keys whose value is `undefined` — an absent prop, not an undefined one
|
|
163
|
+
* (see the `ReqoreControlGroup` entry in COMPONENTS.md for why it matters). */
|
|
164
|
+
var definedOnly = function (props) {
|
|
165
|
+
return Object.fromEntries(Object.entries(props).filter(function (_a) {
|
|
166
|
+
var value = _a[1];
|
|
167
|
+
return value !== undefined;
|
|
168
|
+
}));
|
|
169
|
+
};
|
|
170
|
+
exports.ReqoreButtonRail = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {
|
|
171
|
+
var children = _a.children, items = _a.items, vertical = _a.vertical, _b = _a.size, size = _b === void 0 ? 'normal' : _b, gapSize = _a.gapSize, buttonProps = _a.buttonProps, intent = _a.intent, customTheme = _a.customTheme, inheritCustomTheme = _a.inheritCustomTheme, _c = _a.flat, flat = _c === void 0 ? false : _c, minimal = _a.minimal, transparent = _a.transparent, raised = _a.raised, _d = _a.elevated, elevated = _d === void 0 ? true : _d, _e = _a.rounded, rounded = _e === void 0 ? true : _e, radiusSize = _a.radiusSize, _f = _a.padded, padded = _f === void 0 ? true : _f, paddingSize = _a.paddingSize, _g = _a.opacity, opacity = _g === void 0 ? 0.78 : _g, _h = _a.blur, blur = _h === void 0 ? 14 : _h, effect = _a.effect, fluid = _a.fluid, fixed = _a.fixed, disabled = _a.disabled, tooltip = _a.tooltip, responsive = _a.responsive, className = _a.className, onKeyDown = _a.onKeyDown, rest = __rest(_a, ["children", "items", "vertical", "size", "gapSize", "buttonProps", "intent", "customTheme", "inheritCustomTheme", "flat", "minimal", "transparent", "raised", "elevated", "rounded", "radiusSize", "padded", "paddingSize", "opacity", "blur", "effect", "fluid", "fixed", "disabled", "tooltip", "responsive", "className", "onKeyDown"]);
|
|
172
|
+
var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme, undefined, undefined, inheritCustomTheme);
|
|
173
|
+
// The provider below re-publishes the custom theme for the buttons. It must
|
|
174
|
+
// carry an INHERITED one too — publishing `undefined` would cut the buttons
|
|
175
|
+
// off from a theme set further up the tree.
|
|
176
|
+
var parentCustomTheme = (0, use_context_selector_1.useContext)(CustomThemeContext_1.default);
|
|
177
|
+
var cascadedCustomTheme = customTheme !== null && customTheme !== void 0 ? customTheme : (inheritCustomTheme === false ? undefined : parentCustomTheme);
|
|
178
|
+
var isTransparent = !!(transparent || minimal);
|
|
179
|
+
var isFlat = !!(flat || minimal);
|
|
180
|
+
var isPill = rounded !== false && !radiusSize;
|
|
181
|
+
var resolvedGapSize = gapSize !== null && gapSize !== void 0 ? gapSize : (0, utils_1.getOneLessSize)(size);
|
|
182
|
+
// The pill is concentric with its pill buttons — half a button plus the
|
|
183
|
+
// padding around it — rather than `9999px`. Along a row that is the same
|
|
184
|
+
// thing (half the rail's height); down a column of labelled buttons a
|
|
185
|
+
// `9999px` radius would curve the ends into the buttons themselves.
|
|
186
|
+
var radius = (0, react_1.useMemo)(function () {
|
|
187
|
+
if (rounded === false)
|
|
188
|
+
return '0';
|
|
189
|
+
if (radiusSize)
|
|
190
|
+
return "".concat((0, sizes_1.resolveRadius)(size, radiusSize), "px");
|
|
191
|
+
var verticalPadding = padded === false || padded === 'horizontal'
|
|
192
|
+
? 0
|
|
193
|
+
: sizes_1.PADDING_FROM_SIZE[paddingSize !== null && paddingSize !== void 0 ? paddingSize : size] * 0.75;
|
|
194
|
+
return "".concat(sizes_1.SIZE_TO_PX[size] / 2 + verticalPadding, "px");
|
|
195
|
+
}, [rounded, radiusSize, size, padded, paddingSize]);
|
|
196
|
+
var padding = (0, react_1.useMemo)(function () {
|
|
197
|
+
return (0, utils_1.resolvePadding)({
|
|
198
|
+
padded: padded,
|
|
199
|
+
paddingSize: paddingSize !== null && paddingSize !== void 0 ? paddingSize : size,
|
|
200
|
+
verticalMultiplier: 0.75,
|
|
201
|
+
horizontalMultiplier: 0.75,
|
|
202
|
+
});
|
|
203
|
+
}, [padded, paddingSize, size]);
|
|
204
|
+
// What every button in the rail starts from; its own props win.
|
|
205
|
+
var childDefaults = (0, react_1.useMemo)(function () {
|
|
206
|
+
return definedOnly(__assign({ flat: true, pill: isPill || undefined, rounded: rounded === false ? false : undefined, disabled: disabled || undefined }, buttonProps));
|
|
207
|
+
}, [isPill, rounded, disabled, buttonProps]);
|
|
208
|
+
var clone = (0, useCloneThroughFragments_1.useCloneThroughFragments)(function (props, _index, _realIndex, childType) {
|
|
209
|
+
return typeof childType === 'string' ? props : __assign(__assign({}, childDefaults), definedOnly(props));
|
|
210
|
+
}, [childDefaults]).clone;
|
|
211
|
+
// One flat list: a `responsive` group folds by slicing its children, so
|
|
212
|
+
// the items and the element children must be siblings, not two arrays.
|
|
213
|
+
var content = (0, react_1.useMemo)(function () { return __spreadArray(__spreadArray([], react_1.default.Children.toArray(clone(items === null || items === void 0 ? void 0 : items.map(function (item, index) {
|
|
214
|
+
var _a;
|
|
215
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.default, __assign({}, item), "item-".concat((_a = item.id) !== null && _a !== void 0 ? _a : index)));
|
|
216
|
+
}))), true), react_1.default.Children.toArray(clone(children)), true); }, [items, children, clone]);
|
|
217
|
+
var handleKeyDown = (0, react_1.useCallback)(function (event) {
|
|
218
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
219
|
+
var target = event.target;
|
|
220
|
+
var rail = event.currentTarget;
|
|
221
|
+
// A key pressed inside a portal (a popover a button opened) bubbles
|
|
222
|
+
// through the React tree to here; it is not the rail's to handle.
|
|
223
|
+
if (event.defaultPrevented || !rail.contains(target) || isTextEntry(target)) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
var previousKey = vertical ? 'ArrowUp' : 'ArrowLeft';
|
|
227
|
+
var nextKey = vertical ? 'ArrowDown' : 'ArrowRight';
|
|
228
|
+
if (![previousKey, nextKey, 'Home', 'End'].includes(event.key)) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
var focusables = Array.from(rail.querySelectorAll(FOCUSABLE_SELECTOR)).filter(function (element) { return element.tabIndex >= 0 && !element.closest('[aria-hidden="true"]'); });
|
|
232
|
+
if (!focusables.length) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
var current = focusables.findIndex(function (element) { return element.contains(target); });
|
|
236
|
+
var next;
|
|
237
|
+
switch (event.key) {
|
|
238
|
+
case 'Home':
|
|
239
|
+
next = 0;
|
|
240
|
+
break;
|
|
241
|
+
case 'End':
|
|
242
|
+
next = focusables.length - 1;
|
|
243
|
+
break;
|
|
244
|
+
case nextKey:
|
|
245
|
+
next = current === -1 ? 0 : (current + 1) % focusables.length;
|
|
246
|
+
break;
|
|
247
|
+
default:
|
|
248
|
+
next =
|
|
249
|
+
current === -1
|
|
250
|
+
? focusables.length - 1
|
|
251
|
+
: (current - 1 + focusables.length) % focusables.length;
|
|
252
|
+
}
|
|
253
|
+
event.preventDefault();
|
|
254
|
+
focusables[next].focus();
|
|
255
|
+
}, [onKeyDown, vertical]);
|
|
256
|
+
return ((0, jsx_runtime_1.jsx)(ThemeProvider_1.default, { theme: theme, customTheme: cascadedCustomTheme, children: (0, jsx_runtime_1.jsx)(TooltipComponent_1.ReqoreTooltipComponent, __assign({ role: 'toolbar', "aria-orientation": vertical ? 'vertical' : 'horizontal', "aria-disabled": disabled || undefined }, rest, { as: 'div', ref: ref, Component: exports.StyledButtonRail, tooltip: tooltip, theme: theme, effect: effect, onKeyDown: handleKeyDown, "$intent": intent, "$flat": isFlat, "$transparent": isTransparent, "$raised": !!raised, "$elevated": elevated && !isTransparent, "$fluid": fluid, "$fixed": fixed, "$vertical": vertical, "$padding": padding, "$radius": radius, "$opacity": opacity, "$blur": blur, className: "".concat(className || '', " reqore-button-rail"), children: (0, jsx_runtime_1.jsx)(ControlGroup_1.default, { className: 'reqore-button-rail-group', vertical: vertical, size: size, gapSize: resolvedGapSize, intent: intent, customTheme: customTheme, minimal: minimal,
|
|
257
|
+
// A column of buttons shares one width — the widest — so the rail
|
|
258
|
+
// reads as one control rather than a ragged stack.
|
|
259
|
+
fluid: fluid || vertical, fixed: fixed, responsive: responsive && !vertical, overflowButtonProps: childDefaults, style: responsive && !vertical ? { flex: '1 1 auto', minWidth: 0 } : undefined, children: content }) })) }));
|
|
260
|
+
}));
|
|
261
|
+
exports.default = exports.ReqoreButtonRail;
|
|
262
|
+
var templateObject_1, templateObject_2;
|
|
263
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ButtonRail/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -73,9 +73,31 @@ export interface IReqoreEffectGradient {
|
|
|
73
73
|
colors: TReqoreEffectGradientColors;
|
|
74
74
|
direction?: string;
|
|
75
75
|
borderColor?: TReqoreEffectColor;
|
|
76
|
+
/**
|
|
77
|
+
* Paint the gradient on the BORDER only and fill the surface with this colour
|
|
78
|
+
* instead — a gradient ring around a plain surface (an "AI is working" rail,
|
|
79
|
+
* a highlighted card). Only honoured on the first gradient, which is the one
|
|
80
|
+
* that draws the border, and only where there is a border to draw on (not on
|
|
81
|
+
* text, and not when `borderColor` is set). The readable text colour follows
|
|
82
|
+
* the surface; `animate` still flows the ring. The colour may carry an alpha
|
|
83
|
+
* (`'main:darken:1:0.9'`) for a translucent surface.
|
|
84
|
+
*/
|
|
85
|
+
surface?: TReqoreEffectColor;
|
|
76
86
|
animate?: TReqoreEffectGradientAnimationTrigger;
|
|
77
87
|
animationSpeed?: 1 | 2 | 3 | 4 | 5;
|
|
78
88
|
}
|
|
89
|
+
export interface IReqoreEffectGlow {
|
|
90
|
+
size?: number;
|
|
91
|
+
color: TReqoreEffectColor;
|
|
92
|
+
inset?: boolean;
|
|
93
|
+
blur?: number;
|
|
94
|
+
opacity?: number;
|
|
95
|
+
/** Horizontal offset in px (a non-text glow). Default 0: centred. */
|
|
96
|
+
x?: number;
|
|
97
|
+
/** Vertical offset in px (a non-text glow). Default 0: centred. */
|
|
98
|
+
y?: number;
|
|
99
|
+
when?: 'always' | 'hover' | 'focus' | 'active';
|
|
100
|
+
}
|
|
79
101
|
export interface IReqoreEffect extends IReqoreEffectFilters {
|
|
80
102
|
/**
|
|
81
103
|
* Background gradient applied to the element. Accepts either a single gradient
|
|
@@ -125,14 +147,15 @@ export interface IReqoreEffect extends IReqoreEffectFilters {
|
|
|
125
147
|
* wrong.
|
|
126
148
|
*/
|
|
127
149
|
borderStyle?: 'solid' | 'dashed' | 'dotted';
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
150
|
+
/**
|
|
151
|
+
* A glow around the element — or a list of them, painted together (the first
|
|
152
|
+
* is on top). A list is how a surface gets a two-tone glow: one colour to the
|
|
153
|
+
* left (`x: -14`), another to the right (`x: 14`). The trigger (`when`) is the
|
|
154
|
+
* FIRST glow's; a text glow only paints the first. Because it may be a list,
|
|
155
|
+
* code that reads a glow back must not reach into `effect.glow.color`
|
|
156
|
+
* directly — use `getPrimaryGlow(effect.glow)` / `normalizeGlows(effect.glow)`.
|
|
157
|
+
*/
|
|
158
|
+
glow?: IReqoreEffectGlow | IReqoreEffectGlow[];
|
|
136
159
|
frost?: boolean | {
|
|
137
160
|
color?: TReqoreEffectColor;
|
|
138
161
|
opacity?: number;
|
|
@@ -171,6 +194,19 @@ export declare const patchPrimaryGradient: (gradient: IReqoreEffectGradient | IR
|
|
|
171
194
|
* applies here as it does to a text glow.
|
|
172
195
|
*/
|
|
173
196
|
export declare const getGlowBoxShadow: (theme: IReqoreTheme, glow: NonNullable<IReqoreEffect["glow"]>) => string;
|
|
197
|
+
/** Every glow in `effect.glow`, whether it was given as one or as a list. */
|
|
198
|
+
export declare const normalizeGlows: (glow?: IReqoreEffectGlow | IReqoreEffectGlow[]) => IReqoreEffectGlow[];
|
|
199
|
+
/** The first glow: the one whose `when` triggers the list, and the one a text glow paints. */
|
|
200
|
+
export declare const getPrimaryGlow: (glow?: IReqoreEffectGlow | IReqoreEffectGlow[]) => IReqoreEffectGlow | undefined;
|
|
201
|
+
/**
|
|
202
|
+
* `box-shadow` rules for a surface that paints shadow layers of its own (a
|
|
203
|
+
* raised highlight, an inset ring, a floating lift) AND may carry an effect
|
|
204
|
+
* glow. `StyledEffect` paints the glow as a `box-shadow` too, so the surface's
|
|
205
|
+
* later declaration would win and the glow would never show — the two are
|
|
206
|
+
* composed into one declaration instead, under the glow's own trigger state
|
|
207
|
+
* when it has one. Shared by `ReqoreNavRail` and `ReqoreButtonRail`.
|
|
208
|
+
*/
|
|
209
|
+
export declare const withGlow: (theme: IReqoreTheme, effect: IReqoreEffect | undefined, own: string) => any;
|
|
174
210
|
export declare const StyledEffect: any;
|
|
175
211
|
export declare const StyledTextEffect: any;
|
|
176
212
|
export declare const ReqoreEffect: ({ children, ...rest }: IReqoreTextEffectProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Effect/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Effect/index.tsx"],"names":[],"mappings":"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"}
|