@datalayer/core 1.2.19 → 1.2.20
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/lib/components/avatars/UserAvatar.d.ts +10 -11
- package/lib/components/avatars/UserAvatar.js +23 -28
- package/lib/components/avatars/UserProfileAvatar.js +1 -1
- package/lib/components/avatars/avatarChoice.d.ts +42 -0
- package/lib/components/avatars/avatarChoice.js +65 -0
- package/lib/components/avatars/index.d.ts +1 -0
- package/lib/components/avatars/index.js +1 -0
- package/lib/components/collaboration/LiveEditorCollaborators.d.ts +3 -4
- package/lib/components/collaboration/LiveEditorCollaborators.js +7 -5
- package/lib/components/emoji/faceEmojis.js +48 -0
- package/lib/components/emoji/fluent/loaders.js +46 -0
- package/lib/components/emoji/fluent/svg/1f30a.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f30a.js +5 -0
- package/lib/components/emoji/fluent/svg/1f310.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f310.js +5 -0
- package/lib/components/emoji/fluent/svg/1f324.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f324.js +5 -0
- package/lib/components/emoji/fluent/svg/1f326.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f326.js +5 -0
- package/lib/components/emoji/fluent/svg/1f327.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f327.js +5 -0
- package/lib/components/emoji/fluent/svg/1f33e.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f33e.js +5 -0
- package/lib/components/emoji/fluent/svg/1f372.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f372.js +5 -0
- package/lib/components/emoji/fluent/svg/1f373.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f373.js +5 -0
- package/lib/components/emoji/fluent/svg/1f39b.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f39b.js +5 -0
- package/lib/components/emoji/fluent/svg/1f3ab.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f3ab.js +5 -0
- package/lib/components/emoji/fluent/svg/1f41b.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f41b.js +5 -0
- package/lib/components/emoji/fluent/svg/1f441.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f441.js +5 -0
- package/lib/components/emoji/fluent/svg/1f465.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f465.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4b9.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4b9.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4be.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4be.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4c1.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4c1.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4c2.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4c2.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4c4.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4c4.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4d3.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4d3.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4d6.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4d6.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4dc.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4dc.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4e1.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4e1.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4e2.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4e2.js +5 -0
- package/lib/components/emoji/fluent/svg/1f4e7.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f4e7.js +5 -0
- package/lib/components/emoji/fluent/svg/1f500.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f500.js +5 -0
- package/lib/components/emoji/fluent/svg/1f501.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f501.js +5 -0
- package/lib/components/emoji/fluent/svg/1f504.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f504.js +5 -0
- package/lib/components/emoji/fluent/svg/1f52d.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f52d.js +5 -0
- package/lib/components/emoji/fluent/svg/1f552.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f552.js +5 -0
- package/lib/components/emoji/fluent/svg/1f58b.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f58b.js +5 -0
- package/lib/components/emoji/fluent/svg/1f5b2.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f5b2.js +5 -0
- package/lib/components/emoji/fluent/svg/1f5c3.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f5c3.js +5 -0
- package/lib/components/emoji/fluent/svg/1f5d1.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f5d1.js +5 -0
- package/lib/components/emoji/fluent/svg/1f5dc.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f5dc.js +5 -0
- package/lib/components/emoji/fluent/svg/1f604.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f604.js +5 -0
- package/lib/components/emoji/fluent/svg/1f917.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f917.js +5 -0
- package/lib/components/emoji/fluent/svg/1f9d1-200d-2696.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1f9d1-200d-2696.js +5 -0
- package/lib/components/emoji/fluent/svg/1fa79.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1fa79.js +5 -0
- package/lib/components/emoji/fluent/svg/1fa9d.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1fa9d.js +5 -0
- package/lib/components/emoji/fluent/svg/1fa9f.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/1fa9f.js +5 -0
- package/lib/components/emoji/fluent/svg/23f3.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/23f3.js +5 -0
- package/lib/components/emoji/fluent/svg/2611.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/2611.js +5 -0
- package/lib/components/emoji/fluent/svg/2702.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/2702.js +5 -0
- package/lib/components/emoji/fluent/svg/270f.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/270f.js +5 -0
- package/lib/components/emoji/fluent/svg/2728.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/2728.js +5 -0
- package/lib/components/emoji/fluent/svg/2b1c.d.ts +2 -0
- package/lib/components/emoji/fluent/svg/2b1c.js +5 -0
- package/lib/components/principal/Principal.js +1 -1
- package/lib/components/principal/PrincipalAppearance.d.ts +24 -1
- package/lib/components/principal/PrincipalAppearance.js +105 -34
- package/lib/components/principal/PrincipalAvatar.d.ts +5 -7
- package/lib/components/principal/PrincipalAvatar.js +12 -18
- package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -7
- package/lib/components/principal/PrincipalDetailsOverlay.js +2 -2
- package/lib/components/principal/PrincipalSwitcherMenu.js +1 -1
- package/lib/hooks/unlinkIAMProvider.d.ts +22 -0
- package/lib/hooks/unlinkIAMProvider.js +24 -0
- package/lib/hooks/useCache.d.ts +8 -1
- package/lib/hooks/useCache.js +35 -4
- package/lib/hooks/useNavigate.js +8 -2
- package/lib/models/IAMProviderLinked.d.ts +9 -0
- package/lib/models/IAMProviderLinked.js +34 -5
- package/lib/models/McpTask.d.ts +18 -1
- package/lib/models/McpTask.js +15 -0
- package/lib/models/Profile.d.ts +2 -2
- package/lib/models/User.js +5 -12
- package/lib/models/UserOnboarding.d.ts +9 -0
- package/lib/models/UserOnboarding.js +33 -0
- package/lib/portable/index.d.ts +3 -2
- package/lib/portable/index.js +4 -2
- package/lib/portable/states.d.ts +39 -0
- package/lib/portable/states.js +71 -0
- package/lib/state/substates/NavigationState.d.ts +5 -3
- package/lib/state/substates/NavigationState.js +12 -3
- package/lib/views/mcp/AlertDestinations.js +2 -2
- package/lib/views/mcp/ApprovalQueue.js +2 -2
- package/lib/views/mcp/EnterpriseConsole.js +2 -2
- package/lib/views/mcp/McpDashboard.js +2 -2
- package/lib/views/mcp/McpHome.js +4 -4
- package/lib/views/mcp/McpObservability.js +5 -5
- package/lib/views/mcp/NotebookRuns.js +2 -2
- package/lib/views/mcp/OrganizationUsage.js +2 -2
- package/lib/views/mcp/Policies.js +2 -2
- package/lib/views/mcp/RunDetail.d.ts +1 -1
- package/lib/views/mcp/RunDetail.js +4 -1
- package/lib/views/mcp/ScimProvisioning.js +2 -2
- package/lib/views/mcp/ToolAccess.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 🧑⚖️ judge — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M23 30L25 24L23 18.5H9L7 24L9 30H23Z" fill="#212121"/> <path d="M23 30V18.5935C21.6303 21.0539 19.0178 22.72 16 22.72C12.9833 22.72 10.3625 21.0551 9.00005 18.5961V30H5.00005V26.5C4.99005 23.09 6.57005 20.03 9.00005 18V18.0128C10.9012 16.4481 13.3391 15.5 16 15.5C18.661 15.5 21.0989 16.4388 23 18.0118V18C25.45 20.02 27 23.09 27 26.5V30H23Z" fill="black"/> <path d="M12.5 29.99V24.74C12.5 24.46 12.28 24.24 12 24.24C11.72 24.24 11.5 24.46 11.5 24.74V29.99H12.5Z" fill="black"/> <path d="M16.5 29.99V24.74C16.5 24.46 16.28 24.24 16 24.24C15.72 24.24 15.5 24.46 15.5 24.74V29.99H16.5Z" fill="black"/> <path d="M20.5 29.99V24.74C20.5 24.46 20.28 24.24 20 24.24C19.72 24.24 19.5 24.46 19.5 24.74V29.99H20.5Z" fill="black"/> <path d="M16.9201 19.69L16.2701 20.27C16.1101 20.41 15.8801 20.41 15.7201 20.27L15.0701 19.69C14.3501 19.04 13.9301 18.11 13.9301 17.14V14.05C13.9401 12.92 14.8601 12 16.0001 12C17.1401 12 18.0601 12.92 18.0601 14.06V17.15C18.0501 18.12 17.6401 19.04 16.9201 19.69Z" fill="#9B9B9B"/> <path d="M18.0499 15.21H15.9999H13.9399V17.15C13.9399 18.12 14.3499 19.05 15.0799 19.7C15.1499 19.76 15.2599 19.75 15.3199 19.67L15.8999 18.83C15.9499 18.75 16.0699 18.75 16.1199 18.83L16.6999 19.67C16.7499 19.75 16.8599 19.76 16.9399 19.7C17.6599 19.05 18.0799 18.12 18.0799 17.15V15.21H18.0499Z" fill="#E6E6E6"/> <path d="M26.9946 23C27.552 23 28 23.4073 28 23.9139V26H26.0002V23.9139C25.9893 23.4073 26.4373 23 26.9946 23Z" fill="#F59F00"/> <path d="M22.62 20.99C22.16 20.99 21.78 20.62 21.78 20.15V17.82C21.78 17.36 22.15 16.98 22.62 16.98C23.08 16.98 23.46 17.35 23.46 17.82V18L23.4601 17.5C23.4601 17.22 23.6901 17 23.9601 17H26.8401C27.1101 17 27.3301 17.22 27.3401 17.5V17.6899C27.4021 17.2905 27.7452 16.98 28.1701 16.98C28.6301 16.98 29.0101 17.35 29.0101 17.82V20.15C29.0001 20.62 28.6301 20.99 28.1701 20.99C27.7537 20.99 27.4029 20.6869 27.3401 20.2808V20.5C27.3401 20.78 27.1101 21 26.8401 21H26.32C26.5505 21.047 26.7188 21.2531 26.7101 21.49C26.7101 21.77 26.4901 21.99 26.2101 21.99H26.1401V27.37H24.6401V21.99H24.5701C24.2901 21.99 24.0701 21.77 24.0701 21.49C24.0701 21.245 24.2385 21.046 24.4681 21H23.9601C23.6801 21 23.4601 20.77 23.4601 20.5V20L23.46 20.15C23.46 20.62 23.08 20.99 22.62 20.99Z" fill="#7D4533"/> <path d="M24.2018 24.5105C23.8284 24.5105 23.5096 24.8457 23.5005 25.2752C23.4913 25.5581 23.6189 25.8095 23.8101 25.9562C23.628 26.0924 23.5005 26.3333 23.5005 26.6057C23.5005 26.8781 23.6189 27.119 23.8101 27.2552C23.628 27.3914 23.5005 27.6324 23.5005 27.9048C23.5005 28.1771 23.6189 28.4181 23.8101 28.5543C23.6189 28.701 23.5005 28.9524 23.5005 29.2352C23.5096 29.6648 23.8284 30 24.2018 30H27.2076C27.6448 30 28 29.5914 28 29.0886V25.4114C28 24.9086 27.6448 24.5 27.2076 24.5H24.2018V24.5105Z" fill="#FFC83D"/> <path d="M16 18.5C14.8932 18.5 14 17.5345 14 16.3381V13.6514C14 12.4655 14.8932 11.5 16 11.5C17.1068 11.5 18 12.4655 18 13.6619V16.3486C17.9903 17.5345 17.0971 18.5 16 18.5Z" fill="#FCB100"/> <path d="M22.25 5.29C21.95 4.77 21.48 4.41 20.96 4.23C20.39 4.04 19.89 3.66 19.58 3.15C19.16 2.46 18.4 2 17.54 2C17.21 2 16.89 2.07 16.61 2.19C16.22 2.36 15.78 2.36 15.39 2.19C15.1 2.07 14.79 2 14.46 2C13.61 2 12.86 2.44 12.44 3.11C12.11 3.63 11.62 4.03 11.03 4.23C10.48 4.42 10 4.81 9.71004 5.36C9.28004 6.16 9.37004 7.12 9.86004 7.83C10.03 8.09 10.13 8.4 10.13 8.71V12.88C10.13 13.81 10.72 14.63 11.6 14.94L13.49 15.59V8.17C13.64 8.03 13.76 7.86 13.87 7.67C14.04 7.38 14.14 7.06 14.17 6.75C14.26 6.76 14.36 6.77 14.45 6.77C15.04 6.77 15.58 6.56 15.99 6.2C16.41 6.55 16.94 6.77 17.53 6.77C17.63 6.77 17.72 6.76 17.81 6.75C17.85 7.07 17.94 7.38 18.11 7.67C18.22 7.86 18.35 8.02 18.49 8.17V15.6L20.38 14.95C21.26 14.65 21.85 13.82 21.85 12.89V8.72C21.85 8.41 21.95 8.1 22.13 7.84C22.65 7.1 22.72 6.11 22.25 5.29Z" fill="#F1A11E"/> <path d="M12.7701 10.5899C12.7701 11.5122 12.0224 12.2599 11.1001 12.2599C10.1777 12.2599 9.43005 11.5122 9.43005 10.5899C9.43005 9.66761 10.1777 8.91992 11.1001 8.91992C12.0224 8.91992 12.7701 9.66761 12.7701 10.5899Z" fill="#FDBB11"/> <path d="M22.5601 10.5899C22.5601 11.5122 21.8124 12.2599 20.8901 12.2599C19.9678 12.2599 19.2201 11.5122 19.2201 10.5899C19.2201 9.66761 19.9678 8.91992 20.8901 8.91992C21.8124 8.91992 22.5601 9.66761 22.5601 10.5899Z" fill="#FDBB11"/> <path d="M10.833 7.96778C10.9078 6.15342 12.4077 4.69995 14.2401 4.69995H15.5401C15.8201 4.69995 16.0601 4.86995 16.1701 5.11995C16.5701 6.00995 17.4601 6.56995 18.4301 6.56995H19.8601C20.6601 6.60995 21.2901 7.27995 21.2701 8.08995L21.2581 8.60501L20.95 13.56C20.68 15.53 19.01 17 17.02 17H15.12C13.14 17 11.46 15.53 11.2 13.56L10.833 7.96778Z" fill="#FFC83D"/> <path d="M12.284 8.41831C12.3767 8.53732 12.5482 8.55885 12.6675 8.46667L12.6684 8.46597L12.7631 8.40386C12.8319 8.36256 12.9353 8.30712 13.0681 8.25468C13.3337 8.14979 13.7127 8.05839 14.168 8.11196C14.3182 8.12963 14.4543 8.02217 14.472 7.87194C14.4897 7.7217 14.3822 7.58558 14.232 7.56791C13.6673 7.50148 13.1963 7.61507 12.8669 7.74518C12.7021 7.81025 12.5718 7.8798 12.4813 7.93413L12.3316 8.0339C12.2123 8.12689 12.191 8.299 12.284 8.41831Z" fill="#D37034"/> <path d="M19.6765 8.03241L19.6783 8.03376C19.7976 8.12675 19.8191 8.299 19.7261 8.41831C19.6333 8.53732 19.4611 8.55826 19.3419 8.4661L19.3397 8.46453C19.3366 8.4622 19.3309 8.45812 19.3229 8.45256C19.3068 8.44144 19.2813 8.42447 19.247 8.40386C19.1781 8.36256 19.0747 8.30712 18.9419 8.25468C18.6764 8.14979 18.2974 8.05839 17.8421 8.11196C17.6918 8.12963 17.5557 8.02217 17.538 7.87194C17.5204 7.7217 17.6278 7.58558 17.7781 7.56791C18.3427 7.50148 18.8137 7.61507 19.1432 7.74518C19.3079 7.81025 19.4382 7.8798 19.5288 7.93413C19.5741 7.96133 19.6097 7.98483 19.6348 8.00223L19.6736 8.03016L19.6765 8.03241Z" fill="#D37034"/> <path d="M12.18 10.28C12.33 9.65995 12.89 9.19995 13.56 9.19995C14.26 9.19995 14.83 9.68995 14.96 10.35C14.99 10.5 14.88 10.63 14.73 10.63H12.45C12.27 10.63 12.13 10.45 12.18 10.28Z" fill="white"/> <path d="M19.83 10.28C19.68 9.65995 19.12 9.19995 18.45 9.19995C17.75 9.19995 17.18 9.68995 17.05 10.35C17.02 10.5 17.13 10.63 17.28 10.63H19.56C19.74 10.63 19.87 10.46 19.83 10.28Z" fill="white"/> <path d="M12.8601 10.39C12.8601 9.88998 13.2701 9.47998 13.7701 9.47998C14.2801 9.47998 14.6901 9.88998 14.6801 10.39C14.6801 10.47 14.6701 10.55 14.6501 10.63H12.8901C12.8701 10.55 12.8601 10.47 12.8601 10.39Z" fill="#7D4533"/> <path d="M19.1501 10.39C19.1501 9.88998 18.7401 9.47998 18.2401 9.47998C17.7301 9.47998 17.3301 9.88998 17.3301 10.39C17.3301 10.47 17.3401 10.55 17.3601 10.63H19.1201C19.1401 10.55 19.1501 10.47 19.1501 10.39Z" fill="#7D4533"/> <path d="M13.77 9.87012C14.06 9.87012 14.29 10.1001 14.29 10.3901C14.29 10.4801 14.27 10.5601 14.23 10.6301H13.31C13.27 10.5601 13.25 10.4801 13.25 10.3901C13.25 10.1001 13.48 9.87012 13.77 9.87012Z" fill="black"/> <path d="M18.2401 9.87012C17.9501 9.87012 17.7201 10.1001 17.7201 10.3901C17.7201 10.4801 17.7401 10.5601 17.7801 10.6301H18.7001C18.7401 10.5601 18.7601 10.4801 18.7601 10.3901C18.7601 10.1001 18.5301 9.87012 18.2401 9.87012Z" fill="black"/> <path d="M13.62 10.0301C13.62 10.1185 13.5484 10.1901 13.46 10.1901C13.3717 10.1901 13.3 10.1185 13.3 10.0301C13.3 9.94175 13.3717 9.87012 13.46 9.87012C13.5484 9.87012 13.62 9.94175 13.62 10.0301Z" fill="white"/> <path d="M18.12 10.0301C18.12 10.1185 18.0484 10.1901 17.96 10.1901C17.8717 10.1901 17.8 10.1185 17.8 10.0301C17.8 9.94175 17.8717 9.87012 17.96 9.87012C18.0484 9.87012 18.12 9.94175 18.12 10.0301Z" fill="white"/> <path d="M15.6901 10.3099L15.1601 12.0199C15.0501 12.3699 15.3101 12.7299 15.6801 12.7299H16.4601C16.8301 12.7299 17.0901 12.3699 16.9801 12.0199L16.4501 10.3099C16.3401 9.9299 15.8101 9.9299 15.6901 10.3099Z" fill="#ED9200"/> <path d="M16.01 13.6801C15.47 13.6801 14.96 13.5501 14.53 13.3201C14.38 13.2401 14.23 13.4101 14.32 13.5501C14.68 14.1001 15.3 14.4701 16.01 14.4701C16.72 14.4701 17.34 14.1001 17.7 13.5501C17.79 13.4101 17.63 13.2501 17.49 13.3201C17.05 13.5501 16.55 13.6801 16.01 13.6801Z" fill="#990839"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.17488 28.0659L3.93406 27.8251C1.35531 25.2464 1.35531 21.022 3.93406 18.4333L6.27291 16.0944L14.0776 14.4555L16.0978 6.26952L18.4333 3.93406C21.012 1.35531 25.2363 1.35531 27.8251 3.93406L28.0659 4.17488C30.6447 6.75363 30.6447 10.978 28.0659 13.5667L25.7355 15.8972L17.8981 17.93L15.9157 25.717L13.5667 28.0659C10.988 30.6447 6.75363 30.6447 4.17488 28.0659Z\" fill=\"#26C9FC\"/> <path d=\"M22.5 6C22.7761 6 23 5.77614 23 5.5C23 5.22386 22.7761 5 22.5 5C22.2239 5 22 5.22386 22 5.5C22 5.77614 22.2239 6 22.5 6Z\" fill=\"#00A6ED\"/> <path d=\"M20.5 8C20.7761 8 21 7.77614 21 7.5C21 7.22386 20.7761 7 20.5 7C20.2239 7 20 7.22386 20 7.5C20 7.77614 20.2239 8 20.5 8Z\" fill=\"#00A6ED\"/> <path d=\"M22.5 10C22.7761 10 23 9.77614 23 9.5C23 9.22386 22.7761 9 22.5 9C22.2239 9 22 9.22386 22 9.5C22 9.77614 22.2239 10 22.5 10Z\" fill=\"#00A6ED\"/> <path d=\"M25 11.5C25 11.7761 24.7761 12 24.5 12C24.2239 12 24 11.7761 24 11.5C24 11.2239 24.2239 11 24.5 11C24.7761 11 25 11.2239 25 11.5Z\" fill=\"#00A6ED\"/> <path d=\"M25 7.5C25 7.77614 24.7761 8 24.5 8C24.2239 8 24 7.77614 24 7.5C24 7.22386 24.2239 7 24.5 7C24.7761 7 25 7.22386 25 7.5Z\" fill=\"#00A6ED\"/> <path d=\"M26.5 10C26.7761 10 27 9.77614 27 9.5C27 9.22386 26.7761 9 26.5 9C26.2239 9 26 9.22386 26 9.5C26 9.77614 26.2239 10 26.5 10Z\" fill=\"#00A6ED\"/> <path d=\"M6 22.5C6 22.7761 5.77614 23 5.5 23C5.22386 23 5 22.7761 5 22.5C5 22.2239 5.22386 22 5.5 22C5.77614 22 6 22.2239 6 22.5Z\" fill=\"#00A6ED\"/> <path d=\"M7.5 25C7.77614 25 8 24.7761 8 24.5C8 24.2239 7.77614 24 7.5 24C7.22386 24 7 24.2239 7 24.5C7 24.7761 7.22386 25 7.5 25Z\" fill=\"#00A6ED\"/> <path d=\"M10 26.5C10 26.7761 9.77614 27 9.5 27C9.22386 27 9 26.7761 9 26.5C9 26.2239 9.22386 26 9.5 26C9.77614 26 10 26.2239 10 26.5Z\" fill=\"#00A6ED\"/> <path d=\"M7.5 21C7.77614 21 8 20.7761 8 20.5C8 20.2239 7.77614 20 7.5 20C7.22386 20 7 20.2239 7 20.5C7 20.7761 7.22386 21 7.5 21Z\" fill=\"#00A6ED\"/> <path d=\"M10 22.5C10 22.7761 9.77614 23 9.5 23C9.22386 23 9 22.7761 9 22.5C9 22.2239 9.22386 22 9.5 22C9.77614 22 10 22.2239 10 22.5Z\" fill=\"#00A6ED\"/> <path d=\"M11.5 25C11.7761 25 12 24.7761 12 24.5C12 24.2239 11.7761 24 11.5 24C11.2239 24 11 24.2239 11 24.5C11 24.7761 11.2239 25 11.5 25Z\" fill=\"#00A6ED\"/> <path d=\"M25.7548 15.8553L16.1382 6.23865L6.25833 16.1185L15.875 25.7352L25.7548 15.8553Z\" fill=\"#00A6ED\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 🩹 adhesive bandage — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.17488 28.0659L3.93406 27.8251C1.35531 25.2464 1.35531 21.022 3.93406 18.4333L6.27291 16.0944L14.0776 14.4555L16.0978 6.26952L18.4333 3.93406C21.012 1.35531 25.2363 1.35531 27.8251 3.93406L28.0659 4.17488C30.6447 6.75363 30.6447 10.978 28.0659 13.5667L25.7355 15.8972L17.8981 17.93L15.9157 25.717L13.5667 28.0659C10.988 30.6447 6.75363 30.6447 4.17488 28.0659Z" fill="#26C9FC"/> <path d="M22.5 6C22.7761 6 23 5.77614 23 5.5C23 5.22386 22.7761 5 22.5 5C22.2239 5 22 5.22386 22 5.5C22 5.77614 22.2239 6 22.5 6Z" fill="#00A6ED"/> <path d="M20.5 8C20.7761 8 21 7.77614 21 7.5C21 7.22386 20.7761 7 20.5 7C20.2239 7 20 7.22386 20 7.5C20 7.77614 20.2239 8 20.5 8Z" fill="#00A6ED"/> <path d="M22.5 10C22.7761 10 23 9.77614 23 9.5C23 9.22386 22.7761 9 22.5 9C22.2239 9 22 9.22386 22 9.5C22 9.77614 22.2239 10 22.5 10Z" fill="#00A6ED"/> <path d="M25 11.5C25 11.7761 24.7761 12 24.5 12C24.2239 12 24 11.7761 24 11.5C24 11.2239 24.2239 11 24.5 11C24.7761 11 25 11.2239 25 11.5Z" fill="#00A6ED"/> <path d="M25 7.5C25 7.77614 24.7761 8 24.5 8C24.2239 8 24 7.77614 24 7.5C24 7.22386 24.2239 7 24.5 7C24.7761 7 25 7.22386 25 7.5Z" fill="#00A6ED"/> <path d="M26.5 10C26.7761 10 27 9.77614 27 9.5C27 9.22386 26.7761 9 26.5 9C26.2239 9 26 9.22386 26 9.5C26 9.77614 26.2239 10 26.5 10Z" fill="#00A6ED"/> <path d="M6 22.5C6 22.7761 5.77614 23 5.5 23C5.22386 23 5 22.7761 5 22.5C5 22.2239 5.22386 22 5.5 22C5.77614 22 6 22.2239 6 22.5Z" fill="#00A6ED"/> <path d="M7.5 25C7.77614 25 8 24.7761 8 24.5C8 24.2239 7.77614 24 7.5 24C7.22386 24 7 24.2239 7 24.5C7 24.7761 7.22386 25 7.5 25Z" fill="#00A6ED"/> <path d="M10 26.5C10 26.7761 9.77614 27 9.5 27C9.22386 27 9 26.7761 9 26.5C9 26.2239 9.22386 26 9.5 26C9.77614 26 10 26.2239 10 26.5Z" fill="#00A6ED"/> <path d="M7.5 21C7.77614 21 8 20.7761 8 20.5C8 20.2239 7.77614 20 7.5 20C7.22386 20 7 20.2239 7 20.5C7 20.7761 7.22386 21 7.5 21Z" fill="#00A6ED"/> <path d="M10 22.5C10 22.7761 9.77614 23 9.5 23C9.22386 23 9 22.7761 9 22.5C9 22.2239 9.22386 22 9.5 22C9.77614 22 10 22.2239 10 22.5Z" fill="#00A6ED"/> <path d="M11.5 25C11.7761 25 12 24.7761 12 24.5C12 24.2239 11.7761 24 11.5 24C11.2239 24 11 24.2239 11 24.5C11 24.7761 11.2239 25 11.5 25Z" fill="#00A6ED"/> <path d="M25.7548 15.8553L16.1382 6.23865L6.25833 16.1185L15.875 25.7352L25.7548 15.8553Z" fill="#00A6ED"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M14.997 6.00001C14.9981 6.56738 14.8781 7.12843 14.6452 7.64576C14.4122 8.16309 14.0716 8.6248 13.646 9.00001C13.1741 9.57142 12.8822 10.2698 12.807 11.007L12.747 22.007C12.7058 22.8842 12.9302 23.7534 13.391 24.501C13.7407 25.0127 14.22 25.4223 14.7799 25.688C15.4764 26.0241 16.2335 26.2162 17.006 26.2529C17.8814 26.2936 18.7488 26.0695 19.495 25.61C20.0058 25.2593 20.4152 24.7802 20.682 24.221C20.925 23.7258 21.0934 23.1974 21.182 22.653C21.2182 22.4409 21.2415 22.2269 21.252 22.012C21.2242 21.5401 21.1057 21.078 20.903 20.651C20.352 19.411 20.011 19.589 20.158 17.932C20.165 17.86 20.1709 17.7849 20.1779 17.7059C20.1834 17.4847 20.1353 17.2656 20.0376 17.067C19.9399 16.8685 19.7956 16.6966 19.617 16.566C19.422 16.377 19.252 16.211 19.252 16.007C19.252 16.007 19.252 15.507 20.002 15.507C21.002 15.507 22.7599 16.939 23.4619 18.043C24.2576 19.2627 24.7032 20.6774 24.75 22.1329C24.7346 22.5016 24.6962 22.8691 24.635 23.233C24.4901 24.1211 24.2144 24.9828 23.817 25.79C23.2786 26.8943 22.4596 27.8377 21.442 28.526C20.1186 29.3717 18.5719 29.8005 17.002 29.757C15.6887 29.7218 14.3986 29.4032 13.2199 28.823C12.1155 28.2844 11.172 27.4651 10.484 26.447C9.63785 25.1238 9.20865 23.577 9.25199 22.007L9.30496 10.863C9.18154 10.1829 8.86695 9.55189 8.39798 9.04402C7.888 8.60781 7.49596 8.05027 7.25797 7.4228C7.01997 6.79533 6.94368 6.11807 7.0361 5.45338C7.12853 4.78868 7.38669 4.15795 7.78684 3.61921C8.18699 3.08047 8.71625 2.65102 9.3259 2.37049C9.93554 2.08996 10.6059 1.96737 11.2754 2.01393C11.9449 2.06048 12.5919 2.27471 13.1568 2.63691C13.7218 2.99911 14.1865 3.49762 14.5083 4.08656C14.83 4.67549 14.9984 5.33588 14.998 6.00697L14.997 6.00001ZM10.997 8.00001C11.3925 8.00001 11.7792 7.88268 12.1081 7.66291C12.437 7.44315 12.6933 7.13084 12.8447 6.76539C12.9961 6.39994 13.0357 5.99777 12.9585 5.60981C12.8814 5.22185 12.6909 4.86547 12.4112 4.58576C12.1315 4.30606 11.7751 4.11557 11.3872 4.0384C10.9992 3.96123 10.5971 4.00086 10.2316 4.15223C9.86615 4.30361 9.55378 4.55997 9.33402 4.88886C9.11425 5.21776 8.99698 5.60445 8.99698 6.00001C8.99698 6.53044 9.20766 7.03912 9.58273 7.41419C9.95781 7.78927 10.4665 8.00001 10.997 8.00001Z\" fill=\"#F9C23C\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 🪝 hook — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.997 6.00001C14.9981 6.56738 14.8781 7.12843 14.6452 7.64576C14.4122 8.16309 14.0716 8.6248 13.646 9.00001C13.1741 9.57142 12.8822 10.2698 12.807 11.007L12.747 22.007C12.7058 22.8842 12.9302 23.7534 13.391 24.501C13.7407 25.0127 14.22 25.4223 14.7799 25.688C15.4764 26.0241 16.2335 26.2162 17.006 26.2529C17.8814 26.2936 18.7488 26.0695 19.495 25.61C20.0058 25.2593 20.4152 24.7802 20.682 24.221C20.925 23.7258 21.0934 23.1974 21.182 22.653C21.2182 22.4409 21.2415 22.2269 21.252 22.012C21.2242 21.5401 21.1057 21.078 20.903 20.651C20.352 19.411 20.011 19.589 20.158 17.932C20.165 17.86 20.1709 17.7849 20.1779 17.7059C20.1834 17.4847 20.1353 17.2656 20.0376 17.067C19.9399 16.8685 19.7956 16.6966 19.617 16.566C19.422 16.377 19.252 16.211 19.252 16.007C19.252 16.007 19.252 15.507 20.002 15.507C21.002 15.507 22.7599 16.939 23.4619 18.043C24.2576 19.2627 24.7032 20.6774 24.75 22.1329C24.7346 22.5016 24.6962 22.8691 24.635 23.233C24.4901 24.1211 24.2144 24.9828 23.817 25.79C23.2786 26.8943 22.4596 27.8377 21.442 28.526C20.1186 29.3717 18.5719 29.8005 17.002 29.757C15.6887 29.7218 14.3986 29.4032 13.2199 28.823C12.1155 28.2844 11.172 27.4651 10.484 26.447C9.63785 25.1238 9.20865 23.577 9.25199 22.007L9.30496 10.863C9.18154 10.1829 8.86695 9.55189 8.39798 9.04402C7.888 8.60781 7.49596 8.05027 7.25797 7.4228C7.01997 6.79533 6.94368 6.11807 7.0361 5.45338C7.12853 4.78868 7.38669 4.15795 7.78684 3.61921C8.18699 3.08047 8.71625 2.65102 9.3259 2.37049C9.93554 2.08996 10.6059 1.96737 11.2754 2.01393C11.9449 2.06048 12.5919 2.27471 13.1568 2.63691C13.7218 2.99911 14.1865 3.49762 14.5083 4.08656C14.83 4.67549 14.9984 5.33588 14.998 6.00697L14.997 6.00001ZM10.997 8.00001C11.3925 8.00001 11.7792 7.88268 12.1081 7.66291C12.437 7.44315 12.6933 7.13084 12.8447 6.76539C12.9961 6.39994 13.0357 5.99777 12.9585 5.60981C12.8814 5.22185 12.6909 4.86547 12.4112 4.58576C12.1315 4.30606 11.7751 4.11557 11.3872 4.0384C10.9992 3.96123 10.5971 4.00086 10.2316 4.15223C9.86615 4.30361 9.55378 4.55997 9.33402 4.88886C9.11425 5.21776 8.99698 5.60445 8.99698 6.00001C8.99698 6.53044 9.20766 7.03912 9.58273 7.41419C9.95781 7.78927 10.4665 8.00001 10.997 8.00001Z" fill="#F9C23C"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2 6C2 3.79086 3.79086 2 6 2H26C28.2091 2 30 3.79086 30 6V26C30 28.2091 28.2091 30 26 30H6C3.79086 30 2 28.2091 2 26V6Z\" fill=\"#D3D3D3\"/> <path d=\"M14.8535 17.1464L8 20L5.43933 26.5607C5.71078 26.8321 6.08578 27 6.49999 27H14.5C14.7761 27 15 26.7761 15 26.5V17.5C15 17.3619 14.944 17.2369 14.8535 17.1464Z\" fill=\"#83CBFF\"/> <path d=\"M17.5 27H25.5C26.3284 27 27 26.3284 27 25.5V17.5C27 17.2238 26.7761 17 26.5 17H17.5C17.2238 17 17 17.2238 17 17.5V26.5C17 26.7761 17.2238 27 17.5 27Z\" fill=\"#83CBFF\"/> <path d=\"M27 14.5V6.49999C27 6.08578 26.8321 5.71078 26.5606 5.43933L19 8L17.1464 14.8535C17.2369 14.944 17.3619 15 17.5 15H26.5C26.7761 15 27 14.7761 27 14.5Z\" fill=\"#83CBFF\"/> <path d=\"M5 6.5C5 5.67157 5.67157 5 6.5 5H14.5C14.7761 5 15 5.22386 15 5.5V14.5C15 14.7761 14.7761 15 14.5 15H5.5C5.22386 15 5 14.7761 5 14.5V6.5Z\" fill=\"#00A6ED\"/> <path d=\"M5 17.5C5 17.2239 5.22386 17 5.5 17H14.5C14.6381 17 14.7631 17.056 14.8536 17.1464L5.43934 26.5607C5.16789 26.2892 5 25.9142 5 25.5V17.5Z\" fill=\"#00A6ED\"/> <path d=\"M26.5607 5.43934C26.2892 5.16789 25.9142 5 25.5 5H17.5C17.2239 5 17 5.22386 17 5.5V14.5C17 14.6381 17.056 14.7631 17.1464 14.8536L26.5607 5.43934Z\" fill=\"#00A6ED\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 🪟 window — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M2 6C2 3.79086 3.79086 2 6 2H26C28.2091 2 30 3.79086 30 6V26C30 28.2091 28.2091 30 26 30H6C3.79086 30 2 28.2091 2 26V6Z" fill="#D3D3D3"/> <path d="M14.8535 17.1464L8 20L5.43933 26.5607C5.71078 26.8321 6.08578 27 6.49999 27H14.5C14.7761 27 15 26.7761 15 26.5V17.5C15 17.3619 14.944 17.2369 14.8535 17.1464Z" fill="#83CBFF"/> <path d="M17.5 27H25.5C26.3284 27 27 26.3284 27 25.5V17.5C27 17.2238 26.7761 17 26.5 17H17.5C17.2238 17 17 17.2238 17 17.5V26.5C17 26.7761 17.2238 27 17.5 27Z" fill="#83CBFF"/> <path d="M27 14.5V6.49999C27 6.08578 26.8321 5.71078 26.5606 5.43933L19 8L17.1464 14.8535C17.2369 14.944 17.3619 15 17.5 15H26.5C26.7761 15 27 14.7761 27 14.5Z" fill="#83CBFF"/> <path d="M5 6.5C5 5.67157 5.67157 5 6.5 5H14.5C14.7761 5 15 5.22386 15 5.5V14.5C15 14.7761 14.7761 15 14.5 15H5.5C5.22386 15 5 14.7761 5 14.5V6.5Z" fill="#00A6ED"/> <path d="M5 17.5C5 17.2239 5.22386 17 5.5 17H14.5C14.6381 17 14.7631 17.056 14.8536 17.1464L5.43934 26.5607C5.16789 26.2892 5 25.9142 5 25.5V17.5Z" fill="#00A6ED"/> <path d="M26.5607 5.43934C26.2892 5.16789 25.9142 5 25.5 5H17.5C17.2239 5 17 5.22386 17 5.5V14.5C17 14.6381 17.056 14.7631 17.1464 14.8536L26.5607 5.43934Z" fill="#00A6ED"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M25 4L16 3L7 4V7.5C7.18983 9.98429 8.82278 14.0192 14 14.8483V17.1517C8.82278 17.9808 7.18983 22.0157 7 24.5V28L16 29L25 28V24.5C24.8102 22.0157 23.1772 17.9808 18 17.1517V14.8483C23.1772 14.0192 24.8102 9.98429 25 7.5V4Z\" fill=\"#83CBFF\"/> <path d=\"M17 22.2V14.8C17 14.3 17.3 13.9 17.8 13.8C21 13.1 23.4 10.5 23.9 7.2C24 6.6 23.5 6 22.9 6H9.10002C8.50002 6 8.00002 6.6 8.10002 7.2C8.60002 10.5 11 13.1 14.2 13.8C14.7 13.9 15 14.3 15 14.8C15 16.5 15 20.5 15 22.2C15 22.7 14.7 23.1 14.2 23.2C12.3 23.6 10.7 24.7 9.60002 26.2C9.00002 27 9.60002 28 10.5 28H21.5C22.4 28 23 27 22.4 26.3C21.3 24.8 19.6 23.7 17.8 23.3C17.3 23.1 17 22.7 17 22.2Z\" fill=\"#FFB02E\"/> <path d=\"M7 2C6.44772 2 6 2.44772 6 3C6 3.55228 6.44772 4 7 4H25C25.5523 4 26 3.55228 26 3C26 2.44772 25.5523 2 25 2H7Z\" fill=\"#D3D3D3\"/> <path d=\"M7 28C6.44772 28 6 28.4477 6 29C6 29.5523 6.44772 30 7 30H25C25.5523 30 26 29.5523 26 29C26 28.4477 25.5523 28 25 28H7Z\" fill=\"#D3D3D3\"/> <path d=\"M22.0069 6.11674C22.1473 7.31021 21.9858 8.26372 21.6068 8.97687C21.2367 9.67346 20.6167 10.223 19.6683 10.5565C19.1473 10.7396 18.8734 11.3105 19.0566 11.8315C19.2398 12.3525 19.8106 12.6264 20.3317 12.4433C21.7084 11.9593 22.7457 11.0959 23.373 9.91531C23.9915 8.75132 24.1674 7.36352 23.9931 5.88296C23.9286 5.33447 23.4316 4.94215 22.8831 5.00671C22.3346 5.07126 21.9423 5.56824 22.0069 6.11674Z\" fill=\"white\"/> <path d=\"M18.8714 19.0714C18.3586 18.8663 17.7767 19.1157 17.5715 19.6285C17.3664 20.1413 17.6158 20.7233 18.1286 20.9284C19.28 21.3889 20.2457 22.0068 20.9193 22.8151C21.5781 23.6057 22 24.6276 22 25.9999C22 26.5522 22.4477 26.9999 23 26.9999C23.5523 26.9999 24 26.5522 24 25.9999C24 24.1722 23.4219 22.6941 22.4557 21.5347C21.5043 20.393 20.2201 19.6109 18.8714 19.0714Z\" fill=\"white\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ⏳ hourglass not done — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M25 4L16 3L7 4V7.5C7.18983 9.98429 8.82278 14.0192 14 14.8483V17.1517C8.82278 17.9808 7.18983 22.0157 7 24.5V28L16 29L25 28V24.5C24.8102 22.0157 23.1772 17.9808 18 17.1517V14.8483C23.1772 14.0192 24.8102 9.98429 25 7.5V4Z" fill="#83CBFF"/> <path d="M17 22.2V14.8C17 14.3 17.3 13.9 17.8 13.8C21 13.1 23.4 10.5 23.9 7.2C24 6.6 23.5 6 22.9 6H9.10002C8.50002 6 8.00002 6.6 8.10002 7.2C8.60002 10.5 11 13.1 14.2 13.8C14.7 13.9 15 14.3 15 14.8C15 16.5 15 20.5 15 22.2C15 22.7 14.7 23.1 14.2 23.2C12.3 23.6 10.7 24.7 9.60002 26.2C9.00002 27 9.60002 28 10.5 28H21.5C22.4 28 23 27 22.4 26.3C21.3 24.8 19.6 23.7 17.8 23.3C17.3 23.1 17 22.7 17 22.2Z" fill="#FFB02E"/> <path d="M7 2C6.44772 2 6 2.44772 6 3C6 3.55228 6.44772 4 7 4H25C25.5523 4 26 3.55228 26 3C26 2.44772 25.5523 2 25 2H7Z" fill="#D3D3D3"/> <path d="M7 28C6.44772 28 6 28.4477 6 29C6 29.5523 6.44772 30 7 30H25C25.5523 30 26 29.5523 26 29C26 28.4477 25.5523 28 25 28H7Z" fill="#D3D3D3"/> <path d="M22.0069 6.11674C22.1473 7.31021 21.9858 8.26372 21.6068 8.97687C21.2367 9.67346 20.6167 10.223 19.6683 10.5565C19.1473 10.7396 18.8734 11.3105 19.0566 11.8315C19.2398 12.3525 19.8106 12.6264 20.3317 12.4433C21.7084 11.9593 22.7457 11.0959 23.373 9.91531C23.9915 8.75132 24.1674 7.36352 23.9931 5.88296C23.9286 5.33447 23.4316 4.94215 22.8831 5.00671C22.3346 5.07126 21.9423 5.56824 22.0069 6.11674Z" fill="white"/> <path d="M18.8714 19.0714C18.3586 18.8663 17.7767 19.1157 17.5715 19.6285C17.3664 20.1413 17.6158 20.7233 18.1286 20.9284C19.28 21.3889 20.2457 22.0068 20.9193 22.8151C21.5781 23.6057 22 24.6276 22 25.9999C22 26.5522 22.4477 26.9999 23 26.9999C23.5523 26.9999 24 26.5522 24 25.9999C24 24.1722 23.4219 22.6941 22.4557 21.5347C21.5043 20.393 20.2201 19.6109 18.8714 19.0714Z" fill="white"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M26.875 30H5.125C3.39937 30 2 28.6006 2 26.875V5.125C2 3.39937 3.39937 2 5.125 2H26.875C28.6006 2 30 3.39937 30 5.125V26.875C30 28.6006 28.6006 30 26.875 30Z\" fill=\"#785DC8\"/> <path d=\"M13.242 23C12.8588 23 12.4757 22.8566 12.183 22.5692L6.43855 16.9278C5.85382 16.3535 5.85382 15.422 6.43855 14.8477C7.02329 14.2735 7.97186 14.2735 8.55659 14.8477L13.242 19.4491L23.4434 9.43069C24.0281 8.85644 24.9767 8.85644 25.5614 9.43069C26.1462 10.0049 26.1462 10.9365 25.5614 11.5107L14.301 22.5692C14.009 22.8566 13.6252 23 13.242 23Z\" fill=\"#F4F4F4\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ☑️ check box with check — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M26.875 30H5.125C3.39937 30 2 28.6006 2 26.875V5.125C2 3.39937 3.39937 2 5.125 2H26.875C28.6006 2 30 3.39937 30 5.125V26.875C30 28.6006 28.6006 30 26.875 30Z" fill="#785DC8"/> <path d="M13.242 23C12.8588 23 12.4757 22.8566 12.183 22.5692L6.43855 16.9278C5.85382 16.3535 5.85382 15.422 6.43855 14.8477C7.02329 14.2735 7.97186 14.2735 8.55659 14.8477L13.242 19.4491L23.4434 9.43069C24.0281 8.85644 24.9767 8.85644 25.5614 9.43069C26.1462 10.0049 26.1462 10.9365 25.5614 11.5107L14.301 22.5692C14.009 22.8566 13.6252 23 13.242 23Z" fill="#F4F4F4"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6.44001 29.66L19.0773 17.0226L19 15L18 14L16 13.958L5.74001 24.21C4.43001 25.52 4.43001 27.65 5.74001 28.96L6.44001 29.66Z\" fill=\"#9B9B9B\"/> <path d=\"M13 15L12.95 17.03L25.58 29.66L26.22 29.03C27.53 27.72 27.52 25.47 26.2 24.15L15.98 13.93H14L13 15ZM17.05 17.03C17.05 17.621 16.5709 18.1 15.98 18.1C15.389 18.1 14.91 17.621 14.91 17.03C14.91 16.4391 15.389 15.96 15.98 15.96C16.5709 15.96 17.05 16.4391 17.05 17.03Z\" fill=\"#D3D3D3\"/> <path d=\"M15.02 9.53C15.02 10.52 14.78 11.48 14.37 12.32L15.99 13.94L12.96 17.04L11.29 15.39C10.45 15.8 9.5 16.04 8.5 16.04C4.9 16.04 2 13.12 2 9.52C2 5.92 4.9 3 8.5 3C12.1 3 15.02 5.92 15.02 9.53ZM5.48 9.52C5.48 11.19 6.84 12.55 8.51 12.55C10.18 12.55 11.54 11.2 11.54 9.52C11.54 7.85 10.18 6.49 8.51 6.49C6.84 6.49 5.48 7.85 5.48 9.52Z\" fill=\"#F8312F\"/> <path d=\"M20.71 15.39L19.067 17.017L15.9993 13.9493L17.63 12.31C17.22 11.47 16.98 10.52 16.98 9.52C16.98 5.92 19.9 3 23.5 3C27.1 3 30 5.92 30 9.52C30 13.12 27.1 16.04 23.5 16.04C22.51 16.04 21.55 15.8 20.71 15.39ZM20.46 9.52C20.46 11.2 21.82 12.55 23.49 12.55C25.16 12.55 26.52 11.19 26.52 9.52C26.52 7.85 25.16 6.49 23.49 6.49C21.82 6.49 20.46 7.85 20.46 9.52Z\" fill=\"#F8312F\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ✂️ scissors — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.44001 29.66L19.0773 17.0226L19 15L18 14L16 13.958L5.74001 24.21C4.43001 25.52 4.43001 27.65 5.74001 28.96L6.44001 29.66Z" fill="#9B9B9B"/> <path d="M13 15L12.95 17.03L25.58 29.66L26.22 29.03C27.53 27.72 27.52 25.47 26.2 24.15L15.98 13.93H14L13 15ZM17.05 17.03C17.05 17.621 16.5709 18.1 15.98 18.1C15.389 18.1 14.91 17.621 14.91 17.03C14.91 16.4391 15.389 15.96 15.98 15.96C16.5709 15.96 17.05 16.4391 17.05 17.03Z" fill="#D3D3D3"/> <path d="M15.02 9.53C15.02 10.52 14.78 11.48 14.37 12.32L15.99 13.94L12.96 17.04L11.29 15.39C10.45 15.8 9.5 16.04 8.5 16.04C4.9 16.04 2 13.12 2 9.52C2 5.92 4.9 3 8.5 3C12.1 3 15.02 5.92 15.02 9.53ZM5.48 9.52C5.48 11.19 6.84 12.55 8.51 12.55C10.18 12.55 11.54 11.2 11.54 9.52C11.54 7.85 10.18 6.49 8.51 6.49C6.84 6.49 5.48 7.85 5.48 9.52Z" fill="#F8312F"/> <path d="M20.71 15.39L19.067 17.017L15.9993 13.9493L17.63 12.31C17.22 11.47 16.98 10.52 16.98 9.52C16.98 5.92 19.9 3 23.5 3C27.1 3 30 5.92 30 9.52C30 13.12 27.1 16.04 23.5 16.04C22.51 16.04 21.55 15.8 20.71 15.39ZM20.46 9.52C20.46 11.2 21.82 12.55 23.49 12.55C25.16 12.55 26.52 11.19 26.52 9.52C26.52 7.85 25.16 6.49 23.49 6.49C21.82 6.49 20.46 7.85 20.46 9.52Z" fill="#F8312F"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M16.6352 7.58545L21.1451 10.1198L23.7063 14.6565L9.36953 28.9933L4.50768 26.4228L2.29846 21.9222L16.6352 7.58545Z\" fill=\"#FF822D\"/> <path d=\"M1.3895 28.0652L1.97165 29.377L3.22663 29.9024L9.35704 28.9771L2.31475 21.9348L1.3895 28.0652Z\" fill=\"#FFCE7C\"/> <path d=\"M1.06291 30.2289L1.38948 28.0652L3.22659 29.9023L1.06291 30.2289Z\" fill=\"#402A32\"/> <path d=\"M22.2761 1.94443C23.0572 1.16338 24.3235 1.16338 25.1045 1.94443L29.3472 6.18707C30.1282 6.96812 30.1282 8.23445 29.3472 9.0155L25.8117 12.551L21.2845 10.2869L18.7406 5.47996L22.2761 1.94443Z\" fill=\"#F92F60\"/> <path d=\"M18.7406 5.47998L25.8117 12.551L23.6903 14.6724L16.6193 7.6013L18.7406 5.47998Z\" fill=\"#D3D3D3\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ✏️ pencil — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M16.6352 7.58545L21.1451 10.1198L23.7063 14.6565L9.36953 28.9933L4.50768 26.4228L2.29846 21.9222L16.6352 7.58545Z" fill="#FF822D"/> <path d="M1.3895 28.0652L1.97165 29.377L3.22663 29.9024L9.35704 28.9771L2.31475 21.9348L1.3895 28.0652Z" fill="#FFCE7C"/> <path d="M1.06291 30.2289L1.38948 28.0652L3.22659 29.9023L1.06291 30.2289Z" fill="#402A32"/> <path d="M22.2761 1.94443C23.0572 1.16338 24.3235 1.16338 25.1045 1.94443L29.3472 6.18707C30.1282 6.96812 30.1282 8.23445 29.3472 9.0155L25.8117 12.551L21.2845 10.2869L18.7406 5.47996L22.2761 1.94443Z" fill="#F92F60"/> <path d="M18.7406 5.47998L25.8117 12.551L23.6903 14.6724L16.6193 7.6013L18.7406 5.47998Z" fill="#D3D3D3"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10.5194 7.0517C10.2265 6.93064 9.99626 6.69861 9.88117 6.41614L8.929 4.25725C8.75112 3.91425 8.23842 3.91425 8.071 4.25725L7.11883 6.41614C6.99327 6.69861 6.76308 6.92055 6.48057 7.0517L5.26682 7.57629C4.91106 7.74779 4.91106 8.24212 5.26682 8.41362L6.48057 8.93821C6.77354 9.05927 7.00374 9.2913 7.11883 9.57377L8.071 11.7427C8.24888 12.0858 8.76158 12.0858 8.929 11.7427L9.88117 9.57377C10.0067 9.2913 10.2369 9.06936 10.5194 8.93821L11.7332 8.41362C12.0889 8.24212 12.0889 7.74779 11.7332 7.57629L10.5194 7.0517Z\" fill=\"#F9C23C\"/> <path d=\"M25.5744 13.5546C24.7045 13.1673 24.0166 12.4539 23.6525 11.5775L20.7897 4.81023C20.2637 3.72992 18.7363 3.72992 18.2103 4.81023L15.3475 11.5775C14.9733 12.4539 14.2854 13.1673 13.4256 13.5546L9.80419 15.1955C8.73194 15.7254 8.73194 17.2746 9.80419 17.8045L13.4256 19.4454C14.2955 19.8327 14.9834 20.5461 15.3475 21.4225L18.2103 28.1898C18.7363 29.2701 20.2637 29.2701 20.7897 28.1898L23.6525 21.4225C24.0267 20.5461 24.7146 19.8327 25.5744 19.4454L29.1958 17.8045C30.2681 17.2746 30.2681 15.7254 29.1958 15.1955L25.5744 13.5546Z\" fill=\"#F9C23C\"/> <path d=\"M8.2811 20.3304C8.44173 20.7222 8.73465 21.0258 9.10315 21.2021L10.6528 21.927C11.1157 22.1621 11.1157 22.8379 10.6528 23.073L9.10315 23.7979C8.73465 23.9742 8.44173 24.2876 8.2811 24.6696L7.05276 27.6474C6.82598 28.1175 6.17402 28.1175 5.94724 27.6474L4.7189 24.6696C4.55827 24.2778 4.26535 23.9742 3.89685 23.7979L2.34724 23.073C1.88425 22.8379 1.88425 22.1621 2.34724 21.927L3.89685 21.2021C4.26535 21.0258 4.55827 20.7124 4.7189 20.3304L5.94724 17.3526C6.17402 16.8825 6.82598 16.8825 7.05276 17.3526L8.2811 20.3304Z\" fill=\"#F9C23C\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ✨ sparkles — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10.5194 7.0517C10.2265 6.93064 9.99626 6.69861 9.88117 6.41614L8.929 4.25725C8.75112 3.91425 8.23842 3.91425 8.071 4.25725L7.11883 6.41614C6.99327 6.69861 6.76308 6.92055 6.48057 7.0517L5.26682 7.57629C4.91106 7.74779 4.91106 8.24212 5.26682 8.41362L6.48057 8.93821C6.77354 9.05927 7.00374 9.2913 7.11883 9.57377L8.071 11.7427C8.24888 12.0858 8.76158 12.0858 8.929 11.7427L9.88117 9.57377C10.0067 9.2913 10.2369 9.06936 10.5194 8.93821L11.7332 8.41362C12.0889 8.24212 12.0889 7.74779 11.7332 7.57629L10.5194 7.0517Z" fill="#F9C23C"/> <path d="M25.5744 13.5546C24.7045 13.1673 24.0166 12.4539 23.6525 11.5775L20.7897 4.81023C20.2637 3.72992 18.7363 3.72992 18.2103 4.81023L15.3475 11.5775C14.9733 12.4539 14.2854 13.1673 13.4256 13.5546L9.80419 15.1955C8.73194 15.7254 8.73194 17.2746 9.80419 17.8045L13.4256 19.4454C14.2955 19.8327 14.9834 20.5461 15.3475 21.4225L18.2103 28.1898C18.7363 29.2701 20.2637 29.2701 20.7897 28.1898L23.6525 21.4225C24.0267 20.5461 24.7146 19.8327 25.5744 19.4454L29.1958 17.8045C30.2681 17.2746 30.2681 15.7254 29.1958 15.1955L25.5744 13.5546Z" fill="#F9C23C"/> <path d="M8.2811 20.3304C8.44173 20.7222 8.73465 21.0258 9.10315 21.2021L10.6528 21.927C11.1157 22.1621 11.1157 22.8379 10.6528 23.073L9.10315 23.7979C8.73465 23.9742 8.44173 24.2876 8.2811 24.6696L7.05276 27.6474C6.82598 28.1175 6.17402 28.1175 5.94724 27.6474L4.7189 24.6696C4.55827 24.2778 4.26535 23.9742 3.89685 23.7979L2.34724 23.073C1.88425 22.8379 1.88425 22.1621 2.34724 21.927L3.89685 21.2021C4.26535 21.0258 4.55827 20.7124 4.7189 20.3304L5.94724 17.3526C6.17402 16.8825 6.82598 16.8825 7.05276 17.3526L8.2811 20.3304Z" fill="#F9C23C"/> </svg>';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.02783 1.5C2.64712 1.5 1.52783 2.61929 1.52783 4V28C1.52783 29.3807 2.64712 30.5 4.02783 30.5H28.0278C29.4085 30.5 30.5278 29.3807 30.5278 28V4C30.5278 2.61929 29.4085 1.5 28.0278 1.5H4.02783Z\" fill=\"#9B9B9B\"/> <path d=\"M2.52783 4C2.52783 3.17157 3.19941 2.5 4.02783 2.5H28.0278C28.8563 2.5 29.5278 3.17157 29.5278 4V28C29.5278 28.8284 28.8563 29.5 28.0278 29.5H4.02783C3.19941 29.5 2.52783 28.8284 2.52783 28V4Z\" fill=\"white\"/> </svg>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ⬜ white large square — Fluent Emoji, Flat, by Microsoft (MIT,
|
|
3
|
+
* see ../LICENSE). Written by scripts/generate-fluent-emoji.py: do not edit.
|
|
4
|
+
*/
|
|
5
|
+
export default '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.02783 1.5C2.64712 1.5 1.52783 2.61929 1.52783 4V28C1.52783 29.3807 2.64712 30.5 4.02783 30.5H28.0278C29.4085 30.5 30.5278 29.3807 30.5278 28V4C30.5278 2.61929 29.4085 1.5 28.0278 1.5H4.02783Z" fill="#9B9B9B"/> <path d="M2.52783 4C2.52783 3.17157 3.19941 2.5 4.02783 2.5H28.0278C28.8563 2.5 29.5278 3.17157 29.5278 4V28C29.5278 28.8284 28.8563 29.5 28.0278 29.5H4.02783C3.19941 29.5 2.52783 28.8284 2.52783 28V4Z" fill="white"/> </svg>';
|
|
@@ -288,6 +288,6 @@ export const Principal = ({ principal, isAdmin = false, avatarSize = 20, gap = 2
|
|
|
288
288
|
resolvedIsPublic,
|
|
289
289
|
upsertCachedPrincipal,
|
|
290
290
|
]);
|
|
291
|
-
return (_jsxs(Box, { display: "inline-flex", alignItems: "center", gap: gap, minWidth: 0, sx: sx, children: [_jsx(PrincipalAvatar, { kind: resolvedPrincipal.kind, avatarUrl: resolvedPrincipal.avatarUrl,
|
|
291
|
+
return (_jsxs(Box, { display: "inline-flex", alignItems: "center", gap: gap, minWidth: 0, sx: sx, children: [_jsx(PrincipalAvatar, { kind: resolvedPrincipal.kind, avatarUrl: resolvedPrincipal.avatarUrl, avatar: resolvedPrincipal.avatarIcon, alt: resolvedPrincipal.displayName, size: avatarSize, square: square }), _jsx(PrincipalDetailsOverlay, { kind: resolvedPrincipal.kind, uid: resolvedPrincipal.uid, displayName: resolvedPrincipal.displayName, name: resolvedPrincipal.name, description: resolvedPrincipal.description, handle: resolvedPrincipal.handle, accountHandle: resolvedPrincipal.accountHandle, firstName: resolvedPrincipal.firstName, lastName: resolvedPrincipal.lastName, email: resolvedPrincipal.email, origin: resolvedPrincipal.origin, avatarUrl: resolvedPrincipal.avatarUrl, avatar: resolvedPrincipal.avatarIcon, organizationName: teamOrganizationNameResolved, memberCount: teamMemberCount, isPublic: resolvedIsPublic, isAdmin: isAdmin })] }));
|
|
292
292
|
};
|
|
293
293
|
export default Principal;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { JSX } from 'react';
|
|
2
2
|
import { type ComponentType, type SVGProps } from 'react';
|
|
3
|
+
import { type AvatarChoice } from '../avatars/avatarChoice';
|
|
3
4
|
/**
|
|
4
5
|
* Who a principal is: a person, an organization, a team — or a service
|
|
5
6
|
* principal, the one a deployed LOOP application acts in its own name through
|
|
@@ -114,7 +115,29 @@ export declare const PRINCIPAL_BANNERS: readonly [{
|
|
|
114
115
|
readonly Component: ComponentType<any>;
|
|
115
116
|
}];
|
|
116
117
|
export declare function getPrincipalBannerForSeed(seed: string): string;
|
|
117
|
-
|
|
118
|
+
/** The names of the avatar set: the icons an avatar may be. */
|
|
119
|
+
export declare const PRINCIPAL_AVATAR_ICON_NAMES: ReadonlySet<string>;
|
|
120
|
+
/** The avatar a kept value names; throws `AvatarRefused` for anything else. */
|
|
121
|
+
export declare function parsePrincipalAvatar(value: string): AvatarChoice;
|
|
122
|
+
/**
|
|
123
|
+
* The avatar a kept value names, or `undefined` when there is none or it is
|
|
124
|
+
* refused — said once on the console, in its sentence: a picture that cannot
|
|
125
|
+
* be drawn is drawn as no choice, never as a broken page.
|
|
126
|
+
*/
|
|
127
|
+
export declare function principalAvatarOf(value: string | undefined): AvatarChoice | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* The drawing of a chosen avatar — an emoji or an icon of the set, by its
|
|
130
|
+
* kept value — on nothing: whatever holds it gives it its disc
|
|
131
|
+
* (`UserAvatar`, `PrincipalAvatar`, an application's face). `null` for no
|
|
132
|
+
* choice, or a refused one.
|
|
133
|
+
*/
|
|
134
|
+
export declare function ChosenAvatar({ avatar, size, label, }: {
|
|
135
|
+
avatar: string | undefined;
|
|
136
|
+
/** Its edge, in pixels. */
|
|
137
|
+
size: number;
|
|
138
|
+
/** What it is called for a screen reader; empty, it is decoration. */
|
|
139
|
+
label?: string;
|
|
140
|
+
}): JSX.Element | null;
|
|
118
141
|
export declare function PrincipalBannerImage({ banner, height, }: {
|
|
119
142
|
banner?: string;
|
|
120
143
|
height?: number;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Suspense, lazy, useEffect, useState, } from 'react';
|
|
3
|
-
import { Box } from '@datalayer/primer-addons';
|
|
4
|
-
import { Button, Text, Tooltip } from '@primer/react';
|
|
3
|
+
import { Box, useColorPalette } from '@datalayer/primer-addons';
|
|
4
|
+
import { Button, SegmentedControl, Text, Tooltip } from '@primer/react';
|
|
5
5
|
import { Dialog } from '@primer/react/experimental';
|
|
6
|
+
import { AvatarRefused, emojiAvatar, iconAvatar, parseAvatar, } from '../avatars/avatarChoice.js';
|
|
7
|
+
import { FACE_EMOJIS } from '../emoji/faceEmojis.js';
|
|
8
|
+
import { FluentEmoji } from '../emoji/FluentEmoji.js';
|
|
6
9
|
/**
|
|
7
10
|
* An avatar icon, fetched the first time it is drawn.
|
|
8
11
|
*
|
|
@@ -577,8 +580,50 @@ export function getPrincipalBannerForSeed(seed) {
|
|
|
577
580
|
}
|
|
578
581
|
return PRINCIPAL_BANNERS[Math.abs(hash) % PRINCIPAL_BANNERS.length].name;
|
|
579
582
|
}
|
|
580
|
-
|
|
581
|
-
|
|
583
|
+
/** The names of the avatar set: the icons an avatar may be. */
|
|
584
|
+
export const PRINCIPAL_AVATAR_ICON_NAMES = new Set(PRINCIPAL_AVATAR_ICONS.map(option => option.name));
|
|
585
|
+
/** The avatar a kept value names; throws `AvatarRefused` for anything else. */
|
|
586
|
+
export function parsePrincipalAvatar(value) {
|
|
587
|
+
return parseAvatar(value, PRINCIPAL_AVATAR_ICON_NAMES);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* The avatar a kept value names, or `undefined` when there is none or it is
|
|
591
|
+
* refused — said once on the console, in its sentence: a picture that cannot
|
|
592
|
+
* be drawn is drawn as no choice, never as a broken page.
|
|
593
|
+
*/
|
|
594
|
+
export function principalAvatarOf(value) {
|
|
595
|
+
if (!value) {
|
|
596
|
+
return undefined;
|
|
597
|
+
}
|
|
598
|
+
try {
|
|
599
|
+
return parsePrincipalAvatar(value);
|
|
600
|
+
}
|
|
601
|
+
catch (error) {
|
|
602
|
+
if (error instanceof AvatarRefused) {
|
|
603
|
+
console.error(`Avatar refused: ${error.message}`);
|
|
604
|
+
return undefined;
|
|
605
|
+
}
|
|
606
|
+
throw error;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* The drawing of a chosen avatar — an emoji or an icon of the set, by its
|
|
611
|
+
* kept value — on nothing: whatever holds it gives it its disc
|
|
612
|
+
* (`UserAvatar`, `PrincipalAvatar`, an application's face). `null` for no
|
|
613
|
+
* choice, or a refused one.
|
|
614
|
+
*/
|
|
615
|
+
export function ChosenAvatar({ avatar, size, label = '', }) {
|
|
616
|
+
const choice = principalAvatarOf(avatar);
|
|
617
|
+
if (!choice) {
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
620
|
+
if (choice.kind === 'emoji') {
|
|
621
|
+
return _jsx(FluentEmoji, { emoji: choice.emoji, size: size, label: label });
|
|
622
|
+
}
|
|
623
|
+
const Icon = PRINCIPAL_AVATAR_ICONS.find(option => option.name === choice.name).Icon;
|
|
624
|
+
// The plain icon, coloured by the theme — never the `colored` variant,
|
|
625
|
+
// whose fixed palette belongs to the emoji it is drawn from.
|
|
626
|
+
return (_jsx(Icon, { size: size, themed: true, colormode: true, "aria-label": label || undefined, "aria-hidden": label ? undefined : true }));
|
|
582
627
|
}
|
|
583
628
|
export function PrincipalBannerImage({ banner, height = 180, }) {
|
|
584
629
|
const Banner = PRINCIPAL_BANNERS.find(option => option.name === banner)?.Component;
|
|
@@ -601,8 +646,26 @@ export function PrincipalBannerImage({ banner, height = 180, }) {
|
|
|
601
646
|
}
|
|
602
647
|
export function PrincipalAvatarPicker({ value, onChange, disabled = false, }) {
|
|
603
648
|
const [open, setOpen] = useState(false);
|
|
604
|
-
const
|
|
605
|
-
|
|
649
|
+
const chosen = principalAvatarOf(value);
|
|
650
|
+
// The colour a chosen avatar is drawn in (`UserAvatar`'s `--datalayer-icon-fg`):
|
|
651
|
+
// the icons are offered as they will look.
|
|
652
|
+
const palette = useColorPalette();
|
|
653
|
+
// The tab the dialog opens on: what is chosen, the icons when nothing is.
|
|
654
|
+
const [tab, setTab] = useState(chosen?.kind === 'emoji' ? 'emoji' : 'icons');
|
|
655
|
+
const choose = (next) => {
|
|
656
|
+
onChange(next);
|
|
657
|
+
setOpen(false);
|
|
658
|
+
};
|
|
659
|
+
const selectedLabel = chosen?.kind === 'emoji'
|
|
660
|
+
? chosen.emoji
|
|
661
|
+
: chosen
|
|
662
|
+
? PRINCIPAL_AVATAR_ICONS.find(option => option.name === chosen.name)
|
|
663
|
+
?.label
|
|
664
|
+
: undefined;
|
|
665
|
+
return (_jsxs(_Fragment, { children: [_jsx(Button, { type: "button", disabled: disabled, onClick: () => {
|
|
666
|
+
setTab(chosen?.kind === 'emoji' ? 'emoji' : 'icons');
|
|
667
|
+
setOpen(true);
|
|
668
|
+
}, leadingVisual: chosen ? () => _jsx(ChosenAvatar, { avatar: value, size: 16 }) : undefined, children: selectedLabel ? `Change Avatar (${selectedLabel})` : 'Choose Avatar' }), open ? (_jsxs(Dialog, { title: "Choose an Avatar", onClose: () => setOpen(false),
|
|
606
669
|
// The widest the dialog names — 640px — which is what it falls
|
|
607
670
|
// back to should the width below ever stop applying.
|
|
608
671
|
width: "xlarge",
|
|
@@ -622,34 +685,42 @@ export function PrincipalAvatarPicker({ value, onChange, disabled = false, }) {
|
|
|
622
685
|
width: 'min(1080px, calc(100vw - 32px))',
|
|
623
686
|
maxWidth: 'none',
|
|
624
687
|
},
|
|
625
|
-
}, children: _jsx(Box, { display: "grid",
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
688
|
+
}, children: [_jsxs(SegmentedControl, { "aria-label": "Avatar kind", sx: { mb: 3 }, onChange: index => setTab(index === 0 ? 'emoji' : 'icons'), children: [_jsx(SegmentedControl.Button, { selected: tab === 'emoji', children: "Emoji" }), _jsx(SegmentedControl.Button, { selected: tab === 'icons', children: "Icons" })] }), tab === 'emoji' ? (_jsx(Box, { display: "grid", gridTemplateColumns: [
|
|
689
|
+
'repeat(6, minmax(0, 1fr))',
|
|
690
|
+
'repeat(12, minmax(0, 1fr))',
|
|
691
|
+
], gap: 2, children: FACE_EMOJIS.map(emoji => {
|
|
692
|
+
const next = emojiAvatar(emoji);
|
|
693
|
+
const pressed = value === next;
|
|
694
|
+
return (_jsx(Box, { as: "button", type: "button", "aria-label": emoji, "aria-pressed": pressed, onClick: () => choose(next), display: "flex", alignItems: "center", justifyContent: "center", height: 72, width: "100%", p: 0, appearance: "none", cursor: "pointer", border: "1px solid", borderRadius: 2, borderColor: pressed ? 'accent.emphasis' : 'border.default', bg: pressed ? 'accent.subtle' : 'canvas.default', hover: { borderColor: 'accent.emphasis' }, children: _jsx(FluentEmoji, { emoji: emoji, size: 44, label: "" }) }, emoji));
|
|
695
|
+
}) })) : null, tab === 'icons' ? (_jsx(Box, { style: { '--datalayer-icon-fg': palette.primary }, display: "grid",
|
|
696
|
+
// Twelve to a line, whatever the dialog is wide: the columns
|
|
697
|
+
// share it evenly and `minmax(0, …)` lets them shrink under
|
|
698
|
+
// their content, which a long name would otherwise widen.
|
|
699
|
+
gridTemplateColumns: [
|
|
700
|
+
'repeat(6, minmax(0, 1fr))',
|
|
701
|
+
'repeat(12, minmax(0, 1fr))',
|
|
702
|
+
], gap: 2, children: PRINCIPAL_AVATAR_ICONS.map(({ name, label, description, Icon }) => (
|
|
703
|
+
// A button drawn as a card rather than a Primer `Button`: the
|
|
704
|
+
// avatar is named under it, as the banners are under theirs.
|
|
705
|
+
// The name under a card is clipped when it is long, and a
|
|
706
|
+
// picture says only so much: the tooltip gives the whole name
|
|
707
|
+
// and what the picture is of.
|
|
708
|
+
_jsx(Tooltip, { text: description ? `${label} — ${description}` : label, direction: "n", children: _jsxs(Box, { as: "button", type: "button", "aria-label": description ? `${label} — ${description}` : label, "aria-pressed": value === iconAvatar(name), onClick: () => choose(iconAvatar(name)), display: "block", width: "100%", p: 0, overflow: "hidden", appearance: "none", color: "fg.default", cursor: "pointer", border: "1px solid", borderRadius: 2, borderColor: value === iconAvatar(name)
|
|
709
|
+
? 'accent.emphasis'
|
|
710
|
+
: 'border.default', bg: value === iconAvatar(name)
|
|
711
|
+
? 'accent.subtle'
|
|
712
|
+
: 'canvas.default', hover: { borderColor: 'accent.emphasis' }, children: [_jsx(Box, { height: 72, display: "flex", alignItems: "center", justifyContent: "center", children: _jsx(Icon, { size: 52, themed: true, colormode: true }) }), _jsx(Text, { sx: {
|
|
713
|
+
display: 'block',
|
|
714
|
+
px: 2,
|
|
715
|
+
py: 1,
|
|
716
|
+
fontSize: 0,
|
|
717
|
+
textAlign: 'center',
|
|
718
|
+
// A name too long for the card is cut rather than
|
|
719
|
+
// stretching the grid it sits in.
|
|
720
|
+
overflow: 'hidden',
|
|
721
|
+
textOverflow: 'ellipsis',
|
|
722
|
+
whiteSpace: 'nowrap',
|
|
723
|
+
}, children: label })] }) }, name))) })) : null] })) : null] }));
|
|
653
724
|
}
|
|
654
725
|
export function PrincipalBannerPicker({ value, onChange, disabled = false, showPreview = true, }) {
|
|
655
726
|
const [open, setOpen] = useState(false);
|
|
@@ -4,14 +4,12 @@ export type PrincipalAvatarKind = PrincipalType;
|
|
|
4
4
|
export type PrincipalAvatarProps = {
|
|
5
5
|
kind: PrincipalAvatarKind;
|
|
6
6
|
avatarUrl?: string;
|
|
7
|
-
avatarIcon?: string;
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* personal-shaped seat in every roster it appears in today.
|
|
8
|
+
* The chosen avatar, as it is kept: `emoji:…` or
|
|
9
|
+
* `@datalayer/icons-react:…` (`components/avatars/avatarChoice`). An
|
|
10
|
+
* agent's face is its emoji, as `emoji:…`.
|
|
13
11
|
*/
|
|
14
|
-
|
|
12
|
+
avatar?: string;
|
|
15
13
|
alt?: string;
|
|
16
14
|
size?: number;
|
|
17
15
|
square?: boolean;
|
|
@@ -24,5 +22,5 @@ export type PrincipalAvatarProps = {
|
|
|
24
22
|
ring?: boolean;
|
|
25
23
|
className?: string;
|
|
26
24
|
};
|
|
27
|
-
export declare function PrincipalAvatar({ kind, avatarUrl,
|
|
25
|
+
export declare function PrincipalAvatar({ kind, avatarUrl, avatar, alt, size, square, ring, className, }: PrincipalAvatarProps): JSX.Element;
|
|
28
26
|
export default PrincipalAvatar;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { EntityAvatar } from '@datalayer/primer-addons';
|
|
3
3
|
import { OrganizationIcon, PeopleIcon } from '@primer/octicons-react';
|
|
4
4
|
import { UserAvatar } from '../avatars/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { ChosenAvatar, principalAvatarOf, } from './PrincipalAppearance.js';
|
|
6
6
|
function getFallbackIconSize(size) {
|
|
7
7
|
return Math.max(12, Math.round(size * 0.62));
|
|
8
8
|
}
|
|
9
|
-
export function PrincipalAvatar({ kind, avatarUrl,
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
// was asked for — see `UserAvatar`, which draws its ring the same way.
|
|
13
|
-
const ringSx = ring
|
|
14
|
-
? { boxShadow: '0 0 0 1px var(--borderColor-default, currentColor)' }
|
|
15
|
-
: undefined;
|
|
9
|
+
export function PrincipalAvatar({ kind, avatarUrl, avatar, alt, size = 20, square = false, ring = false, className, }) {
|
|
10
|
+
const chosen = principalAvatarOf(avatar);
|
|
11
|
+
const shape = square ? 'rounded' : 'circle';
|
|
16
12
|
/*
|
|
17
13
|
* A person is drawn by `UserAvatar`, whatever they wear.
|
|
18
14
|
*
|
|
@@ -25,17 +21,15 @@ export function PrincipalAvatar({ kind, avatarUrl, avatarIcon, avatarEmoji, alt,
|
|
|
25
21
|
// A service principal — an application's — is drawn as a person is: its
|
|
26
22
|
// chosen avatar, or its emoji, on the same disc (LOOP I-07).
|
|
27
23
|
if (kind === 'personal' || kind === 'service') {
|
|
28
|
-
return (_jsx(UserAvatar, { avatarUrl: avatarUrl,
|
|
24
|
+
return (_jsx(UserAvatar, { avatarUrl: avatarUrl, avatar: avatar, size: size, square: square, iconSize: getFallbackIconSize(size), ring: ring, className: className }));
|
|
29
25
|
}
|
|
30
|
-
if (
|
|
31
|
-
return (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
if (chosen) {
|
|
27
|
+
return (
|
|
28
|
+
// The disc of `UserAvatar`, for the same reason: the shape is what says
|
|
29
|
+
// "avatar", and an icon drawn on nothing shows none of it.
|
|
30
|
+
_jsx(EntityAvatar, { className: className, size: size, shape: shape, ring: ring, alt: alt || `${kind} avatar`, children: _jsx(ChosenAvatar, { avatar: avatar, size: getFallbackIconSize(size) }) }));
|
|
35
31
|
}
|
|
36
|
-
const iconSize = getFallbackIconSize(size);
|
|
37
|
-
const borderRadius = square ? 2 : '50%';
|
|
38
32
|
const Icon = kind === 'team' ? PeopleIcon : OrganizationIcon;
|
|
39
|
-
return (_jsx(
|
|
33
|
+
return (_jsx(EntityAvatar, { className: className, size: size, shape: shape, ring: ring, ground: "canvas", alt: alt || (kind === 'team' ? 'Team' : 'Organization'), children: _jsx(Icon, { size: getFallbackIconSize(size) }) }));
|
|
40
34
|
}
|
|
41
35
|
export default PrincipalAvatar;
|
|
@@ -14,14 +14,11 @@ export type PrincipalDetailsOverlayProps = {
|
|
|
14
14
|
email?: string;
|
|
15
15
|
origin?: string;
|
|
16
16
|
avatarUrl?: string;
|
|
17
|
-
avatarIcon?: string;
|
|
18
17
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* `avatarIcon` since the emoji is its real identity here, not a
|
|
22
|
-
* placeholder standing in for one.
|
|
18
|
+
* The chosen avatar, as it is kept: `emoji:…` (an agent's face is its
|
|
19
|
+
* emoji) or `@datalayer/icons-react:…`.
|
|
23
20
|
*/
|
|
24
|
-
|
|
21
|
+
avatar?: string;
|
|
25
22
|
/** Team-specific: parent organization display name. */
|
|
26
23
|
organizationName?: string;
|
|
27
24
|
/** Team-specific: number of members. */
|
|
@@ -59,7 +56,7 @@ export declare function buildPrincipalProfilePath({ kind, uid, handle, accountHa
|
|
|
59
56
|
* anchored on an avatar ({@link PrincipalHoverCard}) both render this, so
|
|
60
57
|
* the two never drift.
|
|
61
58
|
*/
|
|
62
|
-
export declare function PrincipalDetailsCard({ kind, uid, displayName, name, description, handle, accountHandle, firstName, lastName, email, origin, avatarUrl,
|
|
59
|
+
export declare function PrincipalDetailsCard({ kind, uid, displayName, name, description, handle, accountHandle, firstName, lastName, email, origin, avatarUrl, avatar, organizationName, memberCount, isPublic, isAdmin, onNavigate, }: PrincipalDetailsOverlayProps): JSX.Element;
|
|
63
60
|
/**
|
|
64
61
|
* A principal's details, shown from a click on their name.
|
|
65
62
|
*
|
|
@@ -89,7 +89,7 @@ export function buildPrincipalProfilePath({ kind, uid, handle, accountHandle, is
|
|
|
89
89
|
* anchored on an avatar ({@link PrincipalHoverCard}) both render this, so
|
|
90
90
|
* the two never drift.
|
|
91
91
|
*/
|
|
92
|
-
export function PrincipalDetailsCard({ kind, uid, displayName, name, description, handle, accountHandle, firstName, lastName, email, origin, avatarUrl,
|
|
92
|
+
export function PrincipalDetailsCard({ kind, uid, displayName, name, description, handle, accountHandle, firstName, lastName, email, origin, avatarUrl, avatar, organizationName, memberCount, isPublic, isAdmin = false, onNavigate, }) {
|
|
93
93
|
const navigate = useNavigate();
|
|
94
94
|
// Where a profile or organization link goes: the router of this subtree,
|
|
95
95
|
// unless the caller knows of one that can actually serve it — see
|
|
@@ -140,7 +140,7 @@ export function PrincipalDetailsCard({ kind, uid, displayName, name, description
|
|
|
140
140
|
const organizationPath = teamOrganizationHandle
|
|
141
141
|
? `/${teamOrganizationHandle.replace(/^@+/, '')}`
|
|
142
142
|
: '';
|
|
143
|
-
return (_jsxs(Box, { display: "grid", gap: 3, p: 4, minWidth: 420, children: [_jsxs(Box, { display: "flex", alignItems: "center", gap: 2, children: [_jsx(PrincipalAvatar, { kind: kind, avatarUrl: avatarUrl,
|
|
143
|
+
return (_jsxs(Box, { display: "grid", gap: 3, p: 4, minWidth: 420, children: [_jsxs(Box, { display: "flex", alignItems: "center", gap: 2, children: [_jsx(PrincipalAvatar, { kind: kind, avatarUrl: avatarUrl, avatar: avatar, alt: normalizedDisplayName, size: 40,
|
|
144
144
|
// The card sets the avatar on its own ground, the same colour
|
|
145
145
|
// the avatar itself is on: without an edge of its own it has
|
|
146
146
|
// no visible shape at all. Round, and ringed.
|
|
@@ -226,7 +226,7 @@ export function PrincipalSwitcherMenu({ maxLabelChars = 48, fullWidth = true, sh
|
|
|
226
226
|
if (personalUid && personalHandle) {
|
|
227
227
|
selectUser(personalUid, personalHandle);
|
|
228
228
|
}
|
|
229
|
-
}, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(UserAvatar, { avatarUrl: user?.avatarUrl,
|
|
229
|
+
}, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(UserAvatar, { avatarUrl: user?.avatarUrl, avatar: user?.avatarIcon, size: 16, square: false, ring: true }) }), _jsxs(Box, { as: "span", display: "block", minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: [String(user?.friendlyName ||
|
|
230
230
|
user?.displayName ||
|
|
231
231
|
personalHandle ||
|
|
232
232
|
'Me').trim(), _jsxs(Box, { as: "span", color: "fg.muted", children: [' ', "\u00B7 ", _jsx(DisplayHandle, { handle: personalHandle || 'me' })] })] }), isPlatformAdmin ? (_jsx(ActionList.TrailingVisual, { children: _jsx(AdminLabel, {}) })) : null] })] }), _jsxs(ActionList.Group, { children: [_jsx(ActionList.GroupHeading, { children: "Organizations" }), organizations.length === 0 ? (_jsx(ActionList.Item, { disabled: true, children: "No organizations" })) : (organizations.map((organization) => {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IIAMProviderName } from '../models/IAMProvidersSpecs';
|
|
2
|
+
/** What `requestDatalayer` resolves: on failure, `success: false` and IAM's sentence. */
|
|
3
|
+
type UnlinkResponse = {
|
|
4
|
+
success?: boolean;
|
|
5
|
+
message?: string;
|
|
6
|
+
};
|
|
7
|
+
type Request = (request: {
|
|
8
|
+
url: string;
|
|
9
|
+
method: 'DELETE';
|
|
10
|
+
notifyOnError: false;
|
|
11
|
+
}) => Promise<UnlinkResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* Unlink a provider from the signed-in account
|
|
14
|
+
* (`DELETE /api/iam/v1/me/providers/{provider}`).
|
|
15
|
+
*
|
|
16
|
+
* IAM answers 409 when the provider is the account's only way to sign in and
|
|
17
|
+
* 404 when it is not linked; either way its sentence is thrown as the error's
|
|
18
|
+
* message for the page to show, and nothing is toasted. On success `refresh`
|
|
19
|
+
* reads the user again before this resolves.
|
|
20
|
+
*/
|
|
21
|
+
export declare function unlinkIAMProvider(request: Request, iamUrl: string, provider: IIAMProviderName, refresh: () => Promise<void>): Promise<void>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Unlink a provider from the signed-in account
|
|
7
|
+
* (`DELETE /api/iam/v1/me/providers/{provider}`).
|
|
8
|
+
*
|
|
9
|
+
* IAM answers 409 when the provider is the account's only way to sign in and
|
|
10
|
+
* 404 when it is not linked; either way its sentence is thrown as the error's
|
|
11
|
+
* message for the page to show, and nothing is toasted. On success `refresh`
|
|
12
|
+
* reads the user again before this resolves.
|
|
13
|
+
*/
|
|
14
|
+
export async function unlinkIAMProvider(request, iamUrl, provider, refresh) {
|
|
15
|
+
const response = await request({
|
|
16
|
+
url: `${iamUrl}/api/iam/v1/me/providers/${encodeURIComponent(provider)}`,
|
|
17
|
+
method: 'DELETE',
|
|
18
|
+
notifyOnError: false,
|
|
19
|
+
});
|
|
20
|
+
if (!response?.success) {
|
|
21
|
+
throw new Error(response?.message || `The ${provider} account could not be unlinked.`);
|
|
22
|
+
}
|
|
23
|
+
await refresh();
|
|
24
|
+
}
|