obeyaka-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +285 -0
- package/dist/index.es.js +9066 -0
- package/dist/index.js +733 -0
- package/dist/planning_leader.png +0 -0
- package/dist/progress_leader.png +0 -0
- package/dist/project_leader.png +0 -0
- package/dist/style.css +1 -0
- package/dist/team_leader.png +0 -0
- package/dist/team_member.png +0 -0
- package/dist/team_owner.png +0 -0
- package/dist/types/components/atoms/ActionButton/ActionButton.d.ts +18 -0
- package/dist/types/components/atoms/ActionButton/ActionButton.d.ts.map +1 -0
- package/dist/types/components/atoms/ActionButton/ActionButton.types.d.ts +49 -0
- package/dist/types/components/atoms/ActionButton/ActionButton.types.d.ts.map +1 -0
- package/dist/types/components/atoms/ActionButton/index.d.ts +3 -0
- package/dist/types/components/atoms/ActionButton/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/BoxAvatar.d.ts +32 -0
- package/dist/types/components/atoms/BoxAvatar/BoxAvatar.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/BoxAvatar.types.d.ts +31 -0
- package/dist/types/components/atoms/BoxAvatar/BoxAvatar.types.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/EmojiAvatar/EmojiAvatar.d.ts +16 -0
- package/dist/types/components/atoms/BoxAvatar/EmojiAvatar/EmojiAvatar.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/EmojiAvatar/index.d.ts +3 -0
- package/dist/types/components/atoms/BoxAvatar/EmojiAvatar/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/IconAvatar/IconAvatar.d.ts +16 -0
- package/dist/types/components/atoms/BoxAvatar/IconAvatar/IconAvatar.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/IconAvatar/index.d.ts +3 -0
- package/dist/types/components/atoms/BoxAvatar/IconAvatar/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/ImageAvatar/ImageAvatar.d.ts +20 -0
- package/dist/types/components/atoms/BoxAvatar/ImageAvatar/ImageAvatar.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/ImageAvatar/index.d.ts +3 -0
- package/dist/types/components/atoms/BoxAvatar/ImageAvatar/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/PlaceholderAvatar/PlaceholderAvatar.d.ts +18 -0
- package/dist/types/components/atoms/BoxAvatar/PlaceholderAvatar/PlaceholderAvatar.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/PlaceholderAvatar/index.d.ts +3 -0
- package/dist/types/components/atoms/BoxAvatar/PlaceholderAvatar/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/index.d.ts +4 -0
- package/dist/types/components/atoms/BoxAvatar/index.d.ts.map +1 -0
- package/dist/types/components/atoms/BoxAvatar/utils.d.ts +7 -0
- package/dist/types/components/atoms/BoxAvatar/utils.d.ts.map +1 -0
- package/dist/types/components/atoms/Logo/Logo.d.ts +30 -0
- package/dist/types/components/atoms/Logo/Logo.d.ts.map +1 -0
- package/dist/types/components/atoms/Logo/Logo.types.d.ts +15 -0
- package/dist/types/components/atoms/Logo/Logo.types.d.ts.map +1 -0
- package/dist/types/components/atoms/Logo/index.d.ts +3 -0
- package/dist/types/components/atoms/Logo/index.d.ts.map +1 -0
- package/dist/types/components/atoms/TextButton/TextButton.d.ts +27 -0
- package/dist/types/components/atoms/TextButton/TextButton.d.ts.map +1 -0
- package/dist/types/components/atoms/TextButton/TextButton.types.d.ts +6 -0
- package/dist/types/components/atoms/TextButton/TextButton.types.d.ts.map +1 -0
- package/dist/types/components/atoms/TextButton/index.d.ts +3 -0
- package/dist/types/components/atoms/TextButton/index.d.ts.map +1 -0
- package/dist/types/components/atoms/index.d.ts +17 -0
- package/dist/types/components/atoms/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +5 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/molecules/ExpandableSearch/ExpandableSearch.d.ts +30 -0
- package/dist/types/components/molecules/ExpandableSearch/ExpandableSearch.d.ts.map +1 -0
- package/dist/types/components/molecules/ExpandableSearch/ExpandableSearch.types.d.ts +21 -0
- package/dist/types/components/molecules/ExpandableSearch/ExpandableSearch.types.d.ts.map +1 -0
- package/dist/types/components/molecules/ExpandableSearch/index.d.ts +3 -0
- package/dist/types/components/molecules/ExpandableSearch/index.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/AddFilterButton.d.ts +4 -0
- package/dist/types/components/molecules/FilterDropdown/AddFilterButton.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdown.d.ts +7 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdown.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdown.types.d.ts +50 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdown.types.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdownButton.d.ts +4 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdownButton.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdownFilters.d.ts +4 -0
- package/dist/types/components/molecules/FilterDropdown/FilterDropdownFilters.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/FilterTag.d.ts +4 -0
- package/dist/types/components/molecules/FilterDropdown/FilterTag.d.ts.map +1 -0
- package/dist/types/components/molecules/FilterDropdown/index.d.ts +7 -0
- package/dist/types/components/molecules/FilterDropdown/index.d.ts.map +1 -0
- package/dist/types/components/molecules/Menu/Menu.d.ts +28 -0
- package/dist/types/components/molecules/Menu/Menu.d.ts.map +1 -0
- package/dist/types/components/molecules/Menu/Menu.types.d.ts +10 -0
- package/dist/types/components/molecules/Menu/Menu.types.d.ts.map +1 -0
- package/dist/types/components/molecules/Menu/MenuItem.d.ts +9 -0
- package/dist/types/components/molecules/Menu/MenuItem.d.ts.map +1 -0
- package/dist/types/components/molecules/Menu/index.d.ts +5 -0
- package/dist/types/components/molecules/Menu/index.d.ts.map +1 -0
- package/dist/types/components/molecules/NavButton/NavButton.d.ts +30 -0
- package/dist/types/components/molecules/NavButton/NavButton.d.ts.map +1 -0
- package/dist/types/components/molecules/NavButton/NavButton.types.d.ts +13 -0
- package/dist/types/components/molecules/NavButton/NavButton.types.d.ts.map +1 -0
- package/dist/types/components/molecules/NavButton/index.d.ts +3 -0
- package/dist/types/components/molecules/NavButton/index.d.ts.map +1 -0
- package/dist/types/components/molecules/NavLink/NavLink.d.ts +4 -0
- package/dist/types/components/molecules/NavLink/NavLink.d.ts.map +1 -0
- package/dist/types/components/molecules/NavLink/NavLink.types.d.ts +27 -0
- package/dist/types/components/molecules/NavLink/NavLink.types.d.ts.map +1 -0
- package/dist/types/components/molecules/NavLink/index.d.ts +3 -0
- package/dist/types/components/molecules/NavLink/index.d.ts.map +1 -0
- package/dist/types/components/molecules/index.d.ts +11 -0
- package/dist/types/components/molecules/index.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/AvatarSelector.d.ts +3 -0
- package/dist/types/components/organisms/AvatarSelector/AvatarSelector.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/AvatarSelector.types.d.ts +83 -0
- package/dist/types/components/organisms/AvatarSelector/AvatarSelector.types.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/EmojiPicker/CustomEmojiPicker.d.ts +7 -0
- package/dist/types/components/organisms/AvatarSelector/EmojiPicker/CustomEmojiPicker.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/EmojiPicker/useEmojiAvatarSelector.d.ts +25 -0
- package/dist/types/components/organisms/AvatarSelector/EmojiPicker/useEmojiAvatarSelector.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/CategoryTabs.d.ts +7 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/CategoryTabs.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/IconComponents.d.ts +31 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/IconComponents.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/IconGrid.d.ts +8 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/IconGrid.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/avatarIcons.d.ts +50 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/avatarIcons.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/index.d.ts +5 -0
- package/dist/types/components/organisms/AvatarSelector/IconsPicker/index.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/ImagePicker/ImageUploader.d.ts +14 -0
- package/dist/types/components/organisms/AvatarSelector/ImagePicker/ImageUploader.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/PopoverLoader.d.ts +2 -0
- package/dist/types/components/organisms/AvatarSelector/PopoverLoader.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/TabHeader.d.ts +13 -0
- package/dist/types/components/organisms/AvatarSelector/TabHeader.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/Tabs.d.ts +24 -0
- package/dist/types/components/organisms/AvatarSelector/Tabs.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/index.d.ts +10 -0
- package/dist/types/components/organisms/AvatarSelector/index.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/useExternalEvents.d.ts +14 -0
- package/dist/types/components/organisms/AvatarSelector/useExternalEvents.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/utils/index.d.ts +2 -0
- package/dist/types/components/organisms/AvatarSelector/utils/index.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/utils/initials.d.ts +7 -0
- package/dist/types/components/organisms/AvatarSelector/utils/initials.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/utils/preload.d.ts +10 -0
- package/dist/types/components/organisms/AvatarSelector/utils/preload.d.ts.map +1 -0
- package/dist/types/components/organisms/AvatarSelector/utils.d.ts +30 -0
- package/dist/types/components/organisms/AvatarSelector/utils.d.ts.map +1 -0
- package/dist/types/components/organisms/GenericTable/GenericTable.d.ts +38 -0
- package/dist/types/components/organisms/GenericTable/GenericTable.d.ts.map +1 -0
- package/dist/types/components/organisms/GenericTable/GenericTable.types.d.ts +71 -0
- package/dist/types/components/organisms/GenericTable/GenericTable.types.d.ts.map +1 -0
- package/dist/types/components/organisms/GenericTable/index.d.ts +5 -0
- package/dist/types/components/organisms/GenericTable/index.d.ts.map +1 -0
- package/dist/types/components/organisms/GenericTable/useGenericTablePagination.d.ts +4 -0
- package/dist/types/components/organisms/GenericTable/useGenericTablePagination.d.ts.map +1 -0
- package/dist/types/components/organisms/InvitedUserCard/InvitedUserCard.d.ts +4 -0
- package/dist/types/components/organisms/InvitedUserCard/InvitedUserCard.d.ts.map +1 -0
- package/dist/types/components/organisms/InvitedUserCard/InvitedUserCard.types.d.ts +27 -0
- package/dist/types/components/organisms/InvitedUserCard/InvitedUserCard.types.d.ts.map +1 -0
- package/dist/types/components/organisms/InvitedUserCard/index.d.ts +3 -0
- package/dist/types/components/organisms/InvitedUserCard/index.d.ts.map +1 -0
- package/dist/types/components/organisms/Navbar/Navbar.d.ts +4 -0
- package/dist/types/components/organisms/Navbar/Navbar.d.ts.map +1 -0
- package/dist/types/components/organisms/Navbar/Navbar.types.d.ts +20 -0
- package/dist/types/components/organisms/Navbar/Navbar.types.d.ts.map +1 -0
- package/dist/types/components/organisms/Navbar/NavbarProvider.d.ts +12 -0
- package/dist/types/components/organisms/Navbar/NavbarProvider.d.ts.map +1 -0
- package/dist/types/components/organisms/Navbar/index.d.ts +4 -0
- package/dist/types/components/organisms/Navbar/index.d.ts.map +1 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationCard.d.ts +4 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationCard.d.ts.map +1 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationSidebar.d.ts +35 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationSidebar.d.ts.map +1 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationSidebar.types.d.ts +40 -0
- package/dist/types/components/organisms/NotificationSidebar/NotificationSidebar.types.d.ts.map +1 -0
- package/dist/types/components/organisms/NotificationSidebar/index.d.ts +4 -0
- package/dist/types/components/organisms/NotificationSidebar/index.d.ts.map +1 -0
- package/dist/types/components/organisms/NotificationSidebar/useNotificationSidebar.d.ts +5 -0
- package/dist/types/components/organisms/NotificationSidebar/useNotificationSidebar.d.ts.map +1 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverItem.d.ts +15 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverItem.d.ts.map +1 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverSelector.d.ts +35 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverSelector.d.ts.map +1 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverSelector.types.d.ts +62 -0
- package/dist/types/components/organisms/PopoverSelector/PopoverSelector.types.d.ts.map +1 -0
- package/dist/types/components/organisms/PopoverSelector/index.d.ts +4 -0
- package/dist/types/components/organisms/PopoverSelector/index.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/InputTags.d.ts +6 -0
- package/dist/types/components/organisms/ShareMenu/InputTags.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/InputTags.utils.d.ts +31 -0
- package/dist/types/components/organisms/ShareMenu/InputTags.utils.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/ShareButton.d.ts +14 -0
- package/dist/types/components/organisms/ShareMenu/ShareButton.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/ShareMenu.d.ts +35 -0
- package/dist/types/components/organisms/ShareMenu/ShareMenu.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/ShareMenu.types.d.ts +46 -0
- package/dist/types/components/organisms/ShareMenu/ShareMenu.types.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/hooks/index.d.ts +5 -0
- package/dist/types/components/organisms/ShareMenu/hooks/index.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/hooks/useInputTags.d.ts +21 -0
- package/dist/types/components/organisms/ShareMenu/hooks/useInputTags.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/hooks/useShareMenu.d.ts +38 -0
- package/dist/types/components/organisms/ShareMenu/hooks/useShareMenu.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/index.d.ts +6 -0
- package/dist/types/components/organisms/ShareMenu/index.d.ts.map +1 -0
- package/dist/types/components/organisms/ShareMenu/validation.utils.d.ts +28 -0
- package/dist/types/components/organisms/ShareMenu/validation.utils.d.ts.map +1 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelector.d.ts +34 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelector.d.ts.map +1 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelector.types.d.ts +35 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelector.types.d.ts.map +1 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelectorItem.d.ts +16 -0
- package/dist/types/components/organisms/WorkspaceSelector/WorkspaceSelectorItem.d.ts.map +1 -0
- package/dist/types/components/organisms/WorkspaceSelector/index.d.ts +5 -0
- package/dist/types/components/organisms/WorkspaceSelector/index.d.ts.map +1 -0
- package/dist/types/components/organisms/index.d.ts +22 -0
- package/dist/types/components/organisms/index.d.ts.map +1 -0
- package/dist/types/components/templates/CenterPeek/CenterPeek.d.ts +4 -0
- package/dist/types/components/templates/CenterPeek/CenterPeek.d.ts.map +1 -0
- package/dist/types/components/templates/CenterPeek/CenterPeek.types.d.ts +9 -0
- package/dist/types/components/templates/CenterPeek/CenterPeek.types.d.ts.map +1 -0
- package/dist/types/components/templates/CenterPeek/index.d.ts +3 -0
- package/dist/types/components/templates/CenterPeek/index.d.ts.map +1 -0
- package/dist/types/components/templates/FullPage/FullPage.d.ts +5 -0
- package/dist/types/components/templates/FullPage/FullPage.d.ts.map +1 -0
- package/dist/types/components/templates/FullPage/index.d.ts +2 -0
- package/dist/types/components/templates/FullPage/index.d.ts.map +1 -0
- package/dist/types/components/templates/SidePeek/SidePeek.d.ts +4 -0
- package/dist/types/components/templates/SidePeek/SidePeek.d.ts.map +1 -0
- package/dist/types/components/templates/SidePeek/SidePeek.types.d.ts +9 -0
- package/dist/types/components/templates/SidePeek/SidePeek.types.d.ts.map +1 -0
- package/dist/types/components/templates/SidePeek/index.d.ts +3 -0
- package/dist/types/components/templates/SidePeek/index.d.ts.map +1 -0
- package/dist/types/components/templates/index.d.ts +6 -0
- package/dist/types/components/templates/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/layouts/AppLayout/AppLayout.d.ts +4 -0
- package/dist/types/layouts/AppLayout/AppLayout.d.ts.map +1 -0
- package/dist/types/layouts/AppLayout/AppLayout.types.d.ts +8 -0
- package/dist/types/layouts/AppLayout/AppLayout.types.d.ts.map +1 -0
- package/dist/types/layouts/AppLayout/AppLayoutProvider.d.ts +24 -0
- package/dist/types/layouts/AppLayout/AppLayoutProvider.d.ts.map +1 -0
- package/dist/types/layouts/AppLayout/index.d.ts +4 -0
- package/dist/types/layouts/AppLayout/index.d.ts.map +1 -0
- package/dist/types/layouts/BaseLayout/BaseLayout.d.ts +4 -0
- package/dist/types/layouts/BaseLayout/BaseLayout.d.ts.map +1 -0
- package/dist/types/layouts/BaseLayout/BaseLayout.types.d.ts +7 -0
- package/dist/types/layouts/BaseLayout/BaseLayout.types.d.ts.map +1 -0
- package/dist/types/layouts/BaseLayout/index.d.ts +3 -0
- package/dist/types/layouts/BaseLayout/index.d.ts.map +1 -0
- package/dist/types/layouts/index.d.ts +3 -0
- package/dist/types/layouts/index.d.ts.map +1 -0
- package/dist/types/theme/ThemeProvider.d.ts +9 -0
- package/dist/types/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/types/theme/index.d.ts +143 -0
- package/dist/types/theme/index.d.ts.map +1 -0
- package/dist/types/utils/date.d.ts +48 -0
- package/dist/types/utils/date.d.ts.map +1 -0
- package/dist/types/utils/images.d.ts +17 -0
- package/dist/types/utils/images.d.ts.map +1 -0
- package/dist/types/utils/imports.d.ts +29 -0
- package/dist/types/utils/imports.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/InvitedUserCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,QAAQ,GACT,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Navbar/Navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgDxC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface NavbarProps {
|
|
3
|
+
header?: ReactNode | ((props: {
|
|
4
|
+
hovered: boolean;
|
|
5
|
+
}) => ReactNode);
|
|
6
|
+
body?: ReactNode | ((props: {
|
|
7
|
+
hovered: boolean;
|
|
8
|
+
}) => ReactNode);
|
|
9
|
+
footer?: ReactNode | ((props: {
|
|
10
|
+
hovered: boolean;
|
|
11
|
+
}) => ReactNode);
|
|
12
|
+
width?: number;
|
|
13
|
+
collapsed?: boolean;
|
|
14
|
+
collapsedWidth?: number;
|
|
15
|
+
withBorder?: boolean;
|
|
16
|
+
position?: "left" | "right";
|
|
17
|
+
bg?: string;
|
|
18
|
+
hovered?: boolean;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Navbar.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Navbar/Navbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAChE,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
interface NavbarContextType {
|
|
3
|
+
openedNotificationSidebar: boolean;
|
|
4
|
+
openNotificationSidebar: () => void;
|
|
5
|
+
closeNotificationSidebar: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const NavbarProvider: React.FC<{
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const useNavbar: () => NavbarContextType;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=NavbarProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavbarProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Navbar/NavbarProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,UAAU,iBAAiB;IACzB,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,wBAAwB,EAAE,MAAM,IAAI,CAAC;CACtC;AAID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAiB5D,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,iBAM5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Navbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/NotificationSidebar/NotificationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0H5D,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NotificationSidebarProps } from './NotificationSidebar.types';
|
|
3
|
+
/**
|
|
4
|
+
* Professional NotificationSidebar component with advanced features
|
|
5
|
+
*
|
|
6
|
+
* A comprehensive notification management system with infinite scroll,
|
|
7
|
+
* filtering, bulk actions, and custom rendering support. Features include
|
|
8
|
+
* mark as read, archive functionality, and real-time updates.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // Basic notification sidebar
|
|
13
|
+
* <NotificationSidebar
|
|
14
|
+
* notifications={notifications}
|
|
15
|
+
* unreadCount={5}
|
|
16
|
+
* markAsRead={(id) => markNotificationAsRead(id)}
|
|
17
|
+
* archiveNotification={(id) => archiveNotification(id)}
|
|
18
|
+
* markAllAsRead={() => markAllAsRead()}
|
|
19
|
+
* archiveAllNotifications={() => archiveAll()}
|
|
20
|
+
* />
|
|
21
|
+
*
|
|
22
|
+
* // With infinite scroll and custom rendering
|
|
23
|
+
* <NotificationSidebar
|
|
24
|
+
* notifications={notifications}
|
|
25
|
+
* enableInfiniteScroll={true}
|
|
26
|
+
* hasMore={hasMore}
|
|
27
|
+
* loadMore={loadMoreNotifications}
|
|
28
|
+
* customRenderer={(notification, markAsRead, archive) => (
|
|
29
|
+
* <CustomNotificationCard notification={notification} />
|
|
30
|
+
* )}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare const NotificationSidebar: React.FC<NotificationSidebarProps>;
|
|
35
|
+
//# sourceMappingURL=NotificationSidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/NotificationSidebar/NotificationSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,wBAAwB,EAEzB,MAAM,6BAA6B,CAAC;AAiBrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA2QlE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface Notification {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
message: React.ReactNode;
|
|
5
|
+
timestamp: string;
|
|
6
|
+
type: "success" | "warning" | "error" | "info";
|
|
7
|
+
isRead: boolean;
|
|
8
|
+
isArchived?: boolean;
|
|
9
|
+
category?: string;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
11
|
+
actions?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export interface NotificationCardProps {
|
|
14
|
+
notification: Notification;
|
|
15
|
+
message: React.ReactNode;
|
|
16
|
+
markAsRead: (notificationId: string) => void;
|
|
17
|
+
archiveNotification: (notificationId: string) => void;
|
|
18
|
+
actions?: React.ReactNode;
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export interface NotificationSidebarProps {
|
|
22
|
+
notifications: Notification[];
|
|
23
|
+
isLoading?: boolean;
|
|
24
|
+
isLoadingMore?: boolean;
|
|
25
|
+
hasMore?: boolean;
|
|
26
|
+
unreadCount?: number;
|
|
27
|
+
markAllAsRead: () => void;
|
|
28
|
+
archiveAllNotifications: () => void;
|
|
29
|
+
markAsRead: (notificationId: string) => void;
|
|
30
|
+
archiveNotification: (notificationId: string) => void;
|
|
31
|
+
loadMore?: () => void;
|
|
32
|
+
onFilterChange?: (filter: "all" | "unread" | "archived") => void;
|
|
33
|
+
currentFilter?: "all" | "unread" | "archived";
|
|
34
|
+
customRenderer?: (notification: Notification, markAsRead: (notificationId: string) => void, archiveNotification: (notificationId: string) => void) => React.ReactNode;
|
|
35
|
+
opened?: boolean;
|
|
36
|
+
onOpen?: () => void;
|
|
37
|
+
onClose?: () => void;
|
|
38
|
+
enableInfiniteScroll?: boolean;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=NotificationSidebar.types.d.ts.map
|
package/dist/types/components/organisms/NotificationSidebar/NotificationSidebar.types.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationSidebar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/NotificationSidebar/NotificationSidebar.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,KAAK,IAAI,CAAC;IACjE,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC9C,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,EAC5C,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,KAClD,KAAK,CAAC,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/NotificationSidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACb,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const useNotificationSidebar: (opened: boolean, enableInfiniteScroll: boolean, loadMore: () => void, hasMore: boolean, isLoadingMore: boolean) => {
|
|
2
|
+
isActive: boolean;
|
|
3
|
+
loadMoreRef: import("react").RefObject<HTMLDivElement>;
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=useNotificationSidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNotificationSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/NotificationSidebar/useNotificationSidebar.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,GACjC,QAAQ,OAAO,EACf,sBAAsB,OAAO,EAC7B,UAAU,MAAM,IAAI,EACpB,SAAS,OAAO,EAChB,eAAe,OAAO;;;CAwGvB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PopoverItemProps } from './PopoverSelector.types';
|
|
2
|
+
/**
|
|
3
|
+
* PopoverItem Component
|
|
4
|
+
*
|
|
5
|
+
* Individual selectable item within the PopoverSelector dropdown.
|
|
6
|
+
* Displays with avatar (optional), label, description, and selection indicator.
|
|
7
|
+
*
|
|
8
|
+
* @param {PopoverItem} item - The item data to display
|
|
9
|
+
* @param {boolean} withAvatars - Whether to show avatars
|
|
10
|
+
* @param {boolean} [disabled=false] - Whether the item is disabled
|
|
11
|
+
* @param {(value: string) => void} [onClick] - Callback when item is clicked
|
|
12
|
+
* @param {boolean} [selected=false] - Whether the item is currently selected
|
|
13
|
+
*/
|
|
14
|
+
export declare const PopoverItem: ({ item, withAvatars, disabled, onClick, selected, }: PopoverItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=PopoverItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/PopoverSelector/PopoverItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAW3D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,qDAMzB,gBAAgB,4CA6ElB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PopoverSelectorProps } from './PopoverSelector.types';
|
|
2
|
+
/**
|
|
3
|
+
* PopoverSelector Component
|
|
4
|
+
*
|
|
5
|
+
* A flexible dropdown selector that displays options in a popover menu.
|
|
6
|
+
* Supports avatars, disabled options, custom styling, and optional remove functionality.
|
|
7
|
+
*
|
|
8
|
+
* @param {string} value - The currently selected value
|
|
9
|
+
* @param {PopoverItem[]} data - Array of selectable items
|
|
10
|
+
* @param {string} placeholder - Placeholder text when no option is selected
|
|
11
|
+
* @param {boolean} [withRemove=false] - Whether to show the remove option
|
|
12
|
+
* @param {boolean} [withAvatars=false] - Whether to display avatars in items
|
|
13
|
+
* @param {(value: string) => void} [onChange] - Callback when value changes
|
|
14
|
+
* @param {(value: string) => void} [onRemove] - Callback when remove option is clicked
|
|
15
|
+
* @param {string[]} [disabledOptions=[]] - Values that should be disabled
|
|
16
|
+
* @param {boolean} [disabled=false] - Whether the entire selector is disabled
|
|
17
|
+
* @param {PopoverItem} [defaultOption] - Fallback option when value is not found
|
|
18
|
+
* @param {Partial<Record<string, React.CSSProperties>>} [popoverStyles] - Custom popover styles
|
|
19
|
+
* @param {React.CSSProperties} [dropdownStyles] - Custom dropdown styles
|
|
20
|
+
* @param {React.CSSProperties} [triggerStyles] - Custom trigger button styles
|
|
21
|
+
* @param {React.CSSProperties} [textStyles] - Custom text styles
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <PopoverSelector
|
|
26
|
+
* value={selectedRole}
|
|
27
|
+
* data={roles}
|
|
28
|
+
* placeholder="Select role"
|
|
29
|
+
* withAvatars={true}
|
|
30
|
+
* onChange={(role) => setSelectedRole(role)}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare const PopoverSelector: ({ value, onChange, data, withRemove, withAvatars, onRemove, disabledOptions, disabled, defaultOption, popoverStyles, dropdownStyles, triggerStyles, textStyles, }: PopoverSelectorProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=PopoverSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/PopoverSelector/PopoverSelector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAc/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,eAAe,GAAI,mKAc7B,oBAAoB,4CAuJtB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a single selectable item in the PopoverSelector
|
|
3
|
+
*/
|
|
4
|
+
export type PopoverItem = {
|
|
5
|
+
/** Unique identifier for the item */
|
|
6
|
+
value: string;
|
|
7
|
+
/** Display label for the item */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Description/subtitle shown below the label */
|
|
10
|
+
description: string;
|
|
11
|
+
/** Optional avatar URL or path (string) to display */
|
|
12
|
+
avatar?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Props for the PopoverSelector component
|
|
16
|
+
*/
|
|
17
|
+
export interface PopoverSelectorProps {
|
|
18
|
+
/** Currently selected value */
|
|
19
|
+
value: string;
|
|
20
|
+
/** Array of selectable items */
|
|
21
|
+
data: PopoverItem[];
|
|
22
|
+
/** Placeholder text when no option is selected */
|
|
23
|
+
placeholder: string;
|
|
24
|
+
/** Whether to show the remove option */
|
|
25
|
+
withRemove?: boolean;
|
|
26
|
+
/** Whether to display avatars in items */
|
|
27
|
+
withAvatars?: boolean;
|
|
28
|
+
/** Callback when remove option is clicked */
|
|
29
|
+
onRemove?: (value: string) => void;
|
|
30
|
+
/** Array of values that should be disabled */
|
|
31
|
+
disabledOptions?: string[];
|
|
32
|
+
/** Whether the entire selector is disabled */
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
/** Callback when value changes */
|
|
35
|
+
onChange?: (value: string) => void;
|
|
36
|
+
/** Fallback option when value is not found in data */
|
|
37
|
+
defaultOption?: PopoverItem;
|
|
38
|
+
/** Custom styles for the popover */
|
|
39
|
+
popoverStyles?: Partial<Record<string, React.CSSProperties>>;
|
|
40
|
+
/** Custom styles for the dropdown */
|
|
41
|
+
dropdownStyles?: React.CSSProperties;
|
|
42
|
+
/** Custom styles for the trigger button */
|
|
43
|
+
triggerStyles?: React.CSSProperties;
|
|
44
|
+
/** Custom styles for the text */
|
|
45
|
+
textStyles?: React.CSSProperties;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Props for individual PopoverItem component
|
|
49
|
+
*/
|
|
50
|
+
export type PopoverItemProps = {
|
|
51
|
+
/** The item data to display */
|
|
52
|
+
item: PopoverItem;
|
|
53
|
+
/** Whether to show avatars */
|
|
54
|
+
withAvatars: boolean;
|
|
55
|
+
/** Whether the item is disabled */
|
|
56
|
+
disabled?: boolean;
|
|
57
|
+
/** Callback when item is clicked */
|
|
58
|
+
onClick?: (value: string) => void;
|
|
59
|
+
/** Whether the item is currently selected */
|
|
60
|
+
selected?: boolean;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=PopoverSelector.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverSelector.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/PopoverSelector/PopoverSelector.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,oCAAoC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,qCAAqC;IACrC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iCAAiC;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,8BAA8B;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/PopoverSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,IAAI,eAAe,GAC/B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InputTagsProps } from "./ShareMenu.types";
|
|
2
|
+
export interface InputTagsRef {
|
|
3
|
+
clearInput: () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare const InputTags: import("react").ForwardRefExoticComponent<InputTagsProps & import("react").RefAttributes<InputTagsRef>>;
|
|
6
|
+
//# sourceMappingURL=InputTags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputTags.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/InputTags.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,SAAS,yGA+KrB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ValidationResult {
|
|
2
|
+
isValid: boolean;
|
|
3
|
+
error?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface EmailValidationResult extends ValidationResult {
|
|
6
|
+
email: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Validates if a string is a valid email address
|
|
10
|
+
*/
|
|
11
|
+
export declare const validateEmail: (email: string) => ValidationResult;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if an email already exists in the current list
|
|
14
|
+
*/
|
|
15
|
+
export declare const checkDuplicateEmail: (email: string, existingEmails: string[]) => ValidationResult;
|
|
16
|
+
/**
|
|
17
|
+
* Comprehensive email validation including duplicates and known users
|
|
18
|
+
*/
|
|
19
|
+
export declare const validateEmailForList: (email: string, existingEmails: string[], knownUsers?: Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
email: string;
|
|
22
|
+
}>) => EmailValidationResult;
|
|
23
|
+
/**
|
|
24
|
+
* Validates multiple emails at once
|
|
25
|
+
*/
|
|
26
|
+
export declare const validateEmailList: (emails: string[]) => EmailValidationResult[];
|
|
27
|
+
/**
|
|
28
|
+
* Checks if all emails in the list are valid
|
|
29
|
+
*/
|
|
30
|
+
export declare const isEmailListValid: (emails: string[]) => boolean;
|
|
31
|
+
//# sourceMappingURL=InputTags.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputTags.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/InputTags.utils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,gBAsC7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,gBAAgB,MAAM,EAAE,KACvB,gBAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,gBAAgB,MAAM,EAAE,EACxB,aAAa,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD,qBAoDF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EAAE,KACf,qBAAqB,EAOvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,KAAG,OAQnD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ShareMenuProps } from './ShareMenu.types';
|
|
2
|
+
interface ShareButtonProps<TRole extends string = string> {
|
|
3
|
+
onInvite?: ShareMenuProps<TRole>['onInvite'];
|
|
4
|
+
onUpdateRole?: ShareMenuProps<TRole>['onUpdateRole'];
|
|
5
|
+
onRemoveUser?: ShareMenuProps<TRole>['onRemoveUser'];
|
|
6
|
+
invitedUsers?: ShareMenuProps<TRole>['invitedUsers'];
|
|
7
|
+
currentUser?: ShareMenuProps<TRole>['currentUser'];
|
|
8
|
+
roleOptions?: ShareMenuProps<TRole>['roleOptions'];
|
|
9
|
+
suggestedUsers?: ShareMenuProps<TRole>['suggestedUsers'];
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const ShareButton: <TRole extends string = string>({ onInvite, onUpdateRole, onRemoveUser, invitedUsers, currentUser, roleOptions, suggestedUsers, label, }: ShareButtonProps<TRole>) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=ShareButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/ShareButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,UAAU,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACtD,QAAQ,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;IACrD,WAAW,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,0GASxD,gBAAgB,CAAC,KAAK,CAAC,4CA4BzB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ShareMenuProps } from './ShareMenu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Professional ShareMenu component for collaboration and sharing
|
|
4
|
+
*
|
|
5
|
+
* A comprehensive sharing interface with user invitation, role management,
|
|
6
|
+
* and publishing capabilities. Features include email invitation, user
|
|
7
|
+
* suggestions, role assignment, and web publishing options.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // Basic share menu
|
|
12
|
+
* <ShareMenu
|
|
13
|
+
* opened={isOpen}
|
|
14
|
+
* onClose={() => setIsOpen(false)}
|
|
15
|
+
* onInvite={(emails, role) => inviteUsers(emails, role)}
|
|
16
|
+
* invitedUsers={currentUsers}
|
|
17
|
+
* roleOptions={[
|
|
18
|
+
* { value: 'viewer', label: 'Viewer' },
|
|
19
|
+
* { value: 'editor', label: 'Editor' }
|
|
20
|
+
* ]}
|
|
21
|
+
* />
|
|
22
|
+
*
|
|
23
|
+
* // With suggested users
|
|
24
|
+
* <ShareMenu
|
|
25
|
+
* opened={isOpen}
|
|
26
|
+
* onClose={() => setIsOpen(false)}
|
|
27
|
+
* onInvite={handleInvite}
|
|
28
|
+
* suggestedUsers={suggestedUsers}
|
|
29
|
+
* onUpdateRole={(userId, role) => updateUserRole(userId, role)}
|
|
30
|
+
* onRemoveUser={(userId) => removeUser(userId)}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare const ShareMenu: <TRole extends string = string>({ opened, onClose, onInvite, onUpdateRole, onRemoveUser, invitedUsers, children, roleOptions, suggestedUsers, }: ShareMenuProps<TRole>) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=ShareMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/ShareMenu.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAM9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,iHAUtD,cAAc,CAAC,KAAK,CAAC,4CA4QvB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { AvatarData } from "../../atoms/BoxAvatar/BoxAvatar.types";
|
|
2
|
+
export interface ShareUser<TRole extends string = string> {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
avatar?: string | AvatarData;
|
|
7
|
+
role: TRole;
|
|
8
|
+
status: "invited" | "guest" | "member";
|
|
9
|
+
isCurrentUser?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export type UserRole = "Full access" | "Can edit" | "Can approve" | "Can view";
|
|
12
|
+
export interface ShareMenuProps<TRole extends string = string> {
|
|
13
|
+
opened: boolean;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
onInvite?: (emails: string[], role: TRole, message?: string) => void;
|
|
16
|
+
onUpdateRole?: (userId: string, role: TRole) => void;
|
|
17
|
+
onRemoveUser?: (userId: string) => void;
|
|
18
|
+
invitedUsers?: ShareUser<TRole>[];
|
|
19
|
+
currentUser?: ShareUser<TRole>;
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
roleOptions?: Array<{
|
|
22
|
+
value: TRole;
|
|
23
|
+
label: string;
|
|
24
|
+
description: string;
|
|
25
|
+
avatar: string;
|
|
26
|
+
}>;
|
|
27
|
+
suggestedUsers?: ShareUser<TRole>[];
|
|
28
|
+
}
|
|
29
|
+
export interface InputTagsProps {
|
|
30
|
+
value: string[];
|
|
31
|
+
onChange: (value: string[]) => void;
|
|
32
|
+
placeholder?: string;
|
|
33
|
+
onInvite?: (emails: string[], role: string, message?: string) => void;
|
|
34
|
+
roleOptions?: Array<{
|
|
35
|
+
value: string;
|
|
36
|
+
label: string;
|
|
37
|
+
description: string;
|
|
38
|
+
avatar?: string;
|
|
39
|
+
}>;
|
|
40
|
+
selectedRole?: string;
|
|
41
|
+
onRoleChange?: (value: string) => void;
|
|
42
|
+
onInputChange?: (text: string) => void;
|
|
43
|
+
suggestedUsers?: ShareUser<string>[];
|
|
44
|
+
tagDisplayMap?: Record<string, string>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ShareMenu.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareMenu.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/ShareMenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,MAAM,WAAW,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { useInputTags } from "./useInputTags";
|
|
2
|
+
export { useShareMenu } from "./useShareMenu";
|
|
3
|
+
export type { UseInputTagsProps, UseInputTagsReturn } from "./useInputTags";
|
|
4
|
+
export type { UseShareMenuProps, UseShareMenuReturn } from "./useShareMenu";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/organisms/ShareMenu/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ShareUser } from "../ShareMenu.types";
|
|
2
|
+
import { ValidationError } from "../validation.utils";
|
|
3
|
+
export interface UseInputTagsProps {
|
|
4
|
+
value: string[];
|
|
5
|
+
onChange: (value: string[]) => void;
|
|
6
|
+
onInputChange?: (text: string) => void;
|
|
7
|
+
suggestedUsers?: ShareUser<string>[];
|
|
8
|
+
tagDisplayMap?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export interface UseInputTagsReturn {
|
|
11
|
+
inputText: string;
|
|
12
|
+
tagsInputRef: React.RefObject<HTMLInputElement>;
|
|
13
|
+
displayValue: string[];
|
|
14
|
+
validationErrors: ValidationError[];
|
|
15
|
+
isValid: boolean;
|
|
16
|
+
handleEmailChange: (emails: string[]) => void;
|
|
17
|
+
clearInput: () => void;
|
|
18
|
+
handleInvite: (onInvite?: (emails: string[], role: string, message?: string) => void, selectedRole?: string, message?: string) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const useInputTags: ({ value, onChange, onInputChange, suggestedUsers, tagDisplayMap, }: UseInputTagsProps) => UseInputTagsReturn;
|
|
21
|
+
//# sourceMappingURL=useInputTags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInputTags.d.ts","sourceRoot":"","sources":["../../../../../../src/components/organisms/ShareMenu/hooks/useInputTags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAEL,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CACZ,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,EACrE,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;CACX;AAED,eAAO,MAAM,YAAY,GAAI,oEAM1B,iBAAiB,KAAG,kBA8ItB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ShareUser } from "../ShareMenu.types";
|
|
2
|
+
export interface UseShareMenuProps<TRole extends string = string> {
|
|
3
|
+
onInvite?: (emails: string[], role: TRole, message?: string) => void;
|
|
4
|
+
onUpdateRole?: (userId: string, role: TRole) => void;
|
|
5
|
+
onRemoveUser?: (userId: string) => void;
|
|
6
|
+
invitedUsers?: ShareUser<TRole>[];
|
|
7
|
+
suggestedUsers?: ShareUser<TRole>[];
|
|
8
|
+
roleOptions?: Array<{
|
|
9
|
+
value: TRole;
|
|
10
|
+
label: string;
|
|
11
|
+
description: string;
|
|
12
|
+
avatar: string;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export interface UseShareMenuReturn<TRole extends string = string> {
|
|
16
|
+
emails: string[];
|
|
17
|
+
setEmails: React.Dispatch<React.SetStateAction<string[]>>;
|
|
18
|
+
selectedUsers: string[];
|
|
19
|
+
setSelectedUsers: React.Dispatch<React.SetStateAction<string[]>>;
|
|
20
|
+
inputText: string;
|
|
21
|
+
setInputText: React.Dispatch<React.SetStateAction<string>>;
|
|
22
|
+
tagDisplayMap: Record<string, string>;
|
|
23
|
+
setTagDisplayMap: React.Dispatch<React.SetStateAction<Record<string, string>>>;
|
|
24
|
+
selectedRole: TRole | undefined;
|
|
25
|
+
setSelectedRole: React.Dispatch<React.SetStateAction<TRole | undefined>>;
|
|
26
|
+
selectedTab: "invite" | "publish";
|
|
27
|
+
setSelectedTab: React.Dispatch<React.SetStateAction<"invite" | "publish">>;
|
|
28
|
+
tabHovered: "invite" | "publish" | null;
|
|
29
|
+
setTabHovered: React.Dispatch<React.SetStateAction<"invite" | "publish" | null>>;
|
|
30
|
+
filteredUsers: ShareUser<TRole>[];
|
|
31
|
+
handleInvite: (newEmails: string[], role: TRole, message?: string) => void;
|
|
32
|
+
handleUpdateRole: (userId: string, role: TRole) => void;
|
|
33
|
+
handleRemoveUser: (userId: string) => void;
|
|
34
|
+
handleToggleUser: (userId: string) => void;
|
|
35
|
+
handleAddSuggestedUser: (user: ShareUser<TRole>) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare const useShareMenu: <TRole extends string = string>({ onInvite, onUpdateRole, onRemoveUser, invitedUsers: _invitedUsers, suggestedUsers, roleOptions, }: UseShareMenuProps<TRole>) => UseShareMenuReturn<TRole>;
|
|
38
|
+
//# sourceMappingURL=useShareMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useShareMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/organisms/ShareMenu/hooks/useShareMenu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC9D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC/D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAC9B,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC7C,CAAC;IACF,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;IACzE,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3E,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAC3B,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,CAClD,CAAC;IACF,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,sBAAsB,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAC1D;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,qGAOzD,iBAAiB,CAAC,KAAK,CAAC,KAAG,kBAAkB,CAAC,KAAK,CAqHrD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ShareMenu } from "./ShareMenu";
|
|
2
|
+
export { ShareButton } from "./ShareButton";
|
|
3
|
+
export { InputTags } from "./InputTags";
|
|
4
|
+
export * from "./InputTags.utils";
|
|
5
|
+
export type { ShareMenuProps, ShareUser, UserRole, InputTagsProps, } from "./ShareMenu.types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email validation utilities for ShareMenu component
|
|
3
|
+
*/
|
|
4
|
+
export interface ValidationError {
|
|
5
|
+
email: string;
|
|
6
|
+
error: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ValidationResult {
|
|
9
|
+
isValid: boolean;
|
|
10
|
+
errors: ValidationError[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validates a single email address
|
|
14
|
+
*/
|
|
15
|
+
export declare const validateEmail: (email: string) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Validates a list of emails and returns detailed results
|
|
18
|
+
*/
|
|
19
|
+
export declare const validateEmailList: (emails: string[]) => ValidationResult;
|
|
20
|
+
/**
|
|
21
|
+
* Checks for duplicate emails in a list
|
|
22
|
+
*/
|
|
23
|
+
export declare const checkDuplicateEmails: (emails: string[]) => ValidationError[];
|
|
24
|
+
/**
|
|
25
|
+
* Comprehensive validation for email list
|
|
26
|
+
*/
|
|
27
|
+
export declare const validateEmailListComprehensive: (emails: string[]) => ValidationResult;
|
|
28
|
+
//# sourceMappingURL=validation.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ShareMenu/validation.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAW7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,KAAG,gBAgBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,KAAG,eAAe,EAiBtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EAAE,KACf,gBAcF,CAAC"}
|