@longline/aqua-ui 1.0.48 → 1.0.50
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/containers/Form/elements/BoxWrapper.js +1 -1
- package/inputs/Dropdown/Body.d.ts +2 -0
- package/inputs/Dropdown/Body.js +9 -3
- package/inputs/Dropdown/Dropdown.d.ts +4 -0
- package/inputs/Dropdown/Dropdown.js +1 -1
- package/map/layers/ParticlesLayer/ParticlesFragmentShader.d.ts +1 -1
- package/map/layers/ParticlesLayer/ParticlesFragmentShader.js +1 -1
- package/map/layers/ParticlesLayer/ParticlesLayer.d.ts +3 -2
- package/map/layers/ParticlesLayer/ParticlesLayer.js +11 -6
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ var BoxWrapperBase = function (props) {
|
|
|
31
31
|
React.createElement(HintBackground, null, props.hint)));
|
|
32
32
|
};
|
|
33
33
|
var HintBackground = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n bottom: 0;\n right: 0;\n height: 22px;\n border-bottom-left-radius: ", "px;\n border-bottom-right-radius: ", "px;\n"], ["\n position: absolute;\n left: 0;\n bottom: 0;\n right: 0;\n height: 22px;\n border-bottom-left-radius: ", "px;\n border-bottom-right-radius: ", "px;\n"])), function (p) { return p.theme.radius.normal; }, function (p) { return p.theme.radius.normal; });
|
|
34
|
-
var Control = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-top:
|
|
34
|
+
var Control = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-top: 23px;\n padding-bottom: 23px;\n"], ["\n display: flex;\n align-items: center;\n padding-top: 23px;\n padding-bottom: 23px;\n"])));
|
|
35
35
|
var BoxWrapper = styled(BoxWrapperBase)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n // Size:\n position: relative;\n box-sizing: border-box;\n margin-bottom: 8px;\n min-height: 80px;\n \n // Appearance:\n border-radius: ", "px;\n background-color: ", ";\n border: none;\n\n // Hint/error background:\n ", " {\n ", "\n }\n\n // Hover:\n &:hover {\n outline: solid 2px ", ";\n }\n\n &:focus-within {\n outline: solid 2px ", ";\n } \n\n ", " {\n position: absolute;\n left: 12px;\n right: 12px;\n top: 10px;\n color: ", ";\n }\n\n ", " {\n position: absolute;\n left: 12px;\n right: 12px;\n bottom: 2px;\n color: ", ";\n }\n\n // Error state:\n ", "\n\n // Disabled state:\n ", "\n\n // Ghost state:\n ", "\n\n // Fields may provide their weight in relative units to other fields.\n ", "\n"], ["\n // Size:\n position: relative;\n box-sizing: border-box;\n margin-bottom: 8px;\n min-height: 80px;\n \n // Appearance:\n border-radius: ", "px;\n background-color: ", ";\n border: none;\n\n // Hint/error background:\n ", " {\n ", "\n }\n\n // Hover:\n &:hover {\n outline: solid 2px ", ";\n }\n\n &:focus-within {\n outline: solid 2px ", ";\n } \n\n ", " {\n position: absolute;\n left: 12px;\n right: 12px;\n top: 10px;\n color: ", ";\n }\n\n ", " {\n position: absolute;\n left: 12px;\n right: 12px;\n bottom: 2px;\n color: ", ";\n }\n\n // Error state:\n ", "\n\n // Disabled state:\n ", "\n\n // Ghost state:\n ", "\n\n // Fields may provide their weight in relative units to other fields.\n ", "\n"])), function (p) { return p.theme.radius.normal; }, function (p) { return p.theme.colors.neutral[100]; }, HintBackground, function (p) { return !p.ghost && !p.disabled && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background: ", ";\n "], ["\n background: ", ";\n "])), p.error ? p.theme.colors.negative : p.theme.colors.neutral[95]); }, function (p) { return p.theme.colors.primary[2]; }, function (p) { return p.theme.colors.primary[1]; }, Label, function (p) { return p.theme.colors.primary[2]; }, Hint, function (p) { return p.error ? p.theme.colors.neutral[100] : p.theme.colors.primary[3]; }, function (p) { return p.error && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n outline: solid 2px ", ";\n &:hover, &:focus-within {\n outline: solid 2px ", ";\n }\n "], ["\n outline: solid 2px ", ";\n &:hover, &:focus-within {\n outline: solid 2px ", ";\n }\n "])), p.theme.colors.negative, p.theme.colors.negative); }, function (p) { return p.disabled && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n user-select: none;\n outline: solid 2px ", ";\n background-color: ", ";\n pointer-events: none;\n ", " {\n color: ", ";\n }\n ", " {\n color: ", ";\n }\n "], ["\n user-select: none;\n outline: solid 2px ", ";\n background-color: ", ";\n pointer-events: none;\n ", " {\n color: ", ";\n }\n ", " {\n color: ", ";\n }\n "])), p.theme.colors.primary[4], p.theme.colors.primary[4], Label, p.theme.colors.neutral[50], Hint, p.theme.colors.neutral[50]); }, function (p) { return p.ghost && css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n outline: dashed 1px ", ";\n background-color: transparent;\n pointer-events: none;\n\n ", " {\n color: transparent;\n text-shadow: 0 0 3px rgb(from ", " r g b / 50%);\n } \n ", " {\n color: transparent;\n text-shadow: 0 0 3px rgb(from ", " r g b / 50%);\n } \n "], ["\n outline: dashed 1px ", ";\n background-color: transparent;\n pointer-events: none;\n\n ", " {\n color: transparent;\n text-shadow: 0 0 3px rgb(from ", " r g b / 50%);\n } \n ", " {\n color: transparent;\n text-shadow: 0 0 3px rgb(from ", " r g b / 50%);\n } \n "])), p.theme.colors.primary[2], Label, function (p) { return p.theme.colors.primary[1]; }, Hint, function (p) { return p.theme.colors.primary[1]; }); }, function (p) { return p.weight && css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["flex: ", ""], ["flex: ", ""])), p.weight); });
|
|
36
36
|
export { BoxWrapper };
|
|
37
37
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
|
|
@@ -18,6 +18,8 @@ interface IProps {
|
|
|
18
18
|
search?: string;
|
|
19
19
|
/** If set, list items will be extra tall. */
|
|
20
20
|
tall?: boolean;
|
|
21
|
+
/** Minimum body width for narrow dropdowns. */
|
|
22
|
+
minBodyWidth?: number;
|
|
21
23
|
}
|
|
22
24
|
declare const Body: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<IProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
23
25
|
ref?: React.Ref<HTMLDivElement>;
|
package/inputs/Dropdown/Body.js
CHANGED
|
@@ -6,9 +6,15 @@ import * as React from 'react';
|
|
|
6
6
|
import styled, { css } from 'styled-components';
|
|
7
7
|
import { List } from '../../containers/List';
|
|
8
8
|
var BodyBase = React.forwardRef(function (props, ref) {
|
|
9
|
-
|
|
9
|
+
var wrapperRef = React.useRef(null);
|
|
10
|
+
// Determine if dropdown is on the left or right-hand side of the viewport:
|
|
11
|
+
var isRight = true;
|
|
12
|
+
if (wrapperRef.current) {
|
|
13
|
+
isRight = wrapperRef.current.getBoundingClientRect().left > window.innerWidth / 2;
|
|
14
|
+
}
|
|
15
|
+
return (React.createElement("div", { className: "".concat(props.className, " ").concat(isRight ? 'right' : ''), tabIndex: -1, ref: wrapperRef },
|
|
10
16
|
React.createElement(List, { tall: props.tall, maxItems: props.maxItems, contract: true, onSearch: props.onSearch, ref: ref }, props.children)));
|
|
11
17
|
});
|
|
12
|
-
var Body = styled(BodyBase)(
|
|
18
|
+
var Body = styled(BodyBase)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: absolute;\n z-index: 100;\n box-sizing: border-box;\n outline: none;\n visibility: ", ";\n font: ", ";\n\n // Width:\n ", "\n ", "\n \n // Transparent fill be placed over thick FieldWrapper's border.\n ", "\n\n // In case of minBodyWidth, left or right align the body depending\n // on where the Dropdown is in the viewport:\n ", "\n\n // Dropbox can open upwards or downwards. This affects its positioning \n // relative to the parent.\n // Transparent Dropdowns have more distance from the selector so that\n // they appear outside of the FieldWrapper.\n ", "\n ", "\n\n transition: opacity ", "ms ease-in-out,\n max-height 0ms linear ", "ms;\n max-height: 0;\n opacity: 0;\n ", "\n"], ["\n position: absolute;\n z-index: 100;\n box-sizing: border-box;\n outline: none;\n visibility: ", ";\n font: ", ";\n\n // Width:\n ", "\n ", "\n \n // Transparent fill be placed over thick FieldWrapper's border.\n ", "\n\n // In case of minBodyWidth, left or right align the body depending\n // on where the Dropdown is in the viewport:\n ", "\n\n // Dropbox can open upwards or downwards. This affects its positioning \n // relative to the parent.\n // Transparent Dropdowns have more distance from the selector so that\n // they appear outside of the FieldWrapper.\n ", "\n ", "\n\n transition: opacity ", "ms ease-in-out,\n max-height 0ms linear ", "ms;\n max-height: 0;\n opacity: 0;\n ", "\n"])), function (p) { return p.open ? 'visible' : 'hidden'; }, function (p) { return p.theme.font.bodyMedium; }, function (p) { return p.minBodyWidth && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n min-width: ", "px;\n "], ["\n min-width: ", "px;\n "])), p.minBodyWidth); }, function (p) { return !p.transparent && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["width: 100%;"], ["width: 100%;"]))); }, function (p) { return p.transparent && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["left: -2px; right: -2px;"], ["left: -2px; right: -2px;"]))); }, function (p) { return p.minBodyWidth && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n left: 0;\n right: auto;\n &.right {\n right: 0;\n left: auto;\n }\n "], ["\n left: 0;\n right: auto;\n &.right {\n right: 0;\n left: auto;\n }\n "]))); }, function (p) { return p.upwards && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n bottom: calc(100% + ", ");\n "], ["\n bottom: calc(100% + ", ");\n "])), p.transparent ? "30px" : "8px"); }, function (p) { return !p.upwards && css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n top: calc(100% + ", ");\n "], ["\n top: calc(100% + ", ");\n "])), p.transparent ? "30px" : "8px"); }, function (p) { return p.theme.animation.duration * 0; }, function (p) { return p.theme.animation.duration * 0; }, function (p) { return p.open && css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n transition: opacity ", "ms ease-in,\n max-height 0ms linear;\n max-height: 1000px;\n opacity: 1;\n "], ["\n transition: opacity ", "ms ease-in,\n max-height 0ms linear;\n max-height: 1000px;\n opacity: 1;\n "])), function (p) { return p.theme.animation.duration; }); });
|
|
13
19
|
export { Body };
|
|
14
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
20
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
|
|
@@ -90,6 +90,10 @@ interface IDropdownProps {
|
|
|
90
90
|
* If set, list items will be extra tall.
|
|
91
91
|
*/
|
|
92
92
|
tall?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* A minimum body width can be set for dropdowns that are very narrow.
|
|
95
|
+
*/
|
|
96
|
+
minBodyWidth?: number;
|
|
93
97
|
/**
|
|
94
98
|
* Fired when the Dropdown value changes.
|
|
95
99
|
*/
|
|
@@ -395,7 +395,7 @@ var DropdownBase = function (props) {
|
|
|
395
395
|
var children = getBodyChildren();
|
|
396
396
|
return (React.createElement("div", { className: props.className, tabIndex: props.disabled ? -1 : 0, ref: wrapperRef, onKeyDown: handleKeyDown, onClick: handleClickDropdown },
|
|
397
397
|
React.createElement(Selector, { open: open, error: props.error, disabled: props.disabled, upwards: upwards, transparent: props.transparent, ghost: props.ghost, multiple: props.multiple, onClick: handleSelectorClicked, onClear: (props.clearable && !showPlaceholder) ? handleClear : null, placeholder: showPlaceholder }, label),
|
|
398
|
-
React.createElement(Body, { ref: bodyRef, upwards: upwards, open: open, transparent: props.transparent, maxItems: props.maxItems, onSearch: props.onSearch ? handleSearch : null, search: search, tall: props.tall }, children)));
|
|
398
|
+
React.createElement(Body, { ref: bodyRef, upwards: upwards, open: open, transparent: props.transparent, maxItems: props.maxItems, onSearch: props.onSearch ? handleSearch : null, search: search, tall: props.tall, minBodyWidth: props.minBodyWidth }, children)));
|
|
399
399
|
};
|
|
400
400
|
var DropdownStyled = styled(DropdownBase)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n // Dropdown has a minimum width. \n width: 250px;\n // A fluid Dropdown occupies full horizontal width. \n ", " \n outline: none;\n user-select: none;\n font: ", ";\n color: ", ";\n"], ["\n position: relative;\n // Dropdown has a minimum width. \n width: 250px;\n // A fluid Dropdown occupies full horizontal width. \n ", " \n outline: none;\n user-select: none;\n font: ", ";\n color: ", ";\n"
|
|
401
401
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const ParticlesFragmentShader = " \n #ifdef GL_ES\n precision mediump float;\n #endif\n\n
|
|
1
|
+
declare const ParticlesFragmentShader = " \n #ifdef GL_ES\n precision mediump float;\n #endif\n\n varying vec4 v_color;\n\n void main() {\n gl_FragColor = v_color;\n }\n";
|
|
2
2
|
export { ParticlesFragmentShader };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ParticlesFragmentShader = /*glsl*/ " \n #ifdef GL_ES\n precision mediump float;\n #endif\n\n
|
|
1
|
+
var ParticlesFragmentShader = /*glsl*/ " \n #ifdef GL_ES\n precision mediump float;\n #endif\n\n varying vec4 v_color;\n\n void main() {\n gl_FragColor = v_color;\n }\n";
|
|
2
2
|
export { ParticlesFragmentShader };
|
|
@@ -26,8 +26,9 @@ interface IProps {
|
|
|
26
26
|
*/
|
|
27
27
|
density?: number;
|
|
28
28
|
/**
|
|
29
|
-
* Animation delay factor.
|
|
30
|
-
*
|
|
29
|
+
* Animation delay factor. Animation step is advanced only every `delay` animation frames.
|
|
30
|
+
* A `delay` of `0` means no delay; a `delay` of `1` means every odd frame is skipped.
|
|
31
|
+
* @default 0
|
|
31
32
|
*/
|
|
32
33
|
delay?: number;
|
|
33
34
|
/**
|
|
@@ -59,24 +59,29 @@ var ParticlesLayerBase = function (props) {
|
|
|
59
59
|
var fboU = React.useRef(null);
|
|
60
60
|
var fboV = React.useRef(null);
|
|
61
61
|
var frame = React.useRef(0);
|
|
62
|
+
var skip = React.useRef(0);
|
|
62
63
|
// requestAnimationFrame ID:
|
|
63
64
|
var animation = React.useRef(null);
|
|
64
65
|
// Current time is used to force component rerender when props change:
|
|
65
66
|
var _a = React.useState(0), time = _a[0], setTime = _a[1];
|
|
66
67
|
// Force component rerender when props change:
|
|
67
68
|
React.useEffect(function () {
|
|
68
|
-
setTime(Date.now());
|
|
69
69
|
window.cancelAnimationFrame(animation.current);
|
|
70
|
+
setTime(Date.now());
|
|
70
71
|
frame.current = 0;
|
|
72
|
+
skip.current = 0;
|
|
71
73
|
animation.current = window.requestAnimationFrame(draw);
|
|
72
74
|
}, [props.data, props.gradientStops, props.particles, props.density, props.delay, props.pointSize]);
|
|
73
75
|
var draw = function () {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
skip.current++;
|
|
77
|
+
if (skip.current >= props.delay) {
|
|
78
|
+
skip.current = 0;
|
|
79
|
+
frame.current = (frame.current + 1) % props.particles;
|
|
80
|
+
map.current.triggerRepaint();
|
|
81
|
+
}
|
|
76
82
|
animation.current = window.requestAnimationFrame(draw);
|
|
77
83
|
};
|
|
78
84
|
React.useEffect(function () {
|
|
79
|
-
animation.current = window.requestAnimationFrame(draw);
|
|
80
85
|
return function () {
|
|
81
86
|
window.cancelAnimationFrame(animation.current);
|
|
82
87
|
};
|
|
@@ -265,7 +270,7 @@ var ParticlesLayerBase = function (props) {
|
|
|
265
270
|
var colors = props.gradientStops.map(function (s) { return colorToRGBA(s.color); }).flat();
|
|
266
271
|
gl.uniform4fv(gl.getUniformLocation(particlesProgram.current, 'u_gradientColors'), new Float32Array(colors));
|
|
267
272
|
// Current animation frame:
|
|
268
|
-
gl.uniform1i(gl.getUniformLocation(particlesProgram.current, "u_frame"), Math.floor(frame.current
|
|
273
|
+
gl.uniform1i(gl.getUniformLocation(particlesProgram.current, "u_frame"), Math.floor(frame.current));
|
|
269
274
|
// Number of point instances - this is the length of each curve:
|
|
270
275
|
gl.uniform1i(gl.getUniformLocation(particlesProgram.current, "u_num_instances"), props.particles);
|
|
271
276
|
// Size of points to be drawn (in pixels).
|
|
@@ -326,7 +331,7 @@ var ParticlesLayerBase = function (props) {
|
|
|
326
331
|
type: "custom", beforeId: "overlay", key: time, onAdd: onAddLayer, render: function (gl, matrix) { return onRender(gl, matrix, map.current.getContainer().clientWidth, map.current.getContainer().clientHeight); } }));
|
|
327
332
|
};
|
|
328
333
|
var ParticlesLayer = function (_a) {
|
|
329
|
-
var _b = _a.particles, particles = _b === void 0 ? 80 : _b, _c = _a.density, density = _c === void 0 ? 40 : _c, _d = _a.delay, delay = _d === void 0 ?
|
|
334
|
+
var _b = _a.particles, particles = _b === void 0 ? 80 : _b, _c = _a.density, density = _c === void 0 ? 40 : _c, _d = _a.delay, delay = _d === void 0 ? 0 : _d, _e = _a.gradientStops, gradientStops = _e === void 0 ? [
|
|
330
335
|
{ pos: 0.0, color: '#ffffffff' },
|
|
331
336
|
{ pos: 0.25, color: '#5c5cffff' },
|
|
332
337
|
{ pos: 0.5, color: '#5c5cff00' },
|