@mattermost/compass-ui 0.1.0-alpha.6 → 0.1.0-alpha.7
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/action-button/ActionButton.cjs.map +1 -1
- package/dist/components/action-button/ActionButton.d.ts +1 -0
- package/dist/components/action-button/ActionButton.d.ts.map +1 -1
- package/dist/components/action-button/ActionButton.js.map +1 -1
- package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
- package/dist/components/admin-panel/AdminPanel.d.ts +1 -0
- package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
- package/dist/components/admin-panel/AdminPanel.js.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +1 -0
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
- package/dist/components/button/Button.cjs +1 -1
- package/dist/components/button/Button.cjs.map +1 -1
- package/dist/components/button/Button.d.ts +2 -2
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +24 -24
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.module.css +1 -1
- package/dist/components/button/Button.module.scss.cjs +1 -1
- package/dist/components/button/Button.module.scss.js +13 -12
- package/dist/components/button/Button.module.scss.js.map +1 -1
- package/dist/components/card-button/CardButton.cjs +2 -0
- package/dist/components/card-button/CardButton.cjs.map +1 -0
- package/dist/components/card-button/CardButton.d.ts +20 -0
- package/dist/components/card-button/CardButton.d.ts.map +1 -0
- package/dist/components/card-button/CardButton.js +45 -0
- package/dist/components/card-button/CardButton.js.map +1 -0
- package/dist/components/card-button/CardButton.module.css +1 -0
- package/dist/components/card-button/CardButton.module.scss.cjs +2 -0
- package/dist/components/card-button/CardButton.module.scss.cjs.map +1 -0
- package/dist/components/card-button/CardButton.module.scss.js +13 -0
- package/dist/components/card-button/CardButton.module.scss.js.map +1 -0
- package/dist/components/card-button/CardButtonGroup.cjs +2 -0
- package/dist/components/card-button/CardButtonGroup.cjs.map +1 -0
- package/dist/components/card-button/CardButtonGroup.d.ts +13 -0
- package/dist/components/card-button/CardButtonGroup.d.ts.map +1 -0
- package/dist/components/card-button/CardButtonGroup.js +85 -0
- package/dist/components/card-button/CardButtonGroup.js.map +1 -0
- package/dist/components/card-button/CardButtonGroup.module.css +1 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.cjs +2 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.cjs.map +1 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.js +7 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.js.map +1 -0
- package/dist/components/card-button/index.cjs +2 -0
- package/dist/components/card-button/index.d.ts +5 -0
- package/dist/components/card-button/index.d.ts.map +1 -0
- package/dist/components/card-button/index.js +7 -0
- package/dist/components/card-button/index.js.map +1 -0
- package/dist/components/emoji-button/EmojiButton.cjs +2 -0
- package/dist/components/emoji-button/EmojiButton.cjs.map +1 -0
- package/dist/components/emoji-button/EmojiButton.d.ts +30 -0
- package/dist/components/emoji-button/EmojiButton.d.ts.map +1 -0
- package/dist/components/emoji-button/EmojiButton.js +35 -0
- package/dist/components/emoji-button/EmojiButton.js.map +1 -0
- package/dist/components/emoji-button/EmojiButton.module.css +1 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.cjs +2 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.cjs.map +1 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.js +15 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.js.map +1 -0
- package/dist/components/emoji-button/index.cjs +2 -0
- package/dist/components/emoji-button/index.cjs.map +1 -0
- package/dist/components/emoji-button/index.d.ts +3 -0
- package/dist/components/emoji-button/index.d.ts.map +1 -0
- package/dist/components/emoji-button/index.js +6 -0
- package/dist/components/emoji-popover/EmojiPopover.cjs +2 -0
- package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.d.ts +34 -0
- package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.js +244 -0
- package/dist/components/emoji-popover/EmojiPopover.js.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.css +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs +2 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.js +27 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.js.map +1 -0
- package/dist/components/{message-reactions → emoji-popover}/index.cjs +1 -1
- package/dist/components/emoji-popover/index.cjs.map +1 -0
- package/dist/components/emoji-popover/index.d.ts +3 -0
- package/dist/components/emoji-popover/index.d.ts.map +1 -0
- package/dist/components/emoji-popover/index.js +5 -0
- package/dist/components/emoji-popover/index.js.map +1 -0
- package/dist/components/global-banner/GlobalBanner.cjs.map +1 -1
- package/dist/components/global-banner/GlobalBanner.d.ts +1 -1
- package/dist/components/global-banner/GlobalBanner.d.ts.map +1 -1
- package/dist/components/global-banner/GlobalBanner.js.map +1 -1
- package/dist/components/global-header/GlobalHeader.module.css +1 -1
- package/dist/components/global-header/GlobalHeader.module.scss.cjs +1 -1
- package/dist/components/global-header/GlobalHeader.module.scss.js +16 -16
- package/dist/components/menu-group-heading/MenuGroupHeading.cjs +2 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.cjs.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts +11 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.js +20 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.js.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.css +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs +2 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js +8 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js.map +1 -0
- package/dist/components/menu-group-heading/index.cjs +2 -0
- package/dist/components/menu-group-heading/index.cjs.map +1 -0
- package/dist/components/menu-group-heading/index.d.ts +3 -0
- package/dist/components/menu-group-heading/index.d.ts.map +1 -0
- package/dist/components/menu-group-heading/index.js +5 -0
- package/dist/components/menu-group-heading/index.js.map +1 -0
- package/dist/components/menu-item/MenuItem.cjs.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts +2 -2
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.js.map +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
- package/dist/components/message-separator/MessageSeparator.d.ts +1 -1
- package/dist/components/message-separator/MessageSeparator.js +1 -1
- package/dist/components/message-separator/MessageSeparator.js.map +1 -1
- package/dist/components/modal/Modal.cjs +1 -1
- package/dist/components/modal/Modal.cjs.map +1 -1
- package/dist/components/modal/Modal.d.ts +43 -11
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +56 -74
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.module.css +1 -1
- package/dist/components/modal/Modal.module.scss.cjs +1 -1
- package/dist/components/modal/Modal.module.scss.js +12 -25
- package/dist/components/modal/Modal.module.scss.js.map +1 -1
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal-footer/ModalFooter.cjs +2 -0
- package/dist/components/modal-footer/ModalFooter.cjs.map +1 -0
- package/dist/components/modal-footer/ModalFooter.d.ts +29 -0
- package/dist/components/modal-footer/ModalFooter.d.ts.map +1 -0
- package/dist/components/modal-footer/ModalFooter.js +31 -0
- package/dist/components/modal-footer/ModalFooter.js.map +1 -0
- package/dist/components/modal-footer/ModalFooter.module.css +1 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.cjs +2 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.cjs.map +1 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.js +17 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.js.map +1 -0
- package/dist/components/modal-footer/index.cjs +2 -0
- package/dist/components/modal-footer/index.cjs.map +1 -0
- package/dist/components/modal-footer/index.d.ts +3 -0
- package/dist/components/modal-footer/index.d.ts.map +1 -0
- package/dist/components/modal-footer/index.js +5 -0
- package/dist/components/modal-footer/index.js.map +1 -0
- package/dist/components/modal-header/ModalHeader.cjs +2 -0
- package/dist/components/modal-header/ModalHeader.cjs.map +1 -0
- package/dist/components/modal-header/ModalHeader.d.ts +38 -0
- package/dist/components/modal-header/ModalHeader.d.ts.map +1 -0
- package/dist/components/modal-header/ModalHeader.js +74 -0
- package/dist/components/modal-header/ModalHeader.js.map +1 -0
- package/dist/components/modal-header/ModalHeader.module.css +1 -0
- package/dist/components/modal-header/ModalHeader.module.scss.cjs +2 -0
- package/dist/components/modal-header/ModalHeader.module.scss.cjs.map +1 -0
- package/dist/components/modal-header/ModalHeader.module.scss.js +19 -0
- package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -0
- package/dist/components/modal-header/index.cjs +2 -0
- package/dist/components/modal-header/index.cjs.map +1 -0
- package/dist/components/modal-header/index.d.ts +3 -0
- package/dist/components/modal-header/index.d.ts.map +1 -0
- package/dist/components/modal-header/index.js +5 -0
- package/dist/components/modal-header/index.js.map +1 -0
- package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.d.ts +1 -1
- package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
- package/dist/components/reaction-button/ReactionButton.cjs +2 -0
- package/dist/components/reaction-button/ReactionButton.cjs.map +1 -0
- package/dist/components/reaction-button/ReactionButton.d.ts +17 -0
- package/dist/components/reaction-button/ReactionButton.d.ts.map +1 -0
- package/dist/components/reaction-button/ReactionButton.js +42 -0
- package/dist/components/reaction-button/ReactionButton.js.map +1 -0
- package/dist/components/reaction-button/ReactionButton.module.css +1 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.cjs +2 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.cjs.map +1 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.js +12 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.js.map +1 -0
- package/dist/components/reaction-button/index.cjs +2 -0
- package/dist/components/reaction-button/index.cjs.map +1 -0
- package/dist/components/reaction-button/index.d.ts +3 -0
- package/dist/components/reaction-button/index.d.ts.map +1 -0
- package/dist/components/reaction-button/index.js +5 -0
- package/dist/components/reaction-button/index.js.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.cjs +2 -0
- package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -0
- package/dist/components/{message-reactions/MessageReactions.d.ts → reactions-row/ReactionsRow.d.ts} +5 -5
- package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.js +71 -0
- package/dist/components/reactions-row/ReactionsRow.js.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.css +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.cjs +2 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.cjs.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.js +14 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.js.map +1 -0
- package/dist/components/reactions-row/index.cjs +2 -0
- package/dist/components/reactions-row/index.cjs.map +1 -0
- package/dist/components/reactions-row/index.d.ts +3 -0
- package/dist/components/reactions-row/index.d.ts.map +1 -0
- package/dist/components/reactions-row/index.js +5 -0
- package/dist/components/reactions-row/index.js.map +1 -0
- package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
- package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
- package/dist/components/section-notice/SectionNotice.d.ts +1 -1
- package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
- package/dist/components/section-notice/SectionNotice.js.map +1 -1
- package/dist/components/tag/Tag.cjs.map +1 -1
- package/dist/components/tag/Tag.d.ts +1 -1
- package/dist/components/tag/Tag.d.ts.map +1 -1
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/text-input/TextInput.cjs.map +1 -1
- package/dist/components/text-input/TextInput.d.ts +1 -1
- package/dist/components/text-input/TextInput.d.ts.map +1 -1
- package/dist/components/text-input/TextInput.js.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.css +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.js +19 -19
- package/dist/components/tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tour-point/TourPoint.module.css +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
- package/dist/index.cjs +1 -1
- package/dist/index.css +23 -7
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +192 -175
- package/dist/index.js.map +1 -1
- package/package.json +25 -4
- package/dist/components/message-reactions/MessageReactions.cjs +0 -2
- package/dist/components/message-reactions/MessageReactions.cjs.map +0 -1
- package/dist/components/message-reactions/MessageReactions.d.ts.map +0 -1
- package/dist/components/message-reactions/MessageReactions.js +0 -85
- package/dist/components/message-reactions/MessageReactions.js.map +0 -1
- package/dist/components/message-reactions/MessageReactions.module.css +0 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.cjs +0 -2
- package/dist/components/message-reactions/MessageReactions.module.scss.cjs.map +0 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.js +0 -18
- package/dist/components/message-reactions/MessageReactions.module.scss.js.map +0 -1
- package/dist/components/message-reactions/index.d.ts +0 -3
- package/dist/components/message-reactions/index.d.ts.map +0 -1
- package/dist/components/message-reactions/index.js +0 -5
- /package/dist/components/{message-reactions → card-button}/index.cjs.map +0 -0
- /package/dist/components/{message-reactions → emoji-button}/index.js.map +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { jsxs as n, jsx as o, Fragment as X } from "react/jsx-runtime";
|
|
2
|
+
import { useState as t, useRef as _, useId as Y, useEffect as Z } from "react";
|
|
3
|
+
import __ee from "@mattermost/compass-icons/components/close.js";const ee=__ee&&__ee.default?__ee.default:__ee;
|
|
4
|
+
import oe from "../button/Button.js";
|
|
5
|
+
import ie from "../emoji/Emoji.js";
|
|
6
|
+
import j from "../emoji-button/EmojiButton.js";
|
|
7
|
+
import re from "../empty-state/EmptyState.js";
|
|
8
|
+
import M from "../icon/Icon.js";
|
|
9
|
+
import x from "../icon-button/IconButton.js";
|
|
10
|
+
import O from "../menu-group-heading/MenuGroupHeading.js";
|
|
11
|
+
import ne from "../scrollbar/Scrollbar.js";
|
|
12
|
+
import se from "../search-input/SearchInput.js";
|
|
13
|
+
import le from "../../illustrations/search.svg.js";
|
|
14
|
+
import i from "./EmojiPopover.module.scss.js";
|
|
15
|
+
const P = ["🖐️", "🖐🏻", "🖐🏼", "🖐🏽", "🖐🏾", "🖐🏿"], ae = ["", "🏻", "🏼", "🏽", "🏾", "🏿"], te = /* @__PURE__ */ new Set([
|
|
16
|
+
"👋",
|
|
17
|
+
"🤚",
|
|
18
|
+
"✋",
|
|
19
|
+
"🖐️",
|
|
20
|
+
"🖖",
|
|
21
|
+
"👌",
|
|
22
|
+
"🤌",
|
|
23
|
+
"🤏",
|
|
24
|
+
"✌️",
|
|
25
|
+
"🤞",
|
|
26
|
+
"🫰",
|
|
27
|
+
"🤟",
|
|
28
|
+
"🤘",
|
|
29
|
+
"🤙",
|
|
30
|
+
"👈",
|
|
31
|
+
"👉",
|
|
32
|
+
"👆",
|
|
33
|
+
"👇",
|
|
34
|
+
"☝️",
|
|
35
|
+
"🫵",
|
|
36
|
+
"👍",
|
|
37
|
+
"👎",
|
|
38
|
+
"✊",
|
|
39
|
+
"👊",
|
|
40
|
+
"🤛",
|
|
41
|
+
"🤜",
|
|
42
|
+
"👏",
|
|
43
|
+
"🙌",
|
|
44
|
+
"🫶",
|
|
45
|
+
"👐",
|
|
46
|
+
"🤲",
|
|
47
|
+
"🙏",
|
|
48
|
+
"💅",
|
|
49
|
+
"🤳",
|
|
50
|
+
"💪",
|
|
51
|
+
"🦵",
|
|
52
|
+
"🦶",
|
|
53
|
+
"👂",
|
|
54
|
+
"🦻",
|
|
55
|
+
"👃"
|
|
56
|
+
]);
|
|
57
|
+
function ce(c, s) {
|
|
58
|
+
return !s || !te.has(c) ? c : c.replace("️", "") + s;
|
|
59
|
+
}
|
|
60
|
+
function Ce({
|
|
61
|
+
className: c = "",
|
|
62
|
+
categories: s,
|
|
63
|
+
shortcodes: m = {},
|
|
64
|
+
defaultQuery: D = "",
|
|
65
|
+
autoFocus: k = !1,
|
|
66
|
+
onEmojiSelect: d,
|
|
67
|
+
onSearch: u,
|
|
68
|
+
onCustomEmojiClick: g,
|
|
69
|
+
customEmojiLabel: H = "Custom emoji"
|
|
70
|
+
}) {
|
|
71
|
+
var R;
|
|
72
|
+
const [l, $] = t(D), [A, F] = t(((R = s[0]) == null ? void 0 : R.id) ?? ""), [N, y] = t(null), [K, I] = t(null), [v, L] = t(0), [a, h] = t(!1), S = _(null), C = `${Y()}-skin-tone-picker`, Q = ae[v], b = _(null), w = _({});
|
|
73
|
+
Z(() => {
|
|
74
|
+
var e;
|
|
75
|
+
k && ((e = S.current) == null || e.focus());
|
|
76
|
+
}, [k]);
|
|
77
|
+
const B = (e) => {
|
|
78
|
+
$(e), u == null || u(e);
|
|
79
|
+
}, q = [...new Set(s.flatMap((e) => e.emojis))], T = l ? q.filter((e) => (m[e] ?? "").includes(l.toLowerCase()) || e === l) : [], f = l ? T.length > 0 ? "search-results" : "empty" : "default";
|
|
80
|
+
function G(e) {
|
|
81
|
+
return m[e] ? `:${m[e]}:` : e;
|
|
82
|
+
}
|
|
83
|
+
function V(e) {
|
|
84
|
+
const r = w.current[e], p = b.current;
|
|
85
|
+
if (!r || !p) return;
|
|
86
|
+
const W = r.getBoundingClientRect().top - p.getBoundingClientRect().top + p.scrollTop;
|
|
87
|
+
p.scrollTo({ top: W, behavior: "smooth" });
|
|
88
|
+
}
|
|
89
|
+
const J = [i["emoji-popover"], c].filter(Boolean).join(" "), U = {
|
|
90
|
+
"aria-label": "",
|
|
91
|
+
width: "80px",
|
|
92
|
+
height: "60px",
|
|
93
|
+
children: /* @__PURE__ */ o(le, {})
|
|
94
|
+
}, E = (e) => {
|
|
95
|
+
const r = ce(e, Q);
|
|
96
|
+
return /* @__PURE__ */ o(
|
|
97
|
+
j,
|
|
98
|
+
{
|
|
99
|
+
emoji: r,
|
|
100
|
+
size: "medium",
|
|
101
|
+
padding: "compact",
|
|
102
|
+
"aria-label": r,
|
|
103
|
+
onMouseEnter: () => {
|
|
104
|
+
y(r), I(e);
|
|
105
|
+
},
|
|
106
|
+
onMouseLeave: () => {
|
|
107
|
+
y(null), I(null);
|
|
108
|
+
},
|
|
109
|
+
onClick: () => d == null ? void 0 : d(r)
|
|
110
|
+
},
|
|
111
|
+
e
|
|
112
|
+
);
|
|
113
|
+
}, z = () => f === "empty" ? /* @__PURE__ */ o(
|
|
114
|
+
re,
|
|
115
|
+
{
|
|
116
|
+
illustration: U,
|
|
117
|
+
title: "No emojis found",
|
|
118
|
+
description: "Try a different search term."
|
|
119
|
+
}
|
|
120
|
+
) : f === "search-results" ? /* @__PURE__ */ o("div", { className: i["emoji-popover__emoji-list"], children: /* @__PURE__ */ n("div", { className: i["emoji-popover__group"], children: [
|
|
121
|
+
/* @__PURE__ */ o(O, { label: "Search Results" }),
|
|
122
|
+
/* @__PURE__ */ o("div", { className: i["emoji-popover__emoji-row"], children: T.map(E) })
|
|
123
|
+
] }) }) : /* @__PURE__ */ o("div", { className: i["emoji-popover__emoji-list"], children: s.map((e) => /* @__PURE__ */ n("div", { ref: (r) => {
|
|
124
|
+
w.current[e.id] = r;
|
|
125
|
+
}, className: i["emoji-popover__group"], children: [
|
|
126
|
+
/* @__PURE__ */ o(O, { label: e.label }),
|
|
127
|
+
/* @__PURE__ */ o(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
className: [
|
|
131
|
+
i["emoji-popover__emoji-row"],
|
|
132
|
+
e.wrap === !1 ? i["emoji-popover__emoji-row--nowrap"] : ""
|
|
133
|
+
].filter(Boolean).join(" "),
|
|
134
|
+
children: e.emojis.map(E)
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
] }, e.id)) });
|
|
138
|
+
return /* @__PURE__ */ n("div", { className: J, children: [
|
|
139
|
+
/* @__PURE__ */ n("div", { className: i["emoji-popover__header"], children: [
|
|
140
|
+
/* @__PURE__ */ n("div", { className: i["emoji-popover__header-panels"], children: [
|
|
141
|
+
/* @__PURE__ */ o(
|
|
142
|
+
"div",
|
|
143
|
+
{
|
|
144
|
+
className: [
|
|
145
|
+
i["emoji-popover__header-main"],
|
|
146
|
+
a ? i["emoji-popover__header-main--hidden"] : ""
|
|
147
|
+
].filter(Boolean).join(" "),
|
|
148
|
+
inert: a,
|
|
149
|
+
"aria-hidden": a || void 0,
|
|
150
|
+
children: /* @__PURE__ */ n("div", { className: i["emoji-popover__search-row"], children: [
|
|
151
|
+
/* @__PURE__ */ o(
|
|
152
|
+
se,
|
|
153
|
+
{
|
|
154
|
+
ref: S,
|
|
155
|
+
placeholder: "Search emojis",
|
|
156
|
+
size: "small",
|
|
157
|
+
className: i["emoji-popover__search-input"],
|
|
158
|
+
value: l,
|
|
159
|
+
onChange: (e) => B(e.target.value),
|
|
160
|
+
onClear: () => B("")
|
|
161
|
+
}
|
|
162
|
+
),
|
|
163
|
+
!l && /* @__PURE__ */ o(
|
|
164
|
+
j,
|
|
165
|
+
{
|
|
166
|
+
emoji: P[v],
|
|
167
|
+
size: "small",
|
|
168
|
+
"aria-label": "Select skin tone",
|
|
169
|
+
"aria-expanded": a,
|
|
170
|
+
"aria-controls": C,
|
|
171
|
+
onClick: () => h(!0)
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
] })
|
|
175
|
+
}
|
|
176
|
+
),
|
|
177
|
+
/* @__PURE__ */ n(
|
|
178
|
+
"div",
|
|
179
|
+
{
|
|
180
|
+
id: C,
|
|
181
|
+
className: [
|
|
182
|
+
i["emoji-popover__skin-tone-picker"],
|
|
183
|
+
a ? i["emoji-popover__skin-tone-picker--visible"] : ""
|
|
184
|
+
].filter(Boolean).join(" "),
|
|
185
|
+
inert: !a,
|
|
186
|
+
"aria-hidden": !a || void 0,
|
|
187
|
+
children: [
|
|
188
|
+
/* @__PURE__ */ o("span", { className: i["emoji-popover__skin-tone-label"], children: "Skin tone" }),
|
|
189
|
+
/* @__PURE__ */ o("div", { className: i["emoji-popover__skin-tone-options"], children: P.map((e, r) => /* @__PURE__ */ o(
|
|
190
|
+
j,
|
|
191
|
+
{
|
|
192
|
+
emoji: e,
|
|
193
|
+
size: "small",
|
|
194
|
+
toggled: v === r,
|
|
195
|
+
"aria-label": r === 0 ? "Default skin tone" : `Skin tone ${r}`,
|
|
196
|
+
onClick: () => {
|
|
197
|
+
L(r), h(!1);
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
r
|
|
201
|
+
)) }),
|
|
202
|
+
/* @__PURE__ */ o(
|
|
203
|
+
x,
|
|
204
|
+
{
|
|
205
|
+
size: "small",
|
|
206
|
+
padding: "compact",
|
|
207
|
+
icon: /* @__PURE__ */ o(M, { glyph: /* @__PURE__ */ o(ee, {}), size: "16" }),
|
|
208
|
+
"aria-label": "Close skin tone picker",
|
|
209
|
+
onClick: () => h(!1)
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
)
|
|
215
|
+
] }),
|
|
216
|
+
!l && /* @__PURE__ */ o("div", { className: i["emoji-popover__categories"], children: s.map((e) => /* @__PURE__ */ o(
|
|
217
|
+
x,
|
|
218
|
+
{
|
|
219
|
+
size: "small",
|
|
220
|
+
padding: "compact",
|
|
221
|
+
icon: /* @__PURE__ */ o(M, { glyph: /* @__PURE__ */ o(e.icon, {}), size: "16" }),
|
|
222
|
+
"aria-label": e.label,
|
|
223
|
+
active: A === e.id,
|
|
224
|
+
onClick: () => {
|
|
225
|
+
F(e.id), V(e.id);
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
e.id
|
|
229
|
+
)) })
|
|
230
|
+
] }),
|
|
231
|
+
/* @__PURE__ */ o("div", { className: i["emoji-popover__scroll-view"], children: f === "empty" ? z() : /* @__PURE__ */ o(ne, { alwaysVisible: !0, ref: b, children: z() }) }),
|
|
232
|
+
/* @__PURE__ */ n("div", { className: i["emoji-popover__footer"], children: [
|
|
233
|
+
/* @__PURE__ */ o("div", { className: i["emoji-popover__footer-preview"], children: N ? /* @__PURE__ */ n(X, { children: [
|
|
234
|
+
/* @__PURE__ */ o(ie, { emoji: N, size: "32" }),
|
|
235
|
+
/* @__PURE__ */ o("span", { className: i["emoji-popover__footer-shortcode"], children: G(K ?? "") })
|
|
236
|
+
] }) : /* @__PURE__ */ o("span", { className: i["emoji-popover__footer-hint"], children: "Select an Emoji" }) }),
|
|
237
|
+
g && /* @__PURE__ */ o(oe, { emphasis: "tertiary", size: "small", onClick: g, children: H })
|
|
238
|
+
] })
|
|
239
|
+
] });
|
|
240
|
+
}
|
|
241
|
+
export {
|
|
242
|
+
Ce as default
|
|
243
|
+
};
|
|
244
|
+
//# sourceMappingURL=EmojiPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiPopover.js","sources":["../../../src/components/emoji-popover/EmojiPopover.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState } from 'react';\nimport type { ComponentType } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport Button from '@/components/button/Button';\nimport Emoji from '@/components/emoji/Emoji';\nimport EmojiButton from '@/components/emoji-button/EmojiButton';\nimport EmptyState from '@/components/empty-state/EmptyState';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport MenuGroupHeading from '@/components/menu-group-heading/MenuGroupHeading';\nimport Scrollbar from '@/components/scrollbar/Scrollbar';\nimport SearchInput from '@/components/search-input/SearchInput';\nimport SearchIllustration from '@/illustrations/search';\nimport styles from './EmojiPopover.module.scss';\n\nexport interface EmojiCategory {\n id: string;\n label: string;\n /** Icon component rendered in the category navigation bar. */\n icon: ComponentType;\n emojis: string[];\n /** When false the row does not wrap (e.g. Recently Used). @default true */\n wrap?: boolean;\n}\n\nexport interface EmojiPopoverProps {\n className?: string;\n /** Emoji categories to display, supplied by the host. */\n categories: EmojiCategory[];\n /** Map of base emoji → shortcode name used for footer display. */\n shortcodes?: Record<string, string>;\n /** Pre-seeds the search field. Useful for static specimen demos. */\n defaultQuery?: string;\n /** Focus the search field on mount. */\n autoFocus?: boolean;\n /** Called with the selected emoji character. */\n onEmojiSelect?: (emoji: string) => void;\n /**\n * Called on every query change. Use this to trigger async custom-emoji\n * searches on the host side; local filtering over `categories` always runs.\n */\n onSearch?: (query: string) => void;\n /** Shows a tertiary button in the footer right. Omit to hide the button. */\n onCustomEmojiClick?: () => void;\n /** Label for the custom emoji button. @default 'Custom emoji' */\n customEmojiLabel?: string;\n}\n\nconst SKIN_TONES = ['🖐️', '🖐🏻', '🖐🏼', '🖐🏽', '🖐🏾', '🖐🏿'];\nconst SKIN_TONE_MODIFIERS = ['', '\\u{1F3FB}', '\\u{1F3FC}', '\\u{1F3FD}', '\\u{1F3FE}', '\\u{1F3FF}'];\n\nconst MODIFIER_BASES = new Set([\n '👋', '🤚', '✋', '🖐️', '🖖', '👌', '🤌', '🤏', '✌️', '🤞', '🫰',\n '🤟', '🤘', '🤙', '👈', '👉', '👆', '👇', '☝️', '🫵', '👍', '👎',\n '✊', '👊', '🤛', '🤜', '👏', '🙌', '🫶', '👐', '🤲', '🙏', '💅',\n '🤳', '💪', '🦵', '🦶', '👂', '🦻', '👃',\n]);\n\nfunction applyModifier(emoji: string, modifier: string): string {\n if (!modifier || !MODIFIER_BASES.has(emoji)) return emoji;\n // Strip VS16 before the modifier so composed sequences render correctly\n return emoji.replace('️', '') + modifier;\n}\n\nexport default function EmojiPopover({\n className = '',\n categories,\n shortcodes = {},\n defaultQuery = '',\n autoFocus = false,\n onEmojiSelect,\n onSearch,\n onCustomEmojiClick,\n customEmojiLabel = 'Custom emoji',\n}: EmojiPopoverProps) {\n const [query, setQuery] = useState(defaultQuery);\n const [activeCategoryId, setActiveCategoryId] = useState(categories[0]?.id ?? '');\n const [hoveredEmoji, setHoveredEmoji] = useState<string | null>(null);\n const [hoveredBase, setHoveredBase] = useState<string | null>(null);\n const [skinToneIndex, setSkinToneIndex] = useState(0);\n const [showSkinTonePicker, setShowSkinTonePicker] = useState(false);\n\n const searchRef = useRef<HTMLInputElement>(null);\n const generatedId = useId();\n const skinTonePickerId = `${generatedId}-skin-tone-picker`;\n const skinToneModifier = SKIN_TONE_MODIFIERS[skinToneIndex];\n const scrollRef = useRef<HTMLDivElement>(null);\n const groupRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n useEffect(() => {\n if (autoFocus) searchRef.current?.focus();\n }, [autoFocus]);\n\n const handleQueryChange = (next: string) => {\n setQuery(next);\n onSearch?.(next);\n };\n\n const allEmojis = [...new Set(categories.flatMap((c) => c.emojis))];\n const searchResults = query\n ? allEmojis.filter((emoji) => {\n const name = shortcodes[emoji] ?? '';\n return name.includes(query.toLowerCase()) || emoji === query;\n })\n : [];\n\n const computedState = query\n ? searchResults.length > 0 ? 'search-results' : 'empty'\n : 'default';\n\n function getShortcode(emoji: string): string {\n return shortcodes[emoji] ? `:${shortcodes[emoji]}:` : emoji;\n }\n\n function scrollToCategory(id: string) {\n const group = groupRefs.current[id];\n const scroller = scrollRef.current;\n if (!group || !scroller) return;\n const top = group.getBoundingClientRect().top - scroller.getBoundingClientRect().top + scroller.scrollTop;\n scroller.scrollTo({ top, behavior: 'smooth' });\n }\n\n const rootClass = [styles['emoji-popover'], className].filter(Boolean).join(' ');\n\n const emptyIllustration = {\n 'aria-label': '' as const,\n width: '80px',\n height: '60px',\n children: <SearchIllustration />,\n };\n\n const renderEmoji = (emoji: string) => {\n const displayed = applyModifier(emoji, skinToneModifier);\n return (\n <EmojiButton\n key={emoji}\n emoji={displayed}\n size=\"medium\"\n padding=\"compact\"\n aria-label={displayed}\n onMouseEnter={() => { setHoveredEmoji(displayed); setHoveredBase(emoji); }}\n onMouseLeave={() => { setHoveredEmoji(null); setHoveredBase(null); }}\n onClick={() => onEmojiSelect?.(displayed)}\n />\n );\n };\n\n const renderBody = () => {\n if (computedState === 'empty') {\n return (\n <EmptyState\n illustration={emptyIllustration}\n title=\"No emojis found\"\n description=\"Try a different search term.\"\n />\n );\n }\n\n if (computedState === 'search-results') {\n return (\n <div className={styles['emoji-popover__emoji-list']}>\n <div className={styles['emoji-popover__group']}>\n <MenuGroupHeading label=\"Search Results\" />\n <div className={styles['emoji-popover__emoji-row']}>\n {searchResults.map(renderEmoji)}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div className={styles['emoji-popover__emoji-list']}>\n {categories.map((cat) => (\n <div key={cat.id} ref={(el) => { groupRefs.current[cat.id] = el; }} className={styles['emoji-popover__group']}>\n <MenuGroupHeading label={cat.label} />\n <div\n className={[\n styles['emoji-popover__emoji-row'],\n cat.wrap === false ? styles['emoji-popover__emoji-row--nowrap'] : '',\n ].filter(Boolean).join(' ')}\n >\n {cat.emojis.map(renderEmoji)}\n </div>\n </div>\n ))}\n </div>\n );\n };\n\n return (\n <div className={rootClass}>\n <div className={styles['emoji-popover__header']}>\n <div className={styles['emoji-popover__header-panels']}>\n <div\n className={[\n styles['emoji-popover__header-main'],\n showSkinTonePicker ? styles['emoji-popover__header-main--hidden'] : '',\n ].filter(Boolean).join(' ')}\n inert={showSkinTonePicker}\n aria-hidden={showSkinTonePicker || undefined}\n >\n <div className={styles['emoji-popover__search-row']}>\n <SearchInput\n ref={searchRef}\n placeholder=\"Search emojis\"\n size=\"small\"\n className={styles['emoji-popover__search-input']}\n value={query}\n onChange={(e) => handleQueryChange(e.target.value)}\n onClear={() => handleQueryChange('')}\n />\n {!query && (\n <EmojiButton\n emoji={SKIN_TONES[skinToneIndex]}\n size=\"small\"\n aria-label=\"Select skin tone\"\n aria-expanded={showSkinTonePicker}\n aria-controls={skinTonePickerId}\n onClick={() => setShowSkinTonePicker(true)}\n />\n )}\n </div>\n </div>\n\n <div\n id={skinTonePickerId}\n className={[\n styles['emoji-popover__skin-tone-picker'],\n showSkinTonePicker ? styles['emoji-popover__skin-tone-picker--visible'] : '',\n ].filter(Boolean).join(' ')}\n inert={!showSkinTonePicker}\n aria-hidden={!showSkinTonePicker || undefined}\n >\n <span className={styles['emoji-popover__skin-tone-label']}>Skin tone</span>\n <div className={styles['emoji-popover__skin-tone-options']}>\n {SKIN_TONES.map((emoji, i) => (\n <EmojiButton\n key={i}\n emoji={emoji}\n size=\"small\"\n toggled={skinToneIndex === i}\n aria-label={i === 0 ? 'Default skin tone' : `Skin tone ${i}`}\n onClick={() => { setSkinToneIndex(i); setShowSkinTonePicker(false); }}\n />\n ))}\n </div>\n <IconButton\n size=\"small\"\n padding=\"compact\"\n icon={<Icon glyph={<CloseIcon />} size=\"16\" />}\n aria-label=\"Close skin tone picker\"\n onClick={() => setShowSkinTonePicker(false)}\n />\n </div>\n </div>\n\n {!query && (\n <div className={styles['emoji-popover__categories']}>\n {categories.map((cat) => (\n <IconButton\n key={cat.id}\n size=\"small\"\n padding=\"compact\"\n icon={<Icon glyph={<cat.icon />} size=\"16\" />}\n aria-label={cat.label}\n active={activeCategoryId === cat.id}\n onClick={() => { setActiveCategoryId(cat.id); scrollToCategory(cat.id); }}\n />\n ))}\n </div>\n )}\n </div>\n\n <div className={styles['emoji-popover__scroll-view']}>\n {computedState === 'empty' ? (\n renderBody()\n ) : (\n <Scrollbar alwaysVisible ref={scrollRef}>{renderBody()}</Scrollbar>\n )}\n </div>\n\n <div className={styles['emoji-popover__footer']}>\n <div className={styles['emoji-popover__footer-preview']}>\n {hoveredEmoji ? (\n <>\n <Emoji emoji={hoveredEmoji} size='32' />\n <span className={styles['emoji-popover__footer-shortcode']}>\n {getShortcode(hoveredBase ?? '')}\n </span>\n </>\n ) : (\n <span className={styles['emoji-popover__footer-hint']}>\n Select an Emoji\n </span>\n )}\n </div>\n {onCustomEmojiClick && (\n <Button emphasis=\"tertiary\" size=\"small\" onClick={onCustomEmojiClick}>\n {customEmojiLabel}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["SKIN_TONES","SKIN_TONE_MODIFIERS","MODIFIER_BASES","applyModifier","emoji","modifier","EmojiPopover","className","categories","shortcodes","defaultQuery","autoFocus","onEmojiSelect","onSearch","onCustomEmojiClick","customEmojiLabel","query","setQuery","useState","activeCategoryId","setActiveCategoryId","_a","hoveredEmoji","setHoveredEmoji","hoveredBase","setHoveredBase","skinToneIndex","setSkinToneIndex","showSkinTonePicker","setShowSkinTonePicker","searchRef","useRef","skinTonePickerId","useId","skinToneModifier","scrollRef","groupRefs","useEffect","handleQueryChange","next","allEmojis","c","searchResults","computedState","getShortcode","scrollToCategory","id","group","scroller","top","rootClass","styles","emptyIllustration","SearchIllustration","renderEmoji","displayed","jsx","EmojiButton","renderBody","EmptyState","jsxs","MenuGroupHeading","cat","el","SearchInput","i","IconButton","Icon","CloseIcon","Scrollbar","Fragment","Emoji","Button"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._emoji-popover_ffrmi_2{box-sizing:border-box;display:flex;flex-direction:column;width:348px;height:436px;background-color:var(--center-channel-bg);border:1px solid rgba(var(--center-channel-color-rgb),.16);border-radius:var(--radius-s);box-shadow:var(--elevation-4);overflow:hidden}._emoji-popover__header_ffrmi_14{display:flex;flex-direction:column;flex-shrink:0;background-color:var(--center-channel-bg);border-bottom:1px solid rgba(var(--center-channel-color-rgb),.12)}._emoji-popover__search-row_ffrmi_21{display:flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-m) var(--spacing-m) var(--spacing-xxxs)}._emoji-popover__search-input_ffrmi_27{flex:1;min-width:0}._emoji-popover__header-panels_ffrmi_31{position:relative;overflow:hidden}._emoji-popover__header-main_ffrmi_35{transition:transform var(--duration-quick) var(--ease-transition)}._emoji-popover__header-main--hidden_ffrmi_38{transform:translate(-100%)}._emoji-popover__skin-tone-picker_ffrmi_41{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xs) var(--spacing-m);transform:translate(100%);transition:transform var(--duration-quick) var(--ease-transition);background-color:var(--center-channel-bg)}._emoji-popover__skin-tone-picker--visible_ffrmi_55{transform:translate(0)}._emoji-popover__skin-tone-label_ffrmi_58{flex-shrink:0;font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-75);color:var(--center-channel-color);padding-left:var(--spacing-xxs)}._emoji-popover__skin-tone-options_ffrmi_66{display:flex;flex:1;align-items:center;justify-content:space-between}._emoji-popover__categories_ffrmi_72{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xxs) var(--spacing-m)}._emoji-popover__scroll-view_ffrmi_78{display:flex;flex-direction:column;flex:1;min-height:0}._emoji-popover__scroll-view_ffrmi_78>*{flex:1;min-height:0}._emoji-popover__emoji-list_ffrmi_88{display:flex;flex-direction:column;gap:var(--spacing-xxs);padding:var(--spacing-xxxs) 0}._emoji-popover__group_ffrmi_94{display:flex;flex-direction:column}._emoji-popover__emoji-row_ffrmi_98{display:flex;flex-wrap:wrap;align-items:flex-start;padding:0 var(--spacing-s);gap:0}._emoji-popover__emoji-row--nowrap_ffrmi_105{flex-wrap:nowrap}._emoji-popover__footer_ffrmi_108{display:flex;align-items:center;gap:var(--spacing-xs);height:56px;flex-shrink:0;padding:0 var(--spacing-l);border-top:1px solid rgba(var(--center-channel-color-rgb),.12);background-color:var(--center-channel-bg)}._emoji-popover__footer-preview_ffrmi_118{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}._emoji-popover__footer-hint_ffrmi_125{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);color:var(--center-channel-color)}._emoji-popover__footer-shortcode_ffrmi_130{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);color:rgba(var(--center-channel-color-rgb),.72)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./EmojiPopover.module.css');const o={"emoji-popover":"_emoji-popover_ffrmi_2","emoji-popover__header":"_emoji-popover__header_ffrmi_14","emoji-popover__search-row":"_emoji-popover__search-row_ffrmi_21","emoji-popover__search-input":"_emoji-popover__search-input_ffrmi_27","emoji-popover__header-panels":"_emoji-popover__header-panels_ffrmi_31","emoji-popover__header-main":"_emoji-popover__header-main_ffrmi_35","emoji-popover__header-main--hidden":"_emoji-popover__header-main--hidden_ffrmi_38","emoji-popover__skin-tone-picker":"_emoji-popover__skin-tone-picker_ffrmi_41","emoji-popover__skin-tone-picker--visible":"_emoji-popover__skin-tone-picker--visible_ffrmi_55","emoji-popover__skin-tone-label":"_emoji-popover__skin-tone-label_ffrmi_58","emoji-popover__skin-tone-options":"_emoji-popover__skin-tone-options_ffrmi_66","emoji-popover__categories":"_emoji-popover__categories_ffrmi_72","emoji-popover__scroll-view":"_emoji-popover__scroll-view_ffrmi_78","emoji-popover__emoji-list":"_emoji-popover__emoji-list_ffrmi_88","emoji-popover__group":"_emoji-popover__group_ffrmi_94","emoji-popover__emoji-row":"_emoji-popover__emoji-row_ffrmi_98","emoji-popover__emoji-row--nowrap":"_emoji-popover__emoji-row--nowrap_ffrmi_105","emoji-popover__footer":"_emoji-popover__footer_ffrmi_108","emoji-popover__footer-preview":"_emoji-popover__footer-preview_ffrmi_118","emoji-popover__footer-hint":"_emoji-popover__footer-hint_ffrmi_125","emoji-popover__footer-shortcode":"_emoji-popover__footer-shortcode_ffrmi_130"};exports.default=o;
|
|
2
|
+
//# sourceMappingURL=EmojiPopover.module.scss.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiPopover.module.scss.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import './EmojiPopover.module.css';const o = {
|
|
2
|
+
"emoji-popover": "_emoji-popover_ffrmi_2",
|
|
3
|
+
"emoji-popover__header": "_emoji-popover__header_ffrmi_14",
|
|
4
|
+
"emoji-popover__search-row": "_emoji-popover__search-row_ffrmi_21",
|
|
5
|
+
"emoji-popover__search-input": "_emoji-popover__search-input_ffrmi_27",
|
|
6
|
+
"emoji-popover__header-panels": "_emoji-popover__header-panels_ffrmi_31",
|
|
7
|
+
"emoji-popover__header-main": "_emoji-popover__header-main_ffrmi_35",
|
|
8
|
+
"emoji-popover__header-main--hidden": "_emoji-popover__header-main--hidden_ffrmi_38",
|
|
9
|
+
"emoji-popover__skin-tone-picker": "_emoji-popover__skin-tone-picker_ffrmi_41",
|
|
10
|
+
"emoji-popover__skin-tone-picker--visible": "_emoji-popover__skin-tone-picker--visible_ffrmi_55",
|
|
11
|
+
"emoji-popover__skin-tone-label": "_emoji-popover__skin-tone-label_ffrmi_58",
|
|
12
|
+
"emoji-popover__skin-tone-options": "_emoji-popover__skin-tone-options_ffrmi_66",
|
|
13
|
+
"emoji-popover__categories": "_emoji-popover__categories_ffrmi_72",
|
|
14
|
+
"emoji-popover__scroll-view": "_emoji-popover__scroll-view_ffrmi_78",
|
|
15
|
+
"emoji-popover__emoji-list": "_emoji-popover__emoji-list_ffrmi_88",
|
|
16
|
+
"emoji-popover__group": "_emoji-popover__group_ffrmi_94",
|
|
17
|
+
"emoji-popover__emoji-row": "_emoji-popover__emoji-row_ffrmi_98",
|
|
18
|
+
"emoji-popover__emoji-row--nowrap": "_emoji-popover__emoji-row--nowrap_ffrmi_105",
|
|
19
|
+
"emoji-popover__footer": "_emoji-popover__footer_ffrmi_108",
|
|
20
|
+
"emoji-popover__footer-preview": "_emoji-popover__footer-preview_ffrmi_118",
|
|
21
|
+
"emoji-popover__footer-hint": "_emoji-popover__footer-hint_ffrmi_125",
|
|
22
|
+
"emoji-popover__footer-shortcode": "_emoji-popover__footer-shortcode_ffrmi_130"
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
o as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=EmojiPopover.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiPopover.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./EmojiPopover.cjs");exports.EmojiPopover=e.default;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/emoji-popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalBanner.cjs","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport styles from './GlobalBanner.module.scss';\n\nexport type GlobalBannerType =\n | 'general'\n | 'warning'\n | 'danger'\n | 'info'\n | 'success';\n\nexport interface GlobalBannerProps {\n /** Optional CSS class name. */\n className?: string;\n /** The message text. */\n message: string;\n /** Optional type for color-coding. Default: General. */\n type?: GlobalBannerType;\n /** Optional leading icon. */\n leadingIcon?: ReactNode;\n /** Label for the optional action button. */\n actionLabel?: string;\n /** Callback when the action button is clicked. */\n onAction?: () => void;\n /** Called when dismiss button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n}\n\n/**\n * Global Banners sit at the very top of the application and broadcast something every user\n * in the workspace needs to know — a maintenance window, an expiring licence, a connectivity\n * problem, an available update. They span the full width of the app and stay visible until\n * they're dismissed or the condition resolves.\n */\nexport default function GlobalBanner({\n className = '',\n message,\n type = 'general',\n leadingIcon,\n actionLabel,\n onAction,\n onDismiss,\n}: GlobalBannerProps) {\n const typeClass =\n type !== 'general'\n ? styles[`global-banner--type-${type.toLowerCase()}`]\n : '';\n\n const rootClass = [styles['global-banner'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} role=\"banner\">\n <div className={styles['global-banner__content']}>\n {leadingIcon != null && (\n <span className={styles['global-banner__icon']} aria-hidden>\n {leadingIcon}\n </span>\n )}\n <span className={styles['global-banner__message']}>{message}</span>\n {actionLabel != null && (\n <Button\n className={styles['global-banner__action']}\n appearance=\"default\"\n emphasis=\"tertiary\"\n size=\"x-small\"\n onClick={onAction}\n >\n {actionLabel}\n </Button>\n )}\n </div>\n {onDismiss != null && (\n <IconButton\n className={styles['global-banner__dismiss']}\n aria-label=\"Dismiss\"\n size=\"small\"\n icon={<Icon glyph={<CloseIcon />} size=\"16\" />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["GlobalBanner","className","message","type","leadingIcon","actionLabel","onAction","onDismiss","typeClass","styles","rootClass","jsxs","jsx","Button","IconButton","Icon","CloseIcon"],"mappings":"+VAqCA,SAAwBA,EAAa,CACnC,UAAAC,EAAY,GACZ,QAAAC,EACA,KAAAC,EAAO,UACP,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,CACF,EAAsB,CACpB,MAAMC,EACJL,IAAS,UACLM,UAAO,uBAAuBN,EAAK,YAAA,CAAa,EAAE,EAClD,GAEAO,EAAY,CAACD,UAAO,eAAe,EAAGD,EAAWP,CAAS,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEU,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAW,KAAK,SAC9B,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWF,EAAAA,QAAO,wBAAwB,EAC5C,SAAA,CAAAL,GAAe,YACb,OAAA,CAAK,UAAWK,EAAAA,QAAO,qBAAqB,EAAG,cAAW,GACxD,SAAAL,CAAA,CACH,QAED,OAAA,CAAK,UAAWK,EAAAA,QAAO,wBAAwB,EAAI,SAAAP,EAAQ,EAC3DG,GAAe,MACdO,EAAAA,IAACC,EAAAA,QAAA,CACC,UAAWJ,EAAAA,QAAO,uBAAuB,EACzC,WAAW,UACX,SAAS,WACT,KAAK,UACL,QAASH,EAER,SAAAD,CAAA,CAAA,CACH,EAEJ,EACCE,GAAa,MACZK,EAAAA,IAACE,EAAAA,QAAA,CACC,UAAWL,EAAAA,QAAO,wBAAwB,EAC1C,aAAW,UACX,KAAK,QACL,WAAOM,UAAA,CAAK,YAAQC,EAAA,EAAU,EAAI,KAAK,KAAK,EAC5C,QAAST,CAAA,CAAA,CACX,EAEJ,CAEJ"}
|
|
1
|
+
{"version":3,"file":"GlobalBanner.cjs","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport styles from './GlobalBanner.module.scss';\n\nexport type GlobalBannerType =\n | 'general'\n | 'warning'\n | 'danger'\n | 'info'\n | 'success';\n\nexport interface GlobalBannerProps {\n /** Optional CSS class name. */\n className?: string;\n /** The message text. */\n message: string;\n /** Optional type for color-coding. Default: General. */\n type?: GlobalBannerType;\n /** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). The slot does not resize raw SVG children. */\n leadingIcon?: ReactNode;\n /** Label for the optional action button. */\n actionLabel?: string;\n /** Callback when the action button is clicked. */\n onAction?: () => void;\n /** Called when dismiss button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n}\n\n/**\n * Global Banners sit at the very top of the application and broadcast something every user\n * in the workspace needs to know — a maintenance window, an expiring licence, a connectivity\n * problem, an available update. They span the full width of the app and stay visible until\n * they're dismissed or the condition resolves.\n */\nexport default function GlobalBanner({\n className = '',\n message,\n type = 'general',\n leadingIcon,\n actionLabel,\n onAction,\n onDismiss,\n}: GlobalBannerProps) {\n const typeClass =\n type !== 'general'\n ? styles[`global-banner--type-${type.toLowerCase()}`]\n : '';\n\n const rootClass = [styles['global-banner'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} role=\"banner\">\n <div className={styles['global-banner__content']}>\n {leadingIcon != null && (\n <span className={styles['global-banner__icon']} aria-hidden>\n {leadingIcon}\n </span>\n )}\n <span className={styles['global-banner__message']}>{message}</span>\n {actionLabel != null && (\n <Button\n className={styles['global-banner__action']}\n appearance=\"default\"\n emphasis=\"tertiary\"\n size=\"x-small\"\n onClick={onAction}\n >\n {actionLabel}\n </Button>\n )}\n </div>\n {onDismiss != null && (\n <IconButton\n className={styles['global-banner__dismiss']}\n aria-label=\"Dismiss\"\n size=\"small\"\n icon={<Icon glyph={<CloseIcon />} size=\"16\" />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["GlobalBanner","className","message","type","leadingIcon","actionLabel","onAction","onDismiss","typeClass","styles","rootClass","jsxs","jsx","Button","IconButton","Icon","CloseIcon"],"mappings":"+VAqCA,SAAwBA,EAAa,CACnC,UAAAC,EAAY,GACZ,QAAAC,EACA,KAAAC,EAAO,UACP,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,CACF,EAAsB,CACpB,MAAMC,EACJL,IAAS,UACLM,UAAO,uBAAuBN,EAAK,YAAA,CAAa,EAAE,EAClD,GAEAO,EAAY,CAACD,UAAO,eAAe,EAAGD,EAAWP,CAAS,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEU,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAW,KAAK,SAC9B,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWF,EAAAA,QAAO,wBAAwB,EAC5C,SAAA,CAAAL,GAAe,YACb,OAAA,CAAK,UAAWK,EAAAA,QAAO,qBAAqB,EAAG,cAAW,GACxD,SAAAL,CAAA,CACH,QAED,OAAA,CAAK,UAAWK,EAAAA,QAAO,wBAAwB,EAAI,SAAAP,EAAQ,EAC3DG,GAAe,MACdO,EAAAA,IAACC,EAAAA,QAAA,CACC,UAAWJ,EAAAA,QAAO,uBAAuB,EACzC,WAAW,UACX,SAAS,WACT,KAAK,UACL,QAASH,EAER,SAAAD,CAAA,CAAA,CACH,EAEJ,EACCE,GAAa,MACZK,EAAAA,IAACE,EAAAA,QAAA,CACC,UAAWL,EAAAA,QAAO,wBAAwB,EAC1C,aAAW,UACX,KAAK,QACL,WAAOM,UAAA,CAAK,YAAQC,EAAA,EAAU,EAAI,KAAK,KAAK,EAC5C,QAAST,CAAA,CAAA,CACX,EAEJ,CAEJ"}
|
|
@@ -7,7 +7,7 @@ export interface GlobalBannerProps {
|
|
|
7
7
|
message: string;
|
|
8
8
|
/** Optional type for color-coding. Default: General. */
|
|
9
9
|
type?: GlobalBannerType;
|
|
10
|
-
/** Optional leading icon. */
|
|
10
|
+
/** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size="16" />`). The slot does not resize raw SVG children. */
|
|
11
11
|
leadingIcon?: ReactNode;
|
|
12
12
|
/** Label for the optional action button. */
|
|
13
13
|
actionLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalBanner.d.ts","sourceRoot":"","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"GlobalBanner.d.ts","sourceRoot":"","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,yHAAyH;IACzH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAc,EACd,OAAO,EACP,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,GACV,EAAE,iBAAiB,2CA0CnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalBanner.js","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport styles from './GlobalBanner.module.scss';\n\nexport type GlobalBannerType =\n | 'general'\n | 'warning'\n | 'danger'\n | 'info'\n | 'success';\n\nexport interface GlobalBannerProps {\n /** Optional CSS class name. */\n className?: string;\n /** The message text. */\n message: string;\n /** Optional type for color-coding. Default: General. */\n type?: GlobalBannerType;\n /** Optional leading icon. */\n leadingIcon?: ReactNode;\n /** Label for the optional action button. */\n actionLabel?: string;\n /** Callback when the action button is clicked. */\n onAction?: () => void;\n /** Called when dismiss button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n}\n\n/**\n * Global Banners sit at the very top of the application and broadcast something every user\n * in the workspace needs to know — a maintenance window, an expiring licence, a connectivity\n * problem, an available update. They span the full width of the app and stay visible until\n * they're dismissed or the condition resolves.\n */\nexport default function GlobalBanner({\n className = '',\n message,\n type = 'general',\n leadingIcon,\n actionLabel,\n onAction,\n onDismiss,\n}: GlobalBannerProps) {\n const typeClass =\n type !== 'general'\n ? styles[`global-banner--type-${type.toLowerCase()}`]\n : '';\n\n const rootClass = [styles['global-banner'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} role=\"banner\">\n <div className={styles['global-banner__content']}>\n {leadingIcon != null && (\n <span className={styles['global-banner__icon']} aria-hidden>\n {leadingIcon}\n </span>\n )}\n <span className={styles['global-banner__message']}>{message}</span>\n {actionLabel != null && (\n <Button\n className={styles['global-banner__action']}\n appearance=\"default\"\n emphasis=\"tertiary\"\n size=\"x-small\"\n onClick={onAction}\n >\n {actionLabel}\n </Button>\n )}\n </div>\n {onDismiss != null && (\n <IconButton\n className={styles['global-banner__dismiss']}\n aria-label=\"Dismiss\"\n size=\"small\"\n icon={<Icon glyph={<CloseIcon />} size=\"16\" />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["GlobalBanner","className","message","type","leadingIcon","actionLabel","onAction","onDismiss","typeClass","styles","rootClass","jsxs","jsx","Button","IconButton","Icon","CloseIcon"],"mappings":";;;;;;AAqCA,SAAwBA,EAAa;AAAA,EACnC,WAAAC,IAAY;AAAA,EACZ,SAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAAsB;AACpB,QAAMC,IACJL,MAAS,YACLM,EAAO,uBAAuBN,EAAK,YAAA,CAAa,EAAE,IAClD,IAEAO,IAAY,CAACD,EAAO,eAAe,GAAGD,GAAWP,CAAS,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU,EAAC,OAAA,EAAI,WAAWD,GAAW,MAAK,UAC9B,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAO,wBAAwB,GAC5C,UAAA;AAAA,MAAAL,KAAe,0BACb,QAAA,EAAK,WAAWK,EAAO,qBAAqB,GAAG,eAAW,IACxD,UAAAL,EAAA,CACH;AAAA,wBAED,QAAA,EAAK,WAAWK,EAAO,wBAAwB,GAAI,UAAAP,GAAQ;AAAA,MAC3DG,KAAe,QACd,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAWJ,EAAO,uBAAuB;AAAA,UACzC,YAAW;AAAA,UACX,UAAS;AAAA,UACT,MAAK;AAAA,UACL,SAASH;AAAA,UAER,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,IACCE,KAAa,QACZ,gBAAAK;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAWL,EAAO,wBAAwB;AAAA,QAC1C,cAAW;AAAA,QACX,MAAK;AAAA,QACL,wBAAOM,GAAA,EAAK,yBAAQC,GAAA,EAAU,GAAI,MAAK,MAAK;AAAA,QAC5C,SAAST;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GAEJ;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"GlobalBanner.js","sources":["../../../src/components/global-banner/GlobalBanner.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport styles from './GlobalBanner.module.scss';\n\nexport type GlobalBannerType =\n | 'general'\n | 'warning'\n | 'danger'\n | 'info'\n | 'success';\n\nexport interface GlobalBannerProps {\n /** Optional CSS class name. */\n className?: string;\n /** The message text. */\n message: string;\n /** Optional type for color-coding. Default: General. */\n type?: GlobalBannerType;\n /** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). The slot does not resize raw SVG children. */\n leadingIcon?: ReactNode;\n /** Label for the optional action button. */\n actionLabel?: string;\n /** Callback when the action button is clicked. */\n onAction?: () => void;\n /** Called when dismiss button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n}\n\n/**\n * Global Banners sit at the very top of the application and broadcast something every user\n * in the workspace needs to know — a maintenance window, an expiring licence, a connectivity\n * problem, an available update. They span the full width of the app and stay visible until\n * they're dismissed or the condition resolves.\n */\nexport default function GlobalBanner({\n className = '',\n message,\n type = 'general',\n leadingIcon,\n actionLabel,\n onAction,\n onDismiss,\n}: GlobalBannerProps) {\n const typeClass =\n type !== 'general'\n ? styles[`global-banner--type-${type.toLowerCase()}`]\n : '';\n\n const rootClass = [styles['global-banner'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} role=\"banner\">\n <div className={styles['global-banner__content']}>\n {leadingIcon != null && (\n <span className={styles['global-banner__icon']} aria-hidden>\n {leadingIcon}\n </span>\n )}\n <span className={styles['global-banner__message']}>{message}</span>\n {actionLabel != null && (\n <Button\n className={styles['global-banner__action']}\n appearance=\"default\"\n emphasis=\"tertiary\"\n size=\"x-small\"\n onClick={onAction}\n >\n {actionLabel}\n </Button>\n )}\n </div>\n {onDismiss != null && (\n <IconButton\n className={styles['global-banner__dismiss']}\n aria-label=\"Dismiss\"\n size=\"small\"\n icon={<Icon glyph={<CloseIcon />} size=\"16\" />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["GlobalBanner","className","message","type","leadingIcon","actionLabel","onAction","onDismiss","typeClass","styles","rootClass","jsxs","jsx","Button","IconButton","Icon","CloseIcon"],"mappings":";;;;;;AAqCA,SAAwBA,EAAa;AAAA,EACnC,WAAAC,IAAY;AAAA,EACZ,SAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAAsB;AACpB,QAAMC,IACJL,MAAS,YACLM,EAAO,uBAAuBN,EAAK,YAAA,CAAa,EAAE,IAClD,IAEAO,IAAY,CAACD,EAAO,eAAe,GAAGD,GAAWP,CAAS,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU,EAAC,OAAA,EAAI,WAAWD,GAAW,MAAK,UAC9B,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAO,wBAAwB,GAC5C,UAAA;AAAA,MAAAL,KAAe,0BACb,QAAA,EAAK,WAAWK,EAAO,qBAAqB,GAAG,eAAW,IACxD,UAAAL,EAAA,CACH;AAAA,wBAED,QAAA,EAAK,WAAWK,EAAO,wBAAwB,GAAI,UAAAP,GAAQ;AAAA,MAC3DG,KAAe,QACd,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAWJ,EAAO,uBAAuB;AAAA,UACzC,YAAW;AAAA,UACX,UAAS;AAAA,UACT,MAAK;AAAA,UACL,SAASH;AAAA,UAER,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,IACCE,KAAa,QACZ,gBAAAK;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAWL,EAAO,wBAAwB;AAAA,QAC1C,cAAW;AAAA,QACX,MAAK;AAAA,QACL,wBAAOM,GAAA,EAAK,yBAAQC,GAAA,EAAU,GAAI,MAAK,MAAK;AAAA,QAC5C,SAAST;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GAEJ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._global-
|
|
1
|
+
._global-header_11raj_2{position:relative;display:grid;align-items:center;width:100%;height:40px;flex-shrink:0;padding:0 var(--spacing-xxxxs);background:var(--sidebar-header-bg)}._global-header--channels_11raj_13{grid-template-columns:max-content minmax(0,1fr) max-content}._global-header--product-only_11raj_16{grid-template-columns:auto minmax(0,1fr)}._global-header__left_11raj_19{grid-column:1;grid-row:1;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xxxs) var(--spacing-xs);flex-shrink:0}._global-header__product_11raj_28{display:flex;align-items:center;gap:var(--spacing-xxxs);padding:2px 0}._global-header__product-icon_11raj_34{display:inline-flex;align-items:center;justify-content:center;padding:2px;color:var(--sidebar-text);opacity:.64}._global-header__product-name_11raj_42{margin:0;font-family:var(--font-family-heading);font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);line-height:var(--line-height-200);color:rgba(var(--sidebar-text-rgb),.64);white-space:nowrap}._global-header__navigator_11raj_51{display:flex;align-items:center;gap:var(--spacing-xxxs)}._global-header__center_11raj_56{grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;gap:var(--spacing-xxxs);padding:var(--spacing-xxxxs) 0 var(--spacing-xxxxs) var(--spacing-xxxs);min-width:0;width:max-content;max-width:100%}._global-header__search_11raj_68{display:flex;align-items:center;gap:var(--spacing-xs);width:432px;height:28px;padding:var(--spacing-xs) var(--spacing-m) var(--spacing-xs) var(--spacing-xs);background:rgba(var(--sidebar-text-rgb),.08);border-radius:var(--radius-s);cursor:text;transition:background-color var(--duration-quick) var(--ease-transition)}._global-header__search_11raj_68:hover{background:rgba(var(--sidebar-text-rgb),.12)}._global-header__search-icon_11raj_83{display:inline-flex;align-items:center;flex-shrink:0;color:rgba(var(--sidebar-text-rgb),.64)}._global-header__search-input_11raj_89{flex:1 1 0;min-width:0;margin:0;padding:0;border:0;background:transparent;font-family:var(--font-family-body);font-size:var(--font-size-75);line-height:var(--line-height-75);font-weight:var(--font-weight-regular);letter-spacing:.02em;color:var(--sidebar-text)}._global-header__search-input_11raj_89:focus{outline:none}._global-header__search-input_11raj_89::placeholder{color:rgba(var(--sidebar-text-rgb),.64)}._global-header__right_11raj_109{grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xxxs);padding:0 var(--spacing-xs);flex-shrink:0}._global-header--channels_11raj_13 ._global-header__right_11raj_109{grid-column:3}._global-header--product-only_11raj_16 ._global-header__right_11raj_109{grid-column:2}._global-header__account_11raj_124{--status-badge-bg: var(--sidebar-header-bg);display:inline-flex;align-items:center;padding:var(--spacing-xxxxs) var(--spacing-xs);background:transparent;border:0;border-radius:var(--radius-s);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-transition)}._global-header__account_11raj_124:hover{background:rgba(var(--sidebar-text-rgb),.08)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./GlobalHeader.module.css');const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./GlobalHeader.module.css');const a={"global-header":"_global-header_11raj_2","global-header--channels":"_global-header--channels_11raj_13","global-header--product-only":"_global-header--product-only_11raj_16","global-header__left":"_global-header__left_11raj_19","global-header__product":"_global-header__product_11raj_28","global-header__product-icon":"_global-header__product-icon_11raj_34","global-header__product-name":"_global-header__product-name_11raj_42","global-header__navigator":"_global-header__navigator_11raj_51","global-header__center":"_global-header__center_11raj_56","global-header__search":"_global-header__search_11raj_68","global-header__search-icon":"_global-header__search-icon_11raj_83","global-header__search-input":"_global-header__search-input_11raj_89","global-header__right":"_global-header__right_11raj_109","global-header__account":"_global-header__account_11raj_124"};exports.default=a;
|
|
2
2
|
//# sourceMappingURL=GlobalHeader.module.scss.cjs.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import './GlobalHeader.module.css';const
|
|
2
|
-
"global-header": "_global-
|
|
3
|
-
"global-header--channels": "_global-header--
|
|
4
|
-
"global-header--product-only": "_global-header--product-
|
|
5
|
-
"global-header__left": "_global-
|
|
6
|
-
"global-header__product": "_global-
|
|
7
|
-
"global-header__product-icon": "_global-header__product-
|
|
8
|
-
"global-header__product-name": "_global-header__product-
|
|
9
|
-
"global-header__navigator": "_global-
|
|
10
|
-
"global-header__center": "_global-
|
|
11
|
-
"global-header__search": "_global-
|
|
12
|
-
"global-header__search-icon": "_global-header__search-
|
|
13
|
-
"global-header__search-input": "_global-header__search-
|
|
14
|
-
"global-header__right": "_global-
|
|
15
|
-
"global-header__account": "_global-
|
|
1
|
+
import './GlobalHeader.module.css';const a = {
|
|
2
|
+
"global-header": "_global-header_11raj_2",
|
|
3
|
+
"global-header--channels": "_global-header--channels_11raj_13",
|
|
4
|
+
"global-header--product-only": "_global-header--product-only_11raj_16",
|
|
5
|
+
"global-header__left": "_global-header__left_11raj_19",
|
|
6
|
+
"global-header__product": "_global-header__product_11raj_28",
|
|
7
|
+
"global-header__product-icon": "_global-header__product-icon_11raj_34",
|
|
8
|
+
"global-header__product-name": "_global-header__product-name_11raj_42",
|
|
9
|
+
"global-header__navigator": "_global-header__navigator_11raj_51",
|
|
10
|
+
"global-header__center": "_global-header__center_11raj_56",
|
|
11
|
+
"global-header__search": "_global-header__search_11raj_68",
|
|
12
|
+
"global-header__search-icon": "_global-header__search-icon_11raj_83",
|
|
13
|
+
"global-header__search-input": "_global-header__search-input_11raj_89",
|
|
14
|
+
"global-header__right": "_global-header__right_11raj_109",
|
|
15
|
+
"global-header__account": "_global-header__account_11raj_124"
|
|
16
16
|
};
|
|
17
17
|
export {
|
|
18
|
-
|
|
18
|
+
a as default
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=GlobalHeader.module.scss.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),u=require("./MenuGroupHeading.module.scss.cjs");function i({label:n,className:r="",...a}){return e.jsx("div",{className:[u.default["menu-group-heading"],r].filter(Boolean).join(" "),...a,children:e.jsx("span",{className:u.default["menu-group-heading__label"],children:n})})}exports.default=i;
|
|
2
|
+
//# sourceMappingURL=MenuGroupHeading.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuGroupHeading.cjs","sources":["../../../src/components/menu-group-heading/MenuGroupHeading.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './MenuGroupHeading.module.scss';\n\nexport interface MenuGroupHeadingProps extends HTMLAttributes<HTMLDivElement> {\n /** The section label text. Rendered in all-caps. */\n label: string;\n}\n\n/**\n * Menu Group Heading is an optional all-caps label that titles a grouped\n * section of Menu Items inside a dropdown or context menu.\n */\nexport default function MenuGroupHeading({\n label,\n className = '',\n ...rest\n}: MenuGroupHeadingProps) {\n return (\n <div\n className={[styles['menu-group-heading'], className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <span className={styles['menu-group-heading__label']}>{label}</span>\n </div>\n );\n}\n"],"names":["MenuGroupHeading","label","className","rest","jsx","styles"],"mappings":"iMAYA,SAAwBA,EAAiB,CACvC,MAAAC,EACA,UAAAC,EAAY,GACZ,GAAGC,CACL,EAA0B,CACxB,OACEC,EAAAA,IAAC,MAAA,CACC,UAAW,CAACC,UAAO,oBAAoB,EAAGH,CAAS,EAChD,OAAO,OAAO,EACd,KAAK,GAAG,EACV,GAAGC,EAEJ,eAAC,OAAA,CAAK,UAAWE,EAAAA,QAAO,2BAA2B,EAAI,SAAAJ,CAAA,CAAM,CAAA,CAAA,CAGnE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
export interface MenuGroupHeadingProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** The section label text. Rendered in all-caps. */
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Menu Group Heading is an optional all-caps label that titles a grouped
|
|
8
|
+
* section of Menu Items inside a dropdown or context menu.
|
|
9
|
+
*/
|
|
10
|
+
export default function MenuGroupHeading({ label, className, ...rest }: MenuGroupHeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=MenuGroupHeading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuGroupHeading.d.ts","sourceRoot":"","sources":["../../../src/components/menu-group-heading/MenuGroupHeading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC3E,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,SAAc,EACd,GAAG,IAAI,EACR,EAAE,qBAAqB,2CAWvB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import n from "./MenuGroupHeading.module.scss.js";
|
|
3
|
+
function s({
|
|
4
|
+
label: r,
|
|
5
|
+
className: a = "",
|
|
6
|
+
...o
|
|
7
|
+
}) {
|
|
8
|
+
return /* @__PURE__ */ e(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: [n["menu-group-heading"], a].filter(Boolean).join(" "),
|
|
12
|
+
...o,
|
|
13
|
+
children: /* @__PURE__ */ e("span", { className: n["menu-group-heading__label"], children: r })
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
s as default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=MenuGroupHeading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuGroupHeading.js","sources":["../../../src/components/menu-group-heading/MenuGroupHeading.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './MenuGroupHeading.module.scss';\n\nexport interface MenuGroupHeadingProps extends HTMLAttributes<HTMLDivElement> {\n /** The section label text. Rendered in all-caps. */\n label: string;\n}\n\n/**\n * Menu Group Heading is an optional all-caps label that titles a grouped\n * section of Menu Items inside a dropdown or context menu.\n */\nexport default function MenuGroupHeading({\n label,\n className = '',\n ...rest\n}: MenuGroupHeadingProps) {\n return (\n <div\n className={[styles['menu-group-heading'], className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <span className={styles['menu-group-heading__label']}>{label}</span>\n </div>\n );\n}\n"],"names":["MenuGroupHeading","label","className","rest","jsx","styles"],"mappings":";;AAYA,SAAwBA,EAAiB;AAAA,EACvC,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAA0B;AACxB,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,CAACC,EAAO,oBAAoB,GAAGH,CAAS,EAChD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MACV,GAAGC;AAAA,MAEJ,4BAAC,QAAA,EAAK,WAAWE,EAAO,2BAA2B,GAAI,UAAAJ,EAAA,CAAM;AAAA,IAAA;AAAA,EAAA;AAGnE;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._menu-group-heading_ca9me_2{display:flex;align-items:center;padding:var(--spacing-xxs) var(--spacing-xl);background-color:var(--center-channel-bg);width:100%}._menu-group-heading__label_ca9me_9{font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-75);letter-spacing:.05em;text-transform:uppercase;color:rgba(var(--center-channel-color-rgb),.72);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./MenuGroupHeading.module.css');const e={"menu-group-heading":"_menu-group-heading_ca9me_2","menu-group-heading__label":"_menu-group-heading__label_ca9me_9"};exports.default=e;
|
|
2
|
+
//# sourceMappingURL=MenuGroupHeading.module.scss.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuGroupHeading.module.scss.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './MenuGroupHeading.module.css';const e = {
|
|
2
|
+
"menu-group-heading": "_menu-group-heading_ca9me_2",
|
|
3
|
+
"menu-group-heading__label": "_menu-group-heading__label_ca9me_9"
|
|
4
|
+
};
|
|
5
|
+
export {
|
|
6
|
+
e as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=MenuGroupHeading.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuGroupHeading.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/menu-group-heading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|