@uxf/ui 11.27.1 → 11.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/button.stories.js +6 -4
- package/components.d.ts +5 -0
- package/components.js +5 -0
- package/css/button.css +18 -19
- package/css/colors.css +10 -0
- package/css/icon.css +23 -5
- package/css/modal-dialog.css +38 -0
- package/icon/icon.d.ts +2 -0
- package/icon/icon.js +1 -1
- package/icon/theme.d.ts +8 -0
- package/icons-config.js +20 -0
- package/message/README.md +3 -1
- package/message/message-content.d.ts +1 -0
- package/message/message-content.js +1 -0
- package/message/message-service.d.ts +1 -0
- package/message/message-service.js +1 -0
- package/modal-dialog/README.md +8 -0
- package/modal-dialog/modal-dialog.d.ts +10 -0
- package/modal-dialog/modal-dialog.js +17 -0
- package/modal-dialog/modal-dialog.stories.d.ts +2 -0
- package/modal-dialog/modal-dialog.stories.js +29 -0
- package/package.json +1 -1
- package/readmes.d.ts +1 -0
- package/readmes.js +36 -34
package/button/button.stories.js
CHANGED
|
@@ -33,7 +33,7 @@ function Basic() {
|
|
|
33
33
|
// eslint-disable-next-line no-console
|
|
34
34
|
const onClick = console.log;
|
|
35
35
|
const gridColumnsCount = config.variants.length * config.sizes.length + 1;
|
|
36
|
-
const gridTemplateColumns = `repeat(${gridColumnsCount},
|
|
36
|
+
const gridTemplateColumns = `repeat(${gridColumnsCount}, 180px)`;
|
|
37
37
|
return (react_1.default.createElement("div", { className: "p-4" },
|
|
38
38
|
react_1.default.createElement("div", { className: "grid gap-3 p-4", style: { gridTemplateColumns } },
|
|
39
39
|
react_1.default.createElement("div", null),
|
|
@@ -44,13 +44,15 @@ function Basic() {
|
|
|
44
44
|
config.variants.flatMap((variant) => config.sizes.map((size) => (react_1.default.createElement("div", { key: variant, className: "text-center text-xs text-gray-400" },
|
|
45
45
|
"size=",
|
|
46
46
|
size))))),
|
|
47
|
-
config.colors.map((color) => (react_1.default.createElement("div", { className: color === "inverted" ? "bg-[#1F2A37] dark:bg-white" : undefined, key: color },
|
|
47
|
+
config.colors.map((color) => (react_1.default.createElement("div", { className: color === "inverted" ? "min-w-fit bg-[#1F2A37] dark:bg-white" : undefined, key: color },
|
|
48
48
|
react_1.default.createElement("div", { className: "grid gap-3 py-2", style: { gridTemplateColumns } },
|
|
49
49
|
react_1.default.createElement("div", { className: "flex items-center text-center text-xs text-gray-400" },
|
|
50
50
|
"color=",
|
|
51
51
|
color),
|
|
52
|
-
config.variants.map((variant) => (react_1.default.createElement(react_1.Fragment, { key: variant }, config.sizes.map((size) => (react_1.default.createElement("div", { key: `${size}${color}${variant}`, className: "flex items-center justify-center" },
|
|
53
|
-
react_1.default.createElement(button_1.Button, { color: color, onClick: onClick, size: size, variant: variant }, "Button")
|
|
52
|
+
config.variants.map((variant) => (react_1.default.createElement(react_1.Fragment, { key: variant }, config.sizes.map((size) => (react_1.default.createElement("div", { key: `${size}${color}${variant}`, className: "flex items-center justify-center gap-2" },
|
|
53
|
+
react_1.default.createElement(button_1.Button, { color: color, onClick: onClick, size: size, variant: variant }, "Button"),
|
|
54
|
+
react_1.default.createElement(button_1.Button, { color: color, onClick: onClick, size: size, variant: variant, isIconButton: true },
|
|
55
|
+
react_1.default.createElement(icon_1.Icon, { name: "triangle-exclamation" }))))))))))))));
|
|
54
56
|
}
|
|
55
57
|
exports.Basic = Basic;
|
|
56
58
|
function Default() {
|
package/components.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ import * as loaderStories from "./loader/loader.stories";
|
|
|
36
36
|
import * as lozengeStories from "./lozenge/lozenge.stories";
|
|
37
37
|
import * as messageStories from "./message/message.stories";
|
|
38
38
|
import * as modalStories from "./modal/modal.stories";
|
|
39
|
+
import * as modalDialogStories from "./modal-dialog/modal-dialog.stories";
|
|
39
40
|
import * as multiComboboxStories from "./multi-combobox/multi-combobox.stories";
|
|
40
41
|
import * as multiSelectStories from "./multi-select/multi-select.stories";
|
|
41
42
|
import * as paginationStories from "./pagination/pagination.stories";
|
|
@@ -206,6 +207,10 @@ export declare const components: {
|
|
|
206
207
|
readonly title: "Modal";
|
|
207
208
|
readonly stories: typeof modalStories;
|
|
208
209
|
};
|
|
210
|
+
readonly "modal-dialog": {
|
|
211
|
+
readonly title: "ModalDialog";
|
|
212
|
+
readonly stories: typeof modalDialogStories;
|
|
213
|
+
};
|
|
209
214
|
readonly "multi-combobox": {
|
|
210
215
|
readonly title: "MultiCombobox";
|
|
211
216
|
readonly stories: typeof multiComboboxStories;
|
package/components.js
CHANGED
|
@@ -63,6 +63,7 @@ const loaderStories = __importStar(require("./loader/loader.stories"));
|
|
|
63
63
|
const lozengeStories = __importStar(require("./lozenge/lozenge.stories"));
|
|
64
64
|
const messageStories = __importStar(require("./message/message.stories"));
|
|
65
65
|
const modalStories = __importStar(require("./modal/modal.stories"));
|
|
66
|
+
const modalDialogStories = __importStar(require("./modal-dialog/modal-dialog.stories"));
|
|
66
67
|
const multiComboboxStories = __importStar(require("./multi-combobox/multi-combobox.stories"));
|
|
67
68
|
const multiSelectStories = __importStar(require("./multi-select/multi-select.stories"));
|
|
68
69
|
const paginationStories = __importStar(require("./pagination/pagination.stories"));
|
|
@@ -233,6 +234,10 @@ exports.components = {
|
|
|
233
234
|
title: "Modal",
|
|
234
235
|
stories: modalStories
|
|
235
236
|
},
|
|
237
|
+
"modal-dialog": {
|
|
238
|
+
title: "ModalDialog",
|
|
239
|
+
stories: modalDialogStories
|
|
240
|
+
},
|
|
236
241
|
"multi-combobox": {
|
|
237
242
|
title: "MultiCombobox",
|
|
238
243
|
stories: multiComboboxStories
|
package/css/button.css
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
--uxf-button-height: theme("inputSize.default");
|
|
4
4
|
--uxf-button-border-radius: theme("borderRadius.md");
|
|
5
5
|
--uxf-button-font-size: theme("fontSize.sm");
|
|
6
|
-
--uxf-button-icon-size: theme("spacing.
|
|
7
|
-
--uxf-button-loading-size: theme("spacing.
|
|
6
|
+
--uxf-button-icon-size: theme("spacing.5");
|
|
7
|
+
--uxf-button-loading-size: theme("spacing.5");
|
|
8
8
|
--uxf-button-px: theme("spacing.4");
|
|
9
9
|
--uxf-button-border-color: initial;
|
|
10
10
|
--uxf-button-background-color: initial;
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.uxf-button {
|
|
21
|
+
--i-h: var(--uxf-button-icon-size);
|
|
22
|
+
--i-w: var(--uxf-button-icon-size);
|
|
23
|
+
|
|
21
24
|
align-items: center;
|
|
22
25
|
background-color: var(--uxf-button-background-color);
|
|
23
26
|
border-color: var(--uxf-button-border-color);
|
|
@@ -44,11 +47,6 @@
|
|
|
44
47
|
background-color: var(--uxf-button-background-color-hover);
|
|
45
48
|
}
|
|
46
49
|
|
|
47
|
-
.uxf-icon {
|
|
48
|
-
height: var(--uxf-button-icon-size);
|
|
49
|
-
width: var(--uxf-button-icon-size);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
50
|
&__text {
|
|
53
51
|
@apply truncate;
|
|
54
52
|
}
|
|
@@ -60,6 +58,7 @@
|
|
|
60
58
|
}
|
|
61
59
|
|
|
62
60
|
&--icon-button {
|
|
61
|
+
flex-shrink: 0;
|
|
63
62
|
padding: 0;
|
|
64
63
|
width: var(--uxf-button-height);
|
|
65
64
|
}
|
|
@@ -112,12 +111,16 @@
|
|
|
112
111
|
&--size-lg {
|
|
113
112
|
--uxf-button-font-size: theme("fontSize.base");
|
|
114
113
|
--uxf-button-height: theme("inputSize.lg");
|
|
114
|
+
--uxf-button-icon-size: theme("spacing.6");
|
|
115
|
+
--uxf-button-loading-size: theme("spacing.6");
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
&--size-xl {
|
|
118
119
|
--uxf-button-px: theme("spacing.6");
|
|
119
120
|
--uxf-button-font-size: theme("fontSize.base");
|
|
120
121
|
--uxf-button-height: theme("inputSize.xl");
|
|
122
|
+
--uxf-button-icon-size: theme("spacing.7");
|
|
123
|
+
--uxf-button-loading-size: theme("spacing.7");
|
|
121
124
|
}
|
|
122
125
|
|
|
123
126
|
/* VARIANTS */
|
|
@@ -169,6 +172,7 @@
|
|
|
169
172
|
|
|
170
173
|
&--variant-secondary {
|
|
171
174
|
--uxf-button-background-color-hover: var(--uxf-color-base-surface-main-hover);
|
|
175
|
+
--uxf-button-background-color: var(--uxf-color-base-surface-main);
|
|
172
176
|
|
|
173
177
|
border-style: solid;
|
|
174
178
|
border-width: 1px;
|
|
@@ -201,15 +205,12 @@
|
|
|
201
205
|
&.uxf-button--color-inverted {
|
|
202
206
|
--uxf-button-border-color: var(--uxf-color-base-border-inverted);
|
|
203
207
|
--uxf-button-text-color: var(--uxf-color-base-text-inverted-high-emphasis);
|
|
204
|
-
--uxf-button-background-color
|
|
208
|
+
--uxf-button-background-color: var(--uxf-color-base-surface-inverted-main);
|
|
209
|
+
--uxf-button-background-color-hover: var(--uxf-color-base-surface-inverted-main-hover);
|
|
205
210
|
|
|
206
211
|
&.uxf-button--is-disabled {
|
|
207
|
-
--uxf-button-
|
|
208
|
-
--uxf-button-background-color: var(--uxf-color-base-surface-
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
:root .dark & {
|
|
212
|
-
--uxf-button-background-color-hover: #d2d6db2f;
|
|
212
|
+
--uxf-button-text-color: var(--uxf-color-base-text-inverted-disabled);
|
|
213
|
+
--uxf-button-background-color: var(--uxf-color-base-surface-inverted-main);
|
|
213
214
|
}
|
|
214
215
|
}
|
|
215
216
|
|
|
@@ -245,14 +246,12 @@
|
|
|
245
246
|
--uxf-button-text-color: var(--uxf-color-info-text);
|
|
246
247
|
}
|
|
247
248
|
|
|
248
|
-
/** TODO @vejvis - UX musí doladit inverted button... teď je to strašnej hack */
|
|
249
249
|
&.uxf-button--color-inverted {
|
|
250
250
|
--uxf-button-text-color: var(--uxf-color-base-text-inverted-high-emphasis);
|
|
251
|
-
--uxf-button-background-color-hover:
|
|
251
|
+
--uxf-button-background-color-hover: var(--uxf-color-base-surface-inverted-main-hover);
|
|
252
252
|
|
|
253
|
-
|
|
254
|
-
--uxf-button-
|
|
255
|
-
--uxf-button-text-color: #d2d6db;
|
|
253
|
+
&.uxf-button--is-disabled {
|
|
254
|
+
--uxf-button-text-color: var(--uxf-color-base-text-inverted-disabled);
|
|
256
255
|
}
|
|
257
256
|
}
|
|
258
257
|
|
package/css/colors.css
CHANGED
|
@@ -6,9 +6,14 @@
|
|
|
6
6
|
--uxf-color-base-surface-main-hover: #f3f4f6;
|
|
7
7
|
--uxf-color-base-surface-input-disabled: #f3f4f6;
|
|
8
8
|
--uxf-color-base-surface-disabled: #d2d6db;
|
|
9
|
+
--uxf-color-base-surface-inverted-main: #ffffff14;
|
|
10
|
+
--uxf-color-base-surface-inverted-main-hover: #ffffff29;
|
|
9
11
|
--uxf-color-base-text-disabled: #9da4ae;
|
|
10
12
|
--uxf-color-base-text-high-emphasis: #111927;
|
|
13
|
+
--uxf-color-base-text-low-emphasis: #4d5761;
|
|
11
14
|
--uxf-color-base-text-inverted-high-emphasis: #fff;
|
|
15
|
+
--uxf-color-base-text-inverted-low-emphasis: #fffc;
|
|
16
|
+
--uxf-color-base-text-inverted-disabled: #ffffffb3;
|
|
12
17
|
|
|
13
18
|
/** primary */
|
|
14
19
|
--uxf-color-primary-surface-default: #155dee;
|
|
@@ -46,9 +51,14 @@
|
|
|
46
51
|
--uxf-color-base-surface-main-hover: #1f2a37;
|
|
47
52
|
--uxf-color-base-surface-input-disabled: #4d5761;
|
|
48
53
|
--uxf-color-base-surface-disabled: #d2d6db;
|
|
54
|
+
--uxf-color-base-surface-inverted-main: #20293914;
|
|
55
|
+
--uxf-color-base-surface-inverted-main-hover: #20293929;
|
|
49
56
|
--uxf-color-base-text-disabled: #ffffff80;
|
|
50
57
|
--uxf-color-base-text-high-emphasis: #fff;
|
|
58
|
+
--uxf-color-base-text-low-emphasis: #ffffffbf;
|
|
51
59
|
--uxf-color-base-text-inverted-high-emphasis: #111927;
|
|
60
|
+
--uxf-color-base-text-inverted-low-emphasis: #202939cc;
|
|
61
|
+
--uxf-color-base-text-inverted-disabled: #202939b3;
|
|
52
62
|
|
|
53
63
|
/** primary */
|
|
54
64
|
--uxf-color-primary-surface-default: #518bff;
|
package/css/icon.css
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
.uxf-icon {
|
|
2
|
-
|
|
2
|
+
flex-shrink: 0;
|
|
3
|
+
height: var(--i-h);
|
|
4
|
+
width: var(--i-w);
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
& > use {
|
|
7
|
+
pointer-events: none;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
&--color-default {
|
|
11
|
+
color: var(--uxf-color-base-text-high-emphasis);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&--color-positive {
|
|
15
|
+
color: var(--uxf-color-positive-text);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&--color-negative {
|
|
19
|
+
color: var(--uxf-color-negative-text);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&--color-warning {
|
|
23
|
+
color: var(--uxf-color-warning-text);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&--color-info {
|
|
27
|
+
color: var(--uxf-color-info-text);
|
|
10
28
|
}
|
|
11
29
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
.uxf-modal-dialog {
|
|
2
|
+
background-color: var(--uxf-color-base-surface-main);
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
font-size: var(--uxf-typo-main-size);
|
|
6
|
+
gap: theme("spacing.3");
|
|
7
|
+
line-height: var(--uxf-typo-main-line-height);
|
|
8
|
+
padding: theme("spacing.4");
|
|
9
|
+
|
|
10
|
+
&__icon {
|
|
11
|
+
flex-shrink: 0;
|
|
12
|
+
height: theme("spacing.5");
|
|
13
|
+
transform: translateY(2px);
|
|
14
|
+
width: theme("spacing.5");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&__header {
|
|
18
|
+
align-items: flex-start;
|
|
19
|
+
display: flex;
|
|
20
|
+
gap: theme("spacing.2");
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&__title {
|
|
24
|
+
color: var(--uxf-color-base-text-high-emphasis);
|
|
25
|
+
font-weight: theme("fontWeight.medium");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__text {
|
|
29
|
+
color: var(--uxf-color-base-text-low-emphasis);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&__footer {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-wrap: wrap;
|
|
35
|
+
gap: theme("spacing.4");
|
|
36
|
+
justify-content: flex-end;
|
|
37
|
+
}
|
|
38
|
+
}
|
package/icon/icon.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { CSSProperties } from "react";
|
|
2
|
+
import { IconColor } from "./theme";
|
|
2
3
|
import { IconName } from "./types";
|
|
3
4
|
type NameOrComponentType = {
|
|
4
5
|
name: IconName;
|
|
@@ -13,6 +14,7 @@ export type IconProps = {
|
|
|
13
14
|
mode?: "meet" | "slice";
|
|
14
15
|
size?: number;
|
|
15
16
|
style?: CSSProperties;
|
|
17
|
+
color?: IconColor;
|
|
16
18
|
} & NameOrComponentType;
|
|
17
19
|
export declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
|
18
20
|
export {};
|
package/icon/icon.js
CHANGED
|
@@ -32,7 +32,7 @@ exports.Icon = (0, react_1.forwardRef)((props, ref) => {
|
|
|
32
32
|
var _a, _b;
|
|
33
33
|
const componentContext = (0, context_1.useComponentContext)("icon");
|
|
34
34
|
const CustomComponent = props.Component;
|
|
35
|
-
const className = (0, cx_1.cx)("uxf-icon", props.className);
|
|
35
|
+
const className = (0, cx_1.cx)("uxf-icon", props.color && `uxf-icon--color-${props.color}`, props.className);
|
|
36
36
|
const preserveAspectRatio = `xMidYMid ${(_a = props.mode) !== null && _a !== void 0 ? _a : "meet"}`;
|
|
37
37
|
const style = props.size
|
|
38
38
|
? {
|
package/icon/theme.d.ts
CHANGED
package/icons-config.js
CHANGED
|
@@ -10,6 +10,11 @@ module.exports = {
|
|
|
10
10
|
height: 512,
|
|
11
11
|
data: `<path fill="currentColor" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/>`,
|
|
12
12
|
},
|
|
13
|
+
"badge-check-solid": {
|
|
14
|
+
width: 512,
|
|
15
|
+
height: 512,
|
|
16
|
+
data: `<path fill="currentColor" d="M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z"/>`,
|
|
17
|
+
},
|
|
13
18
|
calendar: {
|
|
14
19
|
width: 448,
|
|
15
20
|
height: 512,
|
|
@@ -75,6 +80,11 @@ module.exports = {
|
|
|
75
80
|
height: 512,
|
|
76
81
|
data: `<path d="M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9-.1-2.7-.2-5.4-.2-8.1 0-88.4 71.6-160 160-160 59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96 0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z" fill="currentColor"/>`,
|
|
77
82
|
},
|
|
83
|
+
"circle-info-solid": {
|
|
84
|
+
width: 512,
|
|
85
|
+
height: 512,
|
|
86
|
+
data: `<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/>`,
|
|
87
|
+
},
|
|
78
88
|
copy: {
|
|
79
89
|
width: 512,
|
|
80
90
|
height: 512,
|
|
@@ -110,6 +120,11 @@ module.exports = {
|
|
|
110
120
|
height: 512,
|
|
111
121
|
data: `<path fill="currentColor" d="M248.4 84.3c1.6-2.7 4.5-4.3 7.6-4.3s6 1.6 7.6 4.3L461.9 410c1.4 2.3 2.1 4.9 2.1 7.5c0 8-6.5 14.5-14.5 14.5H62.5c-8 0-14.5-6.5-14.5-14.5c0-2.7 .7-5.3 2.1-7.5L248.4 84.3zm-41-25L9.1 385c-6 9.8-9.1 21-9.1 32.5C0 452 28 480 62.5 480h387c34.5 0 62.5-28 62.5-62.5c0-11.5-3.2-22.7-9.1-32.5L304.6 59.3C294.3 42.4 275.9 32 256 32s-38.3 10.4-48.6 27.3zM288 368a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-184c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184z"/>`,
|
|
112
122
|
},
|
|
123
|
+
"triangle-exclamation-solid": {
|
|
124
|
+
width: 512,
|
|
125
|
+
height: 512,
|
|
126
|
+
data: `<path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z" fill="currentColor"/>`,
|
|
127
|
+
},
|
|
113
128
|
user: {
|
|
114
129
|
width: 448,
|
|
115
130
|
height: 512,
|
|
@@ -125,6 +140,11 @@ module.exports = {
|
|
|
125
140
|
height: 512,
|
|
126
141
|
data: `<path fill="currentColor" d="M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z"/>`,
|
|
127
142
|
},
|
|
143
|
+
"xmark-octagon-solid": {
|
|
144
|
+
width: 512,
|
|
145
|
+
height: 512,
|
|
146
|
+
data: `<path fill="currentColor" d="M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1l129 0c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9l0 129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1l-129 0c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5l0-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"/>`,
|
|
147
|
+
},
|
|
128
148
|
xmarkLarge: {
|
|
129
149
|
width: 448,
|
|
130
150
|
height: 512,
|
package/message/README.md
CHANGED
|
@@ -4,6 +4,7 @@ declare function getMessageRef(): import("react").RefObject<MessageRef>;
|
|
|
4
4
|
declare function openAlert(confirm: Omit<MessageProps, "onAccept" | "acceptLabel">): void;
|
|
5
5
|
declare function openConfirm(confirm: Omit<MessageProps, "onAccept" | "acceptLabel"> & Required<Pick<MessageProps, "onAccept" | "acceptLabel">>): void;
|
|
6
6
|
declare function close(): void;
|
|
7
|
+
/** @deprecated use openModal with ModalDialog component */
|
|
7
8
|
export declare const MessageService: {
|
|
8
9
|
getMessageRef: typeof getMessageRef;
|
|
9
10
|
openAlert: typeof openAlert;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
interface ModalDialogProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
footer?: ReactNode;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
title: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function ModalDialog(props: ModalDialogProps): React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
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.ModalDialog = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function ModalDialog(props) {
|
|
9
|
+
var _a;
|
|
10
|
+
return (react_1.default.createElement("div", { className: `uxf-modal-dialog ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}` },
|
|
11
|
+
react_1.default.createElement("div", { className: "uxf-modal-dialog__header" },
|
|
12
|
+
props.icon && react_1.default.createElement("div", { className: "uxf-modal-dialog__icon" }, props.icon),
|
|
13
|
+
react_1.default.createElement("div", { className: "uxf-modal-dialog__title" }, props.title)),
|
|
14
|
+
props.children && react_1.default.createElement("div", { className: "uxf-modal-dialog__text" }, props.children),
|
|
15
|
+
props.footer && react_1.default.createElement("div", { className: "uxf-modal-dialog__footer" }, props.footer)));
|
|
16
|
+
}
|
|
17
|
+
exports.ModalDialog = ModalDialog;
|
|
@@ -0,0 +1,29 @@
|
|
|
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.Default = void 0;
|
|
7
|
+
const button_1 = require("@uxf/ui/button");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const icon_1 = require("../icon");
|
|
10
|
+
const modal_dialog_1 = require("./modal-dialog");
|
|
11
|
+
function Default() {
|
|
12
|
+
return (react_1.default.createElement("div", { className: "space-y-6 bg-neutral-200 p-6" },
|
|
13
|
+
react_1.default.createElement(modal_dialog_1.ModalDialog, { title: "Default dialog", footer: react_1.default.createElement(react_1.default.Fragment, null,
|
|
14
|
+
react_1.default.createElement(button_1.Button, { variant: "text" }, "Close"),
|
|
15
|
+
react_1.default.createElement(button_1.Button, null, "Button")) }, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Praesent dapibus. Vestibulum fermentum tortor id mi."),
|
|
16
|
+
react_1.default.createElement(modal_dialog_1.ModalDialog, { title: "Warning dialog", icon: react_1.default.createElement(icon_1.Icon, { name: "triangle-exclamation-solid", color: "warning" }), footer: react_1.default.createElement(react_1.default.Fragment, null,
|
|
17
|
+
react_1.default.createElement(button_1.Button, { variant: "text" }, "Close"),
|
|
18
|
+
react_1.default.createElement(button_1.Button, { color: "warning" }, "Button")) }, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Praesent dapibus. Vestibulum fermentum tortor id mi."),
|
|
19
|
+
react_1.default.createElement(modal_dialog_1.ModalDialog, { title: "Positive dialog asda ksdjahs kjdhakj shdk jahksdjh kajsdh k", icon: react_1.default.createElement(icon_1.Icon, { name: "badge-check-solid", color: "positive" }), footer: react_1.default.createElement(react_1.default.Fragment, null,
|
|
20
|
+
react_1.default.createElement(button_1.Button, { variant: "text" }, "Cancel"),
|
|
21
|
+
react_1.default.createElement(button_1.Button, { color: "positive" }, "Save")) }, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Praesent dapibus. Vestibulum fermentum tortor id mi."),
|
|
22
|
+
react_1.default.createElement(modal_dialog_1.ModalDialog, { title: "Negative dialog", icon: react_1.default.createElement(icon_1.Icon, { name: "xmark-octagon-solid", color: "negative" }), footer: react_1.default.createElement(react_1.default.Fragment, null,
|
|
23
|
+
react_1.default.createElement(button_1.Button, { variant: "text" }, "Cancel"),
|
|
24
|
+
react_1.default.createElement(button_1.Button, { color: "negative" }, "Save")) }, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Praesent dapibus. Vestibulum fermentum tortor id mi."),
|
|
25
|
+
react_1.default.createElement(modal_dialog_1.ModalDialog, { title: "Info dialog", icon: react_1.default.createElement(icon_1.Icon, { name: "circle-info-solid", color: "info" }), footer: react_1.default.createElement(react_1.default.Fragment, null,
|
|
26
|
+
react_1.default.createElement(button_1.Button, { variant: "text" }, "Cancel"),
|
|
27
|
+
react_1.default.createElement(button_1.Button, { color: "info" }, "Save")) }, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Praesent dapibus. Vestibulum fermentum tortor id mi.")));
|
|
28
|
+
}
|
|
29
|
+
exports.Default = Default;
|
package/package.json
CHANGED
package/readmes.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare const readmes: {
|
|
|
39
39
|
readonly lozenge: typeof alertBubbleReadme;
|
|
40
40
|
readonly message: typeof alertBubbleReadme;
|
|
41
41
|
readonly modal: typeof alertBubbleReadme;
|
|
42
|
+
readonly "modal-dialog": typeof alertBubbleReadme;
|
|
42
43
|
readonly "multi-combobox": typeof alertBubbleReadme;
|
|
43
44
|
readonly "multi-select": typeof alertBubbleReadme;
|
|
44
45
|
readonly pagination: typeof alertBubbleReadme;
|
package/readmes.js
CHANGED
|
@@ -43,23 +43,24 @@ const README_md_35 = __importDefault(require("./loader/README.md"));
|
|
|
43
43
|
const README_md_36 = __importDefault(require("./lozenge/README.md"));
|
|
44
44
|
const README_md_37 = __importDefault(require("./message/README.md"));
|
|
45
45
|
const README_md_38 = __importDefault(require("./modal/README.md"));
|
|
46
|
-
const README_md_39 = __importDefault(require("./
|
|
47
|
-
const README_md_40 = __importDefault(require("./multi-
|
|
48
|
-
const README_md_41 = __importDefault(require("./
|
|
49
|
-
const README_md_42 = __importDefault(require("./
|
|
50
|
-
const README_md_43 = __importDefault(require("./
|
|
51
|
-
const README_md_44 = __importDefault(require("./radio
|
|
52
|
-
const README_md_45 = __importDefault(require("./
|
|
53
|
-
const README_md_46 = __importDefault(require("./
|
|
54
|
-
const README_md_47 = __importDefault(require("./
|
|
55
|
-
const README_md_48 = __importDefault(require("./
|
|
56
|
-
const README_md_49 = __importDefault(require("./text-
|
|
57
|
-
const README_md_50 = __importDefault(require("./
|
|
58
|
-
const README_md_51 = __importDefault(require("./
|
|
59
|
-
const README_md_52 = __importDefault(require("./time-picker
|
|
60
|
-
const README_md_53 = __importDefault(require("./
|
|
61
|
-
const README_md_54 = __importDefault(require("./
|
|
62
|
-
const README_md_55 = __importDefault(require("./
|
|
46
|
+
const README_md_39 = __importDefault(require("./modal-dialog/README.md"));
|
|
47
|
+
const README_md_40 = __importDefault(require("./multi-combobox/README.md"));
|
|
48
|
+
const README_md_41 = __importDefault(require("./multi-select/README.md"));
|
|
49
|
+
const README_md_42 = __importDefault(require("./pagination/README.md"));
|
|
50
|
+
const README_md_43 = __importDefault(require("./paper/README.md"));
|
|
51
|
+
const README_md_44 = __importDefault(require("./radio/README.md"));
|
|
52
|
+
const README_md_45 = __importDefault(require("./radio-group/README.md"));
|
|
53
|
+
const README_md_46 = __importDefault(require("./raster-image/README.md"));
|
|
54
|
+
const README_md_47 = __importDefault(require("./select/README.md"));
|
|
55
|
+
const README_md_48 = __importDefault(require("./tabs/README.md"));
|
|
56
|
+
const README_md_49 = __importDefault(require("./text-input/README.md"));
|
|
57
|
+
const README_md_50 = __importDefault(require("./text-link/README.md"));
|
|
58
|
+
const README_md_51 = __importDefault(require("./textarea/README.md"));
|
|
59
|
+
const README_md_52 = __importDefault(require("./time-picker/README.md"));
|
|
60
|
+
const README_md_53 = __importDefault(require("./time-picker-input/README.md"));
|
|
61
|
+
const README_md_54 = __importDefault(require("./toggle/README.md"));
|
|
62
|
+
const README_md_55 = __importDefault(require("./tooltip/README.md"));
|
|
63
|
+
const README_md_56 = __importDefault(require("./typography/README.md"));
|
|
63
64
|
exports.readmes = {
|
|
64
65
|
"alert-bubble": README_md_1.default,
|
|
65
66
|
"avatar": README_md_2.default,
|
|
@@ -99,21 +100,22 @@ exports.readmes = {
|
|
|
99
100
|
"lozenge": README_md_36.default,
|
|
100
101
|
"message": README_md_37.default,
|
|
101
102
|
"modal": README_md_38.default,
|
|
102
|
-
"
|
|
103
|
-
"multi-
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"radio
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"text-
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"time-picker
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
103
|
+
"modal-dialog": README_md_39.default,
|
|
104
|
+
"multi-combobox": README_md_40.default,
|
|
105
|
+
"multi-select": README_md_41.default,
|
|
106
|
+
"pagination": README_md_42.default,
|
|
107
|
+
"paper": README_md_43.default,
|
|
108
|
+
"radio": README_md_44.default,
|
|
109
|
+
"radio-group": README_md_45.default,
|
|
110
|
+
"raster-image": README_md_46.default,
|
|
111
|
+
"select": README_md_47.default,
|
|
112
|
+
"tabs": README_md_48.default,
|
|
113
|
+
"text-input": README_md_49.default,
|
|
114
|
+
"text-link": README_md_50.default,
|
|
115
|
+
"textarea": README_md_51.default,
|
|
116
|
+
"time-picker": README_md_52.default,
|
|
117
|
+
"time-picker-input": README_md_53.default,
|
|
118
|
+
"toggle": README_md_54.default,
|
|
119
|
+
"tooltip": README_md_55.default,
|
|
120
|
+
"typography": README_md_56.default,
|
|
119
121
|
};
|