@knocklabs/react 0.2.8 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/modules/core/components/Button/Button.js +1 -1
- package/dist/cjs/modules/core/components/Button/Button.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonGroup.js +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonGroup.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonSpinner.js +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonSpinner.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/styles.css.js.map +1 -0
- package/dist/cjs/modules/core/components/Icons/Bell.js +1 -1
- package/dist/cjs/modules/core/components/Icons/Bell.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js +1 -1
- package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/ChevronDown.js +1 -1
- package/dist/cjs/modules/core/components/Icons/ChevronDown.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/CloseCircle.js +1 -1
- package/dist/cjs/modules/core/components/Icons/CloseCircle.js.map +1 -1
- package/dist/cjs/modules/core/components/Spinner/Spinner.js +2 -2
- package/dist/cjs/modules/core/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/modules/core/hooks/useComponentVisible.js.map +1 -1
- package/dist/cjs/modules/core/hooks/useOnBottomScroll.js.map +1 -1
- package/dist/cjs/modules/core/hooks/useOutsideClick.js.map +1 -1
- package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js +1 -1
- package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js.map +1 -1
- package/dist/cjs/modules/feed/components/EmptyFeed/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js +1 -1
- package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationIconButton/styles.css.js.map +1 -0
- package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js +1 -1
- package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js.map +1 -1
- package/dist/cjs/modules/feed/components/UnseenBadge/styles.css.js.map +1 -0
- package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js +1 -1
- package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAddChannelInput/styles.css.js.map +1 -0
- package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthButton/styles.css.js.map +1 -0
- package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthContainer/styles.css.js.map +1 -0
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/helpers.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/styles.css.js.map +1 -0
- package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js +1 -1
- package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js.map +1 -1
- package/dist/cjs/modules/slack/theme.css.js.map +1 -0
- package/dist/cjs/theme.css.js.map +1 -0
- package/dist/esm/modules/core/components/Button/Button.mjs +14 -30
- package/dist/esm/modules/core/components/Button/Button.mjs.map +1 -1
- package/dist/esm/modules/core/components/Button/ButtonGroup.mjs +5 -3
- package/dist/esm/modules/core/components/Button/ButtonGroup.mjs.map +1 -1
- package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs +6 -10
- package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/Bell.mjs +7 -25
- package/dist/esm/modules/core/components/Icons/Bell.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs +3 -33
- package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/ChevronDown.mjs +3 -22
- package/dist/esm/modules/core/components/Icons/ChevronDown.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/CloseCircle.mjs +3 -19
- package/dist/esm/modules/core/components/Icons/CloseCircle.mjs.map +1 -1
- package/dist/esm/modules/core/components/Spinner/Spinner.mjs +13 -47
- package/dist/esm/modules/core/components/Spinner/Spinner.mjs.map +1 -1
- package/dist/esm/modules/core/hooks/useComponentVisible.mjs +3 -1
- package/dist/esm/modules/core/hooks/useComponentVisible.mjs.map +1 -1
- package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs +1 -3
- package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs.map +1 -1
- package/dist/esm/modules/core/hooks/useOutsideClick.mjs.map +1 -1
- package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs +10 -9
- package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs +26 -36
- package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs +10 -7
- package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs +39 -68
- package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs +12 -13
- package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs +17 -27
- package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs +48 -57
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs +12 -27
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs +5 -5
- package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs +45 -48
- package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs +13 -22
- package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs.map +1 -1
- package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs +9 -9
- package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs +21 -38
- package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs +26 -62
- package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs +9 -14
- package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs +75 -163
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs +11 -25
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs +17 -35
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.mjs +8 -19
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.mjs +8 -10
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs +11 -10
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/helpers.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs +7 -28
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.mjs +3 -21
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs +3 -21
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs +2 -46
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs +3 -30
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs +3 -18
- package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs +9 -43
- package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/types/modules/feed/components/NotificationFeed/NotificationFeed.d.ts +2 -2
- package/dist/types/modules/feed/components/NotificationFeed/NotificationFeed.d.ts.map +1 -1
- package/package.json +3 -2
@@ -1,22 +1,6 @@
|
|
1
|
-
import
|
2
|
-
const
|
3
|
-
"svg",
|
4
|
-
{
|
5
|
-
width: "14",
|
6
|
-
height: "14",
|
7
|
-
viewBox: "0 0 14 14",
|
8
|
-
fill: "none",
|
9
|
-
xmlns: "http://www.w3.org/2000/svg",
|
10
|
-
children: /* @__PURE__ */ C(
|
11
|
-
"path",
|
12
|
-
{
|
13
|
-
d: "M7.00012 0.499939C3.41606 0.499939 0.500122 3.41588 0.500122 6.99994C0.500122 10.584 3.41606 13.4999 7.00012 13.4999C10.5842 13.4999 13.5001 10.584 13.5001 6.99994C13.5001 3.41588 10.5842 0.499939 7.00012 0.499939ZM9.35356 8.6465C9.40194 8.69247 9.44063 8.74766 9.46735 8.80881C9.49407 8.86997 9.50828 8.93585 9.50913 9.00259C9.50999 9.06932 9.49747 9.13555 9.47233 9.19737C9.44718 9.25919 9.40992 9.31535 9.36273 9.36254C9.31553 9.40973 9.25937 9.447 9.19755 9.47214C9.13573 9.49729 9.0695 9.5098 9.00277 9.50895C8.93604 9.50809 8.87015 9.49389 8.809 9.46717C8.74784 9.44045 8.69265 9.40176 8.64668 9.35337L7.00012 7.70712L5.35356 9.35337C5.25903 9.44318 5.13315 9.49251 5.00277 9.49084C4.87239 9.48918 4.74782 9.43664 4.65562 9.34444C4.56342 9.25224 4.51088 9.12767 4.50921 8.99729C4.50755 8.86691 4.55687 8.74103 4.64668 8.6465L6.29293 6.99994L4.64668 5.35338C4.55687 5.25884 4.50755 5.13297 4.50921 5.00259C4.51088 4.87221 4.56342 4.74764 4.65562 4.65544C4.74782 4.56324 4.87239 4.5107 5.00277 4.50903C5.13315 4.50736 5.25903 4.55669 5.35356 4.6465L7.00012 6.29275L8.64668 4.6465C8.74121 4.55669 8.86709 4.50736 8.99747 4.50903C9.12785 4.5107 9.25242 4.56324 9.34462 4.65544C9.43682 4.74764 9.48936 4.87221 9.49103 5.00259C9.4927 5.13297 9.44337 5.25884 9.35356 5.35338L7.70731 6.99994L9.35356 8.6465Z",
|
14
|
-
fill: "currentColor"
|
15
|
-
}
|
16
|
-
)
|
17
|
-
}
|
18
|
-
);
|
1
|
+
import C from "react";
|
2
|
+
const t = () => /* @__PURE__ */ C.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ C.createElement("path", { d: "M7.00012 0.499939C3.41606 0.499939 0.500122 3.41588 0.500122 6.99994C0.500122 10.584 3.41606 13.4999 7.00012 13.4999C10.5842 13.4999 13.5001 10.584 13.5001 6.99994C13.5001 3.41588 10.5842 0.499939 7.00012 0.499939ZM9.35356 8.6465C9.40194 8.69247 9.44063 8.74766 9.46735 8.80881C9.49407 8.86997 9.50828 8.93585 9.50913 9.00259C9.50999 9.06932 9.49747 9.13555 9.47233 9.19737C9.44718 9.25919 9.40992 9.31535 9.36273 9.36254C9.31553 9.40973 9.25937 9.447 9.19755 9.47214C9.13573 9.49729 9.0695 9.5098 9.00277 9.50895C8.93604 9.50809 8.87015 9.49389 8.809 9.46717C8.74784 9.44045 8.69265 9.40176 8.64668 9.35337L7.00012 7.70712L5.35356 9.35337C5.25903 9.44318 5.13315 9.49251 5.00277 9.49084C4.87239 9.48918 4.74782 9.43664 4.65562 9.34444C4.56342 9.25224 4.51088 9.12767 4.50921 8.99729C4.50755 8.86691 4.55687 8.74103 4.64668 8.6465L6.29293 6.99994L4.64668 5.35338C4.55687 5.25884 4.50755 5.13297 4.50921 5.00259C4.51088 4.87221 4.56342 4.74764 4.65562 4.65544C4.74782 4.56324 4.87239 4.5107 5.00277 4.50903C5.13315 4.50736 5.25903 4.55669 5.35356 4.6465L7.00012 6.29275L8.64668 4.6465C8.74121 4.55669 8.86709 4.50736 8.99747 4.50903C9.12785 4.5107 9.25242 4.56324 9.34462 4.65544C9.43682 4.74764 9.48936 4.87221 9.49103 5.00259C9.4927 5.13297 9.44337 5.25884 9.35356 5.35338L7.70731 6.99994L9.35356 8.6465Z", fill: "currentColor" }));
|
19
3
|
export {
|
20
|
-
|
4
|
+
t as CloseCircle
|
21
5
|
};
|
22
6
|
//# sourceMappingURL=CloseCircle.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CloseCircle.mjs","sources":["../../../../../../src/modules/core/components/Icons/CloseCircle.tsx"],"sourcesContent":["const CloseCircle = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.00012 0.499939C3.41606 0.499939 0.500122 3.41588 0.500122 6.99994C0.500122 10.584 3.41606 13.4999 7.00012 13.4999C10.5842 13.4999 13.5001 10.584 13.5001 6.99994C13.5001 3.41588 10.5842 0.499939 7.00012 0.499939ZM9.35356 8.6465C9.40194 8.69247 9.44063 8.74766 9.46735 8.80881C9.49407 8.86997 9.50828 8.93585 9.50913 9.00259C9.50999 9.06932 9.49747 9.13555 9.47233 9.19737C9.44718 9.25919 9.40992 9.31535 9.36273 9.36254C9.31553 9.40973 9.25937 9.447 9.19755 9.47214C9.13573 9.49729 9.0695 9.5098 9.00277 9.50895C8.93604 9.50809 8.87015 9.49389 8.809 9.46717C8.74784 9.44045 8.69265 9.40176 8.64668 9.35337L7.00012 7.70712L5.35356 9.35337C5.25903 9.44318 5.13315 9.49251 5.00277 9.49084C4.87239 9.48918 4.74782 9.43664 4.65562 9.34444C4.56342 9.25224 4.51088 9.12767 4.50921 8.99729C4.50755 8.86691 4.55687 8.74103 4.64668 8.6465L6.29293 6.99994L4.64668 5.35338C4.55687 5.25884 4.50755 5.13297 4.50921 5.00259C4.51088 4.87221 4.56342 4.74764 4.65562 4.65544C4.74782 4.56324 4.87239 4.5107 5.00277 4.50903C5.13315 4.50736 5.25903 4.55669 5.35356 4.6465L7.00012 6.29275L8.64668 4.6465C8.74121 4.55669 8.86709 4.50736 8.99747 4.50903C9.12785 4.5107 9.25242 4.56324 9.34462 4.65544C9.43682 4.74764 9.48936 4.87221 9.49103 5.00259C9.4927 5.13297 9.44337 5.25884 9.35356 5.35338L7.70731 6.99994L9.35356 8.6465Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport { CloseCircle };\n"],"names":["CloseCircle","
|
1
|
+
{"version":3,"file":"CloseCircle.mjs","sources":["../../../../../../src/modules/core/components/Icons/CloseCircle.tsx"],"sourcesContent":["const CloseCircle = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.00012 0.499939C3.41606 0.499939 0.500122 3.41588 0.500122 6.99994C0.500122 10.584 3.41606 13.4999 7.00012 13.4999C10.5842 13.4999 13.5001 10.584 13.5001 6.99994C13.5001 3.41588 10.5842 0.499939 7.00012 0.499939ZM9.35356 8.6465C9.40194 8.69247 9.44063 8.74766 9.46735 8.80881C9.49407 8.86997 9.50828 8.93585 9.50913 9.00259C9.50999 9.06932 9.49747 9.13555 9.47233 9.19737C9.44718 9.25919 9.40992 9.31535 9.36273 9.36254C9.31553 9.40973 9.25937 9.447 9.19755 9.47214C9.13573 9.49729 9.0695 9.5098 9.00277 9.50895C8.93604 9.50809 8.87015 9.49389 8.809 9.46717C8.74784 9.44045 8.69265 9.40176 8.64668 9.35337L7.00012 7.70712L5.35356 9.35337C5.25903 9.44318 5.13315 9.49251 5.00277 9.49084C4.87239 9.48918 4.74782 9.43664 4.65562 9.34444C4.56342 9.25224 4.51088 9.12767 4.50921 8.99729C4.50755 8.86691 4.55687 8.74103 4.64668 8.6465L6.29293 6.99994L4.64668 5.35338C4.55687 5.25884 4.50755 5.13297 4.50921 5.00259C4.51088 4.87221 4.56342 4.74764 4.65562 4.65544C4.74782 4.56324 4.87239 4.5107 5.00277 4.50903C5.13315 4.50736 5.25903 4.55669 5.35356 4.6465L7.00012 6.29275L8.64668 4.6465C8.74121 4.55669 8.86709 4.50736 8.99747 4.50903C9.12785 4.5107 9.25242 4.56324 9.34462 4.65544C9.43682 4.74764 9.48936 4.87221 9.49103 5.00259C9.4927 5.13297 9.44337 5.25884 9.35356 5.35338L7.70731 6.99994L9.35356 8.6465Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport { CloseCircle };\n"],"names":["CloseCircle","React"],"mappings":";AAAMA,MAAAA,IAAcA,MACjBC,gBAAAA,EAAA,cAAA,OAAA,EACC,OAAM,MACN,QAAO,MACP,SAAQ,aACR,MAAK,QACL,OAAM,gCAELA,gBAAAA,EAAA,cAAA,QAAA,EACC,GAAE,6xCACF,MAAK,gBAAc,CAEvB;"}
|
@@ -1,33 +1,18 @@
|
|
1
|
-
import
|
2
|
-
function
|
3
|
-
return
|
1
|
+
import e from "react";
|
2
|
+
function s(t) {
|
3
|
+
return t === "fast" ? 600 : t === "slow" ? 900 : 750;
|
4
4
|
}
|
5
|
-
const
|
6
|
-
color:
|
7
|
-
speed:
|
5
|
+
const l = ({
|
6
|
+
color: t = "rgba(0,0,0,0.4)",
|
7
|
+
speed: r = "medium",
|
8
8
|
gap: a = 4,
|
9
9
|
thickness: n = 4,
|
10
|
-
size:
|
10
|
+
size: i = "1em",
|
11
11
|
...o
|
12
|
-
}) => /* @__PURE__ */
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
width: r,
|
17
|
-
...o,
|
18
|
-
style: { animationDuration: `${c(t)}ms` },
|
19
|
-
className: "__react-svg-spinner_circle",
|
20
|
-
role: "img",
|
21
|
-
"aria-labelledby": "title desc",
|
22
|
-
viewBox: "0 0 32 32",
|
23
|
-
children: [
|
24
|
-
/* @__PURE__ */ e("title", { id: "title", children: "Circle loading spinner" }),
|
25
|
-
/* @__PURE__ */ e("desc", { id: "desc", children: 'Image of a partial circle indicating "loading."' }),
|
26
|
-
/* @__PURE__ */ e(
|
27
|
-
"style",
|
28
|
-
{
|
29
|
-
dangerouslySetInnerHTML: {
|
30
|
-
__html: `
|
12
|
+
}) => /* @__PURE__ */ e.createElement("svg", { height: i, width: i, ...o, style: {
|
13
|
+
animationDuration: `${s(r)}ms`
|
14
|
+
}, className: "__react-svg-spinner_circle", role: "img", "aria-labelledby": "title desc", viewBox: "0 0 32 32" }, /* @__PURE__ */ e.createElement("title", { id: "title" }, "Circle loading spinner"), /* @__PURE__ */ e.createElement("desc", { id: "desc" }, 'Image of a partial circle indicating "loading."'), /* @__PURE__ */ e.createElement("style", { dangerouslySetInnerHTML: {
|
15
|
+
__html: `
|
31
16
|
.__react-svg-spinner_circle{
|
32
17
|
transition-property: transform;
|
33
18
|
animation-name: __react-svg-spinner_infinite-spin;
|
@@ -39,27 +24,8 @@ const m = ({
|
|
39
24
|
to {transform: rotate(360deg)}
|
40
25
|
}
|
41
26
|
`
|
42
|
-
|
43
|
-
}
|
44
|
-
),
|
45
|
-
/* @__PURE__ */ e(
|
46
|
-
"circle",
|
47
|
-
{
|
48
|
-
role: "presentation",
|
49
|
-
cx: 16,
|
50
|
-
cy: 16,
|
51
|
-
r: 14 - n / 2,
|
52
|
-
stroke: i,
|
53
|
-
fill: "none",
|
54
|
-
strokeWidth: n,
|
55
|
-
strokeDasharray: Math.PI * 2 * (11 - a),
|
56
|
-
strokeLinecap: "round"
|
57
|
-
}
|
58
|
-
)
|
59
|
-
]
|
60
|
-
}
|
61
|
-
);
|
27
|
+
} }), /* @__PURE__ */ e.createElement("circle", { role: "presentation", cx: 16, cy: 16, r: 14 - n / 2, stroke: t, fill: "none", strokeWidth: n, strokeDasharray: Math.PI * 2 * (11 - a), strokeLinecap: "round" }));
|
62
28
|
export {
|
63
|
-
|
29
|
+
l as Spinner
|
64
30
|
};
|
65
31
|
//# sourceMappingURL=Spinner.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Spinner.mjs","sources":["../../../../../../src/modules/core/components/Spinner/Spinner.tsx"],"sourcesContent":["import React from \"react\";\n\ntype Speed = \"fast\" | \"slow\" | \"medium\";\n\nfunction speedSwitch(speed: Speed) {\n if (speed === \"fast\") return 600;\n if (speed === \"slow\") return 900;\n return 750;\n}\n\nexport interface SpinnerProps {\n color?: string;\n speed?: Speed;\n gap?: number;\n thickness?: number;\n size?: string;\n}\n\nexport const Spinner: React.FC<SpinnerProps> = ({\n color = \"rgba(0,0,0,0.4)\",\n speed = \"medium\",\n gap = 4,\n thickness = 4,\n size = \"1em\",\n ...props\n}) => (\n <svg\n height={size}\n width={size}\n {...props}\n style={{ animationDuration: `${speedSwitch(speed)}ms` }}\n className=\"__react-svg-spinner_circle\"\n role=\"img\"\n aria-labelledby=\"title desc\"\n viewBox=\"0 0 32 32\"\n >\n <title id=\"title\">Circle loading spinner</title>\n <desc id=\"desc\">Image of a partial circle indicating \"loading.\"</desc>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .__react-svg-spinner_circle{\n transition-property: transform;\n animation-name: __react-svg-spinner_infinite-spin;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n }\n @keyframes __react-svg-spinner_infinite-spin {\n from {transform: rotate(0deg)}\n to {transform: rotate(360deg)}\n }\n `,\n }}\n />\n <circle\n role=\"presentation\"\n cx={16}\n cy={16}\n r={14 - thickness / 2}\n stroke={color}\n fill=\"none\"\n strokeWidth={thickness}\n strokeDasharray={Math.PI * 2 * (11 - gap)}\n strokeLinecap=\"round\"\n />\n </svg>\n);\n"],"names":["speedSwitch","speed","Spinner","color","gap","thickness","size","props","
|
1
|
+
{"version":3,"file":"Spinner.mjs","sources":["../../../../../../src/modules/core/components/Spinner/Spinner.tsx"],"sourcesContent":["import React from \"react\";\n\ntype Speed = \"fast\" | \"slow\" | \"medium\";\n\nfunction speedSwitch(speed: Speed) {\n if (speed === \"fast\") return 600;\n if (speed === \"slow\") return 900;\n return 750;\n}\n\nexport interface SpinnerProps {\n color?: string;\n speed?: Speed;\n gap?: number;\n thickness?: number;\n size?: string;\n}\n\nexport const Spinner: React.FC<SpinnerProps> = ({\n color = \"rgba(0,0,0,0.4)\",\n speed = \"medium\",\n gap = 4,\n thickness = 4,\n size = \"1em\",\n ...props\n}) => (\n <svg\n height={size}\n width={size}\n {...props}\n style={{ animationDuration: `${speedSwitch(speed)}ms` }}\n className=\"__react-svg-spinner_circle\"\n role=\"img\"\n aria-labelledby=\"title desc\"\n viewBox=\"0 0 32 32\"\n >\n <title id=\"title\">Circle loading spinner</title>\n <desc id=\"desc\">Image of a partial circle indicating \"loading.\"</desc>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .__react-svg-spinner_circle{\n transition-property: transform;\n animation-name: __react-svg-spinner_infinite-spin;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n }\n @keyframes __react-svg-spinner_infinite-spin {\n from {transform: rotate(0deg)}\n to {transform: rotate(360deg)}\n }\n `,\n }}\n />\n <circle\n role=\"presentation\"\n cx={16}\n cy={16}\n r={14 - thickness / 2}\n stroke={color}\n fill=\"none\"\n strokeWidth={thickness}\n strokeDasharray={Math.PI * 2 * (11 - gap)}\n strokeLinecap=\"round\"\n />\n </svg>\n);\n"],"names":["speedSwitch","speed","Spinner","color","gap","thickness","size","props","React","animationDuration","__html","Math","PI"],"mappings":";AAIA,SAASA,EAAYC,GAAc;AACjC,SAAIA,MAAU,SAAe,MACzBA,MAAU,SAAe,MACtB;AACT;AAUO,MAAMC,IAAkCA,CAAC;AAAA,EAC9CC,OAAAA,IAAQ;AAAA,EACRF,OAAAA,IAAQ;AAAA,EACRG,KAAAA,IAAM;AAAA,EACNC,WAAAA,IAAY;AAAA,EACZC,MAAAA,IAAO;AAAA,EACP,GAAGC;AACL,MACEC,gBAAAA,EAAA,cAAC,SACC,QAAQF,GACR,OAAOA,GACP,GAAIC,GACJ,OAAO;AAAA,EAAEE,mBAAoB,GAAET,EAAYC,CAAK,CAAE;AAAI,GACtD,WAAU,8BACV,MAAK,OACL,mBAAgB,cAChB,SAAQ,YAER,GAAAO,gBAAAA,EAAA,cAAC,SAAM,EAAA,IAAG,WAAQ,wBAAsB,mCACvC,QAAK,EAAA,IAAG,UAAO,iDAA+C,GAC9DA,gBAAAA,EAAA,cAAA,SAAA,EACC,yBAAyB;AAAA,EACvBE,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYX,EAAE,CAAA,GAEHF,gBAAAA,EAAA,cAAA,UAAA,EACC,MAAK,gBACL,IAAI,IACJ,IAAI,IACJ,GAAG,KAAKH,IAAY,GACpB,QAAQF,GACR,MAAK,QACL,aAAaE,GACb,iBAAiBM,KAAKC,KAAK,KAAK,KAAKR,IACrC,eAAc,QAAA,CAAO,CAEzB;"}
|
@@ -10,7 +10,9 @@ function a(e, n, c) {
|
|
10
10
|
};
|
11
11
|
return s(() => (e && (document.addEventListener("keydown", o, !0), document.addEventListener("click", u, !0)), () => {
|
12
12
|
document.removeEventListener("keydown", o, !0), document.removeEventListener("click", u, !0);
|
13
|
-
}), [e]), {
|
13
|
+
}), [e]), {
|
14
|
+
ref: r
|
15
|
+
};
|
14
16
|
}
|
15
17
|
export {
|
16
18
|
a as default
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useComponentVisible.mjs","sources":["../../../../../src/modules/core/hooks/useComponentVisible.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nfunction contains(parent: HTMLElement | null, child: HTMLElement) {\n if (!parent) return false;\n return parent === child || parent.contains(child);\n}\n\ntype Options = {\n closeOnClickOutside: boolean;\n};\n\nexport default function useComponentVisible(\n isVisible: boolean,\n onClose: (event: Event) => void,\n options: Options\n) {\n const ref = useRef<HTMLDivElement>(null);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onClose(event);\n }\n };\n\n const handleClickOutside = (event: Event) => {\n if (\n options.closeOnClickOutside &&\n !contains(ref.current, event.target as HTMLElement)\n ) {\n event.stopPropagation();\n onClose(event);\n }\n };\n\n useEffect(() => {\n if (isVisible) {\n document.addEventListener(\"keydown\", handleKeydown, true);\n document.addEventListener(\"click\", handleClickOutside, true);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown, true);\n document.removeEventListener(\"click\", handleClickOutside, true);\n };\n }, [isVisible]);\n\n return { ref };\n}\n"],"names":["contains","parent","child","useComponentVisible","isVisible","onClose","options","ref","useRef","handleKeydown","event","handleClickOutside","useEffect"],"mappings":";AAEA,SAASA,EAASC,GAA4BC,GAAoB;AAChE,SAAKD,IACEA,MAAWC,KAASD,
|
1
|
+
{"version":3,"file":"useComponentVisible.mjs","sources":["../../../../../src/modules/core/hooks/useComponentVisible.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nfunction contains(parent: HTMLElement | null, child: HTMLElement) {\n if (!parent) return false;\n return parent === child || parent.contains(child);\n}\n\ntype Options = {\n closeOnClickOutside: boolean;\n};\n\nexport default function useComponentVisible(\n isVisible: boolean,\n onClose: (event: Event) => void,\n options: Options\n) {\n const ref = useRef<HTMLDivElement>(null);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onClose(event);\n }\n };\n\n const handleClickOutside = (event: Event) => {\n if (\n options.closeOnClickOutside &&\n !contains(ref.current, event.target as HTMLElement)\n ) {\n event.stopPropagation();\n onClose(event);\n }\n };\n\n useEffect(() => {\n if (isVisible) {\n document.addEventListener(\"keydown\", handleKeydown, true);\n document.addEventListener(\"click\", handleClickOutside, true);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown, true);\n document.removeEventListener(\"click\", handleClickOutside, true);\n };\n }, [isVisible]);\n\n return { ref };\n}\n"],"names":["contains","parent","child","useComponentVisible","isVisible","onClose","options","ref","useRef","handleKeydown","event","key","handleClickOutside","closeOnClickOutside","current","target","stopPropagation","useEffect","addEventListener","removeEventListener"],"mappings":";AAEA,SAASA,EAASC,GAA4BC,GAAoB;AAChE,SAAKD,IACEA,MAAWC,KAASD,EAAOD,SAASE,CAAK,IAD5B;AAEtB;AAMwBC,SAAAA,EACtBC,GACAC,GACAC,GACA;AACMC,QAAAA,IAAMC,EAAuB,IAAI,GAEjCC,IAAgBA,CAACC,MAAyB;AAC1CA,IAAAA,EAAMC,QAAQ,YAChBN,EAAQK,CAAK;AAAA,EACf,GAGIE,IAAqBA,CAACF,MAAiB;AAEzCJ,IAAAA,EAAQO,uBACR,CAACb,EAASO,EAAIO,SAASJ,EAAMK,YAE7BL,EAAMM,gBAAgB,GACtBX,EAAQK,CAAK;AAAA,EACf;AAGFO,SAAAA,EAAU,OACJb,MACOc,SAAAA,iBAAiB,WAAWT,GAAe,EAAI,GAC/CS,SAAAA,iBAAiB,SAASN,GAAoB,EAAI,IAGtD,MAAM;AACFO,aAAAA,oBAAoB,WAAWV,GAAe,EAAI,GAClDU,SAAAA,oBAAoB,SAASP,GAAoB,EAAI;AAAA,EAAA,IAE/D,CAACR,CAAS,CAAC,GAEP;AAAA,IAAEG,KAAAA;AAAAA,EAAAA;AACX;"}
|
@@ -5,9 +5,7 @@ const d = () => {
|
|
5
5
|
function k(t) {
|
6
6
|
const c = t.callback ?? d, o = t.ref, l = t.offset ?? 0, n = i(() => a(c, 200), [c]), e = u(() => {
|
7
7
|
if (o.current) {
|
8
|
-
const r = o.current, s = Math.round(
|
9
|
-
r.scrollTop + r.clientHeight
|
10
|
-
);
|
8
|
+
const r = o.current, s = Math.round(r.scrollTop + r.clientHeight);
|
11
9
|
Math.round(r.scrollHeight - l) <= s && n();
|
12
10
|
}
|
13
11
|
}, [n]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useOnBottomScroll.mjs","sources":["../../../../../src/modules/core/hooks/useOnBottomScroll.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useMemo } from \"react\";\nimport debounce from \"lodash.debounce\";\n\ntype OnBottomScrollOptions = {\n ref: RefObject<HTMLDivElement | undefined>;\n callback: () => void;\n offset?: number;\n};\n\nconst noop = () => {};\n\nfunction useOnBottomScroll(options: OnBottomScrollOptions) {\n const callback = options.callback ?? noop;\n const ref = options.ref;\n const offset = options.offset ?? 0;\n\n const debouncedCallback = useMemo(() => debounce(callback, 200), [callback]);\n\n const handleOnScroll = useCallback(() => {\n if (ref.current) {\n const scrollNode = ref.current;\n const scrollContainerBottomPosition = Math.round(\n scrollNode.scrollTop + scrollNode.clientHeight,\n );\n const scrollPosition = Math.round(scrollNode.scrollHeight - offset);\n\n if (scrollPosition <= scrollContainerBottomPosition) {\n debouncedCallback();\n }\n }\n }, [debouncedCallback]);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.addEventListener(\"scroll\", handleOnScroll);\n }\n\n return () => {\n if (ref.current) {\n ref.current.removeEventListener(\"scroll\", handleOnScroll);\n }\n };\n }, [handleOnScroll]);\n}\n\nexport default useOnBottomScroll;\n"],"names":["noop","useOnBottomScroll","options","callback","ref","offset","debouncedCallback","useMemo","debounce","handleOnScroll","useCallback","scrollNode","scrollContainerBottomPosition","useEffect"],"mappings":";;AASA,MAAMA,
|
1
|
+
{"version":3,"file":"useOnBottomScroll.mjs","sources":["../../../../../src/modules/core/hooks/useOnBottomScroll.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useMemo } from \"react\";\nimport debounce from \"lodash.debounce\";\n\ntype OnBottomScrollOptions = {\n ref: RefObject<HTMLDivElement | undefined>;\n callback: () => void;\n offset?: number;\n};\n\nconst noop = () => {};\n\nfunction useOnBottomScroll(options: OnBottomScrollOptions) {\n const callback = options.callback ?? noop;\n const ref = options.ref;\n const offset = options.offset ?? 0;\n\n const debouncedCallback = useMemo(() => debounce(callback, 200), [callback]);\n\n const handleOnScroll = useCallback(() => {\n if (ref.current) {\n const scrollNode = ref.current;\n const scrollContainerBottomPosition = Math.round(\n scrollNode.scrollTop + scrollNode.clientHeight,\n );\n const scrollPosition = Math.round(scrollNode.scrollHeight - offset);\n\n if (scrollPosition <= scrollContainerBottomPosition) {\n debouncedCallback();\n }\n }\n }, [debouncedCallback]);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.addEventListener(\"scroll\", handleOnScroll);\n }\n\n return () => {\n if (ref.current) {\n ref.current.removeEventListener(\"scroll\", handleOnScroll);\n }\n };\n }, [handleOnScroll]);\n}\n\nexport default useOnBottomScroll;\n"],"names":["noop","useOnBottomScroll","options","callback","ref","offset","debouncedCallback","useMemo","debounce","handleOnScroll","useCallback","current","scrollNode","scrollContainerBottomPosition","Math","round","scrollTop","clientHeight","scrollHeight","useEffect","addEventListener","removeEventListener"],"mappings":";;AASA,MAAMA,IAAOA,MAAM;AAAC;AAEpB,SAASC,EAAkBC,GAAgC;AACnDC,QAAAA,IAAWD,EAAQC,YAAYH,GAC/BI,IAAMF,EAAQE,KACdC,IAASH,EAAQG,UAAU,GAE3BC,IAAoBC,EAAQ,MAAMC,EAASL,GAAU,GAAG,GAAG,CAACA,CAAQ,CAAC,GAErEM,IAAiBC,EAAY,MAAM;AACvC,QAAIN,EAAIO,SAAS;AACf,YAAMC,IAAaR,EAAIO,SACjBE,IAAgCC,KAAKC,MACzCH,EAAWI,YAAYJ,EAAWK,YACpC;AAGA,MAFuBH,KAAKC,MAAMH,EAAWM,eAAeb,CAAM,KAE5CQ,KACFP;IAEtB;AAAA,EAAA,GACC,CAACA,CAAiB,CAAC;AAEtBa,EAAAA,EAAU,OACJf,EAAIO,WACFA,EAAAA,QAAQS,iBAAiB,UAAUX,CAAc,GAGhD,MAAM;AACX,IAAIL,EAAIO,WACFA,EAAAA,QAAQU,oBAAoB,UAAUZ,CAAc;AAAA,EAC1D,IAED,CAACA,CAAc,CAAC;AACrB;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useOutsideClick.mjs","sources":["../../../../../src/modules/core/hooks/useOutsideClick.ts"],"sourcesContent":["import { MutableRefObject, useEffect } from \"react\";\n\nconst useOutsideClick = ({\n ref,\n fn,\n isEnabled = true,\n}: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: MutableRefObject<any>;\n fn: () => void;\n isEnabled?: boolean;\n}) => {\n const handleClick = (event: MouseEvent) => {\n if (!isEnabled || !ref?.current || ref?.current?.contains(event.target)) {\n return;\n }\n fn();\n };\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n\n return () => {\n document.removeEventListener(\"click\", handleClick);\n };\n });\n};\n\nexport default useOutsideClick;\n"],"names":["useOutsideClick","ref","fn","isEnabled","handleClick","event","
|
1
|
+
{"version":3,"file":"useOutsideClick.mjs","sources":["../../../../../src/modules/core/hooks/useOutsideClick.ts"],"sourcesContent":["import { MutableRefObject, useEffect } from \"react\";\n\nconst useOutsideClick = ({\n ref,\n fn,\n isEnabled = true,\n}: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: MutableRefObject<any>;\n fn: () => void;\n isEnabled?: boolean;\n}) => {\n const handleClick = (event: MouseEvent) => {\n if (!isEnabled || !ref?.current || ref?.current?.contains(event.target)) {\n return;\n }\n fn();\n };\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n\n return () => {\n document.removeEventListener(\"click\", handleClick);\n };\n });\n};\n\nexport default useOutsideClick;\n"],"names":["useOutsideClick","ref","fn","isEnabled","handleClick","event","current","contains","target","useEffect","addEventListener","removeEventListener"],"mappings":";AAEA,MAAMA,IAAkBA,CAAC;AAAA,EACvBC,KAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC,WAAAA,IAAY;AAMd,MAAM;AACEC,QAAAA,IAAcA,CAACC,MAAsB;;AACrC,IAAA,CAACF,KAAa,EAACF,KAAAA,QAAAA,EAAKK,aAAWL,IAAAA,KAAAA,gBAAAA,EAAKK,YAALL,QAAAA,EAAcM,SAASF,EAAMG,WAG7DN;EAAA;AAGLO,EAAAA,EAAU,OACCC,SAAAA,iBAAiB,SAASN,CAAW,GAEvC,MAAM;AACFO,aAAAA,oBAAoB,SAASP,CAAW;AAAA,EAAA,EAEpD;AACH;"}
|
@@ -1,14 +1,15 @@
|
|
1
|
-
import
|
2
|
-
import { useKnockFeed as
|
1
|
+
import e from "react";
|
2
|
+
import { useKnockFeed as r, useTranslations as n } from "@knocklabs/react-core";
|
3
3
|
|
4
|
-
const
|
5
|
-
const {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
const s = () => {
|
5
|
+
const {
|
6
|
+
colorMode: m
|
7
|
+
} = r(), {
|
8
|
+
t
|
9
|
+
} = n();
|
10
|
+
return /* @__PURE__ */ e.createElement("div", { className: `rnf-empty-feed rnf-empty-feed--${m}` }, /* @__PURE__ */ e.createElement("div", { className: "rnf-empty-feed__inner" }, /* @__PURE__ */ e.createElement("h2", { className: "rnf-empty-feed__header" }, t("emptyFeedTitle")), /* @__PURE__ */ e.createElement("p", { className: "rnf-empty-feed__body" }, t("emptyFeedBody"))));
|
10
11
|
};
|
11
12
|
export {
|
12
|
-
|
13
|
+
s as EmptyFeed
|
13
14
|
};
|
14
15
|
//# sourceMappingURL=EmptyFeed.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EmptyFeed.mjs","sources":["../../../../../../src/modules/feed/components/EmptyFeed/EmptyFeed.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslations, useKnockFeed } from \"@knocklabs/react-core\";\nimport \"./styles.css\";\n\nexport const EmptyFeed: React.FC = () => {\n const { colorMode } = useKnockFeed();\n const { t } = useTranslations();\n\n return (\n <div className={`rnf-empty-feed rnf-empty-feed--${colorMode}`}>\n <div className=\"rnf-empty-feed__inner\">\n <h2 className=\"rnf-empty-feed__header\">{t(\"emptyFeedTitle\")}</h2>\n <p className=\"rnf-empty-feed__body\">{t(\"emptyFeedBody\")}</p>\n </div>\n </div>\n );\n};\n"],"names":["EmptyFeed","colorMode","useKnockFeed","t","useTranslations","
|
1
|
+
{"version":3,"file":"EmptyFeed.mjs","sources":["../../../../../../src/modules/feed/components/EmptyFeed/EmptyFeed.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslations, useKnockFeed } from \"@knocklabs/react-core\";\nimport \"./styles.css\";\n\nexport const EmptyFeed: React.FC = () => {\n const { colorMode } = useKnockFeed();\n const { t } = useTranslations();\n\n return (\n <div className={`rnf-empty-feed rnf-empty-feed--${colorMode}`}>\n <div className=\"rnf-empty-feed__inner\">\n <h2 className=\"rnf-empty-feed__header\">{t(\"emptyFeedTitle\")}</h2>\n <p className=\"rnf-empty-feed__body\">{t(\"emptyFeedBody\")}</p>\n </div>\n </div>\n );\n};\n"],"names":["EmptyFeed","colorMode","useKnockFeed","t","useTranslations","React"],"mappings":";;;AAIO,MAAMA,IAAsBA,MAAM;AACjC,QAAA;AAAA,IAAEC,WAAAA;AAAAA,MAAcC,EAAa,GAC7B;AAAA,IAAEC;AAAAA,MAAMC,EAAgB;AAG5B,SAAAC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAY,kCAAiCJ,CAAU,GAC1D,GAAAI,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,wBACb,GAAAA,gBAAAA,EAAA,cAAC,MAAG,EAAA,WAAU,4BAA0BF,EAAE,gBAAgB,CAAE,GAC3DE,gBAAAA,EAAA,cAAA,KAAA,EAAE,WAAU,uBAAA,GAAwBF,EAAE,eAAe,CAAE,CAC1D,CACF;AAEJ;"}
|
@@ -1,40 +1,30 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
ref: a,
|
27
|
-
...s({
|
28
|
-
className: `rnf-tooltip rnf-tooltip--${t}`
|
29
|
-
}),
|
30
|
-
children: e("archiveNotification")
|
31
|
-
}
|
32
|
-
)
|
33
|
-
]
|
34
|
-
}
|
35
|
-
);
|
1
|
+
import t, { useCallback as p } from "react";
|
2
|
+
import { usePopperTooltip as m } from "react-popper-tooltip";
|
3
|
+
import { useKnockFeed as u, useTranslations as v } from "@knocklabs/react-core";
|
4
|
+
import { CloseCircle as b } from "../../../core/components/Icons/CloseCircle.mjs";
|
5
|
+
const g = ({
|
6
|
+
item: e
|
7
|
+
}) => {
|
8
|
+
const {
|
9
|
+
colorMode: o,
|
10
|
+
feedClient: n
|
11
|
+
} = u(), {
|
12
|
+
t: r
|
13
|
+
} = v(), a = p((i) => {
|
14
|
+
i.preventDefault(), i.stopPropagation(), n.markAsArchived(e);
|
15
|
+
}, [e]), {
|
16
|
+
getTooltipProps: c,
|
17
|
+
setTooltipRef: l,
|
18
|
+
setTriggerRef: s,
|
19
|
+
visible: f
|
20
|
+
} = m({
|
21
|
+
placement: "top-end"
|
22
|
+
});
|
23
|
+
return /* @__PURE__ */ t.createElement("button", { ref: s, onClick: a, type: "button", "aria-label": r("archiveNotification"), className: `rnf-archive-notification-btn rnf-archive-notification-btn--${o}` }, /* @__PURE__ */ t.createElement(b, null), f && /* @__PURE__ */ t.createElement("div", { ref: l, ...c({
|
24
|
+
className: `rnf-tooltip rnf-tooltip--${o}`
|
25
|
+
}) }, r("archiveNotification")));
|
36
26
|
};
|
37
27
|
export {
|
38
|
-
|
28
|
+
g as ArchiveButton
|
39
29
|
};
|
40
30
|
//# sourceMappingURL=ArchiveButton.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ArchiveButton.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/ArchiveButton.tsx"],"sourcesContent":["import { FeedItem } from \"@knocklabs/client\";\nimport React, { MouseEvent, useCallback } from \"react\";\nimport { usePopperTooltip } from \"react-popper-tooltip\";\nimport { useTranslations, useKnockFeed } from \"@knocklabs/react-core\";\nimport { CloseCircle } from \"../../../core/components/Icons\";\n\nexport interface ArchiveButtonProps {\n item: FeedItem;\n}\n\nconst ArchiveButton: React.FC<ArchiveButtonProps> = ({ item }) => {\n const { colorMode, feedClient } = useKnockFeed();\n const { t } = useTranslations();\n\n const onClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n feedClient.markAsArchived(item);\n },\n [item],\n );\n\n const { getTooltipProps, setTooltipRef, setTriggerRef, visible } =\n usePopperTooltip({ placement: \"top-end\" });\n\n return (\n <button\n ref={setTriggerRef}\n onClick={onClick}\n type=\"button\"\n aria-label={t(\"archiveNotification\")}\n className={`rnf-archive-notification-btn rnf-archive-notification-btn--${colorMode}`}\n >\n <CloseCircle />\n\n {visible && (\n <div\n ref={setTooltipRef}\n {...getTooltipProps({\n className: `rnf-tooltip rnf-tooltip--${colorMode}`,\n })}\n >\n {t(\"archiveNotification\")}\n </div>\n )}\n </button>\n );\n};\n\nexport { ArchiveButton };\n"],"names":["ArchiveButton","item","colorMode","feedClient","useKnockFeed","t","useTranslations","onClick","useCallback","e","getTooltipProps","setTooltipRef","setTriggerRef","visible","usePopperTooltip","
|
1
|
+
{"version":3,"file":"ArchiveButton.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/ArchiveButton.tsx"],"sourcesContent":["import { FeedItem } from \"@knocklabs/client\";\nimport React, { MouseEvent, useCallback } from \"react\";\nimport { usePopperTooltip } from \"react-popper-tooltip\";\nimport { useTranslations, useKnockFeed } from \"@knocklabs/react-core\";\nimport { CloseCircle } from \"../../../core/components/Icons\";\n\nexport interface ArchiveButtonProps {\n item: FeedItem;\n}\n\nconst ArchiveButton: React.FC<ArchiveButtonProps> = ({ item }) => {\n const { colorMode, feedClient } = useKnockFeed();\n const { t } = useTranslations();\n\n const onClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n feedClient.markAsArchived(item);\n },\n [item],\n );\n\n const { getTooltipProps, setTooltipRef, setTriggerRef, visible } =\n usePopperTooltip({ placement: \"top-end\" });\n\n return (\n <button\n ref={setTriggerRef}\n onClick={onClick}\n type=\"button\"\n aria-label={t(\"archiveNotification\")}\n className={`rnf-archive-notification-btn rnf-archive-notification-btn--${colorMode}`}\n >\n <CloseCircle />\n\n {visible && (\n <div\n ref={setTooltipRef}\n {...getTooltipProps({\n className: `rnf-tooltip rnf-tooltip--${colorMode}`,\n })}\n >\n {t(\"archiveNotification\")}\n </div>\n )}\n </button>\n );\n};\n\nexport { ArchiveButton };\n"],"names":["ArchiveButton","item","colorMode","feedClient","useKnockFeed","t","useTranslations","onClick","useCallback","e","preventDefault","stopPropagation","markAsArchived","getTooltipProps","setTooltipRef","setTriggerRef","visible","usePopperTooltip","placement","React","CloseCircle","className"],"mappings":";;;;AAUA,MAAMA,IAA8CA,CAAC;AAAA,EAAEC,MAAAA;AAAK,MAAM;AAC1D,QAAA;AAAA,IAAEC,WAAAA;AAAAA,IAAWC,YAAAA;AAAAA,MAAeC,EAAa,GACzC;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GAExBC,IAAUC,EACd,CAACC,MAAqC;AACpCA,IAAAA,EAAEC,eAAe,GACjBD,EAAEE,gBAAgB,GAElBR,EAAWS,eAAeX,CAAI;AAAA,EAAA,GAEhC,CAACA,CAAI,CACP,GAEM;AAAA,IAAEY,iBAAAA;AAAAA,IAAiBC,eAAAA;AAAAA,IAAeC,eAAAA;AAAAA,IAAeC,SAAAA;AAAAA,MACrDC,EAAiB;AAAA,IAAEC,WAAW;AAAA,EAAA,CAAW;AAGzC,SAAAC,gBAAAA,EAAA,cAAC,UACC,EAAA,KAAKJ,GACL,SAAAR,GACA,MAAK,UACL,cAAYF,EAAE,qBAAqB,GACnC,WAAY,8DAA6DH,CAAU,GAAA,GAElFiB,gBAAAA,EAAA,cAAAC,GAAA,IAAW,GAEXJ,qCACE,OACC,EAAA,KAAKF,GACL,GAAID,EAAgB;AAAA,IAClBQ,WAAY,4BAA2BnB,CAAU;AAAA,EAClD,CAAA,KAEAG,EAAE,qBAAqB,CAC1B,CAEJ;AAEJ;"}
|
@@ -1,13 +1,16 @@
|
|
1
|
-
import
|
1
|
+
import t from "react";
|
2
2
|
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
const l = ({
|
4
|
+
name: e,
|
5
|
+
src: r
|
6
|
+
}) => {
|
7
|
+
function i(m) {
|
8
|
+
const [a, n] = m.split(" ");
|
9
|
+
return a && n ? `${a.charAt(0)}${n.charAt(0)}` : a ? a.charAt(0) : "";
|
7
10
|
}
|
8
|
-
return /* @__PURE__ */ t("div", { className: "rnf-avatar",
|
11
|
+
return /* @__PURE__ */ t.createElement("div", { className: "rnf-avatar" }, r ? /* @__PURE__ */ t.createElement("img", { src: r, alt: `Image of ${e}`, className: "rnf-avatar__image" }) : /* @__PURE__ */ t.createElement("span", { className: "rnf-avatar__initials" }, i(e)));
|
9
12
|
};
|
10
13
|
export {
|
11
|
-
|
14
|
+
l as Avatar
|
12
15
|
};
|
13
16
|
//# sourceMappingURL=Avatar.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Avatar.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/Avatar.tsx"],"sourcesContent":["import React from \"react\";\nimport \"./styles.css\";\n\nexport interface AvatarProps {\n name: string;\n src?: string | null;\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({ name, src }) => {\n function getInitials(name: string) {\n const [firstName, lastName] = name.split(\" \");\n return firstName && lastName\n ? `${firstName.charAt(0)}${lastName.charAt(0)}`\n : firstName\n ? firstName.charAt(0)\n : \"\";\n }\n\n return (\n <div className=\"rnf-avatar\">\n {src ? (\n <img src={src} alt={`Image of ${name}`} className=\"rnf-avatar__image\" />\n ) : (\n <span className=\"rnf-avatar__initials\">{getInitials(name)}</span>\n )}\n </div>\n );\n};\n"],"names":["Avatar","name","src","getInitials","firstName","lastName","
|
1
|
+
{"version":3,"file":"Avatar.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/Avatar.tsx"],"sourcesContent":["import React from \"react\";\nimport \"./styles.css\";\n\nexport interface AvatarProps {\n name: string;\n src?: string | null;\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({ name, src }) => {\n function getInitials(name: string) {\n const [firstName, lastName] = name.split(\" \");\n return firstName && lastName\n ? `${firstName.charAt(0)}${lastName.charAt(0)}`\n : firstName\n ? firstName.charAt(0)\n : \"\";\n }\n\n return (\n <div className=\"rnf-avatar\">\n {src ? (\n <img src={src} alt={`Image of ${name}`} className=\"rnf-avatar__image\" />\n ) : (\n <span className=\"rnf-avatar__initials\">{getInitials(name)}</span>\n )}\n </div>\n );\n};\n"],"names":["Avatar","name","src","getInitials","firstName","lastName","split","charAt","React"],"mappings":";;AAQO,MAAMA,IAAgCA,CAAC;AAAA,EAAEC,MAAAA;AAAAA,EAAMC,KAAAA;AAAI,MAAM;AAC9D,WAASC,EAAYF,GAAc;AACjC,UAAM,CAACG,GAAWC,CAAQ,IAAIJ,EAAKK,MAAM,GAAG;AAC5C,WAAOF,KAAaC,IACf,GAAED,EAAUG,OAAO,CAAC,CAAE,GAAEF,EAASE,OAAO,CAAC,CAAE,KAC5CH,IACEA,EAAUG,OAAO,CAAC,IAClB;AAAA,EACR;AAGE,SAAAC,gBAAAA,EAAA,cAAC,SAAI,WAAU,aAAA,GACZN,IACEM,gBAAAA,EAAA,cAAA,OAAA,EAAI,KAAAN,GAAU,KAAM,YAAWD,CAAK,IAAG,WAAU,oBAAA,CAAsB,IAEvEO,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAU,uBAAwBL,GAAAA,EAAYF,CAAI,CAAE,CAE9D;AAEJ;"}
|
@@ -1,75 +1,46 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import
|
4
|
-
import {
|
5
|
-
import { ButtonGroup as j } from "../../../core/components/Button/ButtonGroup.mjs";
|
1
|
+
import { useKnockFeed as w, useTranslations as T, renderNodeOrFallback as _, formatTimestamp as h } from "@knocklabs/react-core";
|
2
|
+
import n, { useMemo as A } from "react";
|
3
|
+
import { Button as B } from "../../../core/components/Button/Button.mjs";
|
4
|
+
import { ButtonGroup as H } from "../../../core/components/Button/ButtonGroup.mjs";
|
6
5
|
import "lodash.debounce";
|
7
|
-
import { ArchiveButton as
|
8
|
-
import { Avatar as
|
6
|
+
import { ArchiveButton as M } from "./ArchiveButton.mjs";
|
7
|
+
import { Avatar as x } from "./Avatar.mjs";
|
9
8
|
|
10
|
-
function
|
11
|
-
|
9
|
+
function p(e) {
|
10
|
+
e && e !== "" && setTimeout(() => window.location.assign(e), 200);
|
12
11
|
}
|
13
|
-
const
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
{
|
33
|
-
|
34
|
-
|
35
|
-
onClick: d,
|
36
|
-
onKeyDown: w,
|
37
|
-
tabIndex: 0,
|
38
|
-
children: /* @__PURE__ */ p("div", { className: "rnf-notification-cell__inner", children: [
|
39
|
-
!n.read_at && /* @__PURE__ */ a("div", { className: "rnf-notification-cell__unread-dot" }),
|
40
|
-
N(
|
41
|
-
h,
|
42
|
-
r && "name" in r && r.name && /* @__PURE__ */ a(F, { name: r.name, src: r.avatar })
|
43
|
-
),
|
44
|
-
/* @__PURE__ */ p("div", { className: "rnf-notification-cell__content-outer", children: [
|
45
|
-
c.body && /* @__PURE__ */ a(
|
46
|
-
"div",
|
47
|
-
{
|
48
|
-
className: "rnf-notification-cell__content",
|
49
|
-
dangerouslySetInnerHTML: {
|
50
|
-
__html: c.body.rendered
|
51
|
-
}
|
52
|
-
}
|
53
|
-
),
|
54
|
-
u && /* @__PURE__ */ a("div", { className: "rnf-notification-cell__button-group", children: /* @__PURE__ */ a(j, { children: u.buttons.map((e, o) => /* @__PURE__ */ a(
|
55
|
-
M,
|
56
|
-
{
|
57
|
-
variant: o === 0 ? "primary" : "secondary",
|
58
|
-
onClick: (T) => g(T, e),
|
59
|
-
children: e.label
|
60
|
-
},
|
61
|
-
e.name
|
62
|
-
)) }) }),
|
63
|
-
f && /* @__PURE__ */ a("div", { className: "rnf-notification-cell__child-content", children: f }),
|
64
|
-
/* @__PURE__ */ a("span", { className: "rnf-notification-cell__timestamp", children: B(n.inserted_at, { locale: C }) })
|
65
|
-
] }),
|
66
|
-
N(v, /* @__PURE__ */ a(D, { item: n }))
|
67
|
-
] })
|
12
|
+
const L = n.forwardRef(({
|
13
|
+
item: e,
|
14
|
+
onItemClick: l,
|
15
|
+
onButtonClick: i,
|
16
|
+
avatar: E,
|
17
|
+
children: m,
|
18
|
+
archiveButton: N
|
19
|
+
}, b) => {
|
20
|
+
var u;
|
21
|
+
const {
|
22
|
+
feedClient: o,
|
23
|
+
colorMode: k
|
24
|
+
} = w(), {
|
25
|
+
locale: v
|
26
|
+
} = T(), c = A(() => e.blocks.reduce((t, a) => ({
|
27
|
+
...t,
|
28
|
+
[a.name]: a
|
29
|
+
}), {}), [e]), f = (u = c.action_url) == null ? void 0 : u.rendered, d = c.actions, s = n.useCallback(() => (o.markAsInteracted(e), l ? l(e) : p(f)), [e, f, l, o]), y = n.useCallback((t, a) => (o.markAsInteracted(e), i ? i(e, a) : p(a.action)), [i, o, e]), C = n.useCallback((t) => {
|
30
|
+
switch (t.key) {
|
31
|
+
case "Enter": {
|
32
|
+
t.stopPropagation(), s();
|
33
|
+
break;
|
68
34
|
}
|
69
|
-
|
70
|
-
}
|
71
|
-
)
|
35
|
+
}
|
36
|
+
}, [s]), r = e.actors[0];
|
37
|
+
return /* @__PURE__ */ n.createElement("div", { ref: b, className: `rnf-notification-cell rnf-notification-cell--${k}`, onClick: s, onKeyDown: C, tabIndex: 0 }, /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__inner" }, !e.read_at && /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__unread-dot" }), _(E, r && "name" in r && r.name && /* @__PURE__ */ n.createElement(x, { name: r.name, src: r.avatar })), /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__content-outer" }, c.body && /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__content", dangerouslySetInnerHTML: {
|
38
|
+
__html: c.body.rendered
|
39
|
+
} }), d && /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__button-group" }, /* @__PURE__ */ n.createElement(H, null, d.buttons.map((t, a) => /* @__PURE__ */ n.createElement(B, { variant: a === 0 ? "primary" : "secondary", key: t.name, onClick: (g) => y(g, t) }, t.label)))), m && /* @__PURE__ */ n.createElement("div", { className: "rnf-notification-cell__child-content" }, m), /* @__PURE__ */ n.createElement("span", { className: "rnf-notification-cell__timestamp" }, h(e.inserted_at, {
|
40
|
+
locale: v
|
41
|
+
}))), _(N, /* @__PURE__ */ n.createElement(M, { item: e }))));
|
42
|
+
});
|
72
43
|
export {
|
73
|
-
|
44
|
+
L as NotificationCell
|
74
45
|
};
|
75
46
|
//# sourceMappingURL=NotificationCell.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NotificationCell.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/NotificationCell.tsx"],"sourcesContent":["import {\n ActionButton,\n ButtonSetContentBlock,\n ContentBlock,\n FeedItem,\n MarkdownContentBlock,\n TextContentBlock,\n} from \"@knocklabs/client\";\nimport {\n formatTimestamp,\n renderNodeOrFallback,\n useKnockFeed,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport React, { ReactNode, useMemo } from \"react\";\n\nimport { Button, ButtonGroup } from \"../../../core\";\n\nimport { ArchiveButton } from \"./ArchiveButton\";\nimport { Avatar } from \"./Avatar\";\nimport \"./styles.css\";\n\nexport interface NotificationCellProps {\n item: FeedItem;\n // Invoked when the outer container is clicked\n onItemClick?: (item: FeedItem) => void;\n // Invoked when a button in the notification cell is clicked\n onButtonClick?: (item: FeedItem, action: ActionButton) => void;\n avatar?: ReactNode;\n children?: ReactNode;\n archiveButton?: ReactNode;\n}\n\ntype BlockByName = {\n [name: string]: ContentBlock;\n};\n\nfunction maybeNavigateToUrlWithDelay(url?: string) {\n if (url && url !== \"\") {\n setTimeout(() => window.location.assign(url), 200);\n }\n}\n\nexport const NotificationCell = React.forwardRef<\n HTMLDivElement,\n NotificationCellProps\n>(\n (\n { item, onItemClick, onButtonClick, avatar, children, archiveButton },\n ref,\n ) => {\n const { feedClient, colorMode } = useKnockFeed();\n const { locale } = useTranslations();\n\n const blocksByName: BlockByName = useMemo(() => {\n return item.blocks.reduce((acc, block) => {\n return { ...acc, [block.name]: block };\n }, {});\n }, [item]);\n\n const actionUrl = (blocksByName.action_url as TextContentBlock)?.rendered;\n const buttonSet = blocksByName.actions as ButtonSetContentBlock;\n\n const onContainerClickHandler = React.useCallback(() => {\n // Mark as interacted + read once we click the item\n feedClient.markAsInteracted(item);\n\n if (onItemClick) return onItemClick(item);\n\n return maybeNavigateToUrlWithDelay(actionUrl);\n }, [item, actionUrl, onItemClick, feedClient]);\n\n const onButtonClickHandler = React.useCallback(\n (e: React.MouseEvent, button: ActionButton) => {\n feedClient.markAsInteracted(item);\n\n if (onButtonClick) return onButtonClick(item, button);\n\n return maybeNavigateToUrlWithDelay(button.action);\n },\n [onButtonClick, feedClient, item],\n );\n\n const onKeyDown = React.useCallback(\n (ev: React.KeyboardEvent<HTMLDivElement>) => {\n switch (ev.key) {\n case \"Enter\": {\n ev.stopPropagation();\n onContainerClickHandler();\n break;\n }\n default:\n break;\n }\n },\n [onContainerClickHandler],\n );\n\n const actor = item.actors[0];\n\n return (\n <div\n ref={ref}\n className={`rnf-notification-cell rnf-notification-cell--${colorMode}`}\n onClick={onContainerClickHandler}\n onKeyDown={onKeyDown}\n tabIndex={0}\n >\n <div className=\"rnf-notification-cell__inner\">\n {!item.read_at && (\n <div className=\"rnf-notification-cell__unread-dot\" />\n )}\n\n {renderNodeOrFallback(\n avatar,\n actor && \"name\" in actor && actor.name && (\n <Avatar name={actor.name} src={actor.avatar} />\n ),\n )}\n\n <div className=\"rnf-notification-cell__content-outer\">\n {blocksByName.body && (\n <div\n className=\"rnf-notification-cell__content\"\n dangerouslySetInnerHTML={{\n __html: (blocksByName.body as MarkdownContentBlock).rendered,\n }}\n />\n )}\n\n {buttonSet && (\n <div className=\"rnf-notification-cell__button-group\">\n <ButtonGroup>\n {buttonSet.buttons.map((button, i) => (\n <Button\n variant={i === 0 ? \"primary\" : \"secondary\"}\n key={button.name}\n onClick={(e) => onButtonClickHandler(e, button)}\n >\n {button.label}\n </Button>\n ))}\n </ButtonGroup>\n </div>\n )}\n\n {children && (\n <div className=\"rnf-notification-cell__child-content\">\n {children}\n </div>\n )}\n\n <span className=\"rnf-notification-cell__timestamp\">\n {formatTimestamp(item.inserted_at, { locale })}\n </span>\n </div>\n\n {renderNodeOrFallback(archiveButton, <ArchiveButton item={item} />)}\n </div>\n </div>\n );\n },\n);\n"],"names":["maybeNavigateToUrlWithDelay","url","NotificationCell","React","item","onItemClick","onButtonClick","avatar","children","archiveButton","ref","feedClient","colorMode","useKnockFeed","locale","useTranslations","blocksByName","useMemo","acc","block","actionUrl","
|
1
|
+
{"version":3,"file":"NotificationCell.mjs","sources":["../../../../../../src/modules/feed/components/NotificationCell/NotificationCell.tsx"],"sourcesContent":["import {\n ActionButton,\n ButtonSetContentBlock,\n ContentBlock,\n FeedItem,\n MarkdownContentBlock,\n TextContentBlock,\n} from \"@knocklabs/client\";\nimport {\n formatTimestamp,\n renderNodeOrFallback,\n useKnockFeed,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport React, { ReactNode, useMemo } from \"react\";\n\nimport { Button, ButtonGroup } from \"../../../core\";\n\nimport { ArchiveButton } from \"./ArchiveButton\";\nimport { Avatar } from \"./Avatar\";\nimport \"./styles.css\";\n\nexport interface NotificationCellProps {\n item: FeedItem;\n // Invoked when the outer container is clicked\n onItemClick?: (item: FeedItem) => void;\n // Invoked when a button in the notification cell is clicked\n onButtonClick?: (item: FeedItem, action: ActionButton) => void;\n avatar?: ReactNode;\n children?: ReactNode;\n archiveButton?: ReactNode;\n}\n\ntype BlockByName = {\n [name: string]: ContentBlock;\n};\n\nfunction maybeNavigateToUrlWithDelay(url?: string) {\n if (url && url !== \"\") {\n setTimeout(() => window.location.assign(url), 200);\n }\n}\n\nexport const NotificationCell = React.forwardRef<\n HTMLDivElement,\n NotificationCellProps\n>(\n (\n { item, onItemClick, onButtonClick, avatar, children, archiveButton },\n ref,\n ) => {\n const { feedClient, colorMode } = useKnockFeed();\n const { locale } = useTranslations();\n\n const blocksByName: BlockByName = useMemo(() => {\n return item.blocks.reduce((acc, block) => {\n return { ...acc, [block.name]: block };\n }, {});\n }, [item]);\n\n const actionUrl = (blocksByName.action_url as TextContentBlock)?.rendered;\n const buttonSet = blocksByName.actions as ButtonSetContentBlock;\n\n const onContainerClickHandler = React.useCallback(() => {\n // Mark as interacted + read once we click the item\n feedClient.markAsInteracted(item);\n\n if (onItemClick) return onItemClick(item);\n\n return maybeNavigateToUrlWithDelay(actionUrl);\n }, [item, actionUrl, onItemClick, feedClient]);\n\n const onButtonClickHandler = React.useCallback(\n (e: React.MouseEvent, button: ActionButton) => {\n feedClient.markAsInteracted(item);\n\n if (onButtonClick) return onButtonClick(item, button);\n\n return maybeNavigateToUrlWithDelay(button.action);\n },\n [onButtonClick, feedClient, item],\n );\n\n const onKeyDown = React.useCallback(\n (ev: React.KeyboardEvent<HTMLDivElement>) => {\n switch (ev.key) {\n case \"Enter\": {\n ev.stopPropagation();\n onContainerClickHandler();\n break;\n }\n default:\n break;\n }\n },\n [onContainerClickHandler],\n );\n\n const actor = item.actors[0];\n\n return (\n <div\n ref={ref}\n className={`rnf-notification-cell rnf-notification-cell--${colorMode}`}\n onClick={onContainerClickHandler}\n onKeyDown={onKeyDown}\n tabIndex={0}\n >\n <div className=\"rnf-notification-cell__inner\">\n {!item.read_at && (\n <div className=\"rnf-notification-cell__unread-dot\" />\n )}\n\n {renderNodeOrFallback(\n avatar,\n actor && \"name\" in actor && actor.name && (\n <Avatar name={actor.name} src={actor.avatar} />\n ),\n )}\n\n <div className=\"rnf-notification-cell__content-outer\">\n {blocksByName.body && (\n <div\n className=\"rnf-notification-cell__content\"\n dangerouslySetInnerHTML={{\n __html: (blocksByName.body as MarkdownContentBlock).rendered,\n }}\n />\n )}\n\n {buttonSet && (\n <div className=\"rnf-notification-cell__button-group\">\n <ButtonGroup>\n {buttonSet.buttons.map((button, i) => (\n <Button\n variant={i === 0 ? \"primary\" : \"secondary\"}\n key={button.name}\n onClick={(e) => onButtonClickHandler(e, button)}\n >\n {button.label}\n </Button>\n ))}\n </ButtonGroup>\n </div>\n )}\n\n {children && (\n <div className=\"rnf-notification-cell__child-content\">\n {children}\n </div>\n )}\n\n <span className=\"rnf-notification-cell__timestamp\">\n {formatTimestamp(item.inserted_at, { locale })}\n </span>\n </div>\n\n {renderNodeOrFallback(archiveButton, <ArchiveButton item={item} />)}\n </div>\n </div>\n );\n },\n);\n"],"names":["maybeNavigateToUrlWithDelay","url","setTimeout","window","location","assign","NotificationCell","React","forwardRef","item","onItemClick","onButtonClick","avatar","children","archiveButton","ref","feedClient","colorMode","useKnockFeed","locale","useTranslations","blocksByName","useMemo","blocks","reduce","acc","block","name","actionUrl","action_url","rendered","buttonSet","actions","onContainerClickHandler","useCallback","markAsInteracted","onButtonClickHandler","e","button","action","onKeyDown","ev","key","stopPropagation","actor","actors","read_at","renderNodeOrFallback","Avatar","body","__html","ButtonGroup","buttons","map","i","Button","label","formatTimestamp","inserted_at","ArchiveButton"],"mappings":";;;;;;;;AAqCA,SAASA,EAA4BC,GAAc;AAC7CA,EAAAA,KAAOA,MAAQ,MACjBC,WAAW,MAAMC,OAAOC,SAASC,OAAOJ,CAAG,GAAG,GAAG;AAErD;AAEaK,MAAAA,IAAmBC,EAAMC,WAIpC,CACE;AAAA,EAAEC,MAAAA;AAAAA,EAAMC,aAAAA;AAAAA,EAAaC,eAAAA;AAAAA,EAAeC,QAAAA;AAAAA,EAAQC,UAAAA;AAAAA,EAAUC,eAAAA;AAAc,GACpEC,MACG;;AACG,QAAA;AAAA,IAAEC,YAAAA;AAAAA,IAAYC,WAAAA;AAAAA,MAAcC,EAAa,GACzC;AAAA,IAAEC,QAAAA;AAAAA,MAAWC,EAAgB,GAE7BC,IAA4BC,EAAQ,MACjCb,EAAKc,OAAOC,OAAO,CAACC,GAAKC,OACvB;AAAA,IAAE,GAAGD;AAAAA,IAAK,CAACC,EAAMC,IAAI,GAAGD;AAAAA,EAAAA,IAC9B,CAAE,CAAA,GACJ,CAACjB,CAAI,CAAC,GAEHmB,KAAaP,IAAAA,EAAaQ,eAAbR,gBAAAA,EAA8CS,UAC3DC,IAAYV,EAAaW,SAEzBC,IAA0B1B,EAAM2B,YAAY,OAEhDlB,EAAWmB,iBAAiB1B,CAAI,GAE5BC,IAAoBA,EAAYD,CAAI,IAEjCT,EAA4B4B,CAAS,IAC3C,CAACnB,GAAMmB,GAAWlB,GAAaM,CAAU,CAAC,GAEvCoB,IAAuB7B,EAAM2B,YACjC,CAACG,GAAqBC,OACpBtB,EAAWmB,iBAAiB1B,CAAI,GAE5BE,IAAsBA,EAAcF,GAAM6B,CAAM,IAE7CtC,EAA4BsC,EAAOC,MAAM,IAElD,CAAC5B,GAAeK,GAAYP,CAAI,CAClC,GAEM+B,IAAYjC,EAAM2B,YACtB,CAACO,MAA4C;AAC3C,YAAQA,EAAGC,KAAG;AAAA,MACZ,KAAK,SAAS;AACZD,QAAAA,EAAGE,gBAAgB,GACKV;AACxB;AAAA,MACF;AAAA,IAGF;AAAA,EAAA,GAEF,CAACA,CAAuB,CAC1B,GAEMW,IAAQnC,EAAKoC,OAAO,CAAC;AAGzB,SAAAtC,gBAAAA,EAAA,cAAC,SACC,KAAAQ,GACA,WAAY,gDAA+CE,CAAU,IACrE,SAASgB,GACT,WAAAO,GACA,UAAU,KAETjC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,+BAAA,GACZ,CAACE,EAAKqC,WACJvC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,oCAAA,CAChB,GAEAwC,EACCnC,GACAgC,KAAS,UAAUA,KAASA,EAAMjB,QAChCpB,gBAAAA,EAAA,cAACyC,KAAO,MAAMJ,EAAMjB,MAAM,KAAKiB,EAAMhC,SAEzC,GAEAL,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,uCACZc,GAAAA,EAAa4B,QACX1C,gBAAAA,EAAA,cAAA,OAAA,EACC,WAAU,kCACV,yBAAyB;AAAA,IACvB2C,QAAS7B,EAAa4B,KAA8BnB;AAAAA,EACtD,EAAA,CAEH,GAEAC,KACCxB,gBAAAA,EAAA,cAAC,SAAI,WAAU,sCAAA,GACZA,gBAAAA,EAAA,cAAA4C,GAAA,MACEpB,EAAUqB,QAAQC,IAAI,CAACf,GAAQgB,MAC9B/C,gBAAAA,EAAA,cAACgD,GACC,EAAA,SAASD,MAAM,IAAI,YAAY,aAC/B,KAAKhB,EAAOX,MACZ,SAAUU,CAAMD,MAAAA,EAAqBC,GAAGC,CAAM,EAAA,GAE7CA,EAAOkB,KACV,CACD,CACH,CACF,GAGD3C,qCACE,OAAI,EAAA,WAAU,uCACZA,GAAAA,CACH,GAGFN,gBAAAA,EAAA,cAAC,UAAK,WAAU,mCAAA,GACbkD,EAAgBhD,EAAKiD,aAAa;AAAA,IAAEvC,QAAAA;AAAAA,EAAQ,CAAA,CAC/C,CACF,GAEC4B,EAAqBjC,GAAeP,gBAAAA,EAAA,cAACoD,GAAc,EAAA,MAAAlD,IAAc,CACpE,CACF;AAEJ,CACF;"}
|
@@ -1,19 +1,18 @@
|
|
1
|
-
import
|
2
|
-
import { ChevronDown as
|
3
|
-
import { useKnockFeed as
|
1
|
+
import e from "react";
|
2
|
+
import { ChevronDown as m } from "../../../core/components/Icons/ChevronDown.mjs";
|
3
|
+
import { useKnockFeed as c } from "@knocklabs/react-core";
|
4
4
|
|
5
|
-
const
|
6
|
-
children:
|
7
|
-
value:
|
8
|
-
onChange:
|
5
|
+
const f = ({
|
6
|
+
children: o,
|
7
|
+
value: r,
|
8
|
+
onChange: t
|
9
9
|
}) => {
|
10
|
-
const {
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
] });
|
10
|
+
const {
|
11
|
+
colorMode: n
|
12
|
+
} = c();
|
13
|
+
return /* @__PURE__ */ e.createElement("div", { className: `rnf-dropdown rnf-dropdown--${n}` }, /* @__PURE__ */ e.createElement("select", { value: r, onChange: t }, o), /* @__PURE__ */ e.createElement(m, null));
|
15
14
|
};
|
16
15
|
export {
|
17
|
-
|
16
|
+
f as Dropdown
|
18
17
|
};
|
19
18
|
//# sourceMappingURL=Dropdown.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.mjs","sources":["../../../../../../src/modules/feed/components/NotificationFeed/Dropdown.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { ChevronDown } from \"../../../core/components/Icons\";\nimport { useKnockFeed } from \"@knocklabs/react-core\";\n\nimport \"./styles.css\";\n\nexport type DropdownProps = {\n value: string;\n onChange: (e: any) => void;\n};\n\nexport const Dropdown: React.FC<PropsWithChildren<DropdownProps>> = ({\n children,\n value,\n onChange,\n}) => {\n const { colorMode } = useKnockFeed();\n\n return (\n <div className={`rnf-dropdown rnf-dropdown--${colorMode}`}>\n <select value={value} onChange={onChange}>\n {children}\n </select>\n <ChevronDown />\n </div>\n );\n};\n"],"names":["Dropdown","children","value","onChange","colorMode","useKnockFeed","
|
1
|
+
{"version":3,"file":"Dropdown.mjs","sources":["../../../../../../src/modules/feed/components/NotificationFeed/Dropdown.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { ChevronDown } from \"../../../core/components/Icons\";\nimport { useKnockFeed } from \"@knocklabs/react-core\";\n\nimport \"./styles.css\";\n\nexport type DropdownProps = {\n value: string;\n onChange: (e: any) => void;\n};\n\nexport const Dropdown: React.FC<PropsWithChildren<DropdownProps>> = ({\n children,\n value,\n onChange,\n}) => {\n const { colorMode } = useKnockFeed();\n\n return (\n <div className={`rnf-dropdown rnf-dropdown--${colorMode}`}>\n <select value={value} onChange={onChange}>\n {children}\n </select>\n <ChevronDown />\n </div>\n );\n};\n"],"names":["Dropdown","children","value","onChange","colorMode","useKnockFeed","React","ChevronDown"],"mappings":";;;;AAWO,MAAMA,IAAuDA,CAAC;AAAA,EACnEC,UAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,UAAAA;AACF,MAAM;AACE,QAAA;AAAA,IAAEC,WAAAA;AAAAA,MAAcC,EAAa;AAEnC,SACGC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAY,8BAA6BF,CAAU,GACtD,GAAAE,gBAAAA,EAAA,cAAC,UAAO,EAAA,OAAAJ,GAAc,UAAAC,EACnBF,GAAAA,CACH,GACAK,gBAAAA,EAAA,cAACC,OAAW,CACd;AAEJ;"}
|