@bundle-stats/ui 4.9.3-beta.1 → 4.10.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ui/button/button.js +6 -2
- package/lib/ui/button/button.js.map +1 -1
- package/lib/ui/button/button.module.css +30 -1
- package/lib/ui/control-group/control-group.js +16 -0
- package/lib/ui/control-group/control-group.js.map +1 -0
- package/lib/ui/control-group/control-group.module.css +23 -0
- package/lib/ui/control-group/index.js +18 -0
- package/lib/ui/control-group/index.js.map +1 -0
- package/lib/ui/dropdown/dropdown.module.css +2 -2
- package/lib/ui/index.js +3 -1
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/input-search/input-search.js +1 -2
- package/lib/ui/input-search/input-search.js.map +1 -1
- package/lib/ui/input-search/input-search.module.css +1 -7
- package/lib-esm/ui/button/button.js +6 -2
- package/lib-esm/ui/button/button.js.map +1 -1
- package/lib-esm/ui/button/button.module.css +30 -1
- package/lib-esm/ui/control-group/control-group.js +9 -0
- package/lib-esm/ui/control-group/control-group.js.map +1 -0
- package/lib-esm/ui/control-group/control-group.module.css +23 -0
- package/lib-esm/ui/control-group/index.js +2 -0
- package/lib-esm/ui/control-group/index.js.map +1 -0
- package/lib-esm/ui/dropdown/dropdown.module.css +2 -2
- package/lib-esm/ui/index.js +1 -0
- package/lib-esm/ui/index.js.map +1 -1
- package/lib-esm/ui/input-search/input-search.js +1 -2
- package/lib-esm/ui/input-search/input-search.js.map +1 -1
- package/lib-esm/ui/input-search/input-search.module.css +1 -7
- package/package.json +7 -7
- package/src/ui/button/button.module.css +30 -1
- package/src/ui/button/button.stories.tsx +112 -23
- package/src/ui/button/button.tsx +15 -1
- package/src/ui/control-group/control-group.module.css +23 -0
- package/src/ui/control-group/control-group.stories.tsx +24 -0
- package/src/ui/control-group/control-group.tsx +17 -0
- package/src/ui/control-group/index.ts +1 -0
- package/src/ui/dropdown/dropdown.module.css +2 -2
- package/src/ui/index.js +1 -0
- package/src/ui/input-search/input-search.module.css +1 -7
- package/src/ui/input-search/input-search.tsx +2 -4
- package/types/ui/button/button.d.ts +4 -0
- package/types/ui/control-group/control-group.d.ts +3 -0
- package/types/ui/control-group/index.d.ts +1 -0
- package/types/ui/index.d.ts +1 -0
package/lib/ui/button/button.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.Button = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
const button_1 = require("ariakit/button");
|
|
10
|
+
const icon_1 = require("../icon");
|
|
10
11
|
const button_module_css_1 = __importDefault(require("./button.module.css"));
|
|
11
12
|
const SIZE = {
|
|
12
13
|
SMALL: 'small',
|
|
@@ -22,11 +23,14 @@ const KIND = {
|
|
|
22
23
|
SUCCES: 'success',
|
|
23
24
|
};
|
|
24
25
|
const Button = (props) => {
|
|
25
|
-
const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = button_1.Button, ...restProps } = props;
|
|
26
|
+
const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = button_1.Button, children, Icon = icon_1.Icon, glyph, rightGlyph, ...restProps } = props;
|
|
26
27
|
const resolvedPadding = padding || ((outline || solid) && size);
|
|
27
28
|
const resolvedRadius = radius || ((outline || solid) && size);
|
|
28
29
|
const rootClassName = (0, classnames_1.default)(button_module_css_1.default.root, button_module_css_1.default[size], kind && button_module_css_1.default[kind], outline && button_module_css_1.default.outline, outline && button_module_css_1.default[`outline--${kind}`], solid && button_module_css_1.default.solid, solid && button_module_css_1.default[`solid--${kind}`], resolvedPadding && button_module_css_1.default[`padding--${resolvedPadding}`], resolvedPadding && outline && button_module_css_1.default[`outline--padding--${resolvedPadding}`], resolvedRadius && button_module_css_1.default[`radius--${resolvedRadius}`], active && button_module_css_1.default.active, active && outline && button_module_css_1.default[`active-outline-${kind}`], button_module_css_1.default[size], className);
|
|
29
|
-
return react_1.default.createElement(Component, { ...restProps, className: rootClassName }
|
|
30
|
+
return (react_1.default.createElement(Component, { ...restProps, className: rootClassName },
|
|
31
|
+
glyph && react_1.default.createElement(Icon, { glyph: glyph, size: size, className: button_module_css_1.default.glyph }),
|
|
32
|
+
children && react_1.default.createElement("span", { className: button_module_css_1.default.content }, children),
|
|
33
|
+
rightGlyph && react_1.default.createElement(Icon, { glyph: glyph, size: size, className: button_module_css_1.default.glyph })));
|
|
30
34
|
};
|
|
31
35
|
exports.Button = Button;
|
|
32
36
|
exports.Button.SIZE = SIZE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAC5B,2CAA+D;AAE/D,4EAAsC;AAEtC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAC5B,2CAA+D;AAE/D,kCAA2C;AAC3C,4EAAsC;AAEtC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAmBJ,MAAM,MAAM,GAAG,CACpB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,eAAmB,EACnC,QAAQ,EACR,IAAI,GAAG,WAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,IAAA,oBAAE,EACtB,2BAAG,CAAC,IAAI,EACR,2BAAG,CAAC,IAAI,CAAC,EACT,IAAI,IAAI,2BAAG,CAAC,IAAI,CAAC,EAEjB,OAAO,IAAI,2BAAG,CAAC,OAAO,EACtB,OAAO,IAAI,2BAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,2BAAG,CAAC,KAAK,EAClB,KAAK,IAAI,2BAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,2BAAG,CAAC,YAAY,eAAe,EAAE,CAAC,EACrD,eAAe,IAAI,OAAO,IAAI,2BAAG,CAAC,qBAAqB,eAAe,EAAE,CAAC,EACzE,cAAc,IAAI,2BAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,2BAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,2BAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,2BAAG,CAAC,IAAI,CAAC,EACT,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI;QACjE,QAAQ,IAAI,wCAAM,SAAS,EAAE,2BAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI,CAC7D,CACb,CAAC;AACJ,CAAC,CAAC;AArDW,QAAA,MAAM,UAqDjB;AAEF,cAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,cAAM,CAAC,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
.root {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: var(--space-xxsmall);
|
|
2
5
|
appearance: none;
|
|
3
6
|
padding: 0;
|
|
4
7
|
border: 0;
|
|
5
8
|
background: none;
|
|
6
9
|
transition: var(--transition-out);
|
|
7
10
|
color: var(--color-text-ultra-light);
|
|
8
|
-
|
|
11
|
+
font-family: var(--font-family);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
a.root {
|
|
15
|
+
text-decoration: none;
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
.root:hover,
|
|
@@ -15,6 +22,15 @@
|
|
|
15
22
|
transition: var(--transition-in);
|
|
16
23
|
}
|
|
17
24
|
|
|
25
|
+
.glyph {
|
|
26
|
+
flex: 0 0 auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.text {
|
|
30
|
+
min-width: 0;
|
|
31
|
+
flex: 1 1 auto;
|
|
32
|
+
}
|
|
33
|
+
|
|
18
34
|
/**
|
|
19
35
|
* Kind variation
|
|
20
36
|
*/
|
|
@@ -233,14 +249,27 @@
|
|
|
233
249
|
*/
|
|
234
250
|
.small {
|
|
235
251
|
font-size: var(--size-small);
|
|
252
|
+
gap: var(--space-xxxsmall);
|
|
253
|
+
line-height: var(--space-xsmall);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.small .glyph {
|
|
257
|
+
width: calc(var(--space-xsmall) + 2px);
|
|
258
|
+
height: calc(var(--space-xsmall) + 2px);
|
|
259
|
+
margin-top: -1px;
|
|
260
|
+
margin-bottom: -1px;
|
|
236
261
|
}
|
|
237
262
|
|
|
238
263
|
.medium {
|
|
239
264
|
font-size: var(--size-medium);
|
|
265
|
+
gap: var(--space-xxsmall);
|
|
266
|
+
line-height: var(--space-small);
|
|
240
267
|
}
|
|
241
268
|
|
|
242
269
|
.large {
|
|
243
270
|
font-size: var(--size-large);
|
|
271
|
+
gap: var(--space-xxsmall);
|
|
272
|
+
line-height: var(--space-small);
|
|
244
273
|
}
|
|
245
274
|
|
|
246
275
|
/**
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ControlGroup = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
9
|
+
const flex_stack_1 = require("../../layout/flex-stack");
|
|
10
|
+
const control_group_module_css_1 = __importDefault(require("./control-group.module.css"));
|
|
11
|
+
const ControlGroup = (props) => {
|
|
12
|
+
const { className = '', ...restProps } = props;
|
|
13
|
+
return (react_1.default.createElement(flex_stack_1.FlexStack, { className: (0, classnames_1.default)(control_group_module_css_1.default.root, className), space: "no-space", alignItems: "center", ...restProps }));
|
|
14
|
+
};
|
|
15
|
+
exports.ControlGroup = ControlGroup;
|
|
16
|
+
//# sourceMappingURL=control-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-group.js","sourceRoot":"","sources":["../../../src/ui/control-group/control-group.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAE5B,wDAAoD;AACpD,0FAA6C;AAEtC,MAAM,YAAY,GAAG,CAAC,KAA6C,EAAE,EAAE;IAC5E,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC/C,OAAO,CACL,8BAAC,sBAAS,IACR,SAAS,EAAE,IAAA,oBAAE,EAAC,kCAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAClC,KAAK,EAAC,UAAU,EAChB,UAAU,EAAC,QAAQ,KACf,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.root > *:not(:first-child) {
|
|
2
|
+
border-top-left-radius: 0px;
|
|
3
|
+
border-bottom-left-radius: 0px;
|
|
4
|
+
|
|
5
|
+
margin-left: -1px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.root > *:not(:last-child) {
|
|
9
|
+
border-top-right-radius: 0px;
|
|
10
|
+
border-bottom-right-radius: 0px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.root > * {
|
|
14
|
+
position: relative;
|
|
15
|
+
z-index: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.root > *:hover,
|
|
19
|
+
.root > *:active,
|
|
20
|
+
.root > *:focus {
|
|
21
|
+
z-index: 1;
|
|
22
|
+
box-shadow: none;
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./control-group"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/control-group/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
background: var(--color-background);
|
|
42
42
|
min-width: 12em;
|
|
43
43
|
z-index: var(--layer-high);
|
|
44
|
-
padding: var(--space-xxxsmall);
|
|
44
|
+
padding: calc(var(--space-xxxsmall) / 2);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.dropdown:focus {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
outline: none;
|
|
56
56
|
border: 0;
|
|
57
57
|
border-radius: var(--radius-small);
|
|
58
|
-
padding: var(--space-xxxsmall) var(--space-xxxsmall);
|
|
58
|
+
padding: var(--space-xxxsmall) calc(var(--space-xxxsmall) + var(--space-xxxsmall) / 2);
|
|
59
59
|
background: none;
|
|
60
60
|
text-align: left;
|
|
61
61
|
color: var(--color-text-light);
|
package/lib/ui/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Tooltip = exports.Tag = exports.Tabs = exports.Table = exports.Skeleton = exports.Loader = exports.InputSearch = exports.Input = exports.Icon = exports.HoverCard = exports.HorizontalBarChart = exports.Filters = exports.FileName = exports.EmptySet = exports.Dropdown = exports.Container = exports.Button = exports.Alert = void 0;
|
|
3
|
+
exports.Tooltip = exports.Tag = exports.Tabs = exports.Table = exports.Skeleton = exports.Loader = exports.InputSearch = exports.Input = exports.Icon = exports.HoverCard = exports.HorizontalBarChart = exports.Filters = exports.FileName = exports.EmptySet = exports.Dropdown = exports.ControlGroup = exports.Container = exports.Button = exports.Alert = void 0;
|
|
4
4
|
var alert_1 = require("./alert");
|
|
5
5
|
Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return alert_1.Alert; } });
|
|
6
6
|
var button_1 = require("./button");
|
|
7
7
|
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return button_1.Button; } });
|
|
8
8
|
var container_1 = require("./container");
|
|
9
9
|
Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_1.Container; } });
|
|
10
|
+
var control_group_1 = require("./control-group");
|
|
11
|
+
Object.defineProperty(exports, "ControlGroup", { enumerable: true, get: function () { return control_group_1.ControlGroup; } });
|
|
10
12
|
var dropdown_1 = require("./dropdown");
|
|
11
13
|
Object.defineProperty(exports, "Dropdown", { enumerable: true, get: function () { return dropdown_1.Dropdown; } });
|
|
12
14
|
var empty_set_1 = require("./empty-set");
|
package/lib/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
@@ -57,8 +57,7 @@ const InputSearch = (props) => {
|
|
|
57
57
|
}, [changeValue]);
|
|
58
58
|
return (react_1.default.createElement("div", { className: rootClassname },
|
|
59
59
|
react_1.default.createElement(input_1.Input, { className: input_search_module_css_1.default.input, placeholder: placeholder, onChange: inputOnChange, value: value, size: "small", autoComplete: "off" }),
|
|
60
|
-
value && (react_1.default.createElement(button_1.Button, { radius: "circle",
|
|
61
|
-
react_1.default.createElement(icon_1.Icon, { className: input_search_module_css_1.default.cancelButtonIcon, glyph: icon_1.Icon.ICONS.CANCEL })))));
|
|
60
|
+
value && (react_1.default.createElement(button_1.Button, { radius: "circle", glyph: icon_1.Icon.ICONS.CANCEL, type: "button", onClick: clearButtonOnClick, "aria-label": "Clear search", className: input_search_module_css_1.default.cancelButton }))));
|
|
62
61
|
};
|
|
63
62
|
exports.InputSearch = InputSearch;
|
|
64
63
|
//# sourceMappingURL=input-search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-search.js","sourceRoot":"","sources":["../../../src/ui/input-search/input-search.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,4DAA4B;AAC5B,+DAAuC;AACvC,uDAA+B;AAE/B,sCAAmC;AACnC,kCAA+B;AAC/B,oCAAiC;AAEjC,wFAA4C;AASrC,MAAM,WAAW,GAAG,CACzB,KAAuE,EACvE,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,cAAI,EACf,YAAY,GAAG,GAAG,GACnB,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,IAAA,oBAAE,EAAC,iCAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC;IAGjD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EAAC,IAAA,kBAAQ,EAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,KAA0C,EAAE,EAAE;QAC7C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,uCAAK,SAAS,EAAE,aAAa;QAC3B,8BAAC,aAAK,IACJ,SAAS,EAAE,iCAAG,CAAC,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,KAAK,GAClB;QACD,KAAK,IAAI,CACR,8BAAC,eAAM,IACL,MAAM,EAAC,QAAQ,EACf,
|
|
1
|
+
{"version":3,"file":"input-search.js","sourceRoot":"","sources":["../../../src/ui/input-search/input-search.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,4DAA4B;AAC5B,+DAAuC;AACvC,uDAA+B;AAE/B,sCAAmC;AACnC,kCAA+B;AAC/B,oCAAiC;AAEjC,wFAA4C;AASrC,MAAM,WAAW,GAAG,CACzB,KAAuE,EACvE,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,cAAI,EACf,YAAY,GAAG,GAAG,GACnB,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,IAAA,oBAAE,EAAC,iCAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC;IAGjD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EAAC,IAAA,kBAAQ,EAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,KAA0C,EAAE,EAAE;QAC7C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,uCAAK,SAAS,EAAE,aAAa;QAC3B,8BAAC,aAAK,IACJ,SAAS,EAAE,iCAAG,CAAC,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,KAAK,GAClB;QACD,KAAK,IAAI,CACR,8BAAC,eAAM,IACL,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,MAAM,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,kBAAkB,gBAChB,cAAc,EACzB,SAAS,EAAE,iCAAG,CAAC,YAAY,GAC3B,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,WAAW,eAgEtB"}
|
|
@@ -13,12 +13,6 @@
|
|
|
13
13
|
right: var(--space-xxxsmall);
|
|
14
14
|
top: 50%;
|
|
15
15
|
transform: translateY(-50%);
|
|
16
|
+
padding: var(--space-xxxsmall);
|
|
16
17
|
background: radial-gradient(var(--color-background) 50%, transparent);
|
|
17
|
-
color: var(--color-text-ultra-light);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.cancelButton:focus,
|
|
21
|
-
.cancelButton:hover,
|
|
22
|
-
.cancelButton:active {
|
|
23
|
-
color: var(--color-text-light);
|
|
24
18
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cx from 'classnames';
|
|
3
3
|
import { Button as ButtonBaseComponent } from 'ariakit/button';
|
|
4
|
+
import { Icon as BaseIcon } from '../icon';
|
|
4
5
|
import css from './button.module.css';
|
|
5
6
|
const SIZE = {
|
|
6
7
|
SMALL: 'small',
|
|
@@ -16,11 +17,14 @@ const KIND = {
|
|
|
16
17
|
SUCCES: 'success',
|
|
17
18
|
};
|
|
18
19
|
export const Button = (props) => {
|
|
19
|
-
const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = ButtonBaseComponent, ...restProps } = props;
|
|
20
|
+
const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = ButtonBaseComponent, children, Icon = BaseIcon, glyph, rightGlyph, ...restProps } = props;
|
|
20
21
|
const resolvedPadding = padding || ((outline || solid) && size);
|
|
21
22
|
const resolvedRadius = radius || ((outline || solid) && size);
|
|
22
23
|
const rootClassName = cx(css.root, css[size], kind && css[kind], outline && css.outline, outline && css[`outline--${kind}`], solid && css.solid, solid && css[`solid--${kind}`], resolvedPadding && css[`padding--${resolvedPadding}`], resolvedPadding && outline && css[`outline--padding--${resolvedPadding}`], resolvedRadius && css[`radius--${resolvedRadius}`], active && css.active, active && outline && css[`active-outline-${kind}`], css[size], className);
|
|
23
|
-
return React.createElement(Component, { ...restProps, className: rootClassName }
|
|
24
|
+
return (React.createElement(Component, { ...restProps, className: rootClassName },
|
|
25
|
+
glyph && React.createElement(Icon, { glyph: glyph, size: size, className: css.glyph }),
|
|
26
|
+
children && React.createElement("span", { className: css.content }, children),
|
|
27
|
+
rightGlyph && React.createElement(Icon, { glyph: glyph, size: size, className: css.glyph })));
|
|
24
28
|
};
|
|
25
29
|
Button.SIZE = SIZE;
|
|
26
30
|
Button.KIND = KIND;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAmBX,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,mBAAmB,EACnC,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,EAAE,CACtB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CAAC,EACT,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAEjB,OAAO,IAAI,GAAG,CAAC,OAAO,EACtB,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,GAAG,CAAC,KAAK,EAClB,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,GAAG,CAAC,YAAY,eAAe,EAAE,CAAC,EACrD,eAAe,IAAI,OAAO,IAAI,GAAG,CAAC,qBAAqB,eAAe,EAAE,CAAC,EACzE,cAAc,IAAI,GAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,GAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,GAAG,CAAC,IAAI,CAAC,EACT,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI;QACjE,QAAQ,IAAI,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI,CAC7D,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
.root {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: var(--space-xxsmall);
|
|
2
5
|
appearance: none;
|
|
3
6
|
padding: 0;
|
|
4
7
|
border: 0;
|
|
5
8
|
background: none;
|
|
6
9
|
transition: var(--transition-out);
|
|
7
10
|
color: var(--color-text-ultra-light);
|
|
8
|
-
|
|
11
|
+
font-family: var(--font-family);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
a.root {
|
|
15
|
+
text-decoration: none;
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
.root:hover,
|
|
@@ -15,6 +22,15 @@
|
|
|
15
22
|
transition: var(--transition-in);
|
|
16
23
|
}
|
|
17
24
|
|
|
25
|
+
.glyph {
|
|
26
|
+
flex: 0 0 auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.text {
|
|
30
|
+
min-width: 0;
|
|
31
|
+
flex: 1 1 auto;
|
|
32
|
+
}
|
|
33
|
+
|
|
18
34
|
/**
|
|
19
35
|
* Kind variation
|
|
20
36
|
*/
|
|
@@ -233,14 +249,27 @@
|
|
|
233
249
|
*/
|
|
234
250
|
.small {
|
|
235
251
|
font-size: var(--size-small);
|
|
252
|
+
gap: var(--space-xxxsmall);
|
|
253
|
+
line-height: var(--space-xsmall);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.small .glyph {
|
|
257
|
+
width: calc(var(--space-xsmall) + 2px);
|
|
258
|
+
height: calc(var(--space-xsmall) + 2px);
|
|
259
|
+
margin-top: -1px;
|
|
260
|
+
margin-bottom: -1px;
|
|
236
261
|
}
|
|
237
262
|
|
|
238
263
|
.medium {
|
|
239
264
|
font-size: var(--size-medium);
|
|
265
|
+
gap: var(--space-xxsmall);
|
|
266
|
+
line-height: var(--space-small);
|
|
240
267
|
}
|
|
241
268
|
|
|
242
269
|
.large {
|
|
243
270
|
font-size: var(--size-large);
|
|
271
|
+
gap: var(--space-xxsmall);
|
|
272
|
+
line-height: var(--space-small);
|
|
244
273
|
}
|
|
245
274
|
|
|
246
275
|
/**
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { FlexStack } from '../../layout/flex-stack';
|
|
4
|
+
import css from './control-group.module.css';
|
|
5
|
+
export const ControlGroup = (props) => {
|
|
6
|
+
const { className = '', ...restProps } = props;
|
|
7
|
+
return (React.createElement(FlexStack, { className: cx(css.root, className), space: "no-space", alignItems: "center", ...restProps }));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=control-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-group.js","sourceRoot":"","sources":["../../../src/ui/control-group/control-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAA6C,EAAE,EAAE;IAC5E,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC/C,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAClC,KAAK,EAAC,UAAU,EAChB,UAAU,EAAC,QAAQ,KACf,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.root > *:not(:first-child) {
|
|
2
|
+
border-top-left-radius: 0px;
|
|
3
|
+
border-bottom-left-radius: 0px;
|
|
4
|
+
|
|
5
|
+
margin-left: -1px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.root > *:not(:last-child) {
|
|
9
|
+
border-top-right-radius: 0px;
|
|
10
|
+
border-bottom-right-radius: 0px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.root > * {
|
|
14
|
+
position: relative;
|
|
15
|
+
z-index: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.root > *:hover,
|
|
19
|
+
.root > *:active,
|
|
20
|
+
.root > *:focus {
|
|
21
|
+
z-index: 1;
|
|
22
|
+
box-shadow: none;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/control-group/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
background: var(--color-background);
|
|
42
42
|
min-width: 12em;
|
|
43
43
|
z-index: var(--layer-high);
|
|
44
|
-
padding: var(--space-xxxsmall);
|
|
44
|
+
padding: calc(var(--space-xxxsmall) / 2);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.dropdown:focus {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
outline: none;
|
|
56
56
|
border: 0;
|
|
57
57
|
border-radius: var(--radius-small);
|
|
58
|
-
padding: var(--space-xxxsmall) var(--space-xxxsmall);
|
|
58
|
+
padding: var(--space-xxxsmall) calc(var(--space-xxxsmall) + var(--space-xxxsmall) / 2);
|
|
59
59
|
background: none;
|
|
60
60
|
text-align: left;
|
|
61
61
|
color: var(--color-text-light);
|
package/lib-esm/ui/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Alert } from './alert';
|
|
2
2
|
export { Button } from './button';
|
|
3
3
|
export { Container } from './container';
|
|
4
|
+
export { ControlGroup } from './control-group';
|
|
4
5
|
export { Dropdown } from './dropdown';
|
|
5
6
|
export { EmptySet } from './empty-set';
|
|
6
7
|
export { FileName } from './file-name';
|
package/lib-esm/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -28,7 +28,6 @@ export const InputSearch = (props) => {
|
|
|
28
28
|
}, [changeValue]);
|
|
29
29
|
return (React.createElement("div", { className: rootClassname },
|
|
30
30
|
React.createElement(Input, { className: css.input, placeholder: placeholder, onChange: inputOnChange, value: value, size: "small", autoComplete: "off" }),
|
|
31
|
-
value && (React.createElement(Button, { radius: "circle",
|
|
32
|
-
React.createElement(Icon, { className: css.cancelButtonIcon, glyph: Icon.ICONS.CANCEL })))));
|
|
31
|
+
value && (React.createElement(Button, { radius: "circle", glyph: Icon.ICONS.CANCEL, type: "button", onClick: clearButtonOnClick, "aria-label": "Clear search", className: css.cancelButton }))));
|
|
33
32
|
};
|
|
34
33
|
//# sourceMappingURL=input-search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-search.js","sourceRoot":"","sources":["../../../src/ui/input-search/input-search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,GAAG,MAAM,2BAA2B,CAAC;AAS5C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAuE,EACvE,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,IAAI,EACf,YAAY,GAAG,GAAG,GACnB,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAGjD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,qBAAqB,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAA0C,EAAE,EAAE;QAC7C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,6BAAK,SAAS,EAAE,aAAa;QAC3B,oBAAC,KAAK,IACJ,SAAS,EAAE,GAAG,CAAC,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,KAAK,GAClB;QACD,KAAK,IAAI,CACR,oBAAC,MAAM,IACL,MAAM,EAAC,QAAQ,EACf,
|
|
1
|
+
{"version":3,"file":"input-search.js","sourceRoot":"","sources":["../../../src/ui/input-search/input-search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,GAAG,MAAM,2BAA2B,CAAC;AAS5C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAuE,EACvE,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,IAAI,EACf,YAAY,GAAG,GAAG,GACnB,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAGjD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,qBAAqB,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAA0C,EAAE,EAAE;QAC7C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,6BAAK,SAAS,EAAE,aAAa;QAC3B,oBAAC,KAAK,IACJ,SAAS,EAAE,GAAG,CAAC,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,KAAK,GAClB;QACD,KAAK,IAAI,CACR,oBAAC,MAAM,IACL,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,kBAAkB,gBAChB,cAAc,EACzB,SAAS,EAAE,GAAG,CAAC,YAAY,GAC3B,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -13,12 +13,6 @@
|
|
|
13
13
|
right: var(--space-xxxsmall);
|
|
14
14
|
top: 50%;
|
|
15
15
|
transform: translateY(-50%);
|
|
16
|
+
padding: var(--space-xxxsmall);
|
|
16
17
|
background: radial-gradient(var(--color-background) 50%, transparent);
|
|
17
|
-
color: var(--color-text-ultra-light);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.cancelButton:focus,
|
|
21
|
-
.cancelButton:hover,
|
|
22
|
-
.cancelButton:active {
|
|
23
|
-
color: var(--color-text-light);
|
|
24
18
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bundle-stats/ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0-beta.0",
|
|
4
4
|
"description": "UI components for BundleStats projects.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"@babel/preset-env": "7.23.9",
|
|
40
40
|
"@babel/preset-react": "7.23.3",
|
|
41
41
|
"@babel/preset-typescript": "7.23.3",
|
|
42
|
-
"@storybook/addon-essentials": "7.6.
|
|
43
|
-
"@storybook/react": "7.6.
|
|
44
|
-
"@storybook/react-webpack5": "7.6.
|
|
42
|
+
"@storybook/addon-essentials": "7.6.15",
|
|
43
|
+
"@storybook/react": "7.6.15",
|
|
44
|
+
"@storybook/react-webpack5": "7.6.15",
|
|
45
45
|
"@types/react": "18.2.55",
|
|
46
46
|
"@types/react-router-dom": "5.3.3",
|
|
47
47
|
"babel-plugin-require-context-hook": "1.0.0",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"react-dom": "18.2.0",
|
|
60
60
|
"react-router-dom": "5.3.4",
|
|
61
61
|
"rimraf": "5.0.5",
|
|
62
|
-
"storybook": "7.6.
|
|
62
|
+
"storybook": "7.6.15",
|
|
63
63
|
"typescript": "5.1.6",
|
|
64
64
|
"typescript-plugin-css-modules": "5.1.0"
|
|
65
65
|
},
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
"react-router-dom": "^5.0.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@bundle-stats/utils": "4.
|
|
75
|
+
"@bundle-stats/utils": "4.10.0-beta.0",
|
|
76
76
|
"ariakit": "2.0.0-next.44",
|
|
77
77
|
"modern-css-reset": "1.4.0",
|
|
78
78
|
"use-query-params": "2.2.1"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "3aa6e1ced0c3ce890c50e9ea4eddc2dbe2d28afb"
|
|
81
81
|
}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
.root {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: var(--space-xxsmall);
|
|
2
5
|
appearance: none;
|
|
3
6
|
padding: 0;
|
|
4
7
|
border: 0;
|
|
5
8
|
background: none;
|
|
6
9
|
transition: var(--transition-out);
|
|
7
10
|
color: var(--color-text-ultra-light);
|
|
8
|
-
|
|
11
|
+
font-family: var(--font-family);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
a.root {
|
|
15
|
+
text-decoration: none;
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
.root:hover,
|
|
@@ -15,6 +22,15 @@
|
|
|
15
22
|
transition: var(--transition-in);
|
|
16
23
|
}
|
|
17
24
|
|
|
25
|
+
.glyph {
|
|
26
|
+
flex: 0 0 auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.text {
|
|
30
|
+
min-width: 0;
|
|
31
|
+
flex: 1 1 auto;
|
|
32
|
+
}
|
|
33
|
+
|
|
18
34
|
/**
|
|
19
35
|
* Kind variation
|
|
20
36
|
*/
|
|
@@ -233,14 +249,27 @@
|
|
|
233
249
|
*/
|
|
234
250
|
.small {
|
|
235
251
|
font-size: var(--size-small);
|
|
252
|
+
gap: var(--space-xxxsmall);
|
|
253
|
+
line-height: var(--space-xsmall);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.small .glyph {
|
|
257
|
+
width: calc(var(--space-xsmall) + 2px);
|
|
258
|
+
height: calc(var(--space-xsmall) + 2px);
|
|
259
|
+
margin-top: -1px;
|
|
260
|
+
margin-bottom: -1px;
|
|
236
261
|
}
|
|
237
262
|
|
|
238
263
|
.medium {
|
|
239
264
|
font-size: var(--size-medium);
|
|
265
|
+
gap: var(--space-xxsmall);
|
|
266
|
+
line-height: var(--space-small);
|
|
240
267
|
}
|
|
241
268
|
|
|
242
269
|
.large {
|
|
243
270
|
font-size: var(--size-large);
|
|
271
|
+
gap: var(--space-xxsmall);
|
|
272
|
+
line-height: var(--space-small);
|
|
244
273
|
}
|
|
245
274
|
|
|
246
275
|
/**
|
|
@@ -3,6 +3,7 @@ import { Meta, Story } from '@storybook/react';
|
|
|
3
3
|
|
|
4
4
|
import { Stack } from '../../layout/stack';
|
|
5
5
|
import { FlexStack } from '../../layout/flex-stack';
|
|
6
|
+
import { Icon } from '../icon';
|
|
6
7
|
import { Button } from '.';
|
|
7
8
|
|
|
8
9
|
export default {
|
|
@@ -14,53 +15,73 @@ const Template: Story = ({ children = 'Action', ...props }) => (
|
|
|
14
15
|
<Button {...props}>{children}</Button>
|
|
15
16
|
);
|
|
16
17
|
|
|
18
|
+
const Items = (props) => (
|
|
19
|
+
<FlexStack alignItems="top" style={{ flexWrap: 'wrap', gap: '12px' }} {...props} />
|
|
20
|
+
);
|
|
21
|
+
|
|
17
22
|
export const Default = Template.bind({});
|
|
18
23
|
|
|
19
24
|
export const All = () => (
|
|
20
25
|
<Stack space="large">
|
|
21
26
|
<Stack space="medium">
|
|
22
27
|
<h2>Size</h2>
|
|
23
|
-
<
|
|
28
|
+
<Items>
|
|
24
29
|
{Object.values(Button.SIZE).map((size) => (
|
|
25
30
|
<Button size={size} key={size}>
|
|
26
31
|
Action {size}
|
|
27
32
|
</Button>
|
|
28
33
|
))}
|
|
29
|
-
</
|
|
34
|
+
</Items>
|
|
30
35
|
</Stack>
|
|
31
36
|
<Stack space="medium">
|
|
32
37
|
<h2>Kind</h2>
|
|
33
|
-
<Stack space="
|
|
34
|
-
<
|
|
38
|
+
<Stack space="medium">
|
|
39
|
+
<Items>
|
|
35
40
|
{Object.values(Button.KIND).map((kind) => (
|
|
36
41
|
<Button kind={kind} key={kind}>
|
|
37
42
|
Action {kind}
|
|
38
43
|
</Button>
|
|
39
44
|
))}
|
|
40
|
-
</
|
|
45
|
+
</Items>
|
|
41
46
|
<h3>Active</h3>
|
|
42
|
-
<
|
|
47
|
+
<Items>
|
|
43
48
|
{Object.values(Button.KIND).map((kind) => (
|
|
44
49
|
<Button kind={kind} key={kind} active>
|
|
45
50
|
Action {kind}
|
|
46
51
|
</Button>
|
|
47
52
|
))}
|
|
48
|
-
</
|
|
53
|
+
</Items>
|
|
54
|
+
<h3>As link</h3>
|
|
55
|
+
<Items>
|
|
56
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
57
|
+
<Button kind={kind} key={kind} as="a" href="#">
|
|
58
|
+
Action {kind}
|
|
59
|
+
</Button>
|
|
60
|
+
))}
|
|
61
|
+
</Items>
|
|
62
|
+
<h3>With icon</h3>
|
|
63
|
+
<Items>
|
|
64
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
65
|
+
<Button glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE} kind={kind} key={kind}>
|
|
66
|
+
Action {kind}
|
|
67
|
+
</Button>
|
|
68
|
+
))}
|
|
69
|
+
</Items>
|
|
49
70
|
<h3>Disabled</h3>
|
|
50
|
-
<
|
|
71
|
+
<Items>
|
|
51
72
|
{Object.values(Button.KIND).map((kind) => (
|
|
52
73
|
<Button kind={kind} key={kind} disabled>
|
|
53
74
|
Action {kind}
|
|
54
75
|
</Button>
|
|
55
76
|
))}
|
|
56
|
-
</
|
|
77
|
+
</Items>
|
|
57
78
|
</Stack>
|
|
58
79
|
</Stack>
|
|
59
80
|
<Stack space="medium">
|
|
60
81
|
<h2>Outline & Kind</h2>
|
|
61
|
-
<Stack space="
|
|
82
|
+
<Stack space="medium">
|
|
62
83
|
{Object.values(Button.SIZE).map((size) => (
|
|
63
|
-
<
|
|
84
|
+
<Items key={size}>
|
|
64
85
|
<Button outline size={size}>
|
|
65
86
|
Action default
|
|
66
87
|
</Button>
|
|
@@ -69,10 +90,10 @@ export const All = () => (
|
|
|
69
90
|
Action {kind}
|
|
70
91
|
</Button>
|
|
71
92
|
))}
|
|
72
|
-
</
|
|
93
|
+
</Items>
|
|
73
94
|
))}
|
|
74
95
|
<h3>Active</h3>
|
|
75
|
-
<
|
|
96
|
+
<Items>
|
|
76
97
|
<Button outline active>
|
|
77
98
|
Action default
|
|
78
99
|
</Button>
|
|
@@ -81,9 +102,43 @@ export const All = () => (
|
|
|
81
102
|
Action {kind}
|
|
82
103
|
</Button>
|
|
83
104
|
))}
|
|
84
|
-
</
|
|
105
|
+
</Items>
|
|
106
|
+
<h3>With icon</h3>
|
|
107
|
+
{Object.values(Button.SIZE).map((size) => (
|
|
108
|
+
<Items key={size}>
|
|
109
|
+
<Button glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE} outline size={size}>
|
|
110
|
+
Action default
|
|
111
|
+
</Button>
|
|
112
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
113
|
+
<Button
|
|
114
|
+
glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE}
|
|
115
|
+
outline
|
|
116
|
+
kind={kind}
|
|
117
|
+
size={size}
|
|
118
|
+
key={kind}
|
|
119
|
+
>
|
|
120
|
+
Action {kind}
|
|
121
|
+
</Button>
|
|
122
|
+
))}
|
|
123
|
+
</Items>
|
|
124
|
+
))}
|
|
125
|
+
<h3>Only icon</h3>
|
|
126
|
+
{Object.values(Button.SIZE).map((size) => (
|
|
127
|
+
<Items key={size}>
|
|
128
|
+
<Button glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE} outline size={size} />
|
|
129
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
130
|
+
<Button
|
|
131
|
+
glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE}
|
|
132
|
+
outline
|
|
133
|
+
kind={kind}
|
|
134
|
+
size={size}
|
|
135
|
+
key={kind}
|
|
136
|
+
/>
|
|
137
|
+
))}
|
|
138
|
+
</Items>
|
|
139
|
+
))}
|
|
85
140
|
<h3>Disabled</h3>
|
|
86
|
-
<
|
|
141
|
+
<Items>
|
|
87
142
|
<Button outline disabled>
|
|
88
143
|
Action default
|
|
89
144
|
</Button>
|
|
@@ -92,14 +147,14 @@ export const All = () => (
|
|
|
92
147
|
Action {kind}
|
|
93
148
|
</Button>
|
|
94
149
|
))}
|
|
95
|
-
</
|
|
150
|
+
</Items>
|
|
96
151
|
</Stack>
|
|
97
152
|
</Stack>
|
|
98
153
|
<Stack space="medium">
|
|
99
154
|
<h2>Solid & Kind</h2>
|
|
100
|
-
<Stack space="
|
|
155
|
+
<Stack space="medium">
|
|
101
156
|
{Object.values(Button.SIZE).map((size) => (
|
|
102
|
-
<
|
|
157
|
+
<Items key={size}>
|
|
103
158
|
<Button solid size={size}>
|
|
104
159
|
Action default
|
|
105
160
|
</Button>
|
|
@@ -108,10 +163,10 @@ export const All = () => (
|
|
|
108
163
|
Action {kind}
|
|
109
164
|
</Button>
|
|
110
165
|
))}
|
|
111
|
-
</
|
|
166
|
+
</Items>
|
|
112
167
|
))}
|
|
113
168
|
<h3>Active</h3>
|
|
114
|
-
<
|
|
169
|
+
<Items>
|
|
115
170
|
<Button solid active>
|
|
116
171
|
Action default
|
|
117
172
|
</Button>
|
|
@@ -120,9 +175,43 @@ export const All = () => (
|
|
|
120
175
|
Action {kind}
|
|
121
176
|
</Button>
|
|
122
177
|
))}
|
|
123
|
-
</
|
|
178
|
+
</Items>
|
|
179
|
+
<h3>With icon</h3>
|
|
180
|
+
{Object.values(Button.SIZE).map((size) => (
|
|
181
|
+
<Items key={size}>
|
|
182
|
+
<Button glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE} solid size={size}>
|
|
183
|
+
Action default
|
|
184
|
+
</Button>
|
|
185
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
186
|
+
<Button
|
|
187
|
+
glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE}
|
|
188
|
+
solid
|
|
189
|
+
kind={kind}
|
|
190
|
+
size={size}
|
|
191
|
+
key={kind}
|
|
192
|
+
>
|
|
193
|
+
Action {kind}
|
|
194
|
+
</Button>
|
|
195
|
+
))}
|
|
196
|
+
</Items>
|
|
197
|
+
))}
|
|
198
|
+
<h3>Only icon</h3>
|
|
199
|
+
{Object.values(Button.SIZE).map((size) => (
|
|
200
|
+
<Items key={size}>
|
|
201
|
+
<Button glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE} solid size={size} />
|
|
202
|
+
{Object.values(Button.KIND).map((kind) => (
|
|
203
|
+
<Button
|
|
204
|
+
glyph={Icon.ICONS.ARROW_RIGHT_CIRLCE}
|
|
205
|
+
solid
|
|
206
|
+
kind={kind}
|
|
207
|
+
size={size}
|
|
208
|
+
key={kind}
|
|
209
|
+
/>
|
|
210
|
+
))}
|
|
211
|
+
</Items>
|
|
212
|
+
))}
|
|
124
213
|
<h3>Disabled</h3>
|
|
125
|
-
<
|
|
214
|
+
<Items>
|
|
126
215
|
<Button solid disabled>
|
|
127
216
|
Action default
|
|
128
217
|
</Button>
|
|
@@ -131,7 +220,7 @@ export const All = () => (
|
|
|
131
220
|
Action {kind}
|
|
132
221
|
</Button>
|
|
133
222
|
))}
|
|
134
|
-
</
|
|
223
|
+
</Items>
|
|
135
224
|
</Stack>
|
|
136
225
|
</Stack>
|
|
137
226
|
</Stack>
|
package/src/ui/button/button.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import cx from 'classnames';
|
|
3
3
|
import { Button as ButtonBaseComponent } from 'ariakit/button';
|
|
4
4
|
|
|
5
|
+
import { Icon as BaseIcon } from '../icon';
|
|
5
6
|
import css from './button.module.css';
|
|
6
7
|
|
|
7
8
|
const SIZE = {
|
|
@@ -31,6 +32,9 @@ interface ButtonProps<T extends React.ElementType> {
|
|
|
31
32
|
radius?: Size | 'circle' | 'none';
|
|
32
33
|
padding?: Size | 'none';
|
|
33
34
|
as?: T;
|
|
35
|
+
Icon?: React.ElementType;
|
|
36
|
+
glyph?: React.ComponentProps<typeof BaseIcon>['glyph'];
|
|
37
|
+
rightGlyph?: React.ComponentProps<typeof BaseIcon>['glyph'];
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
export const Button = <T extends React.ElementType = 'button'>(
|
|
@@ -46,6 +50,10 @@ export const Button = <T extends React.ElementType = 'button'>(
|
|
|
46
50
|
radius = '',
|
|
47
51
|
padding = '',
|
|
48
52
|
as: Component = ButtonBaseComponent,
|
|
53
|
+
children,
|
|
54
|
+
Icon = BaseIcon,
|
|
55
|
+
glyph,
|
|
56
|
+
rightGlyph,
|
|
49
57
|
...restProps
|
|
50
58
|
} = props;
|
|
51
59
|
|
|
@@ -75,7 +83,13 @@ export const Button = <T extends React.ElementType = 'button'>(
|
|
|
75
83
|
className,
|
|
76
84
|
);
|
|
77
85
|
|
|
78
|
-
return
|
|
86
|
+
return (
|
|
87
|
+
<Component {...restProps} className={rootClassName}>
|
|
88
|
+
{glyph && <Icon glyph={glyph} size={size} className={css.glyph} />}
|
|
89
|
+
{children && <span className={css.content}>{children}</span>}
|
|
90
|
+
{rightGlyph && <Icon glyph={glyph} size={size} className={css.glyph} />}
|
|
91
|
+
</Component>
|
|
92
|
+
);
|
|
79
93
|
};
|
|
80
94
|
|
|
81
95
|
Button.SIZE = SIZE;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.root > *:not(:first-child) {
|
|
2
|
+
border-top-left-radius: 0px;
|
|
3
|
+
border-bottom-left-radius: 0px;
|
|
4
|
+
|
|
5
|
+
margin-left: -1px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.root > *:not(:last-child) {
|
|
9
|
+
border-top-right-radius: 0px;
|
|
10
|
+
border-bottom-right-radius: 0px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.root > * {
|
|
14
|
+
position: relative;
|
|
15
|
+
z-index: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.root > *:hover,
|
|
19
|
+
.root > *:active,
|
|
20
|
+
.root > *:focus {
|
|
21
|
+
z-index: 1;
|
|
22
|
+
box-shadow: none;
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Meta } from '@storybook/react';
|
|
3
|
+
|
|
4
|
+
import { Button } from '../button';
|
|
5
|
+
import { ControlGroup } from '.';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'UI/ControlGroup',
|
|
9
|
+
component: ControlGroup,
|
|
10
|
+
} as Meta;
|
|
11
|
+
|
|
12
|
+
export const Default = () => (
|
|
13
|
+
<ControlGroup>
|
|
14
|
+
<Button outline type="button">
|
|
15
|
+
Option A
|
|
16
|
+
</Button>
|
|
17
|
+
<Button outline type="button">
|
|
18
|
+
Option B
|
|
19
|
+
</Button>
|
|
20
|
+
<Button outline type="button">
|
|
21
|
+
Option C
|
|
22
|
+
</Button>
|
|
23
|
+
</ControlGroup>
|
|
24
|
+
);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
|
|
4
|
+
import { FlexStack } from '../../layout/flex-stack';
|
|
5
|
+
import css from './control-group.module.css';
|
|
6
|
+
|
|
7
|
+
export const ControlGroup = (props: React.ComponentProps<typeof FlexStack>) => {
|
|
8
|
+
const { className = '', ...restProps } = props;
|
|
9
|
+
return (
|
|
10
|
+
<FlexStack
|
|
11
|
+
className={cx(css.root, className)}
|
|
12
|
+
space="no-space"
|
|
13
|
+
alignItems="center"
|
|
14
|
+
{...restProps}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './control-group';
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
background: var(--color-background);
|
|
42
42
|
min-width: 12em;
|
|
43
43
|
z-index: var(--layer-high);
|
|
44
|
-
padding: var(--space-xxxsmall);
|
|
44
|
+
padding: calc(var(--space-xxxsmall) / 2);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.dropdown:focus {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
outline: none;
|
|
56
56
|
border: 0;
|
|
57
57
|
border-radius: var(--radius-small);
|
|
58
|
-
padding: var(--space-xxxsmall) var(--space-xxxsmall);
|
|
58
|
+
padding: var(--space-xxxsmall) calc(var(--space-xxxsmall) + var(--space-xxxsmall) / 2);
|
|
59
59
|
background: none;
|
|
60
60
|
text-align: left;
|
|
61
61
|
color: var(--color-text-light);
|
package/src/ui/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Alert } from './alert';
|
|
2
2
|
export { Button } from './button';
|
|
3
3
|
export { Container } from './container';
|
|
4
|
+
export { ControlGroup } from './control-group';
|
|
4
5
|
export { Dropdown } from './dropdown';
|
|
5
6
|
export { EmptySet } from './empty-set';
|
|
6
7
|
export { FileName } from './file-name';
|
|
@@ -13,12 +13,6 @@
|
|
|
13
13
|
right: var(--space-xxxsmall);
|
|
14
14
|
top: 50%;
|
|
15
15
|
transform: translateY(-50%);
|
|
16
|
+
padding: var(--space-xxxsmall);
|
|
16
17
|
background: radial-gradient(var(--color-background) 50%, transparent);
|
|
17
|
-
color: var(--color-text-ultra-light);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.cancelButton:focus,
|
|
21
|
-
.cancelButton:hover,
|
|
22
|
-
.cancelButton:active {
|
|
23
|
-
color: var(--color-text-light);
|
|
24
18
|
}
|
|
@@ -71,14 +71,12 @@ export const InputSearch = (
|
|
|
71
71
|
{value && (
|
|
72
72
|
<Button
|
|
73
73
|
radius="circle"
|
|
74
|
-
|
|
74
|
+
glyph={Icon.ICONS.CANCEL}
|
|
75
75
|
type="button"
|
|
76
76
|
onClick={clearButtonOnClick}
|
|
77
77
|
aria-label="Clear search"
|
|
78
78
|
className={css.cancelButton}
|
|
79
|
-
|
|
80
|
-
<Icon className={css.cancelButtonIcon} glyph={Icon.ICONS.CANCEL} />
|
|
81
|
-
</Button>
|
|
79
|
+
/>
|
|
82
80
|
)}
|
|
83
81
|
</div>
|
|
84
82
|
);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Icon as BaseIcon } from '../icon';
|
|
2
3
|
declare const SIZE: {
|
|
3
4
|
readonly SMALL: "small";
|
|
4
5
|
readonly MEDIUM: "medium";
|
|
@@ -23,6 +24,9 @@ interface ButtonProps<T extends React.ElementType> {
|
|
|
23
24
|
radius?: Size | 'circle' | 'none';
|
|
24
25
|
padding?: Size | 'none';
|
|
25
26
|
as?: T;
|
|
27
|
+
Icon?: React.ElementType;
|
|
28
|
+
glyph?: React.ComponentProps<typeof BaseIcon>['glyph'];
|
|
29
|
+
rightGlyph?: React.ComponentProps<typeof BaseIcon>['glyph'];
|
|
26
30
|
}
|
|
27
31
|
export declare const Button: {
|
|
28
32
|
<T extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "button">(props: ButtonProps<T> & Omit<React.PropsWithoutRef<React.ComponentProps<T>>, keyof ButtonProps<T>>): React.JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './control-group';
|
package/types/ui/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Alert } from "./alert";
|
|
2
2
|
export { Button } from "./button";
|
|
3
3
|
export { Container } from "./container";
|
|
4
|
+
export { ControlGroup } from "./control-group";
|
|
4
5
|
export { Dropdown } from "./dropdown";
|
|
5
6
|
export { EmptySet } from "./empty-set";
|
|
6
7
|
export { FileName } from "./file-name";
|