@vector-im/compound-web 9.0.1 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ActivityMarker/Pill.cjs +1 -1
- package/dist/components/ActivityMarker/Unread.cjs +1 -1
- package/dist/components/ActivityMarker/UnreadCounter.cjs +1 -1
- package/dist/components/Alert/Alert.cjs +6 -6
- package/dist/components/Alert/Alert.module.cjs +5 -11
- package/dist/components/Alert/Alert.module.js +5 -11
- package/dist/components/Avatar/Avatar.cjs +2 -2
- package/dist/components/Avatar/Avatar.module.cjs +5 -5
- package/dist/components/Avatar/Avatar.module.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.module.js +5 -5
- package/dist/components/Avatar/Avatar.module.js.map +1 -1
- package/dist/components/Avatar/AvatarStack.cjs +2 -2
- package/dist/components/Badge/Badge.cjs +10 -6
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.d.ts +5 -1
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +9 -5
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.module.cjs +4 -1
- package/dist/components/Badge/Badge.module.cjs.map +1 -1
- package/dist/components/Badge/Badge.module.js +4 -1
- package/dist/components/Badge/Badge.module.js.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.cjs +3 -3
- package/dist/components/Button/Button.cjs +2 -2
- package/dist/components/Button/Button.module.cjs +2 -5
- package/dist/components/Button/Button.module.js +2 -5
- package/dist/components/Button/IconButton/IconButton.cjs +4 -3
- package/dist/components/Button/IconButton/IconButton.cjs.map +1 -1
- package/dist/components/Button/IconButton/IconButton.d.ts +5 -0
- package/dist/components/Button/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/Button/IconButton/IconButton.js +2 -1
- package/dist/components/Button/IconButton/IconButton.js.map +1 -1
- package/dist/components/Button/IconButton/IconButton.module.cjs +1 -3
- package/dist/components/Button/IconButton/IconButton.module.js +1 -3
- package/dist/components/Button/UnstyledButton.cjs +1 -1
- package/dist/components/ChatFilter/ChatFilter.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.cjs +5 -5
- package/dist/components/Dropdown/Dropdown.module.cjs +7 -7
- package/dist/components/Dropdown/Dropdown.module.cjs.map +1 -1
- package/dist/components/Dropdown/Dropdown.module.js +7 -7
- package/dist/components/Dropdown/Dropdown.module.js.map +1 -1
- package/dist/components/Form/Controls/Action/Action.cjs +2 -2
- package/dist/components/Form/Controls/Checkbox/Checkbox.cjs +3 -3
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs +3 -3
- package/dist/components/Form/Controls/MFA/MFA.cjs +2 -2
- package/dist/components/Form/Controls/MFA/MFA.module.cjs +3 -3
- package/dist/components/Form/Controls/MFA/MFA.module.cjs.map +1 -1
- package/dist/components/Form/Controls/MFA/MFA.module.js +3 -3
- package/dist/components/Form/Controls/MFA/MFA.module.js.map +1 -1
- package/dist/components/Form/Controls/Password/Password.cjs +3 -3
- package/dist/components/Form/Controls/Radio/Radio.cjs +2 -2
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs +1 -1
- package/dist/components/Form/Controls/Text/Text.cjs +2 -2
- package/dist/components/Form/Controls/Text/Text.module.cjs +2 -2
- package/dist/components/Form/Controls/Text/Text.module.cjs.map +1 -1
- package/dist/components/Form/Controls/Text/Text.module.js +2 -2
- package/dist/components/Form/Controls/Text/Text.module.js.map +1 -1
- package/dist/components/Form/Controls/Toggle/Toggle.cjs +2 -2
- package/dist/components/Form/Field.cjs +2 -2
- package/dist/components/Form/InlineField.cjs +2 -2
- package/dist/components/Form/Label.cjs +2 -2
- package/dist/components/Form/Message.cjs +4 -4
- package/dist/components/Form/Root.cjs +2 -2
- package/dist/components/Form/Submit.cjs +1 -1
- package/dist/components/Form/form.module.cjs +4 -9
- package/dist/components/Form/form.module.js +4 -9
- package/dist/components/Glass/Glass.cjs +2 -2
- package/dist/components/Icon/BigIcon/BigIcon.cjs +2 -2
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs +2 -2
- package/dist/components/InlineSpinner/InlineSpinner.cjs +3 -3
- package/dist/components/InlineSpinner/InlineSpinner.module.cjs +2 -2
- package/dist/components/InlineSpinner/InlineSpinner.module.cjs.map +1 -1
- package/dist/components/InlineSpinner/InlineSpinner.module.js +2 -2
- package/dist/components/InlineSpinner/InlineSpinner.module.js.map +1 -1
- package/dist/components/Link/Link.cjs +2 -2
- package/dist/components/Menu/CheckboxMenuItem.cjs +3 -5
- package/dist/components/Menu/CheckboxMenuItem.cjs.map +1 -1
- package/dist/components/Menu/CheckboxMenuItem.js +2 -4
- package/dist/components/Menu/CheckboxMenuItem.js.map +1 -1
- package/dist/components/Menu/ContextMenu.cjs +19 -2
- package/dist/components/Menu/ContextMenu.cjs.map +1 -1
- package/dist/components/Menu/ContextMenu.d.ts.map +1 -1
- package/dist/components/Menu/ContextMenu.js +18 -1
- package/dist/components/Menu/ContextMenu.js.map +1 -1
- package/dist/components/Menu/DrawerMenu.cjs +2 -2
- package/dist/components/Menu/FloatingMenu.cjs +2 -2
- package/dist/components/Menu/FloatingMenu.module.cjs +5 -8
- package/dist/components/Menu/FloatingMenu.module.cjs.map +1 -1
- package/dist/components/Menu/FloatingMenu.module.js +5 -8
- package/dist/components/Menu/FloatingMenu.module.js.map +1 -1
- package/dist/components/Menu/Menu.cjs +30 -2
- package/dist/components/Menu/Menu.cjs.map +1 -1
- package/dist/components/Menu/Menu.d.ts.map +1 -1
- package/dist/components/Menu/Menu.js +30 -2
- package/dist/components/Menu/Menu.js.map +1 -1
- package/dist/components/Menu/MenuContext.cjs.map +1 -1
- package/dist/components/Menu/MenuContext.d.ts +22 -0
- package/dist/components/Menu/MenuContext.d.ts.map +1 -1
- package/dist/components/Menu/MenuContext.js.map +1 -1
- package/dist/components/Menu/MenuItem.cjs +3 -3
- package/dist/components/Menu/MenuItem.module.cjs +8 -14
- package/dist/components/Menu/MenuItem.module.cjs.map +1 -1
- package/dist/components/Menu/MenuItem.module.js +8 -14
- package/dist/components/Menu/MenuItem.module.js.map +1 -1
- package/dist/components/Menu/MenuTitle.cjs +2 -2
- package/dist/components/Menu/RadioMenuItem.cjs +3 -5
- package/dist/components/Menu/RadioMenuItem.cjs.map +1 -1
- package/dist/components/Menu/RadioMenuItem.js +2 -4
- package/dist/components/Menu/RadioMenuItem.js.map +1 -1
- package/dist/components/Menu/SubMenu.cjs +24 -0
- package/dist/components/Menu/SubMenu.cjs.map +1 -0
- package/dist/components/Menu/SubMenu.d.ts +26 -0
- package/dist/components/Menu/SubMenu.d.ts.map +1 -0
- package/dist/components/Menu/SubMenu.js +22 -0
- package/dist/components/Menu/SubMenu.js.map +1 -0
- package/dist/components/Menu/ToggleMenuItem.cjs +3 -5
- package/dist/components/Menu/ToggleMenuItem.cjs.map +1 -1
- package/dist/components/Menu/ToggleMenuItem.js +2 -4
- package/dist/components/Menu/ToggleMenuItem.js.map +1 -1
- package/dist/components/Nav/Nav.module.cjs +4 -4
- package/dist/components/Nav/Nav.module.cjs.map +1 -1
- package/dist/components/Nav/Nav.module.js +4 -4
- package/dist/components/Nav/Nav.module.js.map +1 -1
- package/dist/components/Nav/NavBar.cjs +2 -2
- package/dist/components/Nav/NavItem.cjs +1 -1
- package/dist/components/PageHeader/PageHeader.cjs +36 -0
- package/dist/components/PageHeader/PageHeader.cjs.map +1 -0
- package/dist/components/PageHeader/PageHeader.js +33 -0
- package/dist/components/PageHeader/PageHeader.js.map +1 -0
- package/dist/components/PageHeader/PageHeader.module.cjs +8 -0
- package/dist/components/PageHeader/PageHeader.module.cjs.map +1 -0
- package/dist/components/PageHeader/PageHeader.module.js +8 -0
- package/dist/components/PageHeader/PageHeader.module.js.map +1 -0
- package/dist/components/Progress/Progress.cjs +2 -2
- package/dist/components/Progress/Progress.module.cjs +4 -4
- package/dist/components/Progress/Progress.module.cjs.map +1 -1
- package/dist/components/Progress/Progress.module.js +4 -4
- package/dist/components/Progress/Progress.module.js.map +1 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs +1 -1
- package/dist/components/Search/Search.cjs +3 -3
- package/dist/components/Search/Search.module.cjs +3 -3
- package/dist/components/Search/Search.module.cjs.map +1 -1
- package/dist/components/Search/Search.module.js +3 -3
- package/dist/components/Search/Search.module.js.map +1 -1
- package/dist/components/Separator/Separator.cjs +3 -3
- package/dist/components/Toast/Toast.cjs +31 -6
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.d.ts +13 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +29 -5
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.module.cjs +7 -2
- package/dist/components/Toast/Toast.module.cjs.map +1 -1
- package/dist/components/Toast/Toast.module.js +7 -2
- package/dist/components/Toast/Toast.module.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.cjs +2 -2
- package/dist/components/Tooltip/TooltipProvider.cjs +1 -1
- package/dist/components/Typography/Body.cjs +1 -1
- package/dist/components/Typography/Heading.cjs +1 -1
- package/dist/components/Typography/Text.cjs +1 -1
- package/dist/components/Typography/Typography.cjs +2 -2
- package/dist/components/Typography/Typography.module.cjs +1 -3
- package/dist/components/Typography/Typography.module.js +1 -3
- package/dist/components/VisualList/VisualList.cjs +2 -2
- package/dist/components/VisualList/VisualListItem.cjs +2 -2
- package/dist/index.cjs +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/style.css +288 -145
- package/package.json +3 -3
- package/src/components/Avatar/Avatar.module.css +1 -1
- package/src/components/Badge/Badge.module.css +44 -11
- package/src/components/Badge/Badge.tsx +10 -2
- package/src/components/Button/IconButton/IconButton.tsx +12 -1
- package/src/components/Dropdown/Dropdown.module.css +3 -1
- package/src/components/Form/Controls/MFA/MFA.module.css +1 -0
- package/src/components/Form/Controls/Text/Text.module.css +1 -0
- package/src/components/InlineSpinner/InlineSpinner.module.css +4 -1
- package/src/components/Menu/ContextMenu.tsx +24 -0
- package/src/components/Menu/FloatingMenu.module.css +2 -0
- package/src/components/Menu/Menu.tsx +56 -1
- package/src/components/Menu/MenuContext.tsx +23 -0
- package/src/components/Menu/MenuItem.module.css +27 -5
- package/src/components/Menu/SubMenu.tsx +62 -0
- package/src/components/Nav/Nav.module.css +4 -1
- package/src/components/Progress/Progress.module.css +5 -1
- package/src/components/Search/Search.module.css +1 -0
- package/src/components/Toast/Toast.module.css +32 -2
- package/src/components/Toast/Toast.tsx +68 -6
- package/src/index.ts +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_Pill_module = require("./Pill.module.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
|
-
react = require_runtime.__toESM(react);
|
|
4
|
+
react = require_runtime.__toESM(react, 1);
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
//#region src/components/ActivityMarker/Pill.tsx
|
|
7
7
|
function Pill({ children, ...props }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_Unread_module = require("./Unread.module.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
|
-
react = require_runtime.__toESM(react);
|
|
4
|
+
react = require_runtime.__toESM(react, 1);
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
//#region src/components/ActivityMarker/Unread.tsx
|
|
7
7
|
function Unread(props) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_UnreadCounter_module = require("./UnreadCounter.module.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
|
-
react = require_runtime.__toESM(react);
|
|
4
|
+
react = require_runtime.__toESM(react, 1);
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
//#region src/components/ActivityMarker/UnreadCounter.tsx
|
|
7
7
|
function UnreadCounter({ count, ...props }) {
|
|
@@ -3,17 +3,17 @@ const require_Alert_module = require("./Alert.module.cjs");
|
|
|
3
3
|
const require_Text = require("../Typography/Text.cjs");
|
|
4
4
|
const require_IconButton = require("../Button/IconButton/IconButton.cjs");
|
|
5
5
|
let classnames = require("classnames");
|
|
6
|
-
classnames = require_runtime.__toESM(classnames);
|
|
6
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
7
7
|
let react = require("react");
|
|
8
|
-
react = require_runtime.__toESM(react);
|
|
8
|
+
react = require_runtime.__toESM(react, 1);
|
|
9
9
|
let _vector_im_compound_design_tokens_assets_web_icons_check_circle = require("@vector-im/compound-design-tokens/assets/web/icons/check-circle");
|
|
10
|
-
_vector_im_compound_design_tokens_assets_web_icons_check_circle = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_check_circle);
|
|
10
|
+
_vector_im_compound_design_tokens_assets_web_icons_check_circle = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_check_circle, 1);
|
|
11
11
|
let _vector_im_compound_design_tokens_assets_web_icons_error_solid = require("@vector-im/compound-design-tokens/assets/web/icons/error-solid");
|
|
12
|
-
_vector_im_compound_design_tokens_assets_web_icons_error_solid = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_error_solid);
|
|
12
|
+
_vector_im_compound_design_tokens_assets_web_icons_error_solid = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_error_solid, 1);
|
|
13
13
|
let _vector_im_compound_design_tokens_assets_web_icons_info = require("@vector-im/compound-design-tokens/assets/web/icons/info");
|
|
14
|
-
_vector_im_compound_design_tokens_assets_web_icons_info = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_info);
|
|
14
|
+
_vector_im_compound_design_tokens_assets_web_icons_info = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_info, 1);
|
|
15
15
|
let _vector_im_compound_design_tokens_assets_web_icons_close = require("@vector-im/compound-design-tokens/assets/web/icons/close");
|
|
16
|
-
_vector_im_compound_design_tokens_assets_web_icons_close = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_close);
|
|
16
|
+
_vector_im_compound_design_tokens_assets_web_icons_close = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_close, 1);
|
|
17
17
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
18
18
|
//#region src/components/Alert/Alert.tsx
|
|
19
19
|
/**
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
//#region src/components/Alert/Alert.module.css
|
|
2
|
-
var alert = "_alert_zx76t_10";
|
|
3
|
-
var content = "_content_zx76t_37";
|
|
4
|
-
var title = "_title_zx76t_48";
|
|
5
|
-
var icon = "_icon_zx76t_48";
|
|
6
|
-
var actions = "_actions_zx76t_64";
|
|
7
1
|
var Alert_module_default = {
|
|
8
|
-
alert,
|
|
9
|
-
content,
|
|
2
|
+
alert: "_alert_zx76t_10",
|
|
3
|
+
content: "_content_zx76t_37",
|
|
10
4
|
"text-content": "_text-content_zx76t_44",
|
|
11
|
-
title,
|
|
12
|
-
icon,
|
|
13
|
-
actions
|
|
5
|
+
title: "_title_zx76t_48",
|
|
6
|
+
icon: "_icon_zx76t_48",
|
|
7
|
+
actions: "_actions_zx76t_64"
|
|
14
8
|
};
|
|
15
9
|
//#endregion
|
|
16
10
|
exports.default = Alert_module_default;
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
//#region src/components/Alert/Alert.module.css
|
|
2
|
-
var alert = "_alert_zx76t_10";
|
|
3
|
-
var content = "_content_zx76t_37";
|
|
4
|
-
var title = "_title_zx76t_48";
|
|
5
|
-
var icon = "_icon_zx76t_48";
|
|
6
|
-
var actions = "_actions_zx76t_64";
|
|
7
1
|
var Alert_module_default = {
|
|
8
|
-
alert,
|
|
9
|
-
content,
|
|
2
|
+
alert: "_alert_zx76t_10",
|
|
3
|
+
content: "_content_zx76t_37",
|
|
10
4
|
"text-content": "_text-content_zx76t_44",
|
|
11
|
-
title,
|
|
12
|
-
icon,
|
|
13
|
-
actions
|
|
5
|
+
title: "_title_zx76t_48",
|
|
6
|
+
icon: "_icon_zx76t_48",
|
|
7
|
+
actions: "_actions_zx76t_64"
|
|
14
8
|
};
|
|
15
9
|
//#endregion
|
|
16
10
|
export { Alert_module_default as default };
|
|
@@ -3,9 +3,9 @@ const require_string = require("../../utils/string.cjs");
|
|
|
3
3
|
const require_Avatar_module = require("./Avatar.module.cjs");
|
|
4
4
|
const require_useIdColorHash = require("./useIdColorHash.cjs");
|
|
5
5
|
let classnames = require("classnames");
|
|
6
|
-
classnames = require_runtime.__toESM(classnames);
|
|
6
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
7
7
|
let react = require("react");
|
|
8
|
-
react = require_runtime.__toESM(react);
|
|
8
|
+
react = require_runtime.__toESM(react, 1);
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
//#region src/components/Avatar/Avatar.tsx
|
|
11
11
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var Avatar_module_default = {
|
|
2
|
-
avatar: "
|
|
3
|
-
image: "
|
|
4
|
-
"avatar-imageless": "_avatar-
|
|
5
|
-
"stacked-avatars": "_stacked-
|
|
6
|
-
"clip-path": "_clip-
|
|
2
|
+
avatar: "_avatar_va14e_8",
|
|
3
|
+
image: "_image_va14e_43",
|
|
4
|
+
"avatar-imageless": "_avatar-imageless_va14e_55",
|
|
5
|
+
"stacked-avatars": "_stacked-avatars_va14e_109",
|
|
6
|
+
"clip-path": "_clip-path_va14e_128"
|
|
7
7
|
};
|
|
8
8
|
//#endregion
|
|
9
9
|
exports.default = Avatar_module_default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.module.cjs","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none
|
|
1
|
+
{"version":3,"file":"Avatar.module.cjs","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none; /* stylelint-disable-line defensive-css/no-user-select-none */\n\n /* Set a background color to help with visual consistency when displaying\n * avatars with a translucent background */\n background: var(--cpd-color-bg-canvas-default);\n}\n\nbutton.avatar {\n /**\n * The avatar can be a button element, we need to reset its style\n */\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n}\n\nbutton.avatar:disabled {\n cursor: not-allowed;\n}\n\n.avatar,\n.image {\n aspect-ratio: 1 / 1;\n inline-size: var(--cpd-avatar-size);\n border-radius: var(--cpd-avatar-radius);\n}\n\n.image {\n object-fit: cover;\n overflow: hidden;\n}\n\n/* Additional selector for button to raise selector above button.avatar */\nbutton.avatar-imageless,\n.avatar-imageless {\n /* In the future we'd prefer to pass the HEX code as the data attr\n and use `attr(data-color)` to avoid the style declaration from below\n but this is currently not supported in all browsers */\n background: var(--cpd-avatar-bg);\n color: var(--cpd-avatar-color);\n\n /* Additional style to ensure visibility in contrast-mode */\n border: 1px solid var(--cpd-avatar-bg);\n}\n\n.avatar[data-color] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);\n --cpd-avatar-color: var(--cpd-color-text-decorative-1);\n}\n\n.avatar[data-color=\"2\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);\n --cpd-avatar-color: var(--cpd-color-text-decorative-2);\n}\n\n.avatar[data-color=\"3\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);\n --cpd-avatar-color: var(--cpd-color-text-decorative-3);\n}\n\n.avatar[data-color=\"4\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);\n --cpd-avatar-color: var(--cpd-color-text-decorative-4);\n}\n\n.avatar[data-color=\"5\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);\n --cpd-avatar-color: var(--cpd-color-text-decorative-5);\n}\n\n.avatar[data-color=\"6\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);\n --cpd-avatar-color: var(--cpd-color-text-decorative-6);\n}\n\n.avatar[data-type=\"round\"] {\n --cpd-avatar-radius: 50%;\n}\n\n.avatar[data-type=\"square\"] {\n --cpd-avatar-radius: 25%;\n}\n\n/**\n * Stacked avatars \n */\n\n.stacked-avatars::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.stacked-avatars .avatar {\n float: inline-start;\n}\n\n.stacked-avatars .avatar:not(:last-child) {\n /* injected in the document from AvatarStack.tsx */\n clip-path: url(\"#cpdAvatarClip\");\n}\n\n.stacked-avatars > *:not(:first-child) {\n margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);\n}\n\n.clip-path {\n /* In theory the SVG is invisible, but we still need to ensure it doesn't\n affect the page's layout or otherwise make an appearance */\n position: fixed;\n inset-inline-start: -9999px;\n}\n"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var Avatar_module_default = {
|
|
2
|
-
avatar: "
|
|
3
|
-
image: "
|
|
4
|
-
"avatar-imageless": "_avatar-
|
|
5
|
-
"stacked-avatars": "_stacked-
|
|
6
|
-
"clip-path": "_clip-
|
|
2
|
+
avatar: "_avatar_va14e_8",
|
|
3
|
+
image: "_image_va14e_43",
|
|
4
|
+
"avatar-imageless": "_avatar-imageless_va14e_55",
|
|
5
|
+
"stacked-avatars": "_stacked-avatars_va14e_109",
|
|
6
|
+
"clip-path": "_clip-path_va14e_128"
|
|
7
7
|
};
|
|
8
8
|
//#endregion
|
|
9
9
|
export { Avatar_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.module.js","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none
|
|
1
|
+
{"version":3,"file":"Avatar.module.js","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none; /* stylelint-disable-line defensive-css/no-user-select-none */\n\n /* Set a background color to help with visual consistency when displaying\n * avatars with a translucent background */\n background: var(--cpd-color-bg-canvas-default);\n}\n\nbutton.avatar {\n /**\n * The avatar can be a button element, we need to reset its style\n */\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n}\n\nbutton.avatar:disabled {\n cursor: not-allowed;\n}\n\n.avatar,\n.image {\n aspect-ratio: 1 / 1;\n inline-size: var(--cpd-avatar-size);\n border-radius: var(--cpd-avatar-radius);\n}\n\n.image {\n object-fit: cover;\n overflow: hidden;\n}\n\n/* Additional selector for button to raise selector above button.avatar */\nbutton.avatar-imageless,\n.avatar-imageless {\n /* In the future we'd prefer to pass the HEX code as the data attr\n and use `attr(data-color)` to avoid the style declaration from below\n but this is currently not supported in all browsers */\n background: var(--cpd-avatar-bg);\n color: var(--cpd-avatar-color);\n\n /* Additional style to ensure visibility in contrast-mode */\n border: 1px solid var(--cpd-avatar-bg);\n}\n\n.avatar[data-color] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);\n --cpd-avatar-color: var(--cpd-color-text-decorative-1);\n}\n\n.avatar[data-color=\"2\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);\n --cpd-avatar-color: var(--cpd-color-text-decorative-2);\n}\n\n.avatar[data-color=\"3\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);\n --cpd-avatar-color: var(--cpd-color-text-decorative-3);\n}\n\n.avatar[data-color=\"4\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);\n --cpd-avatar-color: var(--cpd-color-text-decorative-4);\n}\n\n.avatar[data-color=\"5\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);\n --cpd-avatar-color: var(--cpd-color-text-decorative-5);\n}\n\n.avatar[data-color=\"6\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);\n --cpd-avatar-color: var(--cpd-color-text-decorative-6);\n}\n\n.avatar[data-type=\"round\"] {\n --cpd-avatar-radius: 50%;\n}\n\n.avatar[data-type=\"square\"] {\n --cpd-avatar-radius: 25%;\n}\n\n/**\n * Stacked avatars \n */\n\n.stacked-avatars::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.stacked-avatars .avatar {\n float: inline-start;\n}\n\n.stacked-avatars .avatar:not(:last-child) {\n /* injected in the document from AvatarStack.tsx */\n clip-path: url(\"#cpdAvatarClip\");\n}\n\n.stacked-avatars > *:not(:first-child) {\n margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);\n}\n\n.clip-path {\n /* In theory the SVG is invisible, but we still need to ensure it doesn't\n affect the page's layout or otherwise make an appearance */\n position: fixed;\n inset-inline-start: -9999px;\n}\n"],"mappings":""}
|
|
@@ -2,9 +2,9 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_Avatar_module = require("./Avatar.module.cjs");
|
|
3
3
|
const require_avatar_clip_mask = require("./avatar-clip.mask.cjs");
|
|
4
4
|
let classnames = require("classnames");
|
|
5
|
-
classnames = require_runtime.__toESM(classnames);
|
|
5
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
6
6
|
let react = require("react");
|
|
7
|
-
react = require_runtime.__toESM(react);
|
|
7
|
+
react = require_runtime.__toESM(react, 1);
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
//#region src/components/Avatar/AvatarStack.tsx
|
|
10
10
|
var AVATAR_MASK_ID = "cpdAvatarClipSvg";
|
|
@@ -2,22 +2,26 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_Typography = require("../Typography/Typography.cjs");
|
|
3
3
|
const require_Badge_module = require("./Badge.module.cjs");
|
|
4
4
|
let classnames = require("classnames");
|
|
5
|
-
classnames = require_runtime.__toESM(classnames);
|
|
5
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
6
6
|
let react = require("react");
|
|
7
|
-
react = require_runtime.__toESM(react);
|
|
7
|
+
react = require_runtime.__toESM(react, 1);
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
//#region src/components/Badge/Badge.tsx
|
|
10
10
|
/**
|
|
11
11
|
* A Badge component.
|
|
12
12
|
*/
|
|
13
|
-
var Badge = ({ children, kind = "default", className }) => {
|
|
14
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
13
|
+
var Badge = ({ children, Icon, kind = "default", className }) => {
|
|
14
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Typography.Typography, {
|
|
15
15
|
as: "span",
|
|
16
16
|
size: "sm",
|
|
17
17
|
weight: "medium",
|
|
18
|
-
className: (0, classnames.default)(require_Badge_module.default.badge, className),
|
|
18
|
+
className: (0, classnames.default)(require_Badge_module.default.badge, className, { [require_Badge_module.default["has-icon"]]: !!Icon }),
|
|
19
19
|
"data-kind": kind,
|
|
20
|
-
children
|
|
20
|
+
children: [Icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
|
|
21
|
+
width: "16",
|
|
22
|
+
height: "16",
|
|
23
|
+
"aria-hidden": true
|
|
24
|
+
}), children]
|
|
21
25
|
});
|
|
22
26
|
};
|
|
23
27
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.cjs","names":[],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type PropsWithChildren } from \"react\";\nimport styles from \"./Badge.module.css\";\nimport { Typography } from \"../Typography/Typography\";\n\ntype BadgeProps = {\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The type of badge.\n */\n kind?: \"default\" | \"grey\" | \"on-solid\" | \"blue\" | \"green\" | \"red\";\n};\n\n/**\n * A Badge component.\n */\nexport const Badge: React.FC<PropsWithChildren<BadgeProps>> = ({\n children,\n kind = \"default\",\n className,\n}) => {\n const classes = classnames(styles.badge, className);\n return (\n <Typography\n as=\"span\"\n size=\"sm\"\n weight=\"medium\"\n className={classes}\n data-kind={kind}\n >\n {children}\n </Typography>\n );\n};\n"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Badge.cjs","names":[],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentType, type PropsWithChildren } from \"react\";\nimport styles from \"./Badge.module.css\";\nimport { Typography } from \"../Typography/Typography\";\n\ntype BadgeProps = {\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The type of badge.\n */\n kind?: \"default\" | \"grey\" | \"on-solid\" | \"blue\" | \"green\" | \"red\";\n /**\n * An icon to display within the badge.\n */\n Icon?: ComponentType<React.SVGAttributes<SVGElement>>;\n};\n\n/**\n * A Badge component.\n */\nexport const Badge: React.FC<PropsWithChildren<BadgeProps>> = ({\n children,\n Icon,\n kind = \"default\",\n className,\n}) => {\n const classes = classnames(styles.badge, className, {\n [styles[\"has-icon\"]]: !!Icon,\n });\n return (\n <Typography\n as=\"span\"\n size=\"sm\"\n weight=\"medium\"\n className={classes}\n data-kind={kind}\n >\n {Icon && <Icon width=\"16\" height=\"16\" aria-hidden={true} />}\n {children}\n </Typography>\n );\n};\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAa,SAAkD,EAC7D,UACA,MACA,OAAO,WACP,gBACI;AAIJ,QACE,iBAAA,GAAA,kBAAA,MAAC,mBAAA,YAAD;EACE,IAAG;EACH,MAAK;EACL,QAAO;EACP,YAAA,GAAA,WAAA,SARuB,qBAAA,QAAO,OAAO,WAAW,GACjD,qBAAA,QAAO,cAAc,CAAC,CAAC,MACzB,CAAC;EAOE,aAAW;YALb,CAOG,QAAQ,iBAAA,GAAA,kBAAA,KAAC,MAAD;GAAM,OAAM;GAAK,QAAO;GAAK,eAAa;GAAQ,CAAA,EAC1D,SACU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { default as React, PropsWithChildren } from 'react';
|
|
1
|
+
import { default as React, ComponentType, PropsWithChildren } from 'react';
|
|
2
2
|
type BadgeProps = {
|
|
3
3
|
/**
|
|
4
4
|
* The CSS class name.
|
|
@@ -8,6 +8,10 @@ type BadgeProps = {
|
|
|
8
8
|
* The type of badge.
|
|
9
9
|
*/
|
|
10
10
|
kind?: "default" | "grey" | "on-solid" | "blue" | "green" | "red";
|
|
11
|
+
/**
|
|
12
|
+
* An icon to display within the badge.
|
|
13
|
+
*/
|
|
14
|
+
Icon?: ComponentType<React.SVGAttributes<SVGElement>>;
|
|
11
15
|
};
|
|
12
16
|
/**
|
|
13
17
|
* A Badge component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI1E,KAAK,UAAU,GAAG;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAClE;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAqBzD,CAAC"}
|
|
@@ -2,19 +2,23 @@ import { Typography } from "../Typography/Typography.js";
|
|
|
2
2
|
import Badge_module_default from "./Badge.module.js";
|
|
3
3
|
import classNames from "classnames";
|
|
4
4
|
import "react";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/Badge/Badge.tsx
|
|
7
7
|
/**
|
|
8
8
|
* A Badge component.
|
|
9
9
|
*/
|
|
10
|
-
var Badge = ({ children, kind = "default", className }) => {
|
|
11
|
-
return /* @__PURE__ */
|
|
10
|
+
var Badge = ({ children, Icon, kind = "default", className }) => {
|
|
11
|
+
return /* @__PURE__ */ jsxs(Typography, {
|
|
12
12
|
as: "span",
|
|
13
13
|
size: "sm",
|
|
14
14
|
weight: "medium",
|
|
15
|
-
className: classNames(Badge_module_default.badge, className),
|
|
15
|
+
className: classNames(Badge_module_default.badge, className, { [Badge_module_default["has-icon"]]: !!Icon }),
|
|
16
16
|
"data-kind": kind,
|
|
17
|
-
children
|
|
17
|
+
children: [Icon && /* @__PURE__ */ jsx(Icon, {
|
|
18
|
+
width: "16",
|
|
19
|
+
height: "16",
|
|
20
|
+
"aria-hidden": true
|
|
21
|
+
}), children]
|
|
18
22
|
});
|
|
19
23
|
};
|
|
20
24
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","names":[],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type PropsWithChildren } from \"react\";\nimport styles from \"./Badge.module.css\";\nimport { Typography } from \"../Typography/Typography\";\n\ntype BadgeProps = {\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The type of badge.\n */\n kind?: \"default\" | \"grey\" | \"on-solid\" | \"blue\" | \"green\" | \"red\";\n};\n\n/**\n * A Badge component.\n */\nexport const Badge: React.FC<PropsWithChildren<BadgeProps>> = ({\n children,\n kind = \"default\",\n className,\n}) => {\n const classes = classnames(styles.badge, className);\n return (\n <Typography\n as=\"span\"\n size=\"sm\"\n weight=\"medium\"\n className={classes}\n data-kind={kind}\n >\n {children}\n </Typography>\n );\n};\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Badge.js","names":[],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentType, type PropsWithChildren } from \"react\";\nimport styles from \"./Badge.module.css\";\nimport { Typography } from \"../Typography/Typography\";\n\ntype BadgeProps = {\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The type of badge.\n */\n kind?: \"default\" | \"grey\" | \"on-solid\" | \"blue\" | \"green\" | \"red\";\n /**\n * An icon to display within the badge.\n */\n Icon?: ComponentType<React.SVGAttributes<SVGElement>>;\n};\n\n/**\n * A Badge component.\n */\nexport const Badge: React.FC<PropsWithChildren<BadgeProps>> = ({\n children,\n Icon,\n kind = \"default\",\n className,\n}) => {\n const classes = classnames(styles.badge, className, {\n [styles[\"has-icon\"]]: !!Icon,\n });\n return (\n <Typography\n as=\"span\"\n size=\"sm\"\n weight=\"medium\"\n className={classes}\n data-kind={kind}\n >\n {Icon && <Icon width=\"16\" height=\"16\" aria-hidden={true} />}\n {children}\n </Typography>\n );\n};\n"],"mappings":";;;;;;;;;AA8BA,IAAa,SAAkD,EAC7D,UACA,MACA,OAAO,WACP,gBACI;AAIJ,QACE,qBAAC,YAAD;EACE,IAAG;EACH,MAAK;EACL,QAAO;EACP,WARY,WAAW,qBAAO,OAAO,WAAW,GACjD,qBAAO,cAAc,CAAC,CAAC,MACzB,CAAC;EAOE,aAAW;YALb,CAOG,QAAQ,oBAAC,MAAD;GAAM,OAAM;GAAK,QAAO;GAAK,eAAa;GAAQ,CAAA,EAC1D,SACU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.module.cjs","names":[],"sources":["../../../src/components/Badge/Badge.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.badge {\n display: inline-flex;\n gap: var(--cpd-space-1x);\n align-items: center;\n border-radius: 9999px; /* pill effect */\n padding: var(--cpd-space-1x) var(--cpd-space-3x);\n}\n\n.badge[data-kind=\"default\"] {\n border: 1px solid var(--cpd-color-
|
|
1
|
+
{"version":3,"file":"Badge.module.cjs","names":[],"sources":["../../../src/components/Badge/Badge.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.badge {\n display: inline-flex;\n gap: var(--cpd-space-1x);\n align-items: center;\n border-radius: 9999px; /* pill effect */\n padding: var(--cpd-space-1x) var(--cpd-space-3x);\n box-sizing: border-box;\n min-block-size: 28px;\n}\n\n.has-icon {\n padding-inline-start: var(--cpd-space-2x);\n}\n\n.badge[data-kind=\"default\"] {\n border: 1px solid var(--cpd-color-border-interactive-secondary);\n\n /* To keep the same height than the other badges despite the border */\n padding-block: calc(var(--cpd-space-1x) - 1px);\n outline: none;\n color: var(--cpd-color-text-primary);\n\n svg {\n color: var(--cpd-color-icon-primary);\n }\n}\n\n.badge[data-kind=\"grey\"] {\n background: var(--cpd-color-bg-badge-secondary);\n color: var(--cpd-color-text-primary);\n\n svg {\n color: var(--cpd-color-icon-primary);\n }\n}\n\n.badge[data-kind=\"on-solid\"] {\n background: var(--cpd-color-bg-badge-primary);\n color: var(--cpd-color-text-on-solid-primary);\n\n svg {\n color: var(--cpd-color-icon-on-solid-primary);\n }\n}\n\n.badge[data-kind=\"blue\"] {\n background: var(--cpd-color-bg-badge-info);\n color: var(--cpd-color-text-badge-info);\n\n svg {\n color: var(--cpd-color-icon-info-primary);\n }\n}\n\n.badge[data-kind=\"green\"] {\n background: var(--cpd-color-bg-badge-accent);\n color: var(--cpd-color-text-badge-accent);\n\n svg {\n color: var(--cpd-color-icon-accent-primary);\n }\n}\n\n.badge[data-kind=\"red\"] {\n background: var(--cpd-color-bg-badge-critical);\n color: var(--cpd-color-text-critical-primary);\n\n svg {\n color: var(--cpd-color-icon-critical-primary);\n }\n}\n\n@media (forced-colors: active) {\n .badge {\n outline: 1px solid transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.module.js","names":[],"sources":["../../../src/components/Badge/Badge.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.badge {\n display: inline-flex;\n gap: var(--cpd-space-1x);\n align-items: center;\n border-radius: 9999px; /* pill effect */\n padding: var(--cpd-space-1x) var(--cpd-space-3x);\n}\n\n.badge[data-kind=\"default\"] {\n border: 1px solid var(--cpd-color-
|
|
1
|
+
{"version":3,"file":"Badge.module.js","names":[],"sources":["../../../src/components/Badge/Badge.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.badge {\n display: inline-flex;\n gap: var(--cpd-space-1x);\n align-items: center;\n border-radius: 9999px; /* pill effect */\n padding: var(--cpd-space-1x) var(--cpd-space-3x);\n box-sizing: border-box;\n min-block-size: 28px;\n}\n\n.has-icon {\n padding-inline-start: var(--cpd-space-2x);\n}\n\n.badge[data-kind=\"default\"] {\n border: 1px solid var(--cpd-color-border-interactive-secondary);\n\n /* To keep the same height than the other badges despite the border */\n padding-block: calc(var(--cpd-space-1x) - 1px);\n outline: none;\n color: var(--cpd-color-text-primary);\n\n svg {\n color: var(--cpd-color-icon-primary);\n }\n}\n\n.badge[data-kind=\"grey\"] {\n background: var(--cpd-color-bg-badge-secondary);\n color: var(--cpd-color-text-primary);\n\n svg {\n color: var(--cpd-color-icon-primary);\n }\n}\n\n.badge[data-kind=\"on-solid\"] {\n background: var(--cpd-color-bg-badge-primary);\n color: var(--cpd-color-text-on-solid-primary);\n\n svg {\n color: var(--cpd-color-icon-on-solid-primary);\n }\n}\n\n.badge[data-kind=\"blue\"] {\n background: var(--cpd-color-bg-badge-info);\n color: var(--cpd-color-text-badge-info);\n\n svg {\n color: var(--cpd-color-icon-info-primary);\n }\n}\n\n.badge[data-kind=\"green\"] {\n background: var(--cpd-color-bg-badge-accent);\n color: var(--cpd-color-text-badge-accent);\n\n svg {\n color: var(--cpd-color-icon-accent-primary);\n }\n}\n\n.badge[data-kind=\"red\"] {\n background: var(--cpd-color-bg-badge-critical);\n color: var(--cpd-color-text-critical-primary);\n\n svg {\n color: var(--cpd-color-icon-critical-primary);\n }\n}\n\n@media (forced-colors: active) {\n .badge {\n outline: 1px solid transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -3,12 +3,12 @@ const require_IconButton = require("../Button/IconButton/IconButton.cjs");
|
|
|
3
3
|
const require_Link = require("../Link/Link.cjs");
|
|
4
4
|
const require_Breadcrumb_module = require("./Breadcrumb.module.cjs");
|
|
5
5
|
let classnames = require("classnames");
|
|
6
|
-
classnames = require_runtime.__toESM(classnames);
|
|
6
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
7
7
|
let react = require("react");
|
|
8
|
-
react = require_runtime.__toESM(react);
|
|
8
|
+
react = require_runtime.__toESM(react, 1);
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
let _vector_im_compound_design_tokens_assets_web_icons_chevron_left = require("@vector-im/compound-design-tokens/assets/web/icons/chevron-left");
|
|
11
|
-
_vector_im_compound_design_tokens_assets_web_icons_chevron_left = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_chevron_left);
|
|
11
|
+
_vector_im_compound_design_tokens_assets_web_icons_chevron_left = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_chevron_left, 1);
|
|
12
12
|
//#region src/components/Breadcrumb/Breadcrumb.tsx
|
|
13
13
|
/**
|
|
14
14
|
* A breadcrumb component.
|
|
@@ -2,9 +2,9 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_Button_module = require("./Button.module.cjs");
|
|
3
3
|
const require_UnstyledButton = require("./UnstyledButton.cjs");
|
|
4
4
|
let classnames = require("classnames");
|
|
5
|
-
classnames = require_runtime.__toESM(classnames);
|
|
5
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
6
6
|
let react = require("react");
|
|
7
|
-
react = require_runtime.__toESM(react);
|
|
7
|
+
react = require_runtime.__toESM(react, 1);
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
//#region src/components/Button/Button.tsx
|
|
10
10
|
/**
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
//#region src/components/Button/Button.module.css
|
|
2
|
-
var button = "_button_13vu4_8";
|
|
3
|
-
var destructive = "_destructive_13vu4_110";
|
|
4
1
|
var Button_module_default = {
|
|
5
|
-
button,
|
|
2
|
+
button: "_button_13vu4_8",
|
|
6
3
|
"icon-only": "_icon-only_13vu4_53",
|
|
7
4
|
"has-icon": "_has-icon_13vu4_60",
|
|
8
|
-
destructive
|
|
5
|
+
destructive: "_destructive_13vu4_110"
|
|
9
6
|
};
|
|
10
7
|
//#endregion
|
|
11
8
|
exports.default = Button_module_default;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
//#region src/components/Button/Button.module.css
|
|
2
|
-
var button = "_button_13vu4_8";
|
|
3
|
-
var destructive = "_destructive_13vu4_110";
|
|
4
1
|
var Button_module_default = {
|
|
5
|
-
button,
|
|
2
|
+
button: "_button_13vu4_8",
|
|
6
3
|
"icon-only": "_icon-only_13vu4_53",
|
|
7
4
|
"has-icon": "_has-icon_13vu4_60",
|
|
8
|
-
destructive
|
|
5
|
+
destructive: "_destructive_13vu4_110"
|
|
9
6
|
};
|
|
10
7
|
//#endregion
|
|
11
8
|
export { Button_module_default as default };
|
|
@@ -4,15 +4,15 @@ const require_IconButton_module = require("./IconButton.module.cjs");
|
|
|
4
4
|
const require_IndicatorIcon = require("../../Icon/IndicatorIcon/IndicatorIcon.cjs");
|
|
5
5
|
const require_Tooltip = require("../../Tooltip/Tooltip.cjs");
|
|
6
6
|
let classnames = require("classnames");
|
|
7
|
-
classnames = require_runtime.__toESM(classnames);
|
|
7
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
8
8
|
let react = require("react");
|
|
9
|
-
react = require_runtime.__toESM(react);
|
|
9
|
+
react = require_runtime.__toESM(react, 1);
|
|
10
10
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
11
|
//#region src/components/Button/IconButton/IconButton.tsx
|
|
12
12
|
/**
|
|
13
13
|
* Display an icon as a button. Can render an indicator
|
|
14
14
|
*/
|
|
15
|
-
var IconButton = (0, react.forwardRef)(function IconButton({ kind = "primary", children, className, indicator, size = "32px", style, disabled, destructive, tooltip, noBackground = false, ...props }, ref) {
|
|
15
|
+
var IconButton = (0, react.forwardRef)(function IconButton({ kind = "primary", children, className, indicator, size = "32px", style, disabled, destructive, tooltip, tooltipPlacement, noBackground = false, ...props }, ref) {
|
|
16
16
|
const button = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_UnstyledButton.UnstyledButton, {
|
|
17
17
|
as: "button",
|
|
18
18
|
ref,
|
|
@@ -36,6 +36,7 @@ var IconButton = (0, react.forwardRef)(function IconButton({ kind = "primary", c
|
|
|
36
36
|
});
|
|
37
37
|
return tooltip ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Tooltip.Tooltip, {
|
|
38
38
|
label: tooltip,
|
|
39
|
+
placement: tooltipPlacement,
|
|
39
40
|
children: button
|
|
40
41
|
}) : button;
|
|
41
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, { type PropsWithChildren, forwardRef } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./IconButton.module.css\";\nimport { UnstyledButton, type UnstyledButtonPropsFor } from \"../UnstyledButton\";\nimport { IndicatorIcon } from \"../../Icon/IndicatorIcon/IndicatorIcon\";\nimport { Tooltip } from \"../../Tooltip/Tooltip\";\n\ntype IconButtonProps = UnstyledButtonPropsFor<\"button\"> & {\n /**\n * The type of button.\n * @default \"primary\"\n */\n kind?: \"primary\" | \"secondary\";\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The size of the button in CSS units, e.g. `\"24px\"`.\n * Note that this is the size of the *button* itself: the icon will be 0.75 * this size\n * @default 32px\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * The icon button indicator dot displayed on the top right\n * As in IndicatorIcon\n */\n indicator?: \"default\" | \"success\" | \"critical\";\n /**\n * Whether the button is interactable\n */\n disabled?: boolean;\n /**\n * Whether this button triggers a destructive action.\n * @default false\n */\n destructive?: boolean;\n /**\n * Optional tooltip for the button\n */\n tooltip?: string;\n /**\n * Hide the background when the button is not active or hovered.\n * @default false\n */\n noBackground?: boolean;\n};\n\n/**\n * Display an icon as a button. Can render an indicator\n */\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(function IconButton(\n {\n kind = \"primary\",\n children,\n className,\n indicator,\n size = \"32px\",\n style,\n disabled,\n destructive,\n tooltip,\n noBackground = false,\n ...props\n },\n ref,\n) {\n const classes = classnames(styles[\"icon-button\"], className, {\n [styles.destructive]: destructive,\n [styles[\"no-background\"]]: noBackground,\n });\n\n const button = (\n <UnstyledButton\n as=\"button\"\n ref={ref}\n className={classes}\n style={\n {\n \"--cpd-icon-button-size\": size,\n ...style,\n } as React.CSSProperties\n }\n disabled={disabled}\n {...props}\n data-indicator={indicator}\n data-kind={kind}\n >\n <IndicatorIcon\n indicator={indicator}\n colour={disabled ? \"var(--cpd-color-icon-disabled)\" : undefined}\n >\n {React.Children.only(children)}\n </IndicatorIcon>\n </UnstyledButton>\n );\n\n return tooltip ? <Tooltip label={tooltip}
|
|
1
|
+
{"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, { type PropsWithChildren, forwardRef } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./IconButton.module.css\";\nimport { UnstyledButton, type UnstyledButtonPropsFor } from \"../UnstyledButton\";\nimport { IndicatorIcon } from \"../../Icon/IndicatorIcon/IndicatorIcon\";\nimport { Tooltip } from \"../../Tooltip/Tooltip\";\n\ntype IconButtonProps = UnstyledButtonPropsFor<\"button\"> & {\n /**\n * The type of button.\n * @default \"primary\"\n */\n kind?: \"primary\" | \"secondary\";\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The size of the button in CSS units, e.g. `\"24px\"`.\n * Note that this is the size of the *button* itself: the icon will be 0.75 * this size\n * @default 32px\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * The icon button indicator dot displayed on the top right\n * As in IndicatorIcon\n */\n indicator?: \"default\" | \"success\" | \"critical\";\n /**\n * Whether the button is interactable\n */\n disabled?: boolean;\n /**\n * Whether this button triggers a destructive action.\n * @default false\n */\n destructive?: boolean;\n /**\n * Optional tooltip for the button\n */\n tooltip?: string;\n /**\n * The placement of the tooltip, if `tooltip` is provided.\n */\n tooltipPlacement?: React.ComponentProps<typeof Tooltip>[\"placement\"];\n /**\n * Hide the background when the button is not active or hovered.\n * @default false\n */\n noBackground?: boolean;\n};\n\n/**\n * Display an icon as a button. Can render an indicator\n */\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(function IconButton(\n {\n kind = \"primary\",\n children,\n className,\n indicator,\n size = \"32px\",\n style,\n disabled,\n destructive,\n tooltip,\n tooltipPlacement,\n noBackground = false,\n ...props\n },\n ref,\n) {\n const classes = classnames(styles[\"icon-button\"], className, {\n [styles.destructive]: destructive,\n [styles[\"no-background\"]]: noBackground,\n });\n\n const button = (\n <UnstyledButton\n as=\"button\"\n ref={ref}\n className={classes}\n style={\n {\n \"--cpd-icon-button-size\": size,\n ...style,\n } as React.CSSProperties\n }\n disabled={disabled}\n {...props}\n data-indicator={indicator}\n data-kind={kind}\n >\n <IndicatorIcon\n indicator={indicator}\n colour={disabled ? \"var(--cpd-color-icon-disabled)\" : undefined}\n >\n {React.Children.only(children)}\n </IndicatorIcon>\n </UnstyledButton>\n );\n\n return tooltip ? (\n <Tooltip label={tooltip} placement={tooltipPlacement}>\n {button}\n </Tooltip>\n ) : (\n button\n );\n});\n"],"mappings":";;;;;;;;;;;;;;AA+DA,IAAa,cAAA,GAAA,MAAA,YAGX,SAAS,WACT,EACE,OAAO,WACP,UACA,WACA,WACA,OAAO,QACP,OACA,UACA,aACA,SACA,kBACA,eAAe,OACf,GAAG,SAEL,KACA;CAMA,MAAM,SACJ,iBAAA,GAAA,kBAAA,KAAC,uBAAA,gBAAD;EACE,IAAG;EACE;EACL,YAAA,GAAA,WAAA,SATuB,0BAAA,QAAO,gBAAgB,WAAW;IAC1D,0BAAA,QAAO,cAAc;IACrB,0BAAA,QAAO,mBAAmB;GAC5B,CAAC;EAOE,OACE;GACE,0BAA0B;GAC1B,GAAG;GACJ;EAEO;EACV,GAAI;EACJ,kBAAgB;EAChB,aAAW;YAEX,iBAAA,GAAA,kBAAA,KAAC,sBAAA,eAAD;GACa;GACX,QAAQ,WAAW,mCAAmC,KAAA;aAErD,MAAA,QAAM,SAAS,KAAK,SAAS;GAChB,CAAA;EACD,CAAA;AAGnB,QAAO,UACL,iBAAA,GAAA,kBAAA,KAAC,gBAAA,SAAD;EAAS,OAAO;EAAS,WAAW;YACjC;EACO,CAAA,GAEV;EAEF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { UnstyledButtonPropsFor } from '../UnstyledButton';
|
|
3
|
+
import { Tooltip } from '../../Tooltip/Tooltip';
|
|
3
4
|
type IconButtonProps = UnstyledButtonPropsFor<"button"> & {
|
|
4
5
|
/**
|
|
5
6
|
* The type of button.
|
|
@@ -34,6 +35,10 @@ type IconButtonProps = UnstyledButtonPropsFor<"button"> & {
|
|
|
34
35
|
* Optional tooltip for the button
|
|
35
36
|
*/
|
|
36
37
|
tooltip?: string;
|
|
38
|
+
/**
|
|
39
|
+
* The placement of the tooltip, if `tooltip` is provided.
|
|
40
|
+
*/
|
|
41
|
+
tooltipPlacement?: React.ComponentProps<typeof Tooltip>["placement"];
|
|
37
42
|
/**
|
|
38
43
|
* Hide the background when the button is not active or hovered.
|
|
39
44
|
* @default false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,KAAK,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,GAAG;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC/C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,iIAyDrB,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
9
9
|
/**
|
|
10
10
|
* Display an icon as a button. Can render an indicator
|
|
11
11
|
*/
|
|
12
|
-
var IconButton = forwardRef(function IconButton({ kind = "primary", children, className, indicator, size = "32px", style, disabled, destructive, tooltip, noBackground = false, ...props }, ref) {
|
|
12
|
+
var IconButton = forwardRef(function IconButton({ kind = "primary", children, className, indicator, size = "32px", style, disabled, destructive, tooltip, tooltipPlacement, noBackground = false, ...props }, ref) {
|
|
13
13
|
const button = /* @__PURE__ */ jsx(UnstyledButton, {
|
|
14
14
|
as: "button",
|
|
15
15
|
ref,
|
|
@@ -33,6 +33,7 @@ var IconButton = forwardRef(function IconButton({ kind = "primary", children, cl
|
|
|
33
33
|
});
|
|
34
34
|
return tooltip ? /* @__PURE__ */ jsx(Tooltip, {
|
|
35
35
|
label: tooltip,
|
|
36
|
+
placement: tooltipPlacement,
|
|
36
37
|
children: button
|
|
37
38
|
}) : button;
|
|
38
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","names":[],"sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, { type PropsWithChildren, forwardRef } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./IconButton.module.css\";\nimport { UnstyledButton, type UnstyledButtonPropsFor } from \"../UnstyledButton\";\nimport { IndicatorIcon } from \"../../Icon/IndicatorIcon/IndicatorIcon\";\nimport { Tooltip } from \"../../Tooltip/Tooltip\";\n\ntype IconButtonProps = UnstyledButtonPropsFor<\"button\"> & {\n /**\n * The type of button.\n * @default \"primary\"\n */\n kind?: \"primary\" | \"secondary\";\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The size of the button in CSS units, e.g. `\"24px\"`.\n * Note that this is the size of the *button* itself: the icon will be 0.75 * this size\n * @default 32px\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * The icon button indicator dot displayed on the top right\n * As in IndicatorIcon\n */\n indicator?: \"default\" | \"success\" | \"critical\";\n /**\n * Whether the button is interactable\n */\n disabled?: boolean;\n /**\n * Whether this button triggers a destructive action.\n * @default false\n */\n destructive?: boolean;\n /**\n * Optional tooltip for the button\n */\n tooltip?: string;\n /**\n * Hide the background when the button is not active or hovered.\n * @default false\n */\n noBackground?: boolean;\n};\n\n/**\n * Display an icon as a button. Can render an indicator\n */\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(function IconButton(\n {\n kind = \"primary\",\n children,\n className,\n indicator,\n size = \"32px\",\n style,\n disabled,\n destructive,\n tooltip,\n noBackground = false,\n ...props\n },\n ref,\n) {\n const classes = classnames(styles[\"icon-button\"], className, {\n [styles.destructive]: destructive,\n [styles[\"no-background\"]]: noBackground,\n });\n\n const button = (\n <UnstyledButton\n as=\"button\"\n ref={ref}\n className={classes}\n style={\n {\n \"--cpd-icon-button-size\": size,\n ...style,\n } as React.CSSProperties\n }\n disabled={disabled}\n {...props}\n data-indicator={indicator}\n data-kind={kind}\n >\n <IndicatorIcon\n indicator={indicator}\n colour={disabled ? \"var(--cpd-color-icon-disabled)\" : undefined}\n >\n {React.Children.only(children)}\n </IndicatorIcon>\n </UnstyledButton>\n );\n\n return tooltip ? <Tooltip label={tooltip}
|
|
1
|
+
{"version":3,"file":"IconButton.js","names":[],"sources":["../../../../src/components/Button/IconButton/IconButton.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, { type PropsWithChildren, forwardRef } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./IconButton.module.css\";\nimport { UnstyledButton, type UnstyledButtonPropsFor } from \"../UnstyledButton\";\nimport { IndicatorIcon } from \"../../Icon/IndicatorIcon/IndicatorIcon\";\nimport { Tooltip } from \"../../Tooltip/Tooltip\";\n\ntype IconButtonProps = UnstyledButtonPropsFor<\"button\"> & {\n /**\n * The type of button.\n * @default \"primary\"\n */\n kind?: \"primary\" | \"secondary\";\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The size of the button in CSS units, e.g. `\"24px\"`.\n * Note that this is the size of the *button* itself: the icon will be 0.75 * this size\n * @default 32px\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * The icon button indicator dot displayed on the top right\n * As in IndicatorIcon\n */\n indicator?: \"default\" | \"success\" | \"critical\";\n /**\n * Whether the button is interactable\n */\n disabled?: boolean;\n /**\n * Whether this button triggers a destructive action.\n * @default false\n */\n destructive?: boolean;\n /**\n * Optional tooltip for the button\n */\n tooltip?: string;\n /**\n * The placement of the tooltip, if `tooltip` is provided.\n */\n tooltipPlacement?: React.ComponentProps<typeof Tooltip>[\"placement\"];\n /**\n * Hide the background when the button is not active or hovered.\n * @default false\n */\n noBackground?: boolean;\n};\n\n/**\n * Display an icon as a button. Can render an indicator\n */\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(function IconButton(\n {\n kind = \"primary\",\n children,\n className,\n indicator,\n size = \"32px\",\n style,\n disabled,\n destructive,\n tooltip,\n tooltipPlacement,\n noBackground = false,\n ...props\n },\n ref,\n) {\n const classes = classnames(styles[\"icon-button\"], className, {\n [styles.destructive]: destructive,\n [styles[\"no-background\"]]: noBackground,\n });\n\n const button = (\n <UnstyledButton\n as=\"button\"\n ref={ref}\n className={classes}\n style={\n {\n \"--cpd-icon-button-size\": size,\n ...style,\n } as React.CSSProperties\n }\n disabled={disabled}\n {...props}\n data-indicator={indicator}\n data-kind={kind}\n >\n <IndicatorIcon\n indicator={indicator}\n colour={disabled ? \"var(--cpd-color-icon-disabled)\" : undefined}\n >\n {React.Children.only(children)}\n </IndicatorIcon>\n </UnstyledButton>\n );\n\n return tooltip ? (\n <Tooltip label={tooltip} placement={tooltipPlacement}>\n {button}\n </Tooltip>\n ) : (\n button\n );\n});\n"],"mappings":";;;;;;;;;;;AA+DA,IAAa,aAAa,WAGxB,SAAS,WACT,EACE,OAAO,WACP,UACA,WACA,WACA,OAAO,QACP,OACA,UACA,aACA,SACA,kBACA,eAAe,OACf,GAAG,SAEL,KACA;CAMA,MAAM,SACJ,oBAAC,gBAAD;EACE,IAAG;EACE;EACL,WATY,WAAW,0BAAO,gBAAgB,WAAW;IAC1D,0BAAO,cAAc;IACrB,0BAAO,mBAAmB;GAC5B,CAAC;EAOE,OACE;GACE,0BAA0B;GAC1B,GAAG;GACJ;EAEO;EACV,GAAI;EACJ,kBAAgB;EAChB,aAAW;YAEX,oBAAC,eAAD;GACa;GACX,QAAQ,WAAW,mCAAmC,KAAA;aAErD,MAAM,SAAS,KAAK,SAAS;GAChB,CAAA;EACD,CAAA;AAGnB,QAAO,UACL,oBAAC,SAAD;EAAS,OAAO;EAAS,WAAW;YACjC;EACO,CAAA,GAEV;EAEF"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
//#region src/components/Button/IconButton/IconButton.module.css
|
|
2
|
-
var destructive = "_destructive_1215g_95";
|
|
3
1
|
var IconButton_module_default = {
|
|
4
2
|
"icon-button": "_icon-button_1215g_8",
|
|
5
3
|
"no-background": "_no-background_1215g_42",
|
|
6
|
-
destructive
|
|
4
|
+
destructive: "_destructive_1215g_95"
|
|
7
5
|
};
|
|
8
6
|
//#endregion
|
|
9
7
|
exports.default = IconButton_module_default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
//#region src/components/Button/IconButton/IconButton.module.css
|
|
2
|
-
var destructive = "_destructive_1215g_95";
|
|
3
1
|
var IconButton_module_default = {
|
|
4
2
|
"icon-button": "_icon-button_1215g_8",
|
|
5
3
|
"no-background": "_no-background_1215g_42",
|
|
6
|
-
destructive
|
|
4
|
+
destructive: "_destructive_1215g_95"
|
|
7
5
|
};
|
|
8
6
|
//#endregion
|
|
9
7
|
export { IconButton_module_default as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let react = require("react");
|
|
3
|
-
react = require_runtime.__toESM(react);
|
|
3
|
+
react = require_runtime.__toESM(react, 1);
|
|
4
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
//#region src/components/Button/UnstyledButton.tsx
|
|
6
6
|
/**
|
|
@@ -2,7 +2,7 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_UnstyledButton = require("../Button/UnstyledButton.cjs");
|
|
3
3
|
const require_ChatFilter_module = require("./ChatFilter.module.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
|
-
react = require_runtime.__toESM(react);
|
|
5
|
+
react = require_runtime.__toESM(react, 1);
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
//#region src/components/ChatFilter/ChatFilter.tsx
|
|
8
8
|
/**
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_Dropdown_module = require("./Dropdown.module.cjs");
|
|
3
3
|
let classnames = require("classnames");
|
|
4
|
-
classnames = require_runtime.__toESM(classnames);
|
|
4
|
+
classnames = require_runtime.__toESM(classnames, 1);
|
|
5
5
|
let react = require("react");
|
|
6
|
-
react = require_runtime.__toESM(react);
|
|
6
|
+
react = require_runtime.__toESM(react, 1);
|
|
7
7
|
let _vector_im_compound_design_tokens_assets_web_icons_error_solid = require("@vector-im/compound-design-tokens/assets/web/icons/error-solid");
|
|
8
|
-
_vector_im_compound_design_tokens_assets_web_icons_error_solid = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_error_solid);
|
|
8
|
+
_vector_im_compound_design_tokens_assets_web_icons_error_solid = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_error_solid, 1);
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
let _floating_ui_react = require("@floating-ui/react");
|
|
11
11
|
let _vector_im_compound_design_tokens_assets_web_icons_check = require("@vector-im/compound-design-tokens/assets/web/icons/check");
|
|
12
|
-
_vector_im_compound_design_tokens_assets_web_icons_check = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_check);
|
|
12
|
+
_vector_im_compound_design_tokens_assets_web_icons_check = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_check, 1);
|
|
13
13
|
let _vector_im_compound_design_tokens_assets_web_icons_chevron_down = require("@vector-im/compound-design-tokens/assets/web/icons/chevron-down");
|
|
14
|
-
_vector_im_compound_design_tokens_assets_web_icons_chevron_down = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_chevron_down);
|
|
14
|
+
_vector_im_compound_design_tokens_assets_web_icons_chevron_down = require_runtime.__toESM(_vector_im_compound_design_tokens_assets_web_icons_chevron_down, 1);
|
|
15
15
|
//#region src/components/Dropdown/Dropdown.tsx
|
|
16
16
|
/**
|
|
17
17
|
* The dropdown content.
|