@galaxy-io/dls 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buttons/Button.d.ts +1 -0
- package/dist/buttons/Button.js +8 -7
- package/dist/spreadsheet/SpreadsheetHeaderCell.d.ts +5 -0
- package/dist/spreadsheet/SpreadsheetHeaderCell.js +20 -4
- package/dist/spreadsheet/SpreadsheetRowActionCell.d.ts +5 -0
- package/dist/spreadsheet/SpreadsheetRowActionCell.js +25 -7
- package/dist/styles.css +2 -5
- package/package.json +1 -1
- package/dist/dropdown/DropdownButton.d.ts +0 -18
- package/dist/dropdown/DropdownButton.js +0 -179
- package/dist/dropdown/DropdownFooter.d.ts +0 -10
- package/dist/dropdown/DropdownFooter.js +0 -35
- package/dist/dropdown/DropdownItem.d.ts +0 -10
- package/dist/dropdown/DropdownItem.js +0 -38
package/dist/buttons/Button.d.ts
CHANGED
package/dist/buttons/Button.js
CHANGED
|
@@ -11,6 +11,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
11
11
|
//#region src/buttons/Button.tsx
|
|
12
12
|
var ButtonVariant = /* @__PURE__ */ function(ButtonVariant) {
|
|
13
13
|
ButtonVariant["PRIMARY"] = "PRIMARY";
|
|
14
|
+
ButtonVariant["PRIMARY_ALT"] = "PRIMARY_ALT";
|
|
14
15
|
ButtonVariant["SECONDARY"] = "SECONDARY";
|
|
15
16
|
ButtonVariant["TERTIARY"] = "TERTIARY";
|
|
16
17
|
ButtonVariant["SUCCESS"] = "SUCCESS";
|
|
@@ -36,20 +37,20 @@ var _exp6 = () => ({ $size }) => {
|
|
|
36
37
|
return match($size).with("SMALL", () => "24px").with("MEDIUM", () => "28px").with("LARGE", () => "32px").exhaustive();
|
|
37
38
|
};
|
|
38
39
|
var _exp7 = () => ({ theme, $variant }) => {
|
|
39
|
-
return match($variant).with("PRIMARY", () => theme.color.background.galaxy).with("SECONDARY", () => theme.color.background.primary).with("TERTIARY", () => "transparent").with("SUCCESS", () => theme.color.icon.success).with("ERROR", () => theme.color.icon.error).exhaustive();
|
|
40
|
+
return match($variant).with("PRIMARY", () => theme.color.background.galaxy).with("PRIMARY_ALT", () => theme.color.background.primaryAlt).with("SECONDARY", () => theme.color.background.primary).with("TERTIARY", () => "transparent").with("SUCCESS", () => theme.color.icon.success).with("ERROR", () => theme.color.icon.error).exhaustive();
|
|
40
41
|
};
|
|
41
42
|
var _exp8 = () => ({ theme, $variant }) => {
|
|
42
|
-
return match($variant).with("PRIMARY", () => "0.5px solid transparent").with("SECONDARY", () => `0.5px solid ${theme.color.border.primary}`).with("TERTIARY", () => "0.5px solid transparent").with("SUCCESS", () => "0.5px solid transparent").with("ERROR", () => "0.5px solid transparent").exhaustive();
|
|
43
|
+
return match($variant).with("PRIMARY", () => "0.5px solid transparent").with("PRIMARY_ALT", () => `0.5px solid transparent`).with("SECONDARY", () => `0.5px solid ${theme.color.border.primary}`).with("TERTIARY", () => "0.5px solid transparent").with("SUCCESS", () => "0.5px solid transparent").with("ERROR", () => "0.5px solid transparent").exhaustive();
|
|
43
44
|
};
|
|
44
45
|
var _exp9 = () => ({ $cursor }) => $cursor ?? "pointer";
|
|
45
46
|
var _exp0 = () => ({ theme, $variant }) => {
|
|
46
|
-
return match($variant).with("PRIMARY", () => theme.color.background.galaxyAlt).with("SECONDARY", () => theme.color.background.tertiary).with("TERTIARY", () => theme.color.background.secondary).with("SUCCESS", () => theme.color.background.successAlt).with("ERROR", () => theme.color.background.errorAlt).exhaustive();
|
|
47
|
+
return match($variant).with("PRIMARY", () => theme.color.background.galaxyAlt).with("PRIMARY_ALT", () => theme.color.background.secondaryAlt).with("SECONDARY", () => theme.color.background.tertiary).with("TERTIARY", () => theme.color.background.secondary).with("SUCCESS", () => theme.color.background.successAlt).with("ERROR", () => theme.color.background.errorAlt).exhaustive();
|
|
47
48
|
};
|
|
48
49
|
var _exp1 = () => ({ theme, $variant }) => {
|
|
49
|
-
return match($variant).with("PRIMARY", () => theme.color.border.primary).with("SECONDARY", () => theme.color.border.primary).with("TERTIARY", () => theme.color.border.primary).with("SUCCESS", () =>
|
|
50
|
+
return match($variant).with("PRIMARY", () => theme.color.border.primary).with("PRIMARY_ALT", () => theme.color.border.primary).with("SECONDARY", () => theme.color.border.primary).with("TERTIARY", () => theme.color.border.primary).with("SUCCESS", () => theme.color.border.primary).with("ERROR", () => theme.color.border.primary).exhaustive();
|
|
50
51
|
};
|
|
51
52
|
var _exp10 = () => ({ theme, $variant }) => {
|
|
52
|
-
return match($variant).with("PRIMARY", () => theme.color.background.disabled).with("SECONDARY", () => theme.color.background.disabled).with("TERTIARY", () => "transparent").with("SUCCESS", () => theme.color.background.successAlt).with("ERROR", () => theme.color.background.errorAlt).exhaustive();
|
|
53
|
+
return match($variant).with("PRIMARY", () => theme.color.background.disabled).with("PRIMARY_ALT", () => theme.color.background.disabled).with("SECONDARY", () => theme.color.background.disabled).with("TERTIARY", () => "transparent").with("SUCCESS", () => theme.color.background.successAlt).with("ERROR", () => theme.color.background.errorAlt).exhaustive();
|
|
53
54
|
};
|
|
54
55
|
var StyledButton = withTheme(/*#__PURE__*/ styled("button")({
|
|
55
56
|
name: "StyledButton",
|
|
@@ -82,10 +83,10 @@ var LabelWrapper = /*#__PURE__*/ styled("span")({
|
|
|
82
83
|
}
|
|
83
84
|
});
|
|
84
85
|
function getTextVariant(variant, activeTheme) {
|
|
85
|
-
return match(variant).with("PRIMARY", () => activeTheme === GalaxyTheme.DARK ? TextVariant.PRIMARY : TextVariant.PRIMARY_ALT).with("SECONDARY", () => TextVariant.PRIMARY).with("TERTIARY", () => TextVariant.PRIMARY).with("SUCCESS", () => TextVariant.PRIMARY).with("ERROR", () => TextVariant.PRIMARY).exhaustive();
|
|
86
|
+
return match(variant).with("PRIMARY", () => activeTheme === GalaxyTheme.DARK ? TextVariant.PRIMARY : TextVariant.PRIMARY_ALT).with("PRIMARY_ALT", () => TextVariant.PRIMARY_ALT).with("SECONDARY", () => TextVariant.PRIMARY).with("TERTIARY", () => TextVariant.PRIMARY).with("SUCCESS", () => TextVariant.PRIMARY).with("ERROR", () => TextVariant.PRIMARY).exhaustive();
|
|
86
87
|
}
|
|
87
88
|
function getIconVariant(variant, activeTheme) {
|
|
88
|
-
return match(variant).with("PRIMARY", () => activeTheme === GalaxyTheme.DARK ? IconVariant.PRIMARY : IconVariant.PRIMARY_ALT).with("SECONDARY", () => IconVariant.PRIMARY).with("TERTIARY", () => IconVariant.PRIMARY).with("SUCCESS", () => IconVariant.PRIMARY).with("ERROR", () => IconVariant.PRIMARY).exhaustive();
|
|
89
|
+
return match(variant).with("PRIMARY", () => activeTheme === GalaxyTheme.DARK ? IconVariant.PRIMARY : IconVariant.PRIMARY_ALT).with("PRIMARY_ALT", () => IconVariant.PRIMARY_ALT).with("SECONDARY", () => IconVariant.PRIMARY).with("TERTIARY", () => IconVariant.PRIMARY).with("SUCCESS", () => IconVariant.PRIMARY).with("ERROR", () => IconVariant.PRIMARY).exhaustive();
|
|
89
90
|
}
|
|
90
91
|
var BUTTON_SIZE_TO_TEXT_SIZE_MAP = {
|
|
91
92
|
["SMALL"]: TextSize.BODY_SM,
|
|
@@ -8,6 +8,11 @@ export interface SpreadsheetHeaderCellProps<TData> {
|
|
|
8
8
|
onResizeStart: (columnId: string, clientX: number) => void;
|
|
9
9
|
getAllRows?: () => TData[];
|
|
10
10
|
}
|
|
11
|
+
export interface HeaderCellDropdownItemProps {
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
label: string;
|
|
14
|
+
onClick: () => void;
|
|
15
|
+
}
|
|
11
16
|
declare function SpreadsheetHeaderCellInner<TData>({ column, width, pin, pinnedOffset, onResizeStart, getAllRows, }: SpreadsheetHeaderCellProps<TData>): React.JSX.Element;
|
|
12
17
|
declare const SpreadsheetHeaderCell: typeof SpreadsheetHeaderCellInner;
|
|
13
18
|
export default SpreadsheetHeaderCell;
|
|
@@ -4,7 +4,6 @@ import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
|
|
|
4
4
|
import FlexWrapper, { FlexDirection } from "../containers/FlexWrapper.js";
|
|
5
5
|
import { ColumnAlign, ColumnPin } from "../table/InfiniteTable.js";
|
|
6
6
|
import Dropdown, { DropdownPosition } from "../dropdown/Dropdown.js";
|
|
7
|
-
import DropdownItem from "../dropdown/DropdownItem.js";
|
|
8
7
|
/* empty css */
|
|
9
8
|
import { styled } from "@linaria/react";
|
|
10
9
|
import { match } from "ts-pattern";
|
|
@@ -54,6 +53,23 @@ var ResizeHandle = withTheme(/*#__PURE__*/ styled("div")({
|
|
|
54
53
|
propsAsIs: false,
|
|
55
54
|
vars: { "r10tums3-0": [_exp0()] }
|
|
56
55
|
}));
|
|
56
|
+
var _exp1 = () => ({ theme }) => theme.color.background.secondary;
|
|
57
|
+
var HeaderCellDropdownItemWrapper = withTheme(/*#__PURE__*/ styled("button")({
|
|
58
|
+
name: "HeaderCellDropdownItemWrapper",
|
|
59
|
+
class: "hz0qata",
|
|
60
|
+
propsAsIs: false,
|
|
61
|
+
vars: { "hz0qata-0": [_exp1()] }
|
|
62
|
+
}));
|
|
63
|
+
var HeaderCellDropdownItem = ({ icon, label, onClick }) => {
|
|
64
|
+
return /* @__PURE__ */ jsxs(HeaderCellDropdownItemWrapper, {
|
|
65
|
+
onClick,
|
|
66
|
+
children: [icon, /* @__PURE__ */ jsx(Text, {
|
|
67
|
+
size: TextSize.BODY_SM,
|
|
68
|
+
weight: TextWeight.MEDIUM,
|
|
69
|
+
children: label
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
};
|
|
57
73
|
function SpreadsheetHeaderCellInner({ column, width, pin, pinnedOffset, onResizeStart, getAllRows }) {
|
|
58
74
|
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
59
75
|
const handleResizeMouseDown = useCallback((e) => {
|
|
@@ -83,7 +99,7 @@ function SpreadsheetHeaderCellInner({ column, width, pin, pinnedOffset, onResize
|
|
|
83
99
|
body: /* @__PURE__ */ jsxs(FlexWrapper, {
|
|
84
100
|
direction: FlexDirection.COLUMN,
|
|
85
101
|
gap: 2,
|
|
86
|
-
children: [enrichmentActions.map((action) => /* @__PURE__ */ jsx(
|
|
102
|
+
children: [enrichmentActions.map((action) => /* @__PURE__ */ jsx(HeaderCellDropdownItem, {
|
|
87
103
|
icon: action.icon,
|
|
88
104
|
label: action.label,
|
|
89
105
|
onClick: () => {
|
|
@@ -91,10 +107,9 @@ function SpreadsheetHeaderCellInner({ column, width, pin, pinnedOffset, onResize
|
|
|
91
107
|
action.onAction(column.id, rows);
|
|
92
108
|
setIsMenuOpen(false);
|
|
93
109
|
}
|
|
94
|
-
}, `enrich-${action.id}`)), headerActions.map((action) => /* @__PURE__ */ jsx(
|
|
110
|
+
}, `enrich-${action.id}`)), headerActions.map((action) => /* @__PURE__ */ jsx(HeaderCellDropdownItem, {
|
|
95
111
|
icon: action.icon,
|
|
96
112
|
label: action.label,
|
|
97
|
-
variant: action.variant,
|
|
98
113
|
onClick: () => {
|
|
99
114
|
action.onAction(column.id);
|
|
100
115
|
setIsMenuOpen(false);
|
|
@@ -102,6 +117,7 @@ function SpreadsheetHeaderCellInner({ column, width, pin, pinnedOffset, onResize
|
|
|
102
117
|
}, `action-${action.id}`))]
|
|
103
118
|
}),
|
|
104
119
|
position: DropdownPosition.BOTTOM_END,
|
|
120
|
+
offset: [0, 4],
|
|
105
121
|
isOpen: isMenuOpen,
|
|
106
122
|
onClose: () => setIsMenuOpen(false),
|
|
107
123
|
minWidth: 160,
|
|
@@ -6,6 +6,11 @@ export interface SpreadsheetRowActionCellProps<TData> {
|
|
|
6
6
|
actions: SpreadsheetRowAction<TData>[];
|
|
7
7
|
pinnedOffset?: number;
|
|
8
8
|
}
|
|
9
|
+
export interface ActionCellDropdownItemProps {
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
label: string;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
}
|
|
9
14
|
declare function SpreadsheetRowActionCellInner<TData>({ row, rowIndex, actions, pinnedOffset, }: SpreadsheetRowActionCellProps<TData>): React.JSX.Element;
|
|
10
15
|
declare const SpreadsheetRowActionCell: typeof SpreadsheetRowActionCellInner;
|
|
11
16
|
export default SpreadsheetRowActionCell;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { withTheme } from "../theme/GalaxyTheme.js";
|
|
2
|
+
import Text, { TextSize, TextWeight } from "../text/Text.js";
|
|
2
3
|
import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
|
|
3
4
|
import FlexWrapper, { FlexDirection } from "../containers/FlexWrapper.js";
|
|
4
5
|
import Dropdown, { DropdownPosition } from "../dropdown/Dropdown.js";
|
|
5
|
-
import DropdownItem from "../dropdown/DropdownItem.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
import { styled } from "@linaria/react";
|
|
8
8
|
import React, { useState } from "react";
|
|
9
|
-
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import { DotsThreeVerticalIcon } from "@phosphor-icons/react";
|
|
11
11
|
//#region src/spreadsheet/SpreadsheetRowActionCell.tsx
|
|
12
12
|
var _exp = () => ({ $pinnedOffset }) => $pinnedOffset !== void 0 ? `${$pinnedOffset}px` : "0";
|
|
@@ -22,15 +22,36 @@ var ActionCellContainer = withTheme(/*#__PURE__*/ styled("td")({
|
|
|
22
22
|
"a1b1bj84-2": [_exp3()]
|
|
23
23
|
}
|
|
24
24
|
}));
|
|
25
|
+
var _exp4 = () => ({ theme }) => theme.color.background.secondary;
|
|
26
|
+
var ActionCellDropdownItemWrapper = withTheme(/*#__PURE__*/ styled("button")({
|
|
27
|
+
name: "ActionCellDropdownItemWrapper",
|
|
28
|
+
class: "a1mvarzo",
|
|
29
|
+
propsAsIs: false,
|
|
30
|
+
vars: { "a1mvarzo-0": [_exp4()] }
|
|
31
|
+
}));
|
|
32
|
+
var ActionCellDropdownItem = ({ icon, label, onClick }) => {
|
|
33
|
+
return /* @__PURE__ */ jsxs(ActionCellDropdownItemWrapper, {
|
|
34
|
+
onClick,
|
|
35
|
+
children: [icon, /* @__PURE__ */ jsx(Text, {
|
|
36
|
+
size: TextSize.BODY_SM,
|
|
37
|
+
weight: TextWeight.MEDIUM,
|
|
38
|
+
children: label
|
|
39
|
+
})]
|
|
40
|
+
});
|
|
41
|
+
};
|
|
25
42
|
function SpreadsheetRowActionCellInner({ row, rowIndex, actions, pinnedOffset }) {
|
|
26
43
|
const [isOpen, setIsOpen] = useState(false);
|
|
44
|
+
const handleActionClick = (e) => {
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
setIsOpen(!isOpen);
|
|
47
|
+
};
|
|
27
48
|
return /* @__PURE__ */ jsx(ActionCellContainer, {
|
|
28
49
|
$pinnedOffset: pinnedOffset,
|
|
29
50
|
children: /* @__PURE__ */ jsx(Dropdown, {
|
|
30
51
|
body: /* @__PURE__ */ jsx(FlexWrapper, {
|
|
31
52
|
direction: FlexDirection.COLUMN,
|
|
32
53
|
gap: 2,
|
|
33
|
-
children: actions.map((action) => /* @__PURE__ */ jsx(
|
|
54
|
+
children: actions.map((action) => /* @__PURE__ */ jsx(ActionCellDropdownItem, {
|
|
34
55
|
icon: action.icon,
|
|
35
56
|
label: action.label,
|
|
36
57
|
onClick: () => {
|
|
@@ -47,10 +68,7 @@ function SpreadsheetRowActionCellInner({ row, rowIndex, actions, pinnedOffset })
|
|
|
47
68
|
icon: DotsThreeVerticalIcon,
|
|
48
69
|
variant: ButtonVariant.TERTIARY,
|
|
49
70
|
size: ButtonSize.SMALL,
|
|
50
|
-
onClick:
|
|
51
|
-
e.stopPropagation();
|
|
52
|
-
setIsOpen(!isOpen);
|
|
53
|
-
}
|
|
71
|
+
onClick: handleActionClick
|
|
54
72
|
})
|
|
55
73
|
})
|
|
56
74
|
});
|
package/dist/styles.css
CHANGED
|
@@ -47,11 +47,6 @@
|
|
|
47
47
|
.s1hpu3t7{position:fixed;inset:0;background-color:var(--s1hpu3t7-0);-webkit-backdrop-filter:var(--s1hpu3t7-1);backdrop-filter:var(--s1hpu3t7-1);opacity:var(--s1hpu3t7-2);visibility:var(--s1hpu3t7-3);-webkit-transition:var(--s1hpu3t7-4);transition:var(--s1hpu3t7-4);z-index:var(--s1hpu3t7-5);pointer-events:var(--s1hpu3t7-6);}
|
|
48
48
|
.d1bgy4cf{display:inline-block;position:relative;width:var(--d1bgy4cf-0);min-width:var(--d1bgy4cf-1);max-width:var(--d1bgy4cf-2);overflow:var(--d1bgy4cf-3);padding:var(--d1bgy4cf-4);background-color:var(--d1bgy4cf-5);border:var(--d1bgy4cf-6);border-radius:5px;}
|
|
49
49
|
.dfdzgmt{position:relative;z-index:var(--dfdzgmt-0);display:var(--dfdzgmt-1);width:var(--dfdzgmt-2);}
|
|
50
|
-
.sobaxfi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:var(--sobaxfi-0);min-width:var(--sobaxfi-1);overflow:var(--sobaxfi-2);gap:var(--sobaxfi-3);padding:var(--sobaxfi-4);height:var(--sobaxfi-5);background-color:var(--sobaxfi-6);border:var(--sobaxfi-7);border-radius:5px;cursor:var(--sobaxfi-8);-webkit-transition:background-color 0.075s ease-in-out,border 0.075s ease-in-out;transition:background-color 0.075s ease-in-out,border 0.075s ease-in-out;}.sobaxfi:hover:not(:disabled){background-color:var(--sobaxfi-9);border-color:var(--sobaxfi-10);}.sobaxfi:disabled{background-color:var(--sobaxfi-11);cursor:not-allowed;opacity:0.5;}
|
|
51
|
-
.l147oxln{-webkit-flex:var(--l147oxln-0);-ms-flex:var(--l147oxln-0);flex:var(--l147oxln-0);min-width:var(--l147oxln-1);overflow:hidden;}
|
|
52
|
-
.d1egzp74{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:var(--d1egzp74-0);-webkit-box-align:var(--d1egzp74-0);-ms-flex-align:var(--d1egzp74-0);align-items:var(--d1egzp74-0);-webkit-box-pack:var(--d1egzp74-1);-ms-flex-pack:var(--d1egzp74-1);-webkit-justify-content:var(--d1egzp74-1);justify-content:var(--d1egzp74-1);gap:var(--d1egzp74-2);width:var(--d1egzp74-3);padding:var(--d1egzp74-4);}
|
|
53
|
-
.syosvbj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:24px;width:100%;border-radius:4px;cursor:pointer;}.syosvbj:disabled{opacity:0.5;cursor:not-allowed;}.syosvbj:disabled:hover{background-color:transparent;}
|
|
54
|
-
.d189jx24{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:4px;width:100%;height:100%;border:0.5px solid transparent;border-radius:4px;}.syosvbj:hover .d189jx24{background-color:var(--d189jx24-0);}.d189jx24:hover{border:0.5px solid var(--d189jx24-1);}
|
|
55
50
|
.cwfaerb{-webkit-flex:1;-ms-flex:1;flex:1;min-height:0;min-width:0;width:100%;max-width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border:var(--cwfaerb-0);border-radius:var(--cwfaerb-1);}.cwfaerb>div{-webkit-flex:1;-ms-flex:1;flex:1;min-height:0;}.cwfaerb .cm-editor{width:100%!important;max-width:100%!important;height:100%!important;}.cwfaerb .cm-scroller{overflow:auto!important;width:100%!important;max-width:100%!important;}.cwfaerb .cm-content{max-width:100%!important;}.cwfaerb .cm-content,.cwfaerb .cm-gutter{line-height:1.8;}
|
|
56
51
|
.h179mi29{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;}
|
|
57
52
|
.h1gstj4e{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}
|
|
@@ -146,6 +141,7 @@
|
|
|
146
141
|
.h5b2q63{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-flex:1;-ms-flex:1;flex:1;min-width:0;overflow:hidden;}
|
|
147
142
|
.m1q357fu{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}
|
|
148
143
|
.r10tums3{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;z-index:1;}.r10tums3:hover,.r10tums3:active{background-color:var(--r10tums3-0);}
|
|
144
|
+
.hz0qata{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:4px;width:100%;height:100%;border:0.5px solid transparent;border-radius:4px;}.hz0qata:hover{background-color:var(--hz0qata-0);}
|
|
149
145
|
.t15fnb8v{width:var(--t15fnb8v-0);height:var(--t15fnb8v-1);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:5px;overflow:hidden;}
|
|
150
146
|
.t1xd4vnx{-webkit-flex:1;-ms-flex:1;flex:1;overflow:auto;position:relative;min-height:0;padding-bottom:var(--t1xd4vnx-0);}
|
|
151
147
|
.sk741d9{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;}
|
|
@@ -171,6 +167,7 @@
|
|
|
171
167
|
.a1thqwpm{position:-webkit-sticky;position:sticky;right:0;z-index:5;-webkit-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px;background-color:var(--a1thqwpm-0);border-left:0.5px solid var(--a1thqwpm-1);}
|
|
172
168
|
.r1frty7c{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:100%;position:absolute;top:0;left:0;-webkit-transform:translateY(var(--r1frty7c-0));-moz-transform:translateY(var(--r1frty7c-0));-ms-transform:translateY(var(--r1frty7c-0));transform:translateY(var(--r1frty7c-0));height:var(--r1frty7c-1);}.r1frty7c>td{border-bottom:var(--r1frty7c-2);}.r1frty7c:hover>td{background-color:var(--r1frty7c-3);}
|
|
173
169
|
.a1b1bj84{position:-webkit-sticky;position:sticky;right:var(--a1b1bj84-0);z-index:5;-webkit-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background-color:var(--a1b1bj84-1);border-left:0.5px solid var(--a1b1bj84-2);}.a1b1bj84>*{opacity:1;}
|
|
170
|
+
.a1mvarzo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:4px;width:100%;height:100%;border:0.5px solid transparent;border-radius:4px;}.a1mvarzo:hover{background-color:var(--a1mvarzo-0);}
|
|
174
171
|
.a1tvwf2d{position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-flex:0 0 120px;-ms-flex:0 0 120px;flex:0 0 120px;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:4px;padding:0 12px;background-color:var(--a1tvwf2d-0);border-bottom:0.5px solid var(--a1tvwf2d-1);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background-color 0.1s;transition:background-color 0.1s;}.a1tvwf2d:hover{background-color:var(--a1tvwf2d-2);}
|
|
175
172
|
.scx8lyz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--scx8lyz-0);border:0.5px solid var(--scx8lyz-1);border-radius:5px;padding:0 3px;height:28px;}
|
|
176
173
|
.s1law64s{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:3px 8px;background:var(--s1law64s-0);cursor:pointer;border:0.5px solid var(--s1law64s-1);border-radius:4px;}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
|
|
2
|
-
import { ButtonSize, ButtonVariant } from "../buttons/Button";
|
|
3
|
-
export { ButtonSize, ButtonVariant };
|
|
4
|
-
export interface DropdownButtonProps {
|
|
5
|
-
label: string;
|
|
6
|
-
onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
7
|
-
isOpen: boolean;
|
|
8
|
-
icon?: PhosphorIcon;
|
|
9
|
-
variant?: ButtonVariant;
|
|
10
|
-
size?: ButtonSize;
|
|
11
|
-
isLoading?: boolean;
|
|
12
|
-
isDisabled?: boolean;
|
|
13
|
-
fillWidth?: boolean;
|
|
14
|
-
isEllipsis?: boolean;
|
|
15
|
-
cursor?: React.CSSProperties["cursor"];
|
|
16
|
-
}
|
|
17
|
-
declare const DropdownButton: ({ label, icon, variant, size, onClick, isOpen, fillWidth, isLoading, isDisabled, isEllipsis, cursor, }: DropdownButtonProps) => import("react").JSX.Element;
|
|
18
|
-
export default DropdownButton;
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { GalaxyTheme } from "../theme/constants.js";
|
|
2
|
-
import { useGalaxyTheme, withTheme } from "../theme/GalaxyTheme.js";
|
|
3
|
-
import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
|
|
4
|
-
import FlexItem from "../containers/FlexItem.js";
|
|
5
|
-
import Icon, { IconVariant } from "../icons/Icon.js";
|
|
6
|
-
import { ButtonSize, ButtonVariant } from "../buttons/Button.js";
|
|
7
|
-
import RotateWithTransition from "../animations/RotateWithTransition.js";
|
|
8
|
-
/* empty css */
|
|
9
|
-
import { styled } from "@linaria/react";
|
|
10
|
-
import { match } from "ts-pattern";
|
|
11
|
-
import { useCallback } from "react";
|
|
12
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { CaretDownIcon } from "@phosphor-icons/react";
|
|
14
|
-
//#region src/dropdown/DropdownButton.tsx
|
|
15
|
-
var _exp = () => ({ $fillWidth }) => $fillWidth ? "100%" : "auto";
|
|
16
|
-
var _exp2 = () => ({ $isEllipsis }) => $isEllipsis ? "0" : "auto";
|
|
17
|
-
var _exp3 = () => ({ $isEllipsis }) => $isEllipsis ? "hidden" : "visible";
|
|
18
|
-
var _exp4 = () => ({ $size }) => {
|
|
19
|
-
return match($size).with(ButtonSize.SMALL, () => "4px").with(ButtonSize.MEDIUM, () => "6px").with(ButtonSize.LARGE, () => "6px").exhaustive();
|
|
20
|
-
};
|
|
21
|
-
var _exp5 = () => ({ $size }) => {
|
|
22
|
-
return match($size).with(ButtonSize.SMALL, () => "0 6px").with(ButtonSize.MEDIUM, () => "0 8px").with(ButtonSize.LARGE, () => "0 12px").exhaustive();
|
|
23
|
-
};
|
|
24
|
-
var _exp6 = () => ({ $size }) => {
|
|
25
|
-
return match($size).with(ButtonSize.SMALL, () => "24px").with(ButtonSize.MEDIUM, () => "28px").with(ButtonSize.LARGE, () => "32px").exhaustive();
|
|
26
|
-
};
|
|
27
|
-
var _exp7 = () => ({ theme, $variant, $isOpen }) => {
|
|
28
|
-
if ($isOpen) return match($variant).with(ButtonVariant.PRIMARY, () => theme.color.background.galaxyAlt).with(ButtonVariant.SECONDARY, () => theme.color.background.tertiary).with(ButtonVariant.TERTIARY, () => theme.color.background.secondary).with(ButtonVariant.SUCCESS, () => theme.color.background.successAlt).with(ButtonVariant.ERROR, () => theme.color.background.errorAlt).exhaustive();
|
|
29
|
-
return match($variant).with(ButtonVariant.PRIMARY, () => theme.color.background.galaxy).with(ButtonVariant.SECONDARY, () => theme.color.background.primary).with(ButtonVariant.TERTIARY, () => "transparent").with(ButtonVariant.SUCCESS, () => theme.color.icon.success).with(ButtonVariant.ERROR, () => theme.color.icon.error).exhaustive();
|
|
30
|
-
};
|
|
31
|
-
var _exp8 = () => ({ theme, $variant, $isOpen }) => {
|
|
32
|
-
return `0.5px solid ${match($variant).with(ButtonVariant.PRIMARY, () => $isOpen ? theme.color.border.primary : "transparent").with(ButtonVariant.SECONDARY, () => theme.color.border.primary).with(ButtonVariant.TERTIARY, () => $isOpen ? theme.color.border.primary : "transparent").with(ButtonVariant.SUCCESS, () => "transparent").with(ButtonVariant.ERROR, () => "transparent").exhaustive()}`;
|
|
33
|
-
};
|
|
34
|
-
var _exp9 = () => ({ $cursor }) => $cursor ?? "pointer";
|
|
35
|
-
var _exp0 = () => ({ theme, $variant }) => {
|
|
36
|
-
return match($variant).with(ButtonVariant.PRIMARY, () => theme.color.background.galaxyAlt).with(ButtonVariant.SECONDARY, () => theme.color.background.tertiary).with(ButtonVariant.TERTIARY, () => theme.color.background.secondary).with(ButtonVariant.SUCCESS, () => theme.color.background.successAlt).with(ButtonVariant.ERROR, () => theme.color.background.errorAlt).exhaustive();
|
|
37
|
-
};
|
|
38
|
-
var _exp1 = () => ({ theme, $variant }) => {
|
|
39
|
-
return match($variant).with(ButtonVariant.PRIMARY, () => theme.color.border.primary).with(ButtonVariant.SECONDARY, () => theme.color.border.primary).with(ButtonVariant.TERTIARY, () => theme.color.border.primary).with(ButtonVariant.SUCCESS, () => "transparent").with(ButtonVariant.ERROR, () => "transparent").exhaustive();
|
|
40
|
-
};
|
|
41
|
-
var _exp10 = () => ({ theme, $variant }) => {
|
|
42
|
-
return match($variant).with(ButtonVariant.PRIMARY, () => theme.color.background.disabled).with(ButtonVariant.SECONDARY, () => theme.color.background.disabled).with(ButtonVariant.TERTIARY, () => "transparent").with(ButtonVariant.SUCCESS, () => theme.color.background.successAlt).with(ButtonVariant.ERROR, () => theme.color.background.errorAlt).exhaustive();
|
|
43
|
-
};
|
|
44
|
-
var StyledDropdownButton = withTheme(/*#__PURE__*/ styled("button")({
|
|
45
|
-
name: "StyledDropdownButton",
|
|
46
|
-
class: "sobaxfi",
|
|
47
|
-
propsAsIs: false,
|
|
48
|
-
vars: {
|
|
49
|
-
"sobaxfi-0": [_exp()],
|
|
50
|
-
"sobaxfi-1": [_exp2()],
|
|
51
|
-
"sobaxfi-2": [_exp3()],
|
|
52
|
-
"sobaxfi-3": [_exp4()],
|
|
53
|
-
"sobaxfi-4": [_exp5()],
|
|
54
|
-
"sobaxfi-5": [_exp6()],
|
|
55
|
-
"sobaxfi-6": [_exp7()],
|
|
56
|
-
"sobaxfi-7": [_exp8()],
|
|
57
|
-
"sobaxfi-8": [_exp9()],
|
|
58
|
-
"sobaxfi-9": [_exp0()],
|
|
59
|
-
"sobaxfi-10": [_exp1()],
|
|
60
|
-
"sobaxfi-11": [_exp10()]
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
var _exp11 = () => ({ $isEllipsis }) => $isEllipsis ? "1" : "0 1 auto";
|
|
64
|
-
var _exp12 = () => ({ $isEllipsis }) => $isEllipsis ? "0" : "auto";
|
|
65
|
-
var LabelWrapper = /*#__PURE__*/ styled("span")({
|
|
66
|
-
name: "LabelWrapper",
|
|
67
|
-
class: "l147oxln",
|
|
68
|
-
propsAsIs: false,
|
|
69
|
-
vars: {
|
|
70
|
-
"l147oxln-0": [_exp11()],
|
|
71
|
-
"l147oxln-1": [_exp12()]
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
function getTextVariant(variant, activeTheme) {
|
|
75
|
-
return match(variant).with(ButtonVariant.PRIMARY, () => activeTheme === GalaxyTheme.DARK ? TextVariant.PRIMARY : TextVariant.PRIMARY_ALT).with(ButtonVariant.SECONDARY, () => TextVariant.PRIMARY).with(ButtonVariant.TERTIARY, () => TextVariant.PRIMARY).with(ButtonVariant.SUCCESS, () => TextVariant.PRIMARY_ALT).with(ButtonVariant.ERROR, () => TextVariant.PRIMARY_ALT).exhaustive();
|
|
76
|
-
}
|
|
77
|
-
function getIconVariant(variant, activeTheme) {
|
|
78
|
-
return match(variant).with(ButtonVariant.PRIMARY, () => activeTheme === GalaxyTheme.DARK ? IconVariant.PRIMARY : IconVariant.PRIMARY_ALT).with(ButtonVariant.SECONDARY, () => IconVariant.PRIMARY).with(ButtonVariant.TERTIARY, () => IconVariant.PRIMARY).with(ButtonVariant.SUCCESS, () => IconVariant.PRIMARY_ALT).with(ButtonVariant.ERROR, () => IconVariant.PRIMARY_ALT).exhaustive();
|
|
79
|
-
}
|
|
80
|
-
var BUTTON_SIZE_TO_TEXT_SIZE_MAP = {
|
|
81
|
-
[ButtonSize.SMALL]: TextSize.BODY_SM,
|
|
82
|
-
[ButtonSize.MEDIUM]: TextSize.BODY_MD,
|
|
83
|
-
[ButtonSize.LARGE]: TextSize.BODY_LG
|
|
84
|
-
};
|
|
85
|
-
var BUTTON_SIZE_TO_ICON_SIZE_MAP = {
|
|
86
|
-
[ButtonSize.SMALL]: 12,
|
|
87
|
-
[ButtonSize.MEDIUM]: 14,
|
|
88
|
-
[ButtonSize.LARGE]: 16
|
|
89
|
-
};
|
|
90
|
-
var DropdownButton = ({ label, icon, variant = ButtonVariant.PRIMARY, size = ButtonSize.MEDIUM, onClick, isOpen, fillWidth, isLoading, isDisabled, isEllipsis, cursor }) => {
|
|
91
|
-
const { activeTheme } = useGalaxyTheme();
|
|
92
|
-
const handleClick = useCallback((e) => {
|
|
93
|
-
if (isDisabled || isLoading) return;
|
|
94
|
-
onClick(e);
|
|
95
|
-
}, [
|
|
96
|
-
isDisabled,
|
|
97
|
-
isLoading,
|
|
98
|
-
onClick
|
|
99
|
-
]);
|
|
100
|
-
const renderIcon = useCallback(() => {
|
|
101
|
-
if (!icon) return null;
|
|
102
|
-
let iconVariant = getIconVariant(variant, activeTheme);
|
|
103
|
-
if (isDisabled) iconVariant = IconVariant.TERTIARY;
|
|
104
|
-
return /* @__PURE__ */ jsx(FlexItem, {
|
|
105
|
-
shrink: 0,
|
|
106
|
-
grow: 0,
|
|
107
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
108
|
-
component: icon,
|
|
109
|
-
variant: iconVariant,
|
|
110
|
-
size: BUTTON_SIZE_TO_ICON_SIZE_MAP[size]
|
|
111
|
-
})
|
|
112
|
-
});
|
|
113
|
-
}, [
|
|
114
|
-
icon,
|
|
115
|
-
variant,
|
|
116
|
-
size,
|
|
117
|
-
isDisabled,
|
|
118
|
-
activeTheme
|
|
119
|
-
]);
|
|
120
|
-
const renderLabel = useCallback(() => {
|
|
121
|
-
let textVariant = getTextVariant(variant, activeTheme);
|
|
122
|
-
if (isDisabled) textVariant = TextVariant.TERTIARY_ALT;
|
|
123
|
-
return /* @__PURE__ */ jsx(LabelWrapper, {
|
|
124
|
-
$isEllipsis: isEllipsis,
|
|
125
|
-
children: /* @__PURE__ */ jsx(Text, {
|
|
126
|
-
variant: textVariant,
|
|
127
|
-
weight: TextWeight.MEDIUM,
|
|
128
|
-
size: BUTTON_SIZE_TO_TEXT_SIZE_MAP[size],
|
|
129
|
-
cursor: isDisabled ? "not-allowed" : cursor,
|
|
130
|
-
isEllipsis,
|
|
131
|
-
children: label
|
|
132
|
-
})
|
|
133
|
-
});
|
|
134
|
-
}, [
|
|
135
|
-
label,
|
|
136
|
-
variant,
|
|
137
|
-
size,
|
|
138
|
-
isDisabled,
|
|
139
|
-
isEllipsis,
|
|
140
|
-
cursor,
|
|
141
|
-
activeTheme
|
|
142
|
-
]);
|
|
143
|
-
const renderCaret = useCallback(() => {
|
|
144
|
-
let iconVariant = getIconVariant(variant, activeTheme);
|
|
145
|
-
if (isDisabled) iconVariant = IconVariant.TERTIARY;
|
|
146
|
-
return /* @__PURE__ */ jsx(RotateWithTransition, {
|
|
147
|
-
isRotated: isOpen,
|
|
148
|
-
deg: -180,
|
|
149
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
150
|
-
component: CaretDownIcon,
|
|
151
|
-
variant: iconVariant,
|
|
152
|
-
size: BUTTON_SIZE_TO_ICON_SIZE_MAP[size]
|
|
153
|
-
})
|
|
154
|
-
});
|
|
155
|
-
}, [
|
|
156
|
-
variant,
|
|
157
|
-
size,
|
|
158
|
-
isDisabled,
|
|
159
|
-
isOpen,
|
|
160
|
-
activeTheme
|
|
161
|
-
]);
|
|
162
|
-
return /* @__PURE__ */ jsxs(StyledDropdownButton, {
|
|
163
|
-
$variant: variant,
|
|
164
|
-
$size: size,
|
|
165
|
-
$isOpen: isOpen,
|
|
166
|
-
$fillWidth: fillWidth,
|
|
167
|
-
$isEllipsis: isEllipsis,
|
|
168
|
-
$cursor: cursor,
|
|
169
|
-
onClick: handleClick,
|
|
170
|
-
disabled: isDisabled || isLoading,
|
|
171
|
-
children: [
|
|
172
|
-
renderIcon(),
|
|
173
|
-
renderLabel(),
|
|
174
|
-
renderCaret()
|
|
175
|
-
]
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
//#endregion
|
|
179
|
-
export { ButtonSize, ButtonVariant, DropdownButton as default };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { CSSProperties, PropsWithChildren } from "react";
|
|
2
|
-
interface DropdownFooterProps {
|
|
3
|
-
gap?: number | string;
|
|
4
|
-
padding?: CSSProperties["padding"];
|
|
5
|
-
justifyContent?: CSSProperties["justifyContent"];
|
|
6
|
-
alignItems?: CSSProperties["alignItems"];
|
|
7
|
-
fillWidth?: boolean;
|
|
8
|
-
}
|
|
9
|
-
declare const DropdownFooter: ({ children, gap, padding, justifyContent, alignItems, fillWidth, }: PropsWithChildren<DropdownFooterProps>) => import("react").JSX.Element;
|
|
10
|
-
export default DropdownFooter;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { withTheme } from "../theme/GalaxyTheme.js";
|
|
2
|
-
import { getCssSizeValue } from "../utils/linaria.js";
|
|
3
|
-
/* empty css */
|
|
4
|
-
import { styled } from "@linaria/react";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
//#region src/dropdown/DropdownFooter.tsx
|
|
7
|
-
var _exp = () => ({ $alignItems }) => $alignItems ?? "center";
|
|
8
|
-
var _exp2 = () => ({ $justifyContent }) => $justifyContent ?? "flex-start";
|
|
9
|
-
var _exp3 = () => ({ $gap }) => getCssSizeValue($gap, "0");
|
|
10
|
-
var _exp4 = () => ({ $fillWidth }) => $fillWidth ? "100%" : "auto";
|
|
11
|
-
var _exp5 = () => ({ $padding }) => $padding ?? "0";
|
|
12
|
-
var DropdownFooterWrapper = withTheme(/*#__PURE__*/ styled("div")({
|
|
13
|
-
name: "DropdownFooterWrapper",
|
|
14
|
-
class: "d1egzp74",
|
|
15
|
-
propsAsIs: false,
|
|
16
|
-
vars: {
|
|
17
|
-
"d1egzp74-0": [_exp()],
|
|
18
|
-
"d1egzp74-1": [_exp2()],
|
|
19
|
-
"d1egzp74-2": [_exp3()],
|
|
20
|
-
"d1egzp74-3": [_exp4()],
|
|
21
|
-
"d1egzp74-4": [_exp5()]
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
var DropdownFooter = ({ children, gap, padding, justifyContent, alignItems, fillWidth = false }) => {
|
|
25
|
-
return /* @__PURE__ */ jsx(DropdownFooterWrapper, {
|
|
26
|
-
$gap: gap,
|
|
27
|
-
$padding: padding,
|
|
28
|
-
$justifyContent: justifyContent,
|
|
29
|
-
$alignItems: alignItems,
|
|
30
|
-
$fillWidth: fillWidth,
|
|
31
|
-
children
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
//#endregion
|
|
35
|
-
export { DropdownFooter as default };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type TextVariant } from "../text/Text";
|
|
2
|
-
export interface DropdownItemButton {
|
|
3
|
-
icon?: React.ReactNode;
|
|
4
|
-
label: string;
|
|
5
|
-
variant?: TextVariant;
|
|
6
|
-
isDisabled?: boolean;
|
|
7
|
-
onClick: () => void;
|
|
8
|
-
}
|
|
9
|
-
declare const DropdownItem: ({ icon, label, variant, isDisabled, onClick }: DropdownItemButton) => import("react").JSX.Element;
|
|
10
|
-
export default DropdownItem;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { withTheme } from "../theme/GalaxyTheme.js";
|
|
2
|
-
import Text from "../text/Text.js";
|
|
3
|
-
/* empty css */
|
|
4
|
-
import { styled } from "@linaria/react";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
//#region src/dropdown/DropdownItem.tsx
|
|
7
|
-
var StyledDropdownItemButton = withTheme(/*#__PURE__*/ styled("button")({
|
|
8
|
-
name: "StyledDropdownItemButton",
|
|
9
|
-
class: "syosvbj",
|
|
10
|
-
propsAsIs: false
|
|
11
|
-
}));
|
|
12
|
-
var _exp2 = () => ({ theme }) => theme.color.background.tertiary;
|
|
13
|
-
var _exp3 = () => ({ theme }) => theme.color.border.primary;
|
|
14
|
-
var DropdownItemWrapper = withTheme(/*#__PURE__*/ styled("div")({
|
|
15
|
-
name: "DropdownItemWrapper",
|
|
16
|
-
class: "d189jx24",
|
|
17
|
-
propsAsIs: false,
|
|
18
|
-
vars: {
|
|
19
|
-
"d189jx24-0": [_exp2()],
|
|
20
|
-
"d189jx24-1": [_exp3()]
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
var DropdownItem = ({ icon, label, variant, isDisabled, onClick }) => {
|
|
24
|
-
const handleClick = (e) => {
|
|
25
|
-
e.stopPropagation();
|
|
26
|
-
onClick();
|
|
27
|
-
};
|
|
28
|
-
return /* @__PURE__ */ jsx(StyledDropdownItemButton, {
|
|
29
|
-
onClick: handleClick,
|
|
30
|
-
disabled: isDisabled,
|
|
31
|
-
children: /* @__PURE__ */ jsxs(DropdownItemWrapper, { children: [icon, /* @__PURE__ */ jsx(Text, {
|
|
32
|
-
variant,
|
|
33
|
-
children: label
|
|
34
|
-
})] })
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { DropdownItem as default };
|