frey-ui 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +260 -9
- package/dist/cjs/Alert/alert.module.css.js +9 -0
- package/dist/cjs/Alert/alert.module.css.js.map +1 -0
- package/dist/cjs/Alert/index.js +36 -0
- package/dist/cjs/Alert/index.js.map +1 -0
- package/dist/cjs/Button/button.module.css.js +9 -0
- package/dist/cjs/Button/button.module.css.js.map +1 -0
- package/dist/cjs/Button/index.js +32 -0
- package/dist/cjs/Button/index.js.map +1 -0
- package/dist/cjs/Checkbox/checkbox.module.css.js +9 -0
- package/dist/cjs/Checkbox/checkbox.module.css.js.map +1 -0
- package/dist/cjs/Checkbox/index.js +49 -0
- package/dist/cjs/Checkbox/index.js.map +1 -0
- package/dist/cjs/Chip/chip.module.css.js +9 -0
- package/dist/cjs/Chip/chip.module.css.js.map +1 -0
- package/dist/cjs/Chip/index.js +48 -0
- package/dist/cjs/Chip/index.js.map +1 -0
- package/dist/cjs/Dialog/dialog.module.css.js +9 -0
- package/dist/cjs/Dialog/dialog.module.css.js.map +1 -0
- package/dist/cjs/Dialog/index.js +130 -0
- package/dist/cjs/Dialog/index.js.map +1 -0
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.js +9 -0
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.js.map +1 -0
- package/dist/cjs/DropdownMenu/index.js +220 -0
- package/dist/cjs/DropdownMenu/index.js.map +1 -0
- package/dist/cjs/Field/field.module.css.js +9 -0
- package/dist/cjs/Field/field.module.css.js.map +1 -0
- package/dist/cjs/Field/index.js +35 -0
- package/dist/cjs/Field/index.js.map +1 -0
- package/dist/cjs/Icons/icons.module.css.js +9 -0
- package/dist/cjs/Icons/icons.module.css.js.map +1 -0
- package/dist/cjs/Icons/index.js +96 -0
- package/dist/cjs/Icons/index.js.map +1 -0
- package/dist/cjs/Popover/index.js +145 -0
- package/dist/cjs/Popover/index.js.map +1 -0
- package/dist/cjs/Popover/popover.module.css.js +9 -0
- package/dist/cjs/Popover/popover.module.css.js.map +1 -0
- package/dist/cjs/Progress/index.js +31 -0
- package/dist/cjs/Progress/index.js.map +1 -0
- package/dist/cjs/Progress/progress.module.css.js +9 -0
- package/dist/cjs/Progress/progress.module.css.js.map +1 -0
- package/dist/cjs/RadioGroup/index.js +44 -0
- package/dist/cjs/RadioGroup/index.js.map +1 -0
- package/dist/cjs/RadioGroup/radiogroup.module.css.js +9 -0
- package/dist/cjs/RadioGroup/radiogroup.module.css.js.map +1 -0
- package/dist/cjs/Select/index.js +31 -0
- package/dist/cjs/Select/index.js.map +1 -0
- package/dist/cjs/Select/select.module.css.js +9 -0
- package/dist/cjs/Select/select.module.css.js.map +1 -0
- package/dist/cjs/Skeleton/index.js +23 -0
- package/dist/cjs/Skeleton/index.js.map +1 -0
- package/dist/cjs/Skeleton/skeleton.module.css.js +9 -0
- package/dist/cjs/Skeleton/skeleton.module.css.js.map +1 -0
- package/dist/cjs/Spinner/index.js +29 -0
- package/dist/cjs/Spinner/index.js.map +1 -0
- package/dist/cjs/Spinner/spinner.module.css.js +9 -0
- package/dist/cjs/Spinner/spinner.module.css.js.map +1 -0
- package/dist/cjs/Switch/index.js +40 -0
- package/dist/cjs/Switch/index.js.map +1 -0
- package/dist/cjs/Switch/switch.module.css.js +9 -0
- package/dist/cjs/Switch/switch.module.css.js.map +1 -0
- package/dist/cjs/TextInput/index.js +33 -0
- package/dist/cjs/TextInput/index.js.map +1 -0
- package/dist/cjs/TextInput/textinput.module.css.js +9 -0
- package/dist/cjs/TextInput/textinput.module.css.js.map +1 -0
- package/dist/cjs/Textarea/index.js +31 -0
- package/dist/cjs/Textarea/index.js.map +1 -0
- package/dist/cjs/Textarea/textarea.module.css.js +9 -0
- package/dist/cjs/Textarea/textarea.module.css.js.map +1 -0
- package/dist/cjs/ThemeProvider/index.js +29 -0
- package/dist/cjs/ThemeProvider/index.js.map +1 -0
- package/dist/cjs/ThemeProvider/themeprovider.module.css.js +9 -0
- package/dist/cjs/ThemeProvider/themeprovider.module.css.js.map +1 -0
- package/dist/cjs/Toast/index.js +111 -0
- package/dist/cjs/Toast/index.js.map +1 -0
- package/dist/cjs/Toast/toast.module.css.js +9 -0
- package/dist/cjs/Toast/toast.module.css.js.map +1 -0
- package/dist/cjs/Tooltip/index.js +165 -0
- package/dist/cjs/Tooltip/index.js.map +1 -0
- package/dist/cjs/Tooltip/tooltip.module.css.js +9 -0
- package/dist/cjs/Tooltip/tooltip.module.css.js.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/Alert/alert.module.css.js +5 -0
- package/dist/esm/Alert/alert.module.css.js.map +1 -0
- package/dist/esm/Alert/index.js +32 -0
- package/dist/esm/Alert/index.js.map +1 -0
- package/dist/esm/Button/button.module.css.js +5 -0
- package/dist/esm/Button/button.module.css.js.map +1 -0
- package/dist/esm/Button/index.js +28 -0
- package/dist/esm/Button/index.js.map +1 -0
- package/dist/esm/Checkbox/checkbox.module.css.js +5 -0
- package/dist/esm/Checkbox/checkbox.module.css.js.map +1 -0
- package/dist/esm/Checkbox/index.js +45 -0
- package/dist/esm/Checkbox/index.js.map +1 -0
- package/dist/esm/Chip/chip.module.css.js +5 -0
- package/dist/esm/Chip/chip.module.css.js.map +1 -0
- package/dist/esm/Chip/index.js +44 -0
- package/dist/esm/Chip/index.js.map +1 -0
- package/dist/esm/Dialog/dialog.module.css.js +5 -0
- package/dist/esm/Dialog/dialog.module.css.js.map +1 -0
- package/dist/esm/Dialog/index.js +126 -0
- package/dist/esm/Dialog/index.js.map +1 -0
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.js +5 -0
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.js.map +1 -0
- package/dist/esm/DropdownMenu/index.js +216 -0
- package/dist/esm/DropdownMenu/index.js.map +1 -0
- package/dist/esm/Field/field.module.css.js +5 -0
- package/dist/esm/Field/field.module.css.js.map +1 -0
- package/dist/esm/Field/index.js +31 -0
- package/dist/esm/Field/index.js.map +1 -0
- package/dist/esm/Icons/icons.module.css.js +5 -0
- package/dist/esm/Icons/icons.module.css.js.map +1 -0
- package/dist/esm/Icons/index.js +84 -0
- package/dist/esm/Icons/index.js.map +1 -0
- package/dist/esm/Popover/index.js +141 -0
- package/dist/esm/Popover/index.js.map +1 -0
- package/dist/esm/Popover/popover.module.css.js +5 -0
- package/dist/esm/Popover/popover.module.css.js.map +1 -0
- package/dist/esm/Progress/index.js +27 -0
- package/dist/esm/Progress/index.js.map +1 -0
- package/dist/esm/Progress/progress.module.css.js +5 -0
- package/dist/esm/Progress/progress.module.css.js.map +1 -0
- package/dist/esm/RadioGroup/index.js +40 -0
- package/dist/esm/RadioGroup/index.js.map +1 -0
- package/dist/esm/RadioGroup/radiogroup.module.css.js +5 -0
- package/dist/esm/RadioGroup/radiogroup.module.css.js.map +1 -0
- package/dist/esm/Select/index.js +27 -0
- package/dist/esm/Select/index.js.map +1 -0
- package/dist/esm/Select/select.module.css.js +5 -0
- package/dist/esm/Select/select.module.css.js.map +1 -0
- package/dist/esm/Skeleton/index.js +19 -0
- package/dist/esm/Skeleton/index.js.map +1 -0
- package/dist/esm/Skeleton/skeleton.module.css.js +5 -0
- package/dist/esm/Skeleton/skeleton.module.css.js.map +1 -0
- package/dist/esm/Spinner/index.js +25 -0
- package/dist/esm/Spinner/index.js.map +1 -0
- package/dist/esm/Spinner/spinner.module.css.js +5 -0
- package/dist/esm/Spinner/spinner.module.css.js.map +1 -0
- package/dist/esm/Switch/index.js +36 -0
- package/dist/esm/Switch/index.js.map +1 -0
- package/dist/esm/Switch/switch.module.css.js +5 -0
- package/dist/esm/Switch/switch.module.css.js.map +1 -0
- package/dist/esm/TextInput/index.js +29 -0
- package/dist/esm/TextInput/index.js.map +1 -0
- package/dist/esm/TextInput/textinput.module.css.js +5 -0
- package/dist/esm/TextInput/textinput.module.css.js.map +1 -0
- package/dist/esm/Textarea/index.js +27 -0
- package/dist/esm/Textarea/index.js.map +1 -0
- package/dist/esm/Textarea/textarea.module.css.js +5 -0
- package/dist/esm/Textarea/textarea.module.css.js.map +1 -0
- package/dist/esm/ThemeProvider/index.js +25 -0
- package/dist/esm/ThemeProvider/index.js.map +1 -0
- package/dist/esm/ThemeProvider/themeprovider.module.css.js +5 -0
- package/dist/esm/ThemeProvider/themeprovider.module.css.js.map +1 -0
- package/dist/esm/Toast/index.js +108 -0
- package/dist/esm/Toast/index.js.map +1 -0
- package/dist/esm/Toast/toast.module.css.js +5 -0
- package/dist/esm/Toast/toast.module.css.js.map +1 -0
- package/dist/esm/Tooltip/index.js +161 -0
- package/dist/esm/Tooltip/index.js.map +1 -0
- package/dist/esm/Tooltip/tooltip.module.css.js +5 -0
- package/dist/esm/Tooltip/tooltip.module.css.js.map +1 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/index.d.ts +339 -0
- package/dist/styles.css +2 -0
- package/dist/styles.css.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/types/src/Alert/index.d.ts +11 -0
- package/dist/types/src/Button/index.d.ts +22 -0
- package/dist/types/src/Checkbox/index.d.ts +12 -0
- package/dist/types/src/Chip/index.d.ts +21 -0
- package/dist/types/src/Dialog/index.d.ts +18 -0
- package/dist/types/src/DropdownMenu/index.d.ts +27 -0
- package/dist/types/src/Field/index.d.ts +22 -0
- package/dist/types/src/Icons/index.d.ts +29 -0
- package/dist/types/src/Popover/index.d.ts +20 -0
- package/dist/types/src/Progress/index.d.ts +15 -0
- package/dist/types/src/RadioGroup/index.d.ts +27 -0
- package/dist/types/src/Select/index.d.ts +14 -0
- package/dist/types/src/Skeleton/index.d.ts +11 -0
- package/dist/types/src/Spinner/index.d.ts +10 -0
- package/dist/types/src/Switch/index.d.ts +11 -0
- package/dist/types/src/TextInput/index.d.ts +12 -0
- package/dist/types/src/Textarea/index.d.ts +13 -0
- package/dist/types/src/ThemeProvider/index.d.ts +12 -0
- package/dist/types/src/Toast/index.d.ts +30 -0
- package/dist/types/src/Tooltip/index.d.ts +17 -0
- package/dist/types/src/index.d.ts +41 -0
- package/package.json +11 -23
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var reactDom = require('react-dom');
|
|
10
|
+
var index = require('../Icons/index.js');
|
|
11
|
+
var dialog_module = require('./dialog.module.css.js');
|
|
12
|
+
|
|
13
|
+
const Dialog = React.forwardRef(function Dialog({ open, title, children, description, onOpenChange, id, closeLabel = 'Close dialog', closeOnEscape = true, closeOnOverlayClick = true, className, style, contentClassName, contentStyle }, ref) {
|
|
14
|
+
const generatedId = React.useId();
|
|
15
|
+
const dialogRef = React.useRef(null);
|
|
16
|
+
const previousFocusedElementRef = React.useRef(null);
|
|
17
|
+
const dialogId = id !== null && id !== void 0 ? id : `${generatedId}-dialog`;
|
|
18
|
+
const titleId = `${dialogId}-title`;
|
|
19
|
+
const descriptionId = `${dialogId}-description`;
|
|
20
|
+
const hasDescription = typeof description === 'string' && description.length > 0;
|
|
21
|
+
React.useEffect(() => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (open) {
|
|
24
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
25
|
+
previousFocusedElementRef.current = document.activeElement;
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
(_a = previousFocusedElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
30
|
+
previousFocusedElementRef.current = null;
|
|
31
|
+
}, [open]);
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
const dialogElement = dialogRef.current;
|
|
34
|
+
if (!dialogElement) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const canShowModal = typeof dialogElement.showModal === 'function';
|
|
38
|
+
if (open) {
|
|
39
|
+
if (!dialogElement.open) {
|
|
40
|
+
if (canShowModal) {
|
|
41
|
+
dialogElement.showModal();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
dialogElement.setAttribute('open', '');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (dialogElement.open || dialogElement.hasAttribute('open')) {
|
|
50
|
+
if (typeof dialogElement.close === 'function') {
|
|
51
|
+
dialogElement.close();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
dialogElement.removeAttribute('open');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, [open]);
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
if (!open || !closeOnEscape) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const dialogElement = dialogRef.current;
|
|
63
|
+
if (!dialogElement || typeof dialogElement.showModal === 'function') {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const handleEscape = (event) => {
|
|
67
|
+
if (event.key === 'Escape') {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
document.addEventListener('keydown', handleEscape);
|
|
73
|
+
return () => {
|
|
74
|
+
document.removeEventListener('keydown', handleEscape);
|
|
75
|
+
};
|
|
76
|
+
}, [open, closeOnEscape, onOpenChange]);
|
|
77
|
+
React.useEffect(() => {
|
|
78
|
+
if (!open) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const dialogElement = dialogRef.current;
|
|
82
|
+
if (!dialogElement || typeof dialogElement.showModal === 'function') {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const previousOverflow = document.body.style.overflow;
|
|
86
|
+
document.body.style.overflow = 'hidden';
|
|
87
|
+
return () => {
|
|
88
|
+
document.body.style.overflow = previousOverflow;
|
|
89
|
+
};
|
|
90
|
+
}, [open]);
|
|
91
|
+
React.useEffect(() => {
|
|
92
|
+
const dialogElement = dialogRef.current;
|
|
93
|
+
if (!dialogElement || !closeOnOverlayClick) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const handleDialogClick = (event) => {
|
|
97
|
+
if (event.target === dialogElement) {
|
|
98
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
dialogElement.addEventListener('click', handleDialogClick);
|
|
102
|
+
return () => {
|
|
103
|
+
dialogElement.removeEventListener('click', handleDialogClick);
|
|
104
|
+
};
|
|
105
|
+
}, [closeOnOverlayClick, onOpenChange]);
|
|
106
|
+
if (typeof document === 'undefined') {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
return reactDom.createPortal(jsxRuntime.jsx("dialog", { id: dialogId, ref: (node) => {
|
|
110
|
+
dialogRef.current = node;
|
|
111
|
+
if (typeof ref === 'function') {
|
|
112
|
+
ref(node);
|
|
113
|
+
}
|
|
114
|
+
else if (ref) {
|
|
115
|
+
ref.current = node;
|
|
116
|
+
}
|
|
117
|
+
}, "aria-labelledby": titleId, "aria-describedby": hasDescription ? descriptionId : undefined, className: clsx(dialog_module.default.dialog_root, className), style: style, onCancel: (event) => {
|
|
118
|
+
if (!closeOnEscape) {
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
}
|
|
121
|
+
}, onClose: () => {
|
|
122
|
+
if (open) {
|
|
123
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
|
|
124
|
+
}
|
|
125
|
+
}, children: jsxRuntime.jsxs("div", { className: clsx(dialog_module.default.dialog_content, contentClassName), style: contentStyle, children: [jsxRuntime.jsxs("div", { className: dialog_module.default.dialog_header, children: [jsxRuntime.jsx("h2", { id: titleId, className: dialog_module.default.dialog_title, children: title }), jsxRuntime.jsx("button", { type: 'button', className: dialog_module.default.dialog_close, onClick: () => onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false), "aria-label": closeLabel, children: jsxRuntime.jsx(index.CloseIcon, { size: 16, className: dialog_module.default.dialog_close_icon }) })] }), hasDescription && (jsxRuntime.jsx("p", { id: descriptionId, className: dialog_module.default.dialog_description, children: description })), jsxRuntime.jsx("div", { className: dialog_module.default.dialog_body, children: children })] }) }), document.body);
|
|
126
|
+
});
|
|
127
|
+
Dialog.displayName = 'Dialog';
|
|
128
|
+
|
|
129
|
+
exports.default = Dialog;
|
|
130
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Dialog/index.tsx"],"sourcesContent":[null],"names":["createPortal","_jsx","styles","_jsxs","CloseIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var styles = {"dropdown_menu":"dropdownmenu-module_dropdown_menu__AHiFI","dropdown_menu_item_container":"dropdownmenu-module_dropdown_menu_item_container__FI7MR","dropdown_menu_item":"dropdownmenu-module_dropdown_menu_item__ncHAK","dropdown_menu_item_destructive":"dropdownmenu-module_dropdown_menu_item_destructive__-QIlU"};
|
|
7
|
+
|
|
8
|
+
exports.default = styles;
|
|
9
|
+
//# sourceMappingURL=dropdownmenu.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdownmenu.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var reactDom = require('react-dom');
|
|
10
|
+
var dropdownmenu_module = require('./dropdownmenu.module.css.js');
|
|
11
|
+
|
|
12
|
+
function clamp(value, min, max) {
|
|
13
|
+
return Math.min(Math.max(value, min), max);
|
|
14
|
+
}
|
|
15
|
+
function mergeRefs(...refs) {
|
|
16
|
+
return (node) => {
|
|
17
|
+
refs.forEach((ref) => {
|
|
18
|
+
if (!ref) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (typeof ref === 'function') {
|
|
22
|
+
ref(node);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
ref.current = node;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function findNextEnabledIndex(items, startIndex, direction) {
|
|
31
|
+
var _a;
|
|
32
|
+
if (items.length === 0) {
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
let index = startIndex;
|
|
36
|
+
for (const _item of items) {
|
|
37
|
+
index = (index + direction + items.length) % items.length;
|
|
38
|
+
if (!((_a = items[index]) === null || _a === void 0 ? void 0 : _a.disabled)) {
|
|
39
|
+
return index;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return -1;
|
|
43
|
+
}
|
|
44
|
+
function DropdownMenu({ trigger, items, onSelect, open, defaultOpen = false, onOpenChange, placement = 'bottom', offset = 8, closeOnEscape = true, closeOnOutsideClick = true, id, className, style, menuClassName, menuStyle }) {
|
|
45
|
+
const generatedId = React.useId();
|
|
46
|
+
const menuId = id !== null && id !== void 0 ? id : `${generatedId}-dropdown-menu`;
|
|
47
|
+
const triggerRef = React.useRef(null);
|
|
48
|
+
const menuRef = React.useRef(null);
|
|
49
|
+
const itemRefs = React.useRef([]);
|
|
50
|
+
const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
|
|
51
|
+
const [position, setPosition] = React.useState({ top: 0, left: 0 });
|
|
52
|
+
const isControlled = typeof open === 'boolean';
|
|
53
|
+
const isOpen = isControlled ? open : internalOpen;
|
|
54
|
+
const setOpen = React.useCallback((nextOpen) => {
|
|
55
|
+
if (!isControlled) {
|
|
56
|
+
setInternalOpen(nextOpen);
|
|
57
|
+
}
|
|
58
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
|
|
59
|
+
}, [isControlled, onOpenChange]);
|
|
60
|
+
const updatePosition = React.useCallback(() => {
|
|
61
|
+
if (!isOpen || !triggerRef.current || !menuRef.current) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const triggerRect = triggerRef.current.getBoundingClientRect();
|
|
65
|
+
const menuRect = menuRef.current.getBoundingClientRect();
|
|
66
|
+
const viewportPadding = 8;
|
|
67
|
+
const viewportWidth = window.innerWidth;
|
|
68
|
+
const viewportHeight = window.innerHeight;
|
|
69
|
+
let top = triggerRect.bottom + offset;
|
|
70
|
+
let left = triggerRect.left;
|
|
71
|
+
if (placement === 'top') {
|
|
72
|
+
top = triggerRect.top - menuRect.height - offset;
|
|
73
|
+
}
|
|
74
|
+
if (placement === 'left') {
|
|
75
|
+
top = triggerRect.top;
|
|
76
|
+
left = triggerRect.left - menuRect.width - offset;
|
|
77
|
+
}
|
|
78
|
+
if (placement === 'right') {
|
|
79
|
+
top = triggerRect.top;
|
|
80
|
+
left = triggerRect.right + offset;
|
|
81
|
+
}
|
|
82
|
+
top = clamp(top, viewportPadding, Math.max(viewportPadding, viewportHeight - menuRect.height - viewportPadding));
|
|
83
|
+
left = clamp(left, viewportPadding, Math.max(viewportPadding, viewportWidth - menuRect.width - viewportPadding));
|
|
84
|
+
setPosition({ top, left });
|
|
85
|
+
}, [isOpen, offset, placement]);
|
|
86
|
+
React.useLayoutEffect(() => {
|
|
87
|
+
updatePosition();
|
|
88
|
+
}, [updatePosition]);
|
|
89
|
+
React.useEffect(() => {
|
|
90
|
+
var _a;
|
|
91
|
+
if (!isOpen) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const firstEnabledIndex = items.findIndex((item) => !item.disabled);
|
|
95
|
+
if (firstEnabledIndex >= 0) {
|
|
96
|
+
(_a = itemRefs.current[firstEnabledIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
97
|
+
}
|
|
98
|
+
}, [isOpen, items]);
|
|
99
|
+
React.useEffect(() => {
|
|
100
|
+
if (!isOpen) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const handleReposition = () => {
|
|
104
|
+
updatePosition();
|
|
105
|
+
};
|
|
106
|
+
window.addEventListener('resize', handleReposition);
|
|
107
|
+
window.addEventListener('scroll', handleReposition, true);
|
|
108
|
+
return () => {
|
|
109
|
+
window.removeEventListener('resize', handleReposition);
|
|
110
|
+
window.removeEventListener('scroll', handleReposition, true);
|
|
111
|
+
};
|
|
112
|
+
}, [isOpen, updatePosition]);
|
|
113
|
+
React.useEffect(() => {
|
|
114
|
+
if (!isOpen || !closeOnOutsideClick) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const handlePointerDown = (event) => {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
const targetNode = event.target;
|
|
120
|
+
if ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(targetNode)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if ((_b = menuRef.current) === null || _b === void 0 ? void 0 : _b.contains(targetNode)) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
setOpen(false);
|
|
127
|
+
};
|
|
128
|
+
document.addEventListener('mousedown', handlePointerDown);
|
|
129
|
+
return () => {
|
|
130
|
+
document.removeEventListener('mousedown', handlePointerDown);
|
|
131
|
+
};
|
|
132
|
+
}, [closeOnOutsideClick, isOpen, setOpen]);
|
|
133
|
+
React.useEffect(() => {
|
|
134
|
+
if (!isOpen || !closeOnEscape) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const handleEscape = (event) => {
|
|
138
|
+
var _a;
|
|
139
|
+
if (event.key === 'Escape') {
|
|
140
|
+
event.preventDefault();
|
|
141
|
+
setOpen(false);
|
|
142
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
document.addEventListener('keydown', handleEscape);
|
|
146
|
+
return () => {
|
|
147
|
+
document.removeEventListener('keydown', handleEscape);
|
|
148
|
+
};
|
|
149
|
+
}, [closeOnEscape, isOpen, setOpen]);
|
|
150
|
+
const triggerProps = trigger.props;
|
|
151
|
+
const handleSelect = (item) => {
|
|
152
|
+
var _a;
|
|
153
|
+
if (item.disabled) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(item.value);
|
|
157
|
+
setOpen(false);
|
|
158
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
159
|
+
};
|
|
160
|
+
const handleMenuItemKeyDown = (event) => {
|
|
161
|
+
var _a, _b, _c, _d;
|
|
162
|
+
const currentIndex = itemRefs.current.indexOf(event.currentTarget);
|
|
163
|
+
if (event.key === 'ArrowDown') {
|
|
164
|
+
event.preventDefault();
|
|
165
|
+
const nextIndex = findNextEnabledIndex(items, currentIndex, 1);
|
|
166
|
+
if (nextIndex >= 0) {
|
|
167
|
+
(_a = itemRefs.current[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (event.key === 'ArrowUp') {
|
|
171
|
+
event.preventDefault();
|
|
172
|
+
const prevIndex = findNextEnabledIndex(items, currentIndex, -1);
|
|
173
|
+
if (prevIndex >= 0) {
|
|
174
|
+
(_b = itemRefs.current[prevIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (event.key === 'Home') {
|
|
178
|
+
event.preventDefault();
|
|
179
|
+
const firstIndex = items.findIndex((item) => !item.disabled);
|
|
180
|
+
if (firstIndex >= 0) {
|
|
181
|
+
(_c = itemRefs.current[firstIndex]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (event.key === 'End') {
|
|
185
|
+
event.preventDefault();
|
|
186
|
+
const lastIndex = [...items]
|
|
187
|
+
.reverse()
|
|
188
|
+
.findIndex((item) => !item.disabled);
|
|
189
|
+
if (lastIndex >= 0) {
|
|
190
|
+
const resolvedIndex = items.length - 1 - lastIndex;
|
|
191
|
+
(_d = itemRefs.current[resolvedIndex]) === null || _d === void 0 ? void 0 : _d.focus();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const triggerElement = React.cloneElement(trigger, {
|
|
196
|
+
ref: mergeRefs(triggerProps.ref, triggerRef),
|
|
197
|
+
onClick: (event) => {
|
|
198
|
+
var _a;
|
|
199
|
+
(_a = triggerProps.onClick) === null || _a === void 0 ? void 0 : _a.call(triggerProps, event);
|
|
200
|
+
if (!event.defaultPrevented) {
|
|
201
|
+
setOpen(!isOpen);
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
'aria-haspopup': 'menu',
|
|
205
|
+
'aria-controls': menuId,
|
|
206
|
+
'aria-expanded': isOpen
|
|
207
|
+
});
|
|
208
|
+
if (typeof document === 'undefined') {
|
|
209
|
+
return triggerElement;
|
|
210
|
+
}
|
|
211
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [triggerElement, isOpen &&
|
|
212
|
+
reactDom.createPortal(jsxRuntime.jsx("menu", { id: menuId, ref: menuRef, className: clsx(dropdownmenu_module.default.dropdown_menu, className, menuClassName), style: Object.assign(Object.assign({ top: position.top, left: position.left }, style), menuStyle), children: items.map((item, index) => (jsxRuntime.jsx("li", { className: dropdownmenu_module.default.dropdown_menu_item_container, children: jsxRuntime.jsx("button", { type: 'button', disabled: item.disabled, ref: (node) => {
|
|
213
|
+
itemRefs.current[index] = node;
|
|
214
|
+
}, className: clsx(dropdownmenu_module.default.dropdown_menu_item, {
|
|
215
|
+
[dropdownmenu_module.default.dropdown_menu_item_destructive]: item.destructive
|
|
216
|
+
}), onKeyDown: handleMenuItemKeyDown, onClick: () => handleSelect(item), children: item.label }) }, item.value))) }), document.body)] }));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
exports.default = DropdownMenu;
|
|
220
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/DropdownMenu/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","createPortal","_jsx","styles"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var styles = {"field_container":"field-module_field_container__mYSRK","field_label":"field-module_field_label__HK1Z5","field_label_disabled":"field-module_field_label_disabled__SkdeT","required_indicator":"field-module_required_indicator__9eYh0","helper_text":"field-module_helper_text__1K3VS","error_text":"field-module_error_text__vwYPc","visually_hidden":"field-module_visually_hidden__ofbl2"};
|
|
7
|
+
|
|
8
|
+
exports.default = styles;
|
|
9
|
+
//# sourceMappingURL=field.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var field_module = require('./field.module.css.js');
|
|
10
|
+
|
|
11
|
+
function Field({ children, label, hideLabel = false, error, helperText, required = false, disabled = false, id, className, style, labelElement = 'label' }) {
|
|
12
|
+
const generatedId = React.useId();
|
|
13
|
+
const inputId = id !== null && id !== void 0 ? id : generatedId;
|
|
14
|
+
const labelId = `${inputId}-label`;
|
|
15
|
+
const errorId = `${inputId}-error`;
|
|
16
|
+
const helperId = `${inputId}-helper`;
|
|
17
|
+
const hasError = typeof error === 'string' && error.length > 0;
|
|
18
|
+
const hasHelper = typeof helperText === 'string' && helperText.length > 0;
|
|
19
|
+
const describedBy = [hasError ? errorId : undefined, hasHelper ? helperId : undefined]
|
|
20
|
+
.filter(Boolean)
|
|
21
|
+
.join(' ') || undefined;
|
|
22
|
+
const sharedLabelClassName = clsx(field_module.default.field_label, {
|
|
23
|
+
[field_module.default.field_label_disabled]: disabled,
|
|
24
|
+
[field_module.default.visually_hidden]: hideLabel
|
|
25
|
+
});
|
|
26
|
+
return (jsxRuntime.jsxs("div", { className: clsx(field_module.default.field_container, className), style: style, children: [labelElement === 'label' ? (jsxRuntime.jsxs("label", { htmlFor: inputId, className: sharedLabelClassName, id: labelId, children: [jsxRuntime.jsx("span", { children: label }), required && (jsxRuntime.jsx("span", { className: field_module.default.required_indicator, "aria-hidden": 'true', children: "*" }))] })) : (jsxRuntime.jsxs("span", { className: sharedLabelClassName, id: labelId, children: [jsxRuntime.jsx("span", { children: label }), required && (jsxRuntime.jsx("span", { className: field_module.default.required_indicator, "aria-hidden": 'true', children: "*" }))] })), children({
|
|
27
|
+
inputId,
|
|
28
|
+
labelId,
|
|
29
|
+
describedBy,
|
|
30
|
+
hasError
|
|
31
|
+
}), hasError && (jsxRuntime.jsx("p", { id: errorId, className: field_module.default.error_text, role: 'alert', children: error })), hasHelper && (jsxRuntime.jsx("p", { id: helperId, className: field_module.default.helper_text, children: helperText }))] }));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
exports.default = Field;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Field/index.tsx"],"sourcesContent":[null],"names":["useId","styles","_jsxs","_jsx"],"mappings":";;;;;;;;;;AAyBA,SAAS,KAAK,CAAC,EACb,QAAQ,EACR,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,KAAK,EACL,UAAU,EACV,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,EAAE,EACF,SAAS,EACT,KAAK,EACL,YAAY,GAAG,OAAO,EACD,EAAA;AACrB,IAAA,MAAM,WAAW,GAAGA,WAAK,EAAE;IAC3B,MAAM,OAAO,GAAG,EAAE,KAAA,IAAA,IAAF,EAAE,KAAA,MAAA,GAAF,EAAE,GAAI,WAAW;AACjC,IAAA,MAAM,OAAO,GAAG,CAAA,EAAG,OAAO,QAAQ;AAClC,IAAA,MAAM,OAAO,GAAG,CAAA,EAAG,OAAO,QAAQ;AAClC,IAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,OAAO,SAAS;AAEpC,IAAA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;AAC9D,IAAA,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;IAEzE,MAAM,WAAW,GACf,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS;SAC9D,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;AAE3B,IAAA,MAAM,oBAAoB,GAAG,IAAI,CAACC,oBAAM,CAAC,WAAW,EAAE;AACpD,QAAA,CAACA,oBAAM,CAAC,oBAAoB,GAAG,QAAQ;AACvC,QAAA,CAACA,oBAAM,CAAC,eAAe,GAAG;AAC3B,KAAA,CAAC;AAEF,IAAA,QACEC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,IAAI,CAACD,oBAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAClE,YAAY,KAAK,OAAO,IACvBC,2BAAO,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,aACnEC,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,KAAK,GAAQ,EACnB,QAAQ,KACPA,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEF,oBAAM,CAAC,kBAAkB,iBAAc,MAAM,EAAA,QAAA,EAAA,GAAA,EAAA,CAEvD,CACR,CAAA,EAAA,CACK,KAERC,eAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,aAChDC,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,KAAK,GAAQ,EACnB,QAAQ,KACPA,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEF,oBAAM,CAAC,kBAAkB,EAAA,aAAA,EAAc,MAAM,EAAA,QAAA,EAAA,GAAA,EAAA,CAEvD,CACR,IACI,CACR,EAEA,QAAQ,CAAC;gBACR,OAAO;gBACP,OAAO;gBACP,WAAW;gBACX;AACD,aAAA,CAAC,EAED,QAAQ,KACPE,cAAA,CAAA,GAAA,EAAA,EAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAEF,oBAAM,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,YACvD,KAAK,EAAA,CACJ,CACL,EAEA,SAAS,KACRE,sBAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAEF,oBAAM,CAAC,WAAW,EAAA,QAAA,EAC3C,UAAU,GACT,CACL,CAAA,EAAA,CACG;AAEV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var icons_module = require('./icons.module.css.js');
|
|
9
|
+
|
|
10
|
+
const IconSizeMap = {
|
|
11
|
+
xs: 12,
|
|
12
|
+
sm: 14,
|
|
13
|
+
md: 16,
|
|
14
|
+
lg: 20,
|
|
15
|
+
xl: 24
|
|
16
|
+
};
|
|
17
|
+
const IconStrokeWidthMap = {
|
|
18
|
+
thin: 1.5,
|
|
19
|
+
regular: 1.8,
|
|
20
|
+
bold: 2.2
|
|
21
|
+
};
|
|
22
|
+
function resolveSize(size) {
|
|
23
|
+
if (typeof size === 'number') {
|
|
24
|
+
return size;
|
|
25
|
+
}
|
|
26
|
+
return IconSizeMap[size !== null && size !== void 0 ? size : 'md'];
|
|
27
|
+
}
|
|
28
|
+
function resolveStrokeWidth(strokeWidth) {
|
|
29
|
+
if (typeof strokeWidth === 'number') {
|
|
30
|
+
return strokeWidth;
|
|
31
|
+
}
|
|
32
|
+
return IconStrokeWidthMap[strokeWidth !== null && strokeWidth !== void 0 ? strokeWidth : 'regular'];
|
|
33
|
+
}
|
|
34
|
+
function getA11yProps(title) {
|
|
35
|
+
const trimmedTitle = title === null || title === void 0 ? void 0 : title.trim();
|
|
36
|
+
if (trimmedTitle) {
|
|
37
|
+
return {
|
|
38
|
+
role: 'img',
|
|
39
|
+
'aria-label': trimmedTitle
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
'aria-hidden': 'true'
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function IconSvg({ size, strokeWidth, title, className, style, children }) {
|
|
47
|
+
const resolvedSize = resolveSize(size);
|
|
48
|
+
const resolvedStrokeWidth = resolveStrokeWidth(strokeWidth);
|
|
49
|
+
const trimmedTitle = title === null || title === void 0 ? void 0 : title.trim();
|
|
50
|
+
return (jsxRuntime.jsxs("svg", Object.assign({ xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', width: resolvedSize, height: resolvedSize, fill: 'none', stroke: 'currentColor', strokeWidth: resolvedStrokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', className: clsx(icons_module.default.icon_svg, className), style: style }, getA11yProps(title), { children: [jsxRuntime.jsx("title", { children: trimmedTitle !== null && trimmedTitle !== void 0 ? trimmedTitle : 'Icon' }), children] })));
|
|
51
|
+
}
|
|
52
|
+
function CloseIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
53
|
+
return (jsxRuntime.jsxs(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: [jsxRuntime.jsx("path", { d: 'M18 6L6 18' }), jsxRuntime.jsx("path", { d: 'M6 6L18 18' })] }));
|
|
54
|
+
}
|
|
55
|
+
function ChevronDownIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
56
|
+
return (jsxRuntime.jsx(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: jsxRuntime.jsx("path", { d: 'M6 9L12 15L18 9' }) }));
|
|
57
|
+
}
|
|
58
|
+
function CheckIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
59
|
+
return (jsxRuntime.jsx(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: jsxRuntime.jsx("path", { d: 'M5 13L10 18L19 8' }) }));
|
|
60
|
+
}
|
|
61
|
+
function MinusIcon({ size = 'md', strokeWidth = 'bold', title, className, style }) {
|
|
62
|
+
return (jsxRuntime.jsx(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: jsxRuntime.jsx("path", { d: 'M5 12H19' }) }));
|
|
63
|
+
}
|
|
64
|
+
function CircleXIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
65
|
+
return (jsxRuntime.jsxs(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: [jsxRuntime.jsx("circle", { cx: '12', cy: '12', r: '9' }), jsxRuntime.jsx("path", { d: 'M15 9L9 15' }), jsxRuntime.jsx("path", { d: 'M9 9L15 15' })] }));
|
|
66
|
+
}
|
|
67
|
+
function CircleCheckIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
68
|
+
return (jsxRuntime.jsxs(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: [jsxRuntime.jsx("circle", { cx: '12', cy: '12', r: '9' }), jsxRuntime.jsx("path", { d: 'M8 12L11 15L16 10' })] }));
|
|
69
|
+
}
|
|
70
|
+
function TriangleAlertIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
71
|
+
return (jsxRuntime.jsxs(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: [jsxRuntime.jsx("path", { d: 'M12 4L20 19H4L12 4Z' }), jsxRuntime.jsx("path", { d: 'M12 9V13' }), jsxRuntime.jsx("circle", { cx: '12', cy: '16.2', r: '0.65', fill: 'currentColor', stroke: 'none' })] }));
|
|
72
|
+
}
|
|
73
|
+
function CircleInfoIcon({ size = 'md', strokeWidth = 'regular', title, className, style }) {
|
|
74
|
+
return (jsxRuntime.jsxs(IconSvg, { size: size, strokeWidth: strokeWidth, title: title, className: className, style: style, children: [jsxRuntime.jsx("circle", { cx: '12', cy: '12', r: '9' }), jsxRuntime.jsx("path", { d: 'M12 11V16' }), jsxRuntime.jsx("circle", { cx: '12', cy: '8', r: '0.85', fill: 'currentColor', stroke: 'none' })] }));
|
|
75
|
+
}
|
|
76
|
+
const Icons = {
|
|
77
|
+
CloseIcon,
|
|
78
|
+
ChevronDownIcon,
|
|
79
|
+
CheckIcon,
|
|
80
|
+
MinusIcon,
|
|
81
|
+
CircleXIcon,
|
|
82
|
+
CircleCheckIcon,
|
|
83
|
+
TriangleAlertIcon,
|
|
84
|
+
CircleInfoIcon
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
exports.CheckIcon = CheckIcon;
|
|
88
|
+
exports.ChevronDownIcon = ChevronDownIcon;
|
|
89
|
+
exports.CircleCheckIcon = CircleCheckIcon;
|
|
90
|
+
exports.CircleInfoIcon = CircleInfoIcon;
|
|
91
|
+
exports.CircleXIcon = CircleXIcon;
|
|
92
|
+
exports.CloseIcon = CloseIcon;
|
|
93
|
+
exports.MinusIcon = MinusIcon;
|
|
94
|
+
exports.TriangleAlertIcon = TriangleAlertIcon;
|
|
95
|
+
exports.default = Icons;
|
|
96
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Icons/index.tsx"],"sourcesContent":[null],"names":["_jsxs","styles","_jsx"],"mappings":"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"}
|