@vector-im/compound-web 8.3.6 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +33 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/components/ActivityMarker/Pill.cjs +15 -10
- package/dist/components/ActivityMarker/Pill.cjs.map +1 -1
- package/dist/components/ActivityMarker/Pill.js +13 -10
- package/dist/components/ActivityMarker/Pill.js.map +1 -1
- package/dist/components/ActivityMarker/Pill.module.cjs +5 -0
- package/dist/components/ActivityMarker/Pill.module.cjs.map +1 -0
- package/dist/components/ActivityMarker/Pill.module.js +5 -0
- package/dist/components/ActivityMarker/Pill.module.js.map +1 -0
- package/dist/components/ActivityMarker/Unread.cjs +14 -6
- package/dist/components/ActivityMarker/Unread.cjs.map +1 -1
- package/dist/components/ActivityMarker/Unread.js +12 -6
- package/dist/components/ActivityMarker/Unread.js.map +1 -1
- package/dist/components/ActivityMarker/Unread.module.cjs +5 -0
- package/dist/components/ActivityMarker/Unread.module.cjs.map +1 -0
- package/dist/components/ActivityMarker/Unread.module.js +5 -0
- package/dist/components/ActivityMarker/Unread.module.js.map +1 -0
- package/dist/components/ActivityMarker/UnreadCounter.cjs +18 -8
- package/dist/components/ActivityMarker/UnreadCounter.cjs.map +1 -1
- package/dist/components/ActivityMarker/UnreadCounter.js +16 -8
- package/dist/components/ActivityMarker/UnreadCounter.js.map +1 -1
- package/dist/components/ActivityMarker/UnreadCounter.module.cjs +6 -0
- package/dist/components/ActivityMarker/UnreadCounter.module.cjs.map +1 -0
- package/dist/components/ActivityMarker/UnreadCounter.module.js +6 -0
- package/dist/components/ActivityMarker/UnreadCounter.module.js.map +1 -0
- package/dist/components/Alert/Alert.cjs +72 -61
- package/dist/components/Alert/Alert.cjs.map +1 -1
- package/dist/components/Alert/Alert.js +60 -56
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/Alert.module.cjs +18 -0
- package/dist/components/Alert/Alert.module.cjs.map +1 -0
- package/dist/components/Alert/Alert.module.js +18 -0
- package/dist/components/Alert/Alert.module.js.map +1 -0
- package/dist/components/Avatar/Avatar.cjs +48 -55
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.js +44 -54
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.module.cjs +11 -0
- package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.js +11 -0
- package/dist/components/Avatar/Avatar.module.js.map +1 -0
- package/dist/components/Avatar/AvatarStack.cjs +50 -27
- package/dist/components/Avatar/AvatarStack.cjs.map +1 -1
- package/dist/components/Avatar/AvatarStack.js +46 -26
- package/dist/components/Avatar/AvatarStack.js.map +1 -1
- package/dist/components/Avatar/avatar-clip.mask.cjs +6 -0
- package/dist/components/Avatar/avatar-clip.mask.cjs.map +1 -0
- package/dist/components/Avatar/avatar-clip.mask.js +6 -0
- package/dist/components/Avatar/avatar-clip.mask.js.map +1 -0
- package/dist/components/Avatar/useIdColorHash.cjs +13 -9
- package/dist/components/Avatar/useIdColorHash.cjs.map +1 -1
- package/dist/components/Avatar/useIdColorHash.js +14 -10
- package/dist/components/Avatar/useIdColorHash.js.map +1 -1
- package/dist/components/Badge/Badge.cjs +24 -24
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.js +21 -24
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.module.cjs +5 -0
- package/dist/components/Badge/Badge.module.cjs.map +1 -0
- package/dist/components/Badge/Badge.module.js +5 -0
- package/dist/components/Badge/Badge.module.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.cjs +56 -54
- package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +51 -53
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.module.cjs +9 -0
- package/dist/components/Breadcrumb/Breadcrumb.module.cjs.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.module.js +9 -0
- package/dist/components/Breadcrumb/Breadcrumb.module.js.map +1 -0
- package/dist/components/Button/Button.cjs +40 -52
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.js +36 -51
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.module.cjs +13 -0
- package/dist/components/Button/Button.module.cjs.map +1 -0
- package/dist/components/Button/Button.module.js +13 -0
- package/dist/components/Button/Button.module.js.map +1 -0
- package/dist/components/Button/IconButton/IconButton.cjs +43 -52
- package/dist/components/Button/IconButton/IconButton.cjs.map +1 -1
- package/dist/components/Button/IconButton/IconButton.js +38 -50
- package/dist/components/Button/IconButton/IconButton.js.map +1 -1
- package/dist/components/Button/IconButton/IconButton.module.cjs +11 -0
- package/dist/components/Button/IconButton/IconButton.module.cjs.map +1 -0
- package/dist/components/Button/IconButton/IconButton.module.js +11 -0
- package/dist/components/Button/IconButton/IconButton.module.js.map +1 -0
- package/dist/components/Button/UnstyledButton.cjs +36 -45
- package/dist/components/Button/UnstyledButton.cjs.map +1 -1
- package/dist/components/Button/UnstyledButton.js +34 -45
- package/dist/components/Button/UnstyledButton.js.map +1 -1
- package/dist/components/ChatFilter/ChatFilter.cjs +23 -20
- package/dist/components/ChatFilter/ChatFilter.cjs.map +1 -1
- package/dist/components/ChatFilter/ChatFilter.js +21 -20
- package/dist/components/ChatFilter/ChatFilter.js.map +1 -1
- package/dist/components/ChatFilter/ChatFilter.module.cjs +6 -0
- package/dist/components/ChatFilter/ChatFilter.module.cjs.map +1 -0
- package/dist/components/ChatFilter/ChatFilter.module.js +6 -0
- package/dist/components/ChatFilter/ChatFilter.module.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.cjs +231 -249
- package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/components/Dropdown/Dropdown.js +225 -249
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.module.cjs +13 -0
- package/dist/components/Dropdown/Dropdown.module.cjs.map +1 -0
- package/dist/components/Dropdown/Dropdown.module.js +13 -0
- package/dist/components/Dropdown/Dropdown.module.js.map +1 -0
- package/dist/components/Form/Controls/Action/Action.cjs +51 -31
- package/dist/components/Form/Controls/Action/Action.cjs.map +1 -1
- package/dist/components/Form/Controls/Action/Action.js +46 -30
- package/dist/components/Form/Controls/Action/Action.js.map +1 -1
- package/dist/components/Form/Controls/Action/Action.module.cjs +9 -0
- package/dist/components/Form/Controls/Action/Action.module.cjs.map +1 -0
- package/dist/components/Form/Controls/Action/Action.module.js +9 -0
- package/dist/components/Form/Controls/Action/Action.module.js.map +1 -0
- package/dist/components/Form/Controls/Checkbox/Checkbox.cjs +42 -20
- package/dist/components/Form/Controls/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Form/Controls/Checkbox/Checkbox.js +36 -19
- package/dist/components/Form/Controls/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs +9 -0
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs.map +1 -0
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.js +9 -0
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.js.map +1 -0
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs +171 -203
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs.map +1 -1
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.js +166 -202
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.js.map +1 -1
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs +8 -0
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs.map +1 -0
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js +8 -0
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js.map +1 -0
- package/dist/components/Form/Controls/MFA/MFA.cjs +60 -65
- package/dist/components/Form/Controls/MFA/MFA.cjs.map +1 -1
- package/dist/components/Form/Controls/MFA/MFA.js +56 -65
- package/dist/components/Form/Controls/MFA/MFA.js.map +1 -1
- package/dist/components/Form/Controls/MFA/MFA.module.cjs +9 -0
- package/dist/components/Form/Controls/MFA/MFA.module.cjs.map +1 -0
- package/dist/components/Form/Controls/MFA/MFA.module.js +9 -0
- package/dist/components/Form/Controls/MFA/MFA.module.js.map +1 -0
- package/dist/components/Form/Controls/Password/Password.cjs +52 -37
- package/dist/components/Form/Controls/Password/Password.cjs.map +1 -1
- package/dist/components/Form/Controls/Password/Password.js +45 -35
- package/dist/components/Form/Controls/Password/Password.js.map +1 -1
- package/dist/components/Form/Controls/Radio/Radio.cjs +33 -16
- package/dist/components/Form/Controls/Radio/Radio.cjs.map +1 -1
- package/dist/components/Form/Controls/Radio/Radio.js +28 -15
- package/dist/components/Form/Controls/Radio/Radio.js.map +1 -1
- package/dist/components/Form/Controls/Radio/Radio.module.cjs +9 -0
- package/dist/components/Form/Controls/Radio/Radio.module.cjs.map +1 -0
- package/dist/components/Form/Controls/Radio/Radio.module.js +9 -0
- package/dist/components/Form/Controls/Radio/Radio.module.js.map +1 -0
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs +47 -29
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs.map +1 -1
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js +43 -28
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js.map +1 -1
- package/dist/components/Form/Controls/Text/Text.cjs +34 -18
- package/dist/components/Form/Controls/Text/Text.cjs.map +1 -1
- package/dist/components/Form/Controls/Text/Text.js +30 -18
- package/dist/components/Form/Controls/Text/Text.js.map +1 -1
- package/dist/components/Form/Controls/Text/Text.module.cjs +8 -0
- package/dist/components/Form/Controls/Text/Text.module.cjs.map +1 -0
- package/dist/components/Form/Controls/Text/Text.module.js +8 -0
- package/dist/components/Form/Controls/Text/Text.module.js.map +1 -0
- package/dist/components/Form/Controls/Toggle/Toggle.cjs +37 -25
- package/dist/components/Form/Controls/Toggle/Toggle.cjs.map +1 -1
- package/dist/components/Form/Controls/Toggle/Toggle.js +32 -24
- package/dist/components/Form/Controls/Toggle/Toggle.js.map +1 -1
- package/dist/components/Form/Controls/Toggle/Toggle.module.cjs +9 -0
- package/dist/components/Form/Controls/Toggle/Toggle.module.cjs.map +1 -0
- package/dist/components/Form/Controls/Toggle/Toggle.module.js +9 -0
- package/dist/components/Form/Controls/Toggle/Toggle.module.js.map +1 -0
- package/dist/components/Form/Field.cjs +25 -14
- package/dist/components/Form/Field.cjs.map +1 -1
- package/dist/components/Form/Field.js +22 -14
- package/dist/components/Form/Field.js.map +1 -1
- package/dist/components/Form/InlineField.cjs +27 -17
- package/dist/components/Form/InlineField.cjs.map +1 -1
- package/dist/components/Form/InlineField.js +23 -16
- package/dist/components/Form/InlineField.js.map +1 -1
- package/dist/components/Form/Label.cjs +24 -11
- package/dist/components/Form/Label.cjs.map +1 -1
- package/dist/components/Form/Label.js +21 -11
- package/dist/components/Form/Label.js.map +1 -1
- package/dist/components/Form/Message.cjs +61 -40
- package/dist/components/Form/Message.cjs.map +1 -1
- package/dist/components/Form/Message.js +54 -41
- package/dist/components/Form/Message.js.map +1 -1
- package/dist/components/Form/Root.cjs +25 -14
- package/dist/components/Form/Root.cjs.map +1 -1
- package/dist/components/Form/Root.js +22 -14
- package/dist/components/Form/Root.js.map +1 -1
- package/dist/components/Form/Submit.cjs +23 -12
- package/dist/components/Form/Submit.cjs.map +1 -1
- package/dist/components/Form/Submit.js +21 -12
- package/dist/components/Form/Submit.js.map +1 -1
- package/dist/components/Form/form.module.cjs +21 -0
- package/dist/components/Form/form.module.cjs.map +1 -0
- package/dist/components/Form/form.module.js +21 -0
- package/dist/components/Form/form.module.js.map +1 -0
- package/dist/components/Form/index.cjs +55 -51
- package/dist/components/Form/index.cjs.map +1 -1
- package/dist/components/Form/index.js +44 -39
- package/dist/components/Form/index.js.map +1 -1
- package/dist/components/Glass/Glass.cjs +20 -10
- package/dist/components/Glass/Glass.cjs.map +1 -1
- package/dist/components/Glass/Glass.js +17 -10
- package/dist/components/Glass/Glass.js.map +1 -1
- package/dist/components/Glass/Glass.module.cjs +5 -0
- package/dist/components/Glass/Glass.module.cjs.map +1 -0
- package/dist/components/Glass/Glass.module.js +5 -0
- package/dist/components/Glass/Glass.module.js.map +1 -0
- package/dist/components/Icon/BigIcon/BigIcon.cjs +18 -25
- package/dist/components/Icon/BigIcon/BigIcon.cjs.map +1 -1
- package/dist/components/Icon/BigIcon/BigIcon.js +15 -25
- package/dist/components/Icon/BigIcon/BigIcon.js.map +1 -1
- package/dist/components/Icon/BigIcon/BigIcon.module.cjs +6 -0
- package/dist/components/Icon/BigIcon/BigIcon.module.cjs.map +1 -0
- package/dist/components/Icon/BigIcon/BigIcon.module.js +6 -0
- package/dist/components/Icon/BigIcon/BigIcon.module.js.map +1 -0
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs +22 -22
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs.map +1 -1
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js +19 -22
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js.map +1 -1
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs +6 -0
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs.map +1 -0
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js +6 -0
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js.map +1 -0
- package/dist/components/InlineSpinner/InlineSpinner.cjs +24 -21
- package/dist/components/InlineSpinner/InlineSpinner.cjs.map +1 -1
- package/dist/components/InlineSpinner/InlineSpinner.js +19 -20
- package/dist/components/InlineSpinner/InlineSpinner.js.map +1 -1
- package/dist/components/InlineSpinner/InlineSpinner.module.cjs +8 -0
- package/dist/components/InlineSpinner/InlineSpinner.module.cjs.map +1 -0
- package/dist/components/InlineSpinner/InlineSpinner.module.js +8 -0
- package/dist/components/InlineSpinner/InlineSpinner.module.js.map +1 -0
- package/dist/components/Link/Link.cjs +25 -23
- package/dist/components/Link/Link.cjs.map +1 -1
- package/dist/components/Link/Link.js +22 -23
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/Link/Link.module.cjs +5 -0
- package/dist/components/Link/Link.module.cjs.map +1 -0
- package/dist/components/Link/Link.module.js +5 -0
- package/dist/components/Link/Link.module.js.map +1 -0
- package/dist/components/Menu/CheckboxMenuItem.cjs +37 -39
- package/dist/components/Menu/CheckboxMenuItem.cjs.map +1 -1
- package/dist/components/Menu/CheckboxMenuItem.js +34 -38
- package/dist/components/Menu/CheckboxMenuItem.js.map +1 -1
- package/dist/components/Menu/ContextMenu.cjs +71 -62
- package/dist/components/Menu/ContextMenu.cjs.map +1 -1
- package/dist/components/Menu/ContextMenu.js +66 -60
- package/dist/components/Menu/ContextMenu.js.map +1 -1
- package/dist/components/Menu/DrawerMenu.cjs +27 -22
- package/dist/components/Menu/DrawerMenu.cjs.map +1 -1
- package/dist/components/Menu/DrawerMenu.js +23 -21
- package/dist/components/Menu/DrawerMenu.js.map +1 -1
- package/dist/components/Menu/DrawerMenu.module.cjs +9 -0
- package/dist/components/Menu/DrawerMenu.module.cjs.map +1 -0
- package/dist/components/Menu/DrawerMenu.module.js +9 -0
- package/dist/components/Menu/DrawerMenu.module.js.map +1 -0
- package/dist/components/Menu/FloatingMenu.cjs +31 -28
- package/dist/components/Menu/FloatingMenu.cjs.map +1 -1
- package/dist/components/Menu/FloatingMenu.js +27 -27
- package/dist/components/Menu/FloatingMenu.js.map +1 -1
- package/dist/components/Menu/FloatingMenu.module.cjs +14 -0
- package/dist/components/Menu/FloatingMenu.module.cjs.map +1 -0
- package/dist/components/Menu/FloatingMenu.module.js +14 -0
- package/dist/components/Menu/FloatingMenu.module.js.map +1 -0
- package/dist/components/Menu/Menu.cjs +68 -47
- package/dist/components/Menu/Menu.cjs.map +1 -1
- package/dist/components/Menu/Menu.js +63 -45
- package/dist/components/Menu/Menu.js.map +1 -1
- package/dist/components/Menu/MenuContext.cjs +10 -5
- package/dist/components/Menu/MenuContext.cjs.map +1 -1
- package/dist/components/Menu/MenuContext.js +10 -5
- package/dist/components/Menu/MenuContext.js.map +1 -1
- package/dist/components/Menu/MenuItem.cjs +83 -95
- package/dist/components/Menu/MenuItem.cjs.map +1 -1
- package/dist/components/Menu/MenuItem.js +77 -93
- package/dist/components/Menu/MenuItem.js.map +1 -1
- package/dist/components/Menu/MenuItem.module.cjs +20 -0
- package/dist/components/Menu/MenuItem.module.cjs.map +1 -0
- package/dist/components/Menu/MenuItem.module.js +20 -0
- package/dist/components/Menu/MenuItem.module.js.map +1 -0
- package/dist/components/Menu/MenuTitle.cjs +21 -14
- package/dist/components/Menu/MenuTitle.cjs.map +1 -1
- package/dist/components/Menu/MenuTitle.js +17 -13
- package/dist/components/Menu/MenuTitle.js.map +1 -1
- package/dist/components/Menu/MenuTitle.module.cjs +6 -0
- package/dist/components/Menu/MenuTitle.module.cjs.map +1 -0
- package/dist/components/Menu/MenuTitle.module.js +6 -0
- package/dist/components/Menu/MenuTitle.module.js.map +1 -0
- package/dist/components/Menu/RadioMenuItem.cjs +35 -37
- package/dist/components/Menu/RadioMenuItem.cjs.map +1 -1
- package/dist/components/Menu/RadioMenuItem.js +32 -36
- package/dist/components/Menu/RadioMenuItem.js.map +1 -1
- package/dist/components/Menu/ToggleMenuItem.cjs +39 -41
- package/dist/components/Menu/ToggleMenuItem.cjs.map +1 -1
- package/dist/components/Menu/ToggleMenuItem.js +36 -40
- package/dist/components/Menu/ToggleMenuItem.js.map +1 -1
- package/dist/components/Nav/Nav.module.cjs +11 -0
- package/dist/components/Nav/Nav.module.cjs.map +1 -0
- package/dist/components/Nav/Nav.module.js +11 -0
- package/dist/components/Nav/Nav.module.js.map +1 -0
- package/dist/components/Nav/NavBar.cjs +47 -28
- package/dist/components/Nav/NavBar.cjs.map +1 -1
- package/dist/components/Nav/NavBar.js +44 -28
- package/dist/components/Nav/NavBar.js.map +1 -1
- package/dist/components/Nav/NavItem.cjs +70 -72
- package/dist/components/Nav/NavItem.cjs.map +1 -1
- package/dist/components/Nav/NavItem.js +68 -72
- package/dist/components/Nav/NavItem.js.map +1 -1
- package/dist/components/Progress/Progress.cjs +43 -56
- package/dist/components/Progress/Progress.cjs.map +1 -1
- package/dist/components/Progress/Progress.js +40 -56
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Progress/Progress.module.cjs +11 -0
- package/dist/components/Progress/Progress.module.cjs.map +1 -0
- package/dist/components/Progress/Progress.module.js +11 -0
- package/dist/components/Progress/Progress.module.js.map +1 -0
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs +108 -115
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs.map +1 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js +105 -114
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js.map +1 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs +11 -0
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs.map +1 -0
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js +11 -0
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js.map +1 -0
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs +16 -12
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs.map +1 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js +15 -13
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js.map +1 -1
- package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs +52 -62
- package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs.map +1 -1
- package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js +52 -63
- package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js.map +1 -1
- package/dist/components/Search/Search.cjs +43 -36
- package/dist/components/Search/Search.cjs.map +1 -1
- package/dist/components/Search/Search.js +37 -34
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Search/Search.module.cjs +9 -0
- package/dist/components/Search/Search.module.cjs.map +1 -0
- package/dist/components/Search/Search.module.js +9 -0
- package/dist/components/Search/Search.module.js.map +1 -0
- package/dist/components/Separator/Separator.cjs +34 -57
- package/dist/components/Separator/Separator.cjs.map +1 -1
- package/dist/components/Separator/Separator.js +29 -39
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/Separator/Separator.module.cjs +5 -0
- package/dist/components/Separator/Separator.module.cjs.map +1 -0
- package/dist/components/Separator/Separator.module.js +5 -0
- package/dist/components/Separator/Separator.module.js.map +1 -0
- package/dist/components/Toast/Toast.cjs +19 -10
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.js +15 -9
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.module.cjs +6 -0
- package/dist/components/Toast/Toast.module.cjs.map +1 -0
- package/dist/components/Toast/Toast.module.js +6 -0
- package/dist/components/Toast/Toast.module.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +103 -118
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +99 -117
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.module.cjs +10 -0
- package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.js +10 -0
- package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
- package/dist/components/Tooltip/TooltipContext.cjs +16 -10
- package/dist/components/Tooltip/TooltipContext.cjs.map +1 -1
- package/dist/components/Tooltip/TooltipContext.js +15 -11
- package/dist/components/Tooltip/TooltipContext.js.map +1 -1
- package/dist/components/Tooltip/TooltipProvider.cjs +22 -7
- package/dist/components/Tooltip/TooltipProvider.cjs.map +1 -1
- package/dist/components/Tooltip/TooltipProvider.js +19 -7
- package/dist/components/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/Tooltip/useTooltip.cjs +112 -139
- package/dist/components/Tooltip/useTooltip.cjs.map +1 -1
- package/dist/components/Tooltip/useTooltip.js +111 -139
- package/dist/components/Tooltip/useTooltip.js.map +1 -1
- package/dist/components/Typography/Body.cjs +17 -10
- package/dist/components/Typography/Body.cjs.map +1 -1
- package/dist/components/Typography/Body.js +15 -10
- package/dist/components/Typography/Body.js.map +1 -1
- package/dist/components/Typography/Heading.cjs +92 -20
- package/dist/components/Typography/Heading.cjs.map +1 -1
- package/dist/components/Typography/Heading.js +89 -25
- package/dist/components/Typography/Heading.js.map +1 -1
- package/dist/components/Typography/Text.cjs +20 -7
- package/dist/components/Typography/Text.cjs.map +1 -1
- package/dist/components/Typography/Text.js +18 -7
- package/dist/components/Typography/Text.js.map +1 -1
- package/dist/components/Typography/Typography.cjs +17 -28
- package/dist/components/Typography/Typography.cjs.map +1 -1
- package/dist/components/Typography/Typography.js +14 -28
- package/dist/components/Typography/Typography.js.map +1 -1
- package/dist/components/Typography/Typography.module.cjs +30 -0
- package/dist/components/Typography/Typography.module.cjs.map +1 -0
- package/dist/components/Typography/Typography.module.js +30 -0
- package/dist/components/Typography/Typography.module.js.map +1 -0
- package/dist/components/VisualList/VisualList.cjs +20 -12
- package/dist/components/VisualList/VisualList.cjs.map +1 -1
- package/dist/components/VisualList/VisualList.js +17 -12
- package/dist/components/VisualList/VisualList.js.map +1 -1
- package/dist/components/VisualList/VisualList.module.cjs +6 -0
- package/dist/components/VisualList/VisualList.module.cjs.map +1 -0
- package/dist/components/VisualList/VisualList.module.js +6 -0
- package/dist/components/VisualList/VisualList.module.js.map +1 -0
- package/dist/components/VisualList/VisualListItem.cjs +28 -36
- package/dist/components/VisualList/VisualListItem.cjs.map +1 -1
- package/dist/components/VisualList/VisualListItem.js +25 -36
- package/dist/components/VisualList/VisualListItem.js.map +1 -1
- package/dist/components/VisualList/VisualListItem.module.cjs +11 -0
- package/dist/components/VisualList/VisualListItem.module.cjs.map +1 -0
- package/dist/components/VisualList/VisualListItem.module.js +11 -0
- package/dist/components/VisualList/VisualListItem.module.js.map +1 -0
- package/dist/index.cjs +147 -139
- package/dist/index.js +32 -112
- package/dist/src/components/ActivityMarker/Pill.d.ts.map +1 -0
- package/dist/src/components/ActivityMarker/Unread.d.ts.map +1 -0
- package/dist/src/components/ActivityMarker/UnreadCounter.d.ts.map +1 -0
- package/dist/src/components/ActivityMarker/index.d.ts.map +1 -0
- package/dist/src/components/Alert/Alert.d.ts.map +1 -0
- package/dist/src/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/src/components/Avatar/AvatarStack.d.ts.map +1 -0
- package/dist/src/components/Avatar/useIdColorHash.d.ts.map +1 -0
- package/dist/src/components/Badge/Badge.d.ts.map +1 -0
- package/dist/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/src/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/{components → src/components}/Button/Button.d.ts +2 -1
- package/dist/src/components/Button/Button.d.ts.map +1 -0
- package/dist/src/components/Button/IconButton/IconButton.d.ts.map +1 -0
- package/dist/src/components/Button/UnstyledButton.d.ts.map +1 -0
- package/dist/src/components/Button/index.d.ts.map +1 -0
- package/dist/src/components/ChatFilter/ChatFilter.d.ts.map +1 -0
- package/dist/src/components/ChatFilter/index.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/src/components/Dropdown/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Action/Action.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Action/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Checkbox/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/EditInPlace/EditInPlace.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/EditInPlace/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/MFA/MFA.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/MFA/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Password/Password.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Password/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Radio/Radio.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Radio/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/SettingsToggle/SettingsToggle.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/SettingsToggle/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Text/Text.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Text/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Toggle/Toggle.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/Toggle/index.d.ts.map +1 -0
- package/dist/src/components/Form/Controls/index.d.ts.map +1 -0
- package/dist/src/components/Form/Field.d.ts.map +1 -0
- package/dist/src/components/Form/InlineField.d.ts.map +1 -0
- package/dist/src/components/Form/Label.d.ts.map +1 -0
- package/dist/src/components/Form/Message.d.ts.map +1 -0
- package/dist/src/components/Form/Root.d.ts.map +1 -0
- package/dist/src/components/Form/Submit.d.ts.map +1 -0
- package/dist/src/components/Form/index.d.ts.map +1 -0
- package/dist/src/components/Glass/Glass.d.ts.map +1 -0
- package/dist/src/components/Icon/BigIcon/BigIcon.d.ts +21 -0
- package/dist/src/components/Icon/BigIcon/BigIcon.d.ts.map +1 -0
- package/dist/src/components/Icon/BigIcon/index.d.ts.map +1 -0
- package/dist/src/components/Icon/IndicatorIcon/IndicatorIcon.d.ts.map +1 -0
- package/dist/src/components/InlineSpinner/InlineSpinner.d.ts.map +1 -0
- package/dist/src/components/InlineSpinner/index.d.ts.map +1 -0
- package/dist/{components → src/components}/Link/Link.d.ts +5 -4
- package/dist/src/components/Link/Link.d.ts.map +1 -0
- package/dist/src/components/Menu/CheckboxMenuItem.d.ts.map +1 -0
- package/dist/src/components/Menu/ContextMenu.d.ts.map +1 -0
- package/dist/src/components/Menu/DrawerMenu.d.ts.map +1 -0
- package/dist/src/components/Menu/FloatingMenu.d.ts.map +1 -0
- package/dist/{components → src/components}/Menu/Menu.d.ts +4 -0
- package/dist/src/components/Menu/Menu.d.ts.map +1 -0
- package/dist/src/components/Menu/MenuContext.d.ts.map +1 -0
- package/dist/src/components/Menu/MenuItem.d.ts.map +1 -0
- package/dist/src/components/Menu/MenuTitle.d.ts.map +1 -0
- package/dist/src/components/Menu/RadioMenuItem.d.ts.map +1 -0
- package/dist/src/components/Menu/ToggleMenuItem.d.ts.map +1 -0
- package/dist/src/components/Nav/NavBar.d.ts.map +1 -0
- package/dist/src/components/Nav/NavItem.d.ts.map +1 -0
- package/dist/src/components/Nav/index.d.ts.map +1 -0
- package/dist/src/components/PageHeader/PageHeader.d.ts +19 -0
- package/dist/src/components/PageHeader/PageHeader.d.ts.map +1 -0
- package/dist/{components → src/components}/Progress/Progress.d.ts +2 -1
- package/dist/src/components/Progress/Progress.d.ts.map +1 -0
- package/dist/src/components/ReleaseAnnouncement/ReleaseAnnouncement.d.ts.map +1 -0
- package/dist/src/components/ReleaseAnnouncement/ReleaseAnnouncementContext.d.ts.map +1 -0
- package/dist/src/components/ReleaseAnnouncement/index.d.ts.map +1 -0
- package/dist/src/components/ReleaseAnnouncement/useReleaseAnnouncement.d.ts.map +1 -0
- package/dist/src/components/Search/Search.d.ts.map +1 -0
- package/dist/src/components/Separator/Separator.d.ts.map +1 -0
- package/dist/src/components/Toast/Toast.d.ts.map +1 -0
- package/dist/src/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/src/components/Tooltip/TooltipContext.d.ts.map +1 -0
- package/dist/src/components/Tooltip/TooltipProvider.d.ts.map +1 -0
- package/dist/src/components/Tooltip/useTooltip.d.ts.map +1 -0
- package/dist/src/components/Typography/Body.d.ts.map +1 -0
- package/dist/{components → src/components}/Typography/Heading.d.ts +2 -1
- package/dist/src/components/Typography/Heading.d.ts.map +1 -0
- package/dist/{components → src/components}/Typography/Text.d.ts +2 -1
- package/dist/src/components/Typography/Text.d.ts.map +1 -0
- package/dist/{components → src/components}/Typography/Typography.d.ts +2 -1
- package/dist/src/components/Typography/Typography.d.ts.map +1 -0
- package/dist/src/components/VisualList/VisualList.d.ts.map +1 -0
- package/dist/src/components/VisualList/VisualListItem.d.ts.map +1 -0
- package/dist/src/components/VisualList/index.d.ts.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/setupTests.d.ts.map +1 -0
- package/dist/src/utils/__ComponentTemplate__/__ComponentTemplate__.d.ts.map +1 -0
- package/dist/src/utils/platform.d.ts.map +1 -0
- package/dist/src/utils/size.d.ts +5 -0
- package/dist/src/utils/size.d.ts.map +1 -0
- package/dist/src/utils/string.d.ts.map +1 -0
- package/dist/style.css +1630 -1622
- package/dist/utils/platform.cjs +12 -11
- package/dist/utils/platform.cjs.map +1 -1
- package/dist/utils/platform.js +13 -12
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/string.cjs +19 -19
- package/dist/utils/string.cjs.map +1 -1
- package/dist/utils/string.js +20 -20
- package/dist/utils/string.js.map +1 -1
- package/package.json +16 -16
- package/src/components/Avatar/Avatar.module.css +1 -1
- package/src/components/Avatar/avatar-clip.mask.svg +2 -6
- package/src/components/Breadcrumb/Breadcrumb.module.css +1 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +1 -1
- package/src/components/Button/Button.tsx +2 -1
- package/src/components/Dropdown/Dropdown.module.css +1 -1
- package/src/components/Form/Controls/EditInPlace/EditInPlace.tsx +1 -1
- package/src/components/Icon/BigIcon/BigIcon.module.css +11 -8
- package/src/components/Icon/BigIcon/BigIcon.tsx +11 -18
- package/src/components/Link/Link.module.css +5 -1
- package/src/components/Link/Link.tsx +6 -5
- package/src/components/Menu/Menu.tsx +11 -1
- package/src/components/Nav/Nav.module.css +1 -1
- package/src/components/PageHeader/PageHeader.module.css +41 -0
- package/src/components/PageHeader/PageHeader.tsx +67 -0
- package/src/components/Progress/Progress.tsx +2 -1
- package/src/components/Separator/Separator.module.css +2 -2
- package/src/components/Typography/Heading.tsx +2 -1
- package/src/components/Typography/Text.tsx +2 -1
- package/src/components/Typography/Typography.tsx +2 -1
- package/src/components/VisualList/VisualList.module.css +1 -1
- package/src/utils/size.ts +11 -0
- package/dist/components/ActivityMarker/Pill.d.ts.map +0 -1
- package/dist/components/ActivityMarker/Pill.module.css.cjs +0 -9
- package/dist/components/ActivityMarker/Pill.module.css.cjs.map +0 -1
- package/dist/components/ActivityMarker/Pill.module.css.js +0 -9
- package/dist/components/ActivityMarker/Pill.module.css.js.map +0 -1
- package/dist/components/ActivityMarker/Unread.d.ts.map +0 -1
- package/dist/components/ActivityMarker/Unread.module.css.cjs +0 -9
- package/dist/components/ActivityMarker/Unread.module.css.cjs.map +0 -1
- package/dist/components/ActivityMarker/Unread.module.css.js +0 -9
- package/dist/components/ActivityMarker/Unread.module.css.js.map +0 -1
- package/dist/components/ActivityMarker/UnreadCounter.d.ts.map +0 -1
- package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs +0 -7
- package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs.map +0 -1
- package/dist/components/ActivityMarker/UnreadCounter.module.css.js +0 -7
- package/dist/components/ActivityMarker/UnreadCounter.module.css.js.map +0 -1
- package/dist/components/ActivityMarker/index.d.ts.map +0 -1
- package/dist/components/Alert/Alert.d.ts.map +0 -1
- package/dist/components/Alert/Alert.module.css.cjs +0 -19
- package/dist/components/Alert/Alert.module.css.cjs.map +0 -1
- package/dist/components/Alert/Alert.module.css.js +0 -19
- package/dist/components/Alert/Alert.module.css.js.map +0 -1
- package/dist/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.module.css.cjs +0 -15
- package/dist/components/Avatar/Avatar.module.css.cjs.map +0 -1
- package/dist/components/Avatar/Avatar.module.css.js +0 -15
- package/dist/components/Avatar/Avatar.module.css.js.map +0 -1
- package/dist/components/Avatar/AvatarStack.d.ts.map +0 -1
- package/dist/components/Avatar/avatar-clip.mask.svg.cjs +0 -5
- package/dist/components/Avatar/avatar-clip.mask.svg.cjs.map +0 -1
- package/dist/components/Avatar/avatar-clip.mask.svg.js +0 -5
- package/dist/components/Avatar/avatar-clip.mask.svg.js.map +0 -1
- package/dist/components/Avatar/useIdColorHash.d.ts.map +0 -1
- package/dist/components/Badge/Badge.d.ts.map +0 -1
- package/dist/components/Badge/Badge.module.css.cjs +0 -9
- package/dist/components/Badge/Badge.module.css.cjs.map +0 -1
- package/dist/components/Badge/Badge.module.css.js +0 -9
- package/dist/components/Badge/Badge.module.css.js.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +0 -13
- package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.module.css.js +0 -13
- package/dist/components/Breadcrumb/Breadcrumb.module.css.js.map +0 -1
- package/dist/components/Breadcrumb/index.d.ts.map +0 -1
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/Button.module.css.cjs +0 -14
- package/dist/components/Button/Button.module.css.cjs.map +0 -1
- package/dist/components/Button/Button.module.css.js +0 -14
- package/dist/components/Button/Button.module.css.js.map +0 -1
- package/dist/components/Button/IconButton/IconButton.d.ts.map +0 -1
- package/dist/components/Button/IconButton/IconButton.module.css.cjs +0 -11
- package/dist/components/Button/IconButton/IconButton.module.css.cjs.map +0 -1
- package/dist/components/Button/IconButton/IconButton.module.css.js +0 -11
- package/dist/components/Button/IconButton/IconButton.module.css.js.map +0 -1
- package/dist/components/Button/UnstyledButton.d.ts.map +0 -1
- package/dist/components/Button/index.d.ts.map +0 -1
- package/dist/components/ChatFilter/ChatFilter.d.ts.map +0 -1
- package/dist/components/ChatFilter/ChatFilter.module.css.cjs +0 -7
- package/dist/components/ChatFilter/ChatFilter.module.css.cjs.map +0 -1
- package/dist/components/ChatFilter/ChatFilter.module.css.js +0 -7
- package/dist/components/ChatFilter/ChatFilter.module.css.js.map +0 -1
- package/dist/components/ChatFilter/index.d.ts.map +0 -1
- package/dist/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/components/Dropdown/Dropdown.module.css.cjs +0 -27
- package/dist/components/Dropdown/Dropdown.module.css.cjs.map +0 -1
- package/dist/components/Dropdown/Dropdown.module.css.js +0 -27
- package/dist/components/Dropdown/Dropdown.module.css.js.map +0 -1
- package/dist/components/Dropdown/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Action/Action.d.ts.map +0 -1
- package/dist/components/Form/Controls/Action/Action.module.css.cjs +0 -15
- package/dist/components/Form/Controls/Action/Action.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/Action/Action.module.css.js +0 -15
- package/dist/components/Form/Controls/Action/Action.module.css.js.map +0 -1
- package/dist/components/Form/Controls/Action/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs +0 -15
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js +0 -15
- package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js.map +0 -1
- package/dist/components/Form/Controls/Checkbox/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.d.ts.map +0 -1
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs +0 -10
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js +0 -10
- package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js.map +0 -1
- package/dist/components/Form/Controls/EditInPlace/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/MFA/MFA.d.ts.map +0 -1
- package/dist/components/Form/Controls/MFA/MFA.module.css.cjs +0 -15
- package/dist/components/Form/Controls/MFA/MFA.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/MFA/MFA.module.css.js +0 -15
- package/dist/components/Form/Controls/MFA/MFA.module.css.js.map +0 -1
- package/dist/components/Form/Controls/MFA/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Password/Password.d.ts.map +0 -1
- package/dist/components/Form/Controls/Password/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Radio/Radio.d.ts.map +0 -1
- package/dist/components/Form/Controls/Radio/Radio.module.css.cjs +0 -15
- package/dist/components/Form/Controls/Radio/Radio.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/Radio/Radio.module.css.js +0 -15
- package/dist/components/Form/Controls/Radio/Radio.module.css.js.map +0 -1
- package/dist/components/Form/Controls/Radio/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.d.ts.map +0 -1
- package/dist/components/Form/Controls/SettingsToggle/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Text/Text.d.ts.map +0 -1
- package/dist/components/Form/Controls/Text/Text.module.css.cjs +0 -10
- package/dist/components/Form/Controls/Text/Text.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/Text/Text.module.css.js +0 -10
- package/dist/components/Form/Controls/Text/Text.module.css.js.map +0 -1
- package/dist/components/Form/Controls/Text/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/Toggle/Toggle.d.ts.map +0 -1
- package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs +0 -15
- package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs.map +0 -1
- package/dist/components/Form/Controls/Toggle/Toggle.module.css.js +0 -15
- package/dist/components/Form/Controls/Toggle/Toggle.module.css.js.map +0 -1
- package/dist/components/Form/Controls/Toggle/index.d.ts.map +0 -1
- package/dist/components/Form/Controls/index.d.ts.map +0 -1
- package/dist/components/Form/Field.d.ts.map +0 -1
- package/dist/components/Form/InlineField.d.ts.map +0 -1
- package/dist/components/Form/Label.d.ts.map +0 -1
- package/dist/components/Form/Message.d.ts.map +0 -1
- package/dist/components/Form/Root.d.ts.map +0 -1
- package/dist/components/Form/Submit.d.ts.map +0 -1
- package/dist/components/Form/form.module.css.cjs +0 -24
- package/dist/components/Form/form.module.css.cjs.map +0 -1
- package/dist/components/Form/form.module.css.js +0 -24
- package/dist/components/Form/form.module.css.js.map +0 -1
- package/dist/components/Form/index.d.ts.map +0 -1
- package/dist/components/Glass/Glass.d.ts.map +0 -1
- package/dist/components/Glass/Glass.module.css.cjs +0 -9
- package/dist/components/Glass/Glass.module.css.cjs.map +0 -1
- package/dist/components/Glass/Glass.module.css.js +0 -9
- package/dist/components/Glass/Glass.module.css.js.map +0 -1
- package/dist/components/Icon/BigIcon/BigIcon.d.ts +0 -25
- package/dist/components/Icon/BigIcon/BigIcon.d.ts.map +0 -1
- package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs +0 -15
- package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs.map +0 -1
- package/dist/components/Icon/BigIcon/BigIcon.module.css.js +0 -15
- package/dist/components/Icon/BigIcon/BigIcon.module.css.js.map +0 -1
- package/dist/components/Icon/BigIcon/index.d.ts.map +0 -1
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.d.ts.map +0 -1
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs +0 -7
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs.map +0 -1
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js +0 -7
- package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js.map +0 -1
- package/dist/components/InlineSpinner/InlineSpinner.d.ts.map +0 -1
- package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs +0 -9
- package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs.map +0 -1
- package/dist/components/InlineSpinner/InlineSpinner.module.css.js +0 -9
- package/dist/components/InlineSpinner/InlineSpinner.module.css.js.map +0 -1
- package/dist/components/InlineSpinner/index.d.ts.map +0 -1
- package/dist/components/Link/Link.d.ts.map +0 -1
- package/dist/components/Link/Link.module.css.cjs +0 -9
- package/dist/components/Link/Link.module.css.cjs.map +0 -1
- package/dist/components/Link/Link.module.css.js +0 -9
- package/dist/components/Link/Link.module.css.js.map +0 -1
- package/dist/components/Menu/CheckboxMenuItem.d.ts.map +0 -1
- package/dist/components/Menu/ContextMenu.d.ts.map +0 -1
- package/dist/components/Menu/DrawerMenu.d.ts.map +0 -1
- package/dist/components/Menu/DrawerMenu.module.css.cjs +0 -15
- package/dist/components/Menu/DrawerMenu.module.css.cjs.map +0 -1
- package/dist/components/Menu/DrawerMenu.module.css.js +0 -15
- package/dist/components/Menu/DrawerMenu.module.css.js.map +0 -1
- package/dist/components/Menu/FloatingMenu.d.ts.map +0 -1
- package/dist/components/Menu/FloatingMenu.module.css.cjs +0 -12
- package/dist/components/Menu/FloatingMenu.module.css.cjs.map +0 -1
- package/dist/components/Menu/FloatingMenu.module.css.js +0 -12
- package/dist/components/Menu/FloatingMenu.module.css.js.map +0 -1
- package/dist/components/Menu/Menu.d.ts.map +0 -1
- package/dist/components/Menu/MenuContext.d.ts.map +0 -1
- package/dist/components/Menu/MenuItem.d.ts.map +0 -1
- package/dist/components/Menu/MenuItem.module.css.cjs +0 -24
- package/dist/components/Menu/MenuItem.module.css.cjs.map +0 -1
- package/dist/components/Menu/MenuItem.module.css.js +0 -24
- package/dist/components/Menu/MenuItem.module.css.js.map +0 -1
- package/dist/components/Menu/MenuTitle.d.ts.map +0 -1
- package/dist/components/Menu/MenuTitle.module.css.cjs +0 -7
- package/dist/components/Menu/MenuTitle.module.css.cjs.map +0 -1
- package/dist/components/Menu/MenuTitle.module.css.js +0 -7
- package/dist/components/Menu/MenuTitle.module.css.js.map +0 -1
- package/dist/components/Menu/RadioMenuItem.d.ts.map +0 -1
- package/dist/components/Menu/ToggleMenuItem.d.ts.map +0 -1
- package/dist/components/Nav/Nav.module.css.cjs +0 -10
- package/dist/components/Nav/Nav.module.css.cjs.map +0 -1
- package/dist/components/Nav/Nav.module.css.js +0 -10
- package/dist/components/Nav/Nav.module.css.js.map +0 -1
- package/dist/components/Nav/NavBar.d.ts.map +0 -1
- package/dist/components/Nav/NavItem.d.ts.map +0 -1
- package/dist/components/Nav/index.d.ts.map +0 -1
- package/dist/components/Progress/Progress.d.ts.map +0 -1
- package/dist/components/Progress/Progress.module.css.cjs +0 -10
- package/dist/components/Progress/Progress.module.css.cjs.map +0 -1
- package/dist/components/Progress/Progress.module.css.js +0 -10
- package/dist/components/Progress/Progress.module.css.js.map +0 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.d.ts.map +0 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs +0 -21
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs.map +0 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js +0 -21
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js.map +0 -1
- package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.d.ts.map +0 -1
- package/dist/components/ReleaseAnnouncement/index.d.ts.map +0 -1
- package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.d.ts.map +0 -1
- package/dist/components/Search/Search.d.ts.map +0 -1
- package/dist/components/Search/Search.module.css.cjs +0 -15
- package/dist/components/Search/Search.module.css.cjs.map +0 -1
- package/dist/components/Search/Search.module.css.js +0 -15
- package/dist/components/Search/Search.module.css.js.map +0 -1
- package/dist/components/Separator/Separator.d.ts.map +0 -1
- package/dist/components/Separator/Separator.module.css.cjs +0 -9
- package/dist/components/Separator/Separator.module.css.cjs.map +0 -1
- package/dist/components/Separator/Separator.module.css.js +0 -9
- package/dist/components/Separator/Separator.module.css.js.map +0 -1
- package/dist/components/Toast/Toast.d.ts.map +0 -1
- package/dist/components/Toast/Toast.module.css.cjs +0 -7
- package/dist/components/Toast/Toast.module.css.cjs.map +0 -1
- package/dist/components/Toast/Toast.module.css.js +0 -7
- package/dist/components/Toast/Toast.module.css.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip/Tooltip.module.css.cjs +0 -18
- package/dist/components/Tooltip/Tooltip.module.css.cjs.map +0 -1
- package/dist/components/Tooltip/Tooltip.module.css.js +0 -18
- package/dist/components/Tooltip/Tooltip.module.css.js.map +0 -1
- package/dist/components/Tooltip/TooltipContext.d.ts.map +0 -1
- package/dist/components/Tooltip/TooltipProvider.d.ts.map +0 -1
- package/dist/components/Tooltip/useTooltip.d.ts.map +0 -1
- package/dist/components/Typography/Body.d.ts.map +0 -1
- package/dist/components/Typography/Heading.d.ts.map +0 -1
- package/dist/components/Typography/Text.d.ts.map +0 -1
- package/dist/components/Typography/Typography.d.ts.map +0 -1
- package/dist/components/Typography/Typography.module.css.cjs +0 -30
- package/dist/components/Typography/Typography.module.css.cjs.map +0 -1
- package/dist/components/Typography/Typography.module.css.js +0 -30
- package/dist/components/Typography/Typography.module.css.js.map +0 -1
- package/dist/components/VisualList/VisualList.d.ts.map +0 -1
- package/dist/components/VisualList/VisualList.module.css.cjs +0 -7
- package/dist/components/VisualList/VisualList.module.css.cjs.map +0 -1
- package/dist/components/VisualList/VisualList.module.css.js +0 -7
- package/dist/components/VisualList/VisualList.module.css.js.map +0 -1
- package/dist/components/VisualList/VisualListItem.d.ts.map +0 -1
- package/dist/components/VisualList/VisualListItem.module.css.cjs +0 -10
- package/dist/components/VisualList/VisualListItem.module.css.cjs.map +0 -1
- package/dist/components/VisualList/VisualListItem.module.css.js +0 -10
- package/dist/components/VisualList/VisualListItem.module.css.js.map +0 -1
- package/dist/components/VisualList/index.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/setupTests.d.ts.map +0 -1
- package/dist/utils/__ComponentTemplate__/__ComponentTemplate__.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/string.d.ts.map +0 -1
- /package/dist/{components → src/components}/ActivityMarker/Pill.d.ts +0 -0
- /package/dist/{components → src/components}/ActivityMarker/Unread.d.ts +0 -0
- /package/dist/{components → src/components}/ActivityMarker/UnreadCounter.d.ts +0 -0
- /package/dist/{components → src/components}/ActivityMarker/index.d.ts +0 -0
- /package/dist/{components → src/components}/Alert/Alert.d.ts +0 -0
- /package/dist/{components → src/components}/Avatar/Avatar.d.ts +0 -0
- /package/dist/{components → src/components}/Avatar/AvatarStack.d.ts +0 -0
- /package/dist/{components → src/components}/Avatar/useIdColorHash.d.ts +0 -0
- /package/dist/{components → src/components}/Badge/Badge.d.ts +0 -0
- /package/dist/{components → src/components}/Breadcrumb/Breadcrumb.d.ts +0 -0
- /package/dist/{components → src/components}/Breadcrumb/index.d.ts +0 -0
- /package/dist/{components → src/components}/Button/IconButton/IconButton.d.ts +0 -0
- /package/dist/{components → src/components}/Button/UnstyledButton.d.ts +0 -0
- /package/dist/{components → src/components}/Button/index.d.ts +0 -0
- /package/dist/{components → src/components}/ChatFilter/ChatFilter.d.ts +0 -0
- /package/dist/{components → src/components}/ChatFilter/index.d.ts +0 -0
- /package/dist/{components → src/components}/Dropdown/Dropdown.d.ts +0 -0
- /package/dist/{components → src/components}/Dropdown/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Action/Action.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Action/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Checkbox/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/EditInPlace/EditInPlace.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/EditInPlace/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/MFA/MFA.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/MFA/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Password/Password.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Password/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Radio/Radio.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Radio/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/SettingsToggle/SettingsToggle.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/SettingsToggle/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Text/Text.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Text/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Toggle/Toggle.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/Toggle/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Controls/index.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Field.d.ts +0 -0
- /package/dist/{components → src/components}/Form/InlineField.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Label.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Message.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Root.d.ts +0 -0
- /package/dist/{components → src/components}/Form/Submit.d.ts +0 -0
- /package/dist/{components → src/components}/Form/index.d.ts +0 -0
- /package/dist/{components → src/components}/Glass/Glass.d.ts +0 -0
- /package/dist/{components → src/components}/Icon/BigIcon/index.d.ts +0 -0
- /package/dist/{components → src/components}/Icon/IndicatorIcon/IndicatorIcon.d.ts +0 -0
- /package/dist/{components → src/components}/InlineSpinner/InlineSpinner.d.ts +0 -0
- /package/dist/{components → src/components}/InlineSpinner/index.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/CheckboxMenuItem.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/ContextMenu.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/DrawerMenu.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/FloatingMenu.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/MenuContext.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/MenuItem.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/MenuTitle.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/RadioMenuItem.d.ts +0 -0
- /package/dist/{components → src/components}/Menu/ToggleMenuItem.d.ts +0 -0
- /package/dist/{components → src/components}/Nav/NavBar.d.ts +0 -0
- /package/dist/{components → src/components}/Nav/NavItem.d.ts +0 -0
- /package/dist/{components → src/components}/Nav/index.d.ts +0 -0
- /package/dist/{components → src/components}/ReleaseAnnouncement/ReleaseAnnouncement.d.ts +0 -0
- /package/dist/{components → src/components}/ReleaseAnnouncement/ReleaseAnnouncementContext.d.ts +0 -0
- /package/dist/{components → src/components}/ReleaseAnnouncement/index.d.ts +0 -0
- /package/dist/{components → src/components}/ReleaseAnnouncement/useReleaseAnnouncement.d.ts +0 -0
- /package/dist/{components → src/components}/Search/Search.d.ts +0 -0
- /package/dist/{components → src/components}/Separator/Separator.d.ts +0 -0
- /package/dist/{components → src/components}/Toast/Toast.d.ts +0 -0
- /package/dist/{components → src/components}/Tooltip/Tooltip.d.ts +0 -0
- /package/dist/{components → src/components}/Tooltip/TooltipContext.d.ts +0 -0
- /package/dist/{components → src/components}/Tooltip/TooltipProvider.d.ts +0 -0
- /package/dist/{components → src/components}/Tooltip/useTooltip.d.ts +0 -0
- /package/dist/{components → src/components}/Typography/Body.d.ts +0 -0
- /package/dist/{components → src/components}/VisualList/VisualList.d.ts +0 -0
- /package/dist/{components → src/components}/VisualList/VisualListItem.d.ts +0 -0
- /package/dist/{components → src/components}/VisualList/index.d.ts +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{setupTests.d.ts → src/setupTests.d.ts} +0 -0
- /package/dist/{utils → src/utils}/__ComponentTemplate__/__ComponentTemplate__.d.ts +0 -0
- /package/dist/{utils → src/utils}/platform.d.ts +0 -0
- /package/dist/{utils → src/utils}/string.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport { TooltipContext, useTooltipContext } from \"./TooltipContext\";\nimport {\n FloatingArrow,\n FloatingPortal,\n useMergeRefs,\n} from \"@floating-ui/react\";\nimport React, {\n type PropsWithChildren,\n type Ref,\n type JSX,\n isValidElement,\n cloneElement,\n useMemo,\n type ReactNode,\n type FC,\n type ReactElement,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport styles from \"./Tooltip.module.css\";\nimport {\n type CommonUseTooltipProps,\n type TooltipDescription,\n type TooltipLabel,\n useTooltip,\n} from \"./useTooltip\";\n\n// Unfortunately Omit doesn't distribute nicely over sum types, so we have to\n// piece together the useTooltip options type by hand\ntype TooltipProps = Omit<CommonUseTooltipProps, \"isTriggerInteractive\"> &\n (TooltipLabel | TooltipDescription) & {\n /**\n * Whether the trigger element is interactive.\n * When trigger is interactive:\n * - tooltip will be shown after a 300ms delay.\n * When trigger is not interactive:\n * - tooltip will be shown instantly when pointer enters trigger.\n * - trigger will be wrapped in a span with a tab index from prop nonInteractiveTriggerTabIndex\n * @default true\n */\n isTriggerInteractive?: boolean;\n /**\n * The tab index for the non interactive trigger.\n * @default 0\n */\n nonInteractiveTriggerTabIndex?: number;\n };\n\nconst hasLabel = (\n props: TooltipLabel | TooltipDescription,\n): props is TooltipLabel => \"label\" in props && !!props.label;\n\n/**\n * A tooltip component\n */\nexport function Tooltip({\n children,\n isTriggerInteractive = true,\n nonInteractiveTriggerTabIndex = 0,\n ...props\n}: PropsWithChildren<TooltipProps>): JSX.Element {\n const context = useTooltip({ isTriggerInteractive, ...props });\n\n return (\n <TooltipContext.Provider value={context}>\n <TooltipAnchor\n isTriggerInteractive={isTriggerInteractive}\n nonInteractiveTriggerTabIndex={nonInteractiveTriggerTabIndex}\n >\n {children}\n </TooltipAnchor>\n <TooltipContent>\n <span id={context.labelId}>\n {hasLabel(props) ? props.label : props.description}\n </span>\n <Caption />\n </TooltipContent>\n </TooltipContext.Provider>\n );\n}\n\nfunction Caption() {\n const { caption, captionId } = useTooltipContext();\n if (!caption) return null;\n\n const isCaptionString = typeof caption === \"string\";\n const Container = isCaptionString ? \"span\" : \"div\";\n\n /**\n * Forcing dark theme, so that we have the correct contrast when\n * using the text color secondary on a solid dark background.\n * This is temporary and should only remain until we figure out\n * the approach to on-solid tokens\n **/\n return (\n <Container\n id={captionId}\n className={classNames(styles.caption, \"cpd-theme-dark\")}\n >\n {caption}\n </Container>\n );\n}\n\n/**\n * The content of the tooltip\n * @param children\n */\nfunction TooltipContent({\n children,\n}: Readonly<PropsWithChildren>): JSX.Element | null {\n const {\n context: floatingContext,\n open,\n arrowRef,\n purpose,\n ...rest\n } = useTooltipContext();\n\n // Label tooltips are kept in the DOM even when not visually open\n if (!open && purpose !== \"label\") return null;\n\n return (\n <FloatingPortal>\n <div\n ref={rest.refs.setFloating}\n style={rest.floatingStyles}\n {...rest.tooltipProps}\n {...rest.getFloatingProps()}\n className={classNames(styles.tooltip, {\n [styles.invisible]: purpose === \"label\" && !open,\n })}\n >\n <FloatingArrow\n ref={arrowRef}\n context={floatingContext}\n // design absolute value\n width={10}\n height={6}\n className={styles.arrow}\n />\n {children}\n </div>\n </FloatingPortal>\n );\n}\n\ninterface TooltipAnchorProps {\n children: ReactNode;\n isTriggerInteractive: boolean;\n nonInteractiveTriggerTabIndex?: number;\n}\n\n/**\n * The anchor of the tooltip\n * @param children\n */\nconst TooltipAnchor: FC<TooltipAnchorProps> = ({\n children,\n isTriggerInteractive,\n nonInteractiveTriggerTabIndex,\n}) => {\n const context = useTooltipContext();\n\n // The children can have a ref and we don't want to discard it\n // Doing a dirty cast to get the optional ref\n const childrenRef = (children as unknown as { ref?: Ref<HTMLElement> })?.ref;\n const ref = useMergeRefs([context.refs.setReference, childrenRef]);\n\n const element = useMemo(() => {\n if (!isValidElement(children)) return;\n\n if (isTriggerInteractive) {\n const props = context.getReferenceProps({\n // To support React 18, we need to explicitly pass the children's props. See https://github.com/element-hq/compound/issues/333\n // In React 19, this is not necessary. `getReferenceProps` is able to get the props directly from the ref.\n ...(typeof children.props === \"object\" ? children.props : {}),\n ref,\n });\n return cloneElement(children, props);\n } else {\n // For a non-interactive trigger, we want most of the props to go on the\n // span element that we provide, since that's what receives focus, but it\n // should still be the trigger that receives the label/description. It\n // would be wrong to label the span element, as it lacks a role.\n const props = context.getReferenceProps({\n ref,\n tabIndex: nonInteractiveTriggerTabIndex,\n });\n const {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": descriptionId,\n ...spanProps\n } = props;\n return (\n <span tabIndex={nonInteractiveTriggerTabIndex} {...spanProps}>\n {cloneElement(children as ReactElement<Record<string, unknown>>, {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": descriptionId,\n })}\n </span>\n );\n }\n }, [context, ref, children]);\n\n if (!element) {\n throw new Error(\"Tooltip anchor must be a single valid React element\");\n }\n\n return element;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":[],"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport { TooltipContext, useTooltipContext } from \"./TooltipContext\";\nimport {\n FloatingArrow,\n FloatingPortal,\n useMergeRefs,\n} from \"@floating-ui/react\";\nimport React, {\n type PropsWithChildren,\n type Ref,\n type JSX,\n isValidElement,\n cloneElement,\n useMemo,\n type ReactNode,\n type FC,\n type ReactElement,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport styles from \"./Tooltip.module.css\";\nimport {\n type CommonUseTooltipProps,\n type TooltipDescription,\n type TooltipLabel,\n useTooltip,\n} from \"./useTooltip\";\n\n// Unfortunately Omit doesn't distribute nicely over sum types, so we have to\n// piece together the useTooltip options type by hand\ntype TooltipProps = Omit<CommonUseTooltipProps, \"isTriggerInteractive\"> &\n (TooltipLabel | TooltipDescription) & {\n /**\n * Whether the trigger element is interactive.\n * When trigger is interactive:\n * - tooltip will be shown after a 300ms delay.\n * When trigger is not interactive:\n * - tooltip will be shown instantly when pointer enters trigger.\n * - trigger will be wrapped in a span with a tab index from prop nonInteractiveTriggerTabIndex\n * @default true\n */\n isTriggerInteractive?: boolean;\n /**\n * The tab index for the non interactive trigger.\n * @default 0\n */\n nonInteractiveTriggerTabIndex?: number;\n };\n\nconst hasLabel = (\n props: TooltipLabel | TooltipDescription,\n): props is TooltipLabel => \"label\" in props && !!props.label;\n\n/**\n * A tooltip component\n */\nexport function Tooltip({\n children,\n isTriggerInteractive = true,\n nonInteractiveTriggerTabIndex = 0,\n ...props\n}: PropsWithChildren<TooltipProps>): JSX.Element {\n const context = useTooltip({ isTriggerInteractive, ...props });\n\n return (\n <TooltipContext.Provider value={context}>\n <TooltipAnchor\n isTriggerInteractive={isTriggerInteractive}\n nonInteractiveTriggerTabIndex={nonInteractiveTriggerTabIndex}\n >\n {children}\n </TooltipAnchor>\n <TooltipContent>\n <span id={context.labelId}>\n {hasLabel(props) ? props.label : props.description}\n </span>\n <Caption />\n </TooltipContent>\n </TooltipContext.Provider>\n );\n}\n\nfunction Caption() {\n const { caption, captionId } = useTooltipContext();\n if (!caption) return null;\n\n const isCaptionString = typeof caption === \"string\";\n const Container = isCaptionString ? \"span\" : \"div\";\n\n /**\n * Forcing dark theme, so that we have the correct contrast when\n * using the text color secondary on a solid dark background.\n * This is temporary and should only remain until we figure out\n * the approach to on-solid tokens\n **/\n return (\n <Container\n id={captionId}\n className={classNames(styles.caption, \"cpd-theme-dark\")}\n >\n {caption}\n </Container>\n );\n}\n\n/**\n * The content of the tooltip\n * @param children\n */\nfunction TooltipContent({\n children,\n}: Readonly<PropsWithChildren>): JSX.Element | null {\n const {\n context: floatingContext,\n open,\n arrowRef,\n purpose,\n ...rest\n } = useTooltipContext();\n\n // Label tooltips are kept in the DOM even when not visually open\n if (!open && purpose !== \"label\") return null;\n\n return (\n <FloatingPortal>\n <div\n ref={rest.refs.setFloating}\n style={rest.floatingStyles}\n {...rest.tooltipProps}\n {...rest.getFloatingProps()}\n className={classNames(styles.tooltip, {\n [styles.invisible]: purpose === \"label\" && !open,\n })}\n >\n <FloatingArrow\n ref={arrowRef}\n context={floatingContext}\n // design absolute value\n width={10}\n height={6}\n className={styles.arrow}\n />\n {children}\n </div>\n </FloatingPortal>\n );\n}\n\ninterface TooltipAnchorProps {\n children: ReactNode;\n isTriggerInteractive: boolean;\n nonInteractiveTriggerTabIndex?: number;\n}\n\n/**\n * The anchor of the tooltip\n * @param children\n */\nconst TooltipAnchor: FC<TooltipAnchorProps> = ({\n children,\n isTriggerInteractive,\n nonInteractiveTriggerTabIndex,\n}) => {\n const context = useTooltipContext();\n\n // The children can have a ref and we don't want to discard it\n // Doing a dirty cast to get the optional ref\n const childrenRef = (children as unknown as { ref?: Ref<HTMLElement> })?.ref;\n const ref = useMergeRefs([context.refs.setReference, childrenRef]);\n\n const element = useMemo(() => {\n if (!isValidElement(children)) return;\n\n if (isTriggerInteractive) {\n const props = context.getReferenceProps({\n // To support React 18, we need to explicitly pass the children's props. See https://github.com/element-hq/compound/issues/333\n // In React 19, this is not necessary. `getReferenceProps` is able to get the props directly from the ref.\n ...(typeof children.props === \"object\" ? children.props : {}),\n ref,\n });\n return cloneElement(children, props);\n } else {\n // For a non-interactive trigger, we want most of the props to go on the\n // span element that we provide, since that's what receives focus, but it\n // should still be the trigger that receives the label/description. It\n // would be wrong to label the span element, as it lacks a role.\n const props = context.getReferenceProps({\n ref,\n tabIndex: nonInteractiveTriggerTabIndex,\n });\n const {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": descriptionId,\n ...spanProps\n } = props;\n return (\n <span tabIndex={nonInteractiveTriggerTabIndex} {...spanProps}>\n {cloneElement(children as ReactElement<Record<string, unknown>>, {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": descriptionId,\n })}\n </span>\n );\n }\n }, [context, ref, children]);\n\n if (!element) {\n throw new Error(\"Tooltip anchor must be a single valid React element\");\n }\n\n return element;\n};\n"],"mappings":";;;;;;;;AAuDA,IAAM,YACJ,UAC0B,WAAW,SAAS,CAAC,CAAC,MAAM;;;;AAKxD,SAAgB,QAAQ,EACtB,UACA,uBAAuB,MACvB,gCAAgC,GAChC,GAAG,SAC4C;CAC/C,MAAM,UAAU,WAAW;EAAE;EAAsB,GAAG;EAAO,CAAC;AAE9D,QACE,qBAAC,eAAe,UAAhB;EAAyB,OAAO;YAAhC,CACE,oBAAC,eAAD;GACwB;GACS;GAE9B;GACa,CAAA,EAChB,qBAAC,gBAAD,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,IAAI,QAAQ;aACf,SAAS,MAAM,GAAG,MAAM,QAAQ,MAAM;GAClC,CAAA,EACP,oBAAC,SAAD,EAAW,CAAA,CACI,EAAA,CAAA,CACO;;;AAI9B,SAAS,UAAU;CACjB,MAAM,EAAE,SAAS,cAAc,mBAAmB;AAClD,KAAI,CAAC,QAAS,QAAO;;;;;;;AAWrB,QACE,oBAVsB,OAAO,YAAY,WACP,SAAS,OAS3C;EACE,IAAI;EACJ,WAAW,WAAW,uBAAO,SAAS,iBAAiB;YAEtD;EACS,CAAA;;;;;;AAQhB,SAAS,eAAe,EACtB,YACkD;CAClD,MAAM,EACJ,SAAS,iBACT,MACA,UACA,SACA,GAAG,SACD,mBAAmB;AAGvB,KAAI,CAAC,QAAQ,YAAY,QAAS,QAAO;AAEzC,QACE,oBAAC,gBAAD,EAAA,UACE,qBAAC,OAAD;EACE,KAAK,KAAK,KAAK;EACf,OAAO,KAAK;EACZ,GAAI,KAAK;EACT,GAAI,KAAK,kBAAkB;EAC3B,WAAW,WAAW,uBAAO,SAAS,GACnC,uBAAO,YAAY,YAAY,WAAW,CAAC,MAC7C,CAAC;YAPJ,CASE,oBAAC,eAAD;GACE,KAAK;GACL,SAAS;GAET,OAAO;GACP,QAAQ;GACR,WAAW,uBAAO;GAClB,CAAA,EACD,SACG;KACS,CAAA;;;;;;AAcrB,IAAM,iBAAyC,EAC7C,UACA,sBACA,oCACI;CACJ,MAAM,UAAU,mBAAmB;CAInC,MAAM,cAAe,UAAoD;CACzE,MAAM,MAAM,aAAa,CAAC,QAAQ,KAAK,cAAc,YAAY,CAAC;CAElE,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,eAAe,SAAS,CAAE;AAE/B,MAAI,qBAOF,QAAO,aAAa,UANN,QAAQ,kBAAkB;GAGtC,GAAI,OAAO,SAAS,UAAU,WAAW,SAAS,QAAQ,EAAE;GAC5D;GACD,CAAC,CACkC;OAC/B;GASL,MAAM,EACJ,mBAAmB,SACnB,oBAAoB,eACpB,GAAG,cAPS,QAAQ,kBAAkB;IACtC;IACA,UAAU;IACX,CAAC;AAMF,UACE,oBAAC,QAAD;IAAM,UAAU;IAA+B,GAAI;cAChD,aAAa,UAAmD;KAC/D,mBAAmB;KACnB,oBAAoB;KACrB,CAAC;IACG,CAAA;;IAGV;EAAC;EAAS;EAAK;EAAS,CAAC;AAE5B,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,sDAAsD;AAGxE,QAAO"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var Tooltip_module_default = {
|
|
2
|
+
tooltip: "_tooltip_1nqnq_8",
|
|
3
|
+
invisible: "_invisible_1nqnq_21",
|
|
4
|
+
caption: "_caption_1nqnq_28",
|
|
5
|
+
arrow: "_arrow_1nqnq_33"
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.default = Tooltip_module_default;
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=Tooltip.module.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.module.cjs","names":[],"sources":["../../../src/components/Tooltip/Tooltip.module.css"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.tooltip {\n font: var(--cpd-font-body-xs-medium);\n padding: var(--cpd-space-1-5x) var(--cpd-space-3x);\n background: var(--cpd-color-alpha-gray-1400);\n color: var(--cpd-color-text-on-solid-primary);\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n cursor: pointer;\n}\n\n.tooltip.invisible {\n /* Hide the tooltip in a way that allows it to act as an accessible label,\n even when invisible */\n clip-path: inset(50%);\n pointer-events: none;\n}\n\n.caption {\n font-weight: var(--cpd-font-weight-regular);\n color: var(--cpd-color-text-secondary);\n}\n\n.arrow {\n /* same color as the tooltip background */\n fill: var(--cpd-color-alpha-gray-1400);\n}\n\n@media (forced-colors: active) {\n .tooltip:not(.invisible) {\n outline: 1px solid transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var Tooltip_module_default = {
|
|
2
|
+
tooltip: "_tooltip_1nqnq_8",
|
|
3
|
+
invisible: "_invisible_1nqnq_21",
|
|
4
|
+
caption: "_caption_1nqnq_28",
|
|
5
|
+
arrow: "_arrow_1nqnq_33"
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { Tooltip_module_default as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=Tooltip.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.module.js","names":[],"sources":["../../../src/components/Tooltip/Tooltip.module.css"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.tooltip {\n font: var(--cpd-font-body-xs-medium);\n padding: var(--cpd-space-1-5x) var(--cpd-space-3x);\n background: var(--cpd-color-alpha-gray-1400);\n color: var(--cpd-color-text-on-solid-primary);\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n cursor: pointer;\n}\n\n.tooltip.invisible {\n /* Hide the tooltip in a way that allows it to act as an accessible label,\n even when invisible */\n clip-path: inset(50%);\n pointer-events: none;\n}\n\n.caption {\n font-weight: var(--cpd-font-weight-regular);\n color: var(--cpd-color-text-secondary);\n}\n\n.arrow {\n /* same color as the tooltip background */\n fill: var(--cpd-color-alpha-gray-1400);\n}\n\n@media (forced-colors: active) {\n .tooltip:not(.invisible) {\n outline: 1px solid transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let react = require("react");
|
|
3
|
+
//#region src/components/Tooltip/TooltipContext.ts
|
|
4
|
+
/**
|
|
5
|
+
* The context for the Tooltip components.
|
|
6
|
+
*/
|
|
7
|
+
var TooltipContext = (0, react.createContext)(null);
|
|
8
|
+
/**
|
|
9
|
+
* Provides the context for the Tooltip components.
|
|
10
|
+
*/
|
|
5
11
|
function useTooltipContext() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
return context;
|
|
12
|
+
const context = (0, react.useContext)(TooltipContext);
|
|
13
|
+
if (context == null) throw new Error("Tooltip components must be wrapped in <Tooltip />");
|
|
14
|
+
return context;
|
|
11
15
|
}
|
|
16
|
+
//#endregion
|
|
12
17
|
exports.TooltipContext = TooltipContext;
|
|
13
18
|
exports.useTooltipContext = useTooltipContext;
|
|
14
|
-
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=TooltipContext.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContext.cjs","sources":["../../../src/components/Tooltip/TooltipContext.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport { createContext, useContext } from \"react\";\nimport { useTooltip } from \"./useTooltip\";\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n/**\n * The context for the Tooltip components.\n */\nexport const TooltipContext = createContext<ContextType>(null);\n\n/**\n * Provides the context for the Tooltip components.\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n\n if (context == null) {\n throw new Error(\"Tooltip components must be wrapped in <Tooltip />\");\n }\n\n return context;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"TooltipContext.cjs","names":[],"sources":["../../../src/components/Tooltip/TooltipContext.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport { createContext, useContext } from \"react\";\nimport { useTooltip } from \"./useTooltip\";\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n/**\n * The context for the Tooltip components.\n */\nexport const TooltipContext = createContext<ContextType>(null);\n\n/**\n * Provides the context for the Tooltip components.\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n\n if (context == null) {\n throw new Error(\"Tooltip components must be wrapped in <Tooltip />\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;AAcA,IAAa,kBAAA,GAAA,MAAA,eAA4C,KAAK;;;;AAK9D,SAAgB,oBAAoB;CAClC,MAAM,WAAA,GAAA,MAAA,YAAqB,eAAe;AAE1C,KAAI,WAAW,KACb,OAAM,IAAI,MAAM,oDAAoD;AAGtE,QAAO"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { createContext, useContext } from "react";
|
|
2
|
-
|
|
2
|
+
//#region src/components/Tooltip/TooltipContext.ts
|
|
3
|
+
/**
|
|
4
|
+
* The context for the Tooltip components.
|
|
5
|
+
*/
|
|
6
|
+
var TooltipContext = createContext(null);
|
|
7
|
+
/**
|
|
8
|
+
* Provides the context for the Tooltip components.
|
|
9
|
+
*/
|
|
3
10
|
function useTooltipContext() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
return context;
|
|
11
|
+
const context = useContext(TooltipContext);
|
|
12
|
+
if (context == null) throw new Error("Tooltip components must be wrapped in <Tooltip />");
|
|
13
|
+
return context;
|
|
9
14
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=TooltipContext.js.map
|
|
15
|
+
//#endregion
|
|
16
|
+
export { TooltipContext, useTooltipContext };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=TooltipContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContext.js","sources":["../../../src/components/Tooltip/TooltipContext.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport { createContext, useContext } from \"react\";\nimport { useTooltip } from \"./useTooltip\";\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n/**\n * The context for the Tooltip components.\n */\nexport const TooltipContext = createContext<ContextType>(null);\n\n/**\n * Provides the context for the Tooltip components.\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n\n if (context == null) {\n throw new Error(\"Tooltip components must be wrapped in <Tooltip />\");\n }\n\n return context;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"TooltipContext.js","names":[],"sources":["../../../src/components/Tooltip/TooltipContext.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport { createContext, useContext } from \"react\";\nimport { useTooltip } from \"./useTooltip\";\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n/**\n * The context for the Tooltip components.\n */\nexport const TooltipContext = createContext<ContextType>(null);\n\n/**\n * Provides the context for the Tooltip components.\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n\n if (context == null) {\n throw new Error(\"Tooltip components must be wrapped in <Tooltip />\");\n }\n\n return context;\n}\n"],"mappings":";;;;;AAcA,IAAa,iBAAiB,cAA2B,KAAK;;;;AAK9D,SAAgB,oBAAoB;CAClC,MAAM,UAAU,WAAW,eAAe;AAE1C,KAAI,WAAW,KACb,OAAM,IAAI,MAAM,oDAAoD;AAGtE,QAAO"}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let react = require("react");
|
|
3
|
+
react = require_runtime.__toESM(react);
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
let _floating_ui_react = require("@floating-ui/react");
|
|
6
|
+
//#region src/components/Tooltip/TooltipProvider.tsx
|
|
7
|
+
var hoverDelay = {
|
|
8
|
+
open: 300,
|
|
9
|
+
close: 0
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Enables tooltips to share a global "warm-up" period for their hover delay.
|
|
13
|
+
* You must wrap your application in this component for tooltips to function.
|
|
14
|
+
*/
|
|
15
|
+
var TooltipProvider = ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_floating_ui_react.FloatingDelayGroup, {
|
|
16
|
+
delay: hoverDelay,
|
|
17
|
+
timeoutMs: 300,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
7
20
|
TooltipProvider.displayName = "TooltipProvider";
|
|
21
|
+
//#endregion
|
|
8
22
|
exports.TooltipProvider = TooltipProvider;
|
|
9
23
|
exports.hoverDelay = hoverDelay;
|
|
10
|
-
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=TooltipProvider.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipProvider.cjs","sources":["../../../src/components/Tooltip/TooltipProvider.tsx"],"sourcesContent":["import { FloatingDelayGroup } from \"@floating-ui/react\";\nimport React, { type FC } from \"react\";\n\nexport const hoverDelay = { open: 300, close: 0 };\n\ninterface Props {\n children: React.ReactNode;\n}\n\n/**\n * Enables tooltips to share a global \"warm-up\" period for their hover delay.\n * You must wrap your application in this component for tooltips to function.\n */\nexport const TooltipProvider: FC<Props> = ({ children }) => (\n <FloatingDelayGroup delay={hoverDelay} timeoutMs={300}>\n {children}\n </FloatingDelayGroup>\n);\n\nTooltipProvider.displayName = \"TooltipProvider\";\n"],"
|
|
1
|
+
{"version":3,"file":"TooltipProvider.cjs","names":[],"sources":["../../../src/components/Tooltip/TooltipProvider.tsx"],"sourcesContent":["import { FloatingDelayGroup } from \"@floating-ui/react\";\nimport React, { type FC } from \"react\";\n\nexport const hoverDelay = { open: 300, close: 0 };\n\ninterface Props {\n children: React.ReactNode;\n}\n\n/**\n * Enables tooltips to share a global \"warm-up\" period for their hover delay.\n * You must wrap your application in this component for tooltips to function.\n */\nexport const TooltipProvider: FC<Props> = ({ children }) => (\n <FloatingDelayGroup delay={hoverDelay} timeoutMs={300}>\n {children}\n </FloatingDelayGroup>\n);\n\nTooltipProvider.displayName = \"TooltipProvider\";\n"],"mappings":";;;;;;AAGA,IAAa,aAAa;CAAE,MAAM;CAAK,OAAO;CAAG;;;;;AAUjD,IAAa,mBAA8B,EAAE,eAC3C,iBAAA,GAAA,kBAAA,KAAC,mBAAA,oBAAD;CAAoB,OAAO;CAAY,WAAW;CAC/C;CACkB,CAAA;AAGvB,gBAAgB,cAAc"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
+
import "react";
|
|
1
2
|
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { FloatingDelayGroup } from "@floating-ui/react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
TooltipProvider,
|
|
8
|
-
hoverDelay
|
|
4
|
+
//#region src/components/Tooltip/TooltipProvider.tsx
|
|
5
|
+
var hoverDelay = {
|
|
6
|
+
open: 300,
|
|
7
|
+
close: 0
|
|
9
8
|
};
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Enables tooltips to share a global "warm-up" period for their hover delay.
|
|
11
|
+
* You must wrap your application in this component for tooltips to function.
|
|
12
|
+
*/
|
|
13
|
+
var TooltipProvider = ({ children }) => /* @__PURE__ */ jsx(FloatingDelayGroup, {
|
|
14
|
+
delay: hoverDelay,
|
|
15
|
+
timeoutMs: 300,
|
|
16
|
+
children
|
|
17
|
+
});
|
|
18
|
+
TooltipProvider.displayName = "TooltipProvider";
|
|
19
|
+
//#endregion
|
|
20
|
+
export { TooltipProvider, hoverDelay };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=TooltipProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipProvider.js","sources":["../../../src/components/Tooltip/TooltipProvider.tsx"],"sourcesContent":["import { FloatingDelayGroup } from \"@floating-ui/react\";\nimport React, { type FC } from \"react\";\n\nexport const hoverDelay = { open: 300, close: 0 };\n\ninterface Props {\n children: React.ReactNode;\n}\n\n/**\n * Enables tooltips to share a global \"warm-up\" period for their hover delay.\n * You must wrap your application in this component for tooltips to function.\n */\nexport const TooltipProvider: FC<Props> = ({ children }) => (\n <FloatingDelayGroup delay={hoverDelay} timeoutMs={300}>\n {children}\n </FloatingDelayGroup>\n);\n\nTooltipProvider.displayName = \"TooltipProvider\";\n"],"
|
|
1
|
+
{"version":3,"file":"TooltipProvider.js","names":[],"sources":["../../../src/components/Tooltip/TooltipProvider.tsx"],"sourcesContent":["import { FloatingDelayGroup } from \"@floating-ui/react\";\nimport React, { type FC } from \"react\";\n\nexport const hoverDelay = { open: 300, close: 0 };\n\ninterface Props {\n children: React.ReactNode;\n}\n\n/**\n * Enables tooltips to share a global \"warm-up\" period for their hover delay.\n * You must wrap your application in this component for tooltips to function.\n */\nexport const TooltipProvider: FC<Props> = ({ children }) => (\n <FloatingDelayGroup delay={hoverDelay} timeoutMs={300}>\n {children}\n </FloatingDelayGroup>\n);\n\nTooltipProvider.displayName = \"TooltipProvider\";\n"],"mappings":";;;;AAGA,IAAa,aAAa;CAAE,MAAM;CAAK,OAAO;CAAG;;;;;AAUjD,IAAa,mBAA8B,EAAE,eAC3C,oBAAC,oBAAD;CAAoB,OAAO;CAAY,WAAW;CAC/C;CACkB,CAAA;AAGvB,gBAAgB,cAAc"}
|
|
@@ -1,141 +1,114 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function useTooltip({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
]);
|
|
111
|
-
return React.useMemo(
|
|
112
|
-
() => ({
|
|
113
|
-
labelId,
|
|
114
|
-
captionId: caption ? captionId : void 0,
|
|
115
|
-
caption,
|
|
116
|
-
purpose,
|
|
117
|
-
open,
|
|
118
|
-
setOpen,
|
|
119
|
-
tooltipProps: {
|
|
120
|
-
"aria-atomic": ariaAtomic,
|
|
121
|
-
"aria-live": ariaLive
|
|
122
|
-
},
|
|
123
|
-
...interactions,
|
|
124
|
-
...data,
|
|
125
|
-
arrowRef
|
|
126
|
-
}),
|
|
127
|
-
[
|
|
128
|
-
labelId,
|
|
129
|
-
captionId,
|
|
130
|
-
caption,
|
|
131
|
-
role,
|
|
132
|
-
open,
|
|
133
|
-
setOpen,
|
|
134
|
-
interactions,
|
|
135
|
-
data,
|
|
136
|
-
arrowRef
|
|
137
|
-
]
|
|
138
|
-
);
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_TooltipProvider = require("./TooltipProvider.cjs");
|
|
3
|
+
let react = require("react");
|
|
4
|
+
let _floating_ui_react = require("@floating-ui/react");
|
|
5
|
+
//#region src/components/Tooltip/useTooltip.ts
|
|
6
|
+
function useTooltip({ open: controlledOpen, disabled = false, onOpenChange, placement = "bottom", isTriggerInteractive, caption, "aria-atomic": ariaAtomic, "aria-live": ariaLive, ...props }) {
|
|
7
|
+
const labelId = (0, _floating_ui_react.useId)();
|
|
8
|
+
const captionId = (0, _floating_ui_react.useId)();
|
|
9
|
+
const arrowRef = (0, react.useRef)(null);
|
|
10
|
+
const [uncontrolledOpen, setUncontrolledOpen] = (0, react.useState)(false);
|
|
11
|
+
const open = disabled ? false : controlledOpen ?? uncontrolledOpen;
|
|
12
|
+
const setOpen = (open, event, reason) => {
|
|
13
|
+
onOpenChange?.(open, event, reason);
|
|
14
|
+
if (controlledOpen === void 0) setUncontrolledOpen(open);
|
|
15
|
+
};
|
|
16
|
+
const data = (0, _floating_ui_react.useFloating)({
|
|
17
|
+
placement,
|
|
18
|
+
open,
|
|
19
|
+
onOpenChange: setOpen,
|
|
20
|
+
whileElementsMounted: _floating_ui_react.autoUpdate,
|
|
21
|
+
middleware: [
|
|
22
|
+
(0, _floating_ui_react.offset)(6),
|
|
23
|
+
(0, _floating_ui_react.flip)({
|
|
24
|
+
crossAxis: placement.includes("-"),
|
|
25
|
+
fallbackAxisSideDirection: "start",
|
|
26
|
+
padding: 5
|
|
27
|
+
}),
|
|
28
|
+
(0, _floating_ui_react.shift)({ padding: 5 }),
|
|
29
|
+
(0, _floating_ui_react.arrow)({ element: arrowRef })
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
const context = data.context;
|
|
33
|
+
const { delay, initialDelay } = (0, _floating_ui_react.useDelayGroup)(context);
|
|
34
|
+
if (initialDelay !== require_TooltipProvider.hoverDelay) throw new Error("Tooltips must be wrapped in a global <TooltipProvider>");
|
|
35
|
+
const hover = (0, _floating_ui_react.useHover)(context, {
|
|
36
|
+
move: false,
|
|
37
|
+
enabled: controlledOpen === void 0,
|
|
38
|
+
delay: isTriggerInteractive ? delay : {},
|
|
39
|
+
mouseOnly: true
|
|
40
|
+
});
|
|
41
|
+
const focus = (0, _floating_ui_react.useFocus)(context, { enabled: controlledOpen === void 0 });
|
|
42
|
+
const pressTimer = (0, react.useRef)(void 0);
|
|
43
|
+
(0, react.useEffect)(() => () => window.clearTimeout(pressTimer.current), []);
|
|
44
|
+
const press = (0, react.useMemo)(() => {
|
|
45
|
+
const onTouchEnd = () => {
|
|
46
|
+
if (pressTimer.current === void 0) pressTimer.current = window.setTimeout(() => {
|
|
47
|
+
setOpen(false);
|
|
48
|
+
pressTimer.current = void 0;
|
|
49
|
+
}, 1500);
|
|
50
|
+
else window.clearTimeout(pressTimer.current);
|
|
51
|
+
};
|
|
52
|
+
return { reference: {
|
|
53
|
+
onTouchStart: () => {
|
|
54
|
+
if (pressTimer.current !== void 0) window.clearTimeout(pressTimer.current);
|
|
55
|
+
pressTimer.current = window.setTimeout(() => {
|
|
56
|
+
setOpen(true);
|
|
57
|
+
pressTimer.current = void 0;
|
|
58
|
+
}, 500);
|
|
59
|
+
},
|
|
60
|
+
onTouchEnd,
|
|
61
|
+
onTouchCancel: onTouchEnd
|
|
62
|
+
} };
|
|
63
|
+
}, []);
|
|
64
|
+
const dismiss = (0, _floating_ui_react.useDismiss)(context);
|
|
65
|
+
const purpose = "label" in props ? "label" : "description";
|
|
66
|
+
const role = (0, _floating_ui_react.useRole)(context, {
|
|
67
|
+
enabled: purpose === "description",
|
|
68
|
+
role: "tooltip"
|
|
69
|
+
});
|
|
70
|
+
const interactions = (0, _floating_ui_react.useInteractions)([
|
|
71
|
+
hover,
|
|
72
|
+
focus,
|
|
73
|
+
press,
|
|
74
|
+
dismiss,
|
|
75
|
+
role,
|
|
76
|
+
(0, react.useMemo)(() => purpose === "label" ? { reference: {
|
|
77
|
+
"aria-labelledby": labelId,
|
|
78
|
+
"aria-describedby": caption ? captionId : void 0
|
|
79
|
+
} } : {}, [
|
|
80
|
+
purpose,
|
|
81
|
+
labelId,
|
|
82
|
+
captionId
|
|
83
|
+
])
|
|
84
|
+
]);
|
|
85
|
+
return (0, react.useMemo)(() => ({
|
|
86
|
+
labelId,
|
|
87
|
+
captionId: caption ? captionId : void 0,
|
|
88
|
+
caption,
|
|
89
|
+
purpose,
|
|
90
|
+
open,
|
|
91
|
+
setOpen,
|
|
92
|
+
tooltipProps: {
|
|
93
|
+
"aria-atomic": ariaAtomic,
|
|
94
|
+
"aria-live": ariaLive
|
|
95
|
+
},
|
|
96
|
+
...interactions,
|
|
97
|
+
...data,
|
|
98
|
+
arrowRef
|
|
99
|
+
}), [
|
|
100
|
+
labelId,
|
|
101
|
+
captionId,
|
|
102
|
+
caption,
|
|
103
|
+
role,
|
|
104
|
+
open,
|
|
105
|
+
setOpen,
|
|
106
|
+
interactions,
|
|
107
|
+
data,
|
|
108
|
+
arrowRef
|
|
109
|
+
]);
|
|
139
110
|
}
|
|
111
|
+
//#endregion
|
|
140
112
|
exports.useTooltip = useTooltip;
|
|
141
|
-
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=useTooltip.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltip.cjs","sources":["../../../src/components/Tooltip/useTooltip.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n type OpenChangeReason,\n type Placement,\n shift,\n useDelayGroup,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useId,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport {\n useMemo,\n useRef,\n useState,\n type JSX,\n type AriaAttributes,\n useEffect,\n} from \"react\";\nimport { hoverDelay } from \"./TooltipProvider\";\n\nexport interface CommonUseTooltipProps {\n /**\n * The controlled open state of the tooltip.\n * If provided, the tooltip will be in controlled mode.\n * When true, the tooltip is always open. When false, the tooltip is always hidden.\n * When undefined, the tooltip will manage its own open state.\n * You will mostly want to omit this property. Will be used the vast majority\n * of the time during development.\n * @default undefined\n */\n open?: boolean;\n /**\n * Whether the tooltip should be forced to be in a closed state.\n */\n // TODO: Deprecate this? It seems redundant to open: false.\n disabled?: boolean;\n /**\n * The caption of the tooltip.\n * JSX.Element can be used to provide accessibility content like kbd element.\n * Keep in mind, the caption should not be used for interactive content.\n */\n caption?: string | JSX.Element;\n /**\n * The event handler for the open change.\n */\n onOpenChange?: (\n open: boolean,\n event?: Event | undefined,\n reason?: OpenChangeReason | undefined,\n ) => void;\n /**\n * The placement of the tooltip.\n * @default \"bottom\"\n */\n placement?: Placement;\n /**\n * Whether the trigger element is interactive.\n * When trigger is interactive:\n * - tooltip will be shown after a 300ms delay.\n * When trigger is not interactive:\n * - tooltip will be shown instantly when pointer enters trigger.\n * - trigger will be wrapped in a span with a tab index from prop nonInteractiveTriggerTabIndex\n */\n isTriggerInteractive: boolean;\n\n /**\n * Additional aria-* attributes to pass through to the floating tooltip for\n * edge cases which require more user awareness like errors & alerts.\n */\n \"aria-atomic\"?: AriaAttributes[\"aria-atomic\"];\n \"aria-live\"?: AriaAttributes[\"aria-live\"];\n}\n\nexport interface TooltipLabel {\n /**\n * A label for the target element.\n */\n label: string;\n}\n\nexport interface TooltipDescription {\n /**\n * A description for the target element.\n */\n description: string;\n}\n\ntype UseTooltipProps = CommonUseTooltipProps &\n (TooltipLabel | TooltipDescription);\n\nexport function useTooltip({\n open: controlledOpen,\n disabled = false,\n onOpenChange,\n placement = \"bottom\",\n isTriggerInteractive,\n caption,\n \"aria-atomic\": ariaAtomic,\n \"aria-live\": ariaLive,\n ...props\n}: UseTooltipProps) {\n const labelId = useId();\n const captionId = useId();\n const arrowRef = useRef(null);\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n\n // Use controlledOpen if it is provided, otherwise use uncontrolledOpen\n const open = disabled ? false : (controlledOpen ?? uncontrolledOpen);\n const setOpen = (\n open: boolean,\n event?: Event | undefined,\n reason?: OpenChangeReason | undefined,\n ) => {\n onOpenChange?.(open, event, reason);\n // we are in uncontrolled mode\n if (controlledOpen === undefined) setUncontrolledOpen(open);\n };\n\n const data = useFloating({\n placement,\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n // arrow height 6px\n offset(6),\n flip({\n crossAxis: placement.includes(\"-\"),\n fallbackAxisSideDirection: \"start\",\n padding: 5,\n }),\n shift({ padding: 5 }),\n // add the little arrow along with the floating content\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n const { delay, initialDelay } = useDelayGroup(context);\n // We can tell if no delay group has been provided, because the delay will\n // default to zero\n if (initialDelay !== hoverDelay)\n throw new Error(\"Tooltips must be wrapped in a global <TooltipProvider>\");\n\n const hover = useHover(context, {\n move: false,\n enabled: controlledOpen === undefined,\n // Show tooltip after a delay when trigger is interactive\n delay: isTriggerInteractive ? delay : {},\n mouseOnly: true,\n });\n\n const focus = useFocus(context, {\n enabled: controlledOpen === undefined,\n });\n\n // On touch screens, show the tooltip on a long press\n const pressTimer = useRef<number | undefined>(undefined);\n useEffect(() => () => window.clearTimeout(pressTimer.current), []);\n const press = useMemo(() => {\n const onTouchEnd = () => {\n if (pressTimer.current === undefined)\n pressTimer.current = window.setTimeout(() => {\n setOpen(false);\n pressTimer.current = undefined;\n }, 1500);\n else window.clearTimeout(pressTimer.current);\n };\n return {\n // Set these props on the anchor element\n reference: {\n onTouchStart: () => {\n if (pressTimer.current !== undefined)\n window.clearTimeout(pressTimer.current);\n pressTimer.current = window.setTimeout(() => {\n setOpen(true);\n pressTimer.current = undefined;\n }, 500);\n },\n onTouchEnd,\n onTouchCancel: onTouchEnd,\n },\n };\n }, []);\n\n const dismiss = useDismiss(context);\n\n const purpose = \"label\" in props ? \"label\" : \"description\";\n // A descriptive tooltip should set role=\"tooltip\" and aria-describedby\n const role = useRole(context, {\n enabled: purpose === \"description\",\n role: \"tooltip\",\n });\n\n // A label tooltip should set aria-labelledby with no role regardless of\n // whether the tooltip is visible.\n // (Source: https://zoebijl.github.io/apg-tooltip/#tooltip-main-label)\n // useRole doesn't support this use case correctly, so we do it manually.\n const label = useMemo(\n () =>\n purpose === \"label\"\n ? {\n // Set these props on the anchor element\n reference: {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": caption ? captionId : undefined,\n },\n }\n : {},\n [purpose, labelId, captionId],\n );\n\n const interactions = useInteractions([\n hover,\n focus,\n press,\n dismiss,\n role,\n label,\n ]);\n\n return useMemo(\n () => ({\n labelId,\n captionId: caption ? captionId : undefined,\n caption,\n purpose: purpose as \"label\" | \"description\",\n open,\n setOpen,\n tooltipProps: {\n \"aria-atomic\": ariaAtomic,\n \"aria-live\": ariaLive,\n },\n ...interactions,\n ...data,\n arrowRef,\n }),\n [\n labelId,\n captionId,\n caption,\n role,\n open,\n setOpen,\n interactions,\n data,\n arrowRef,\n ],\n );\n}\n"],"names":["useId","useRef","useState","open","useFloating","autoUpdate","offset","flip","shift","arrow","useDelayGroup","hoverDelay","useHover","useFocus","useEffect","useMemo","useDismiss","useRole","useInteractions"],"mappings":";;;;;AAwGO,SAAS,WAAW;AAAA,EACzB,MAAM;AAAA,EACN,WAAW;AAAA,EACX;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,aAAa;AAAA,EACb,GAAG;AACL,GAAoB;AAClB,QAAM,UAAUA,MAAAA,MAAA;AAChB,QAAM,YAAYA,MAAAA,MAAA;AAClB,QAAM,WAAWC,MAAAA,OAAO,IAAI;AAE5B,QAAM,CAAC,kBAAkB,mBAAmB,IAAIC,MAAAA,SAAS,KAAK;AAG9D,QAAM,OAAO,WAAW,QAAS,kBAAkB;AACnD,QAAM,UAAU,CACdC,OACA,OACA,WACG;AACH,mBAAeA,OAAM,OAAO,MAAM;AAElC,QAAI,mBAAmB,OAAW,qBAAoBA,KAAI;AAAA,EAC5D;AAEA,QAAM,OAAOC,MAAAA,YAAY;AAAA,IACvB;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,sBAAsBC,MAAAA;AAAAA,IACtB,YAAY;AAAA;AAAA,MAEVC,MAAAA,OAAO,CAAC;AAAA,MACRC,WAAK;AAAA,QACH,WAAW,UAAU,SAAS,GAAG;AAAA,QACjC,2BAA2B;AAAA,QAC3B,SAAS;AAAA,MAAA,CACV;AAAA,MACDC,YAAM,EAAE,SAAS,GAAG;AAAA;AAAA,MAEpBC,YAAM;AAAA,QACJ,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH,CACD;AAED,QAAM,UAAU,KAAK;AACrB,QAAM,EAAE,OAAO,iBAAiBC,MAAAA,cAAc,OAAO;AAGrD,MAAI,iBAAiBC,gBAAAA;AACnB,UAAM,IAAI,MAAM,wDAAwD;AAE1E,QAAM,QAAQC,MAAAA,SAAS,SAAS;AAAA,IAC9B,MAAM;AAAA,IACN,SAAS,mBAAmB;AAAA;AAAA,IAE5B,OAAO,uBAAuB,QAAQ,CAAA;AAAA,IACtC,WAAW;AAAA,EAAA,CACZ;AAED,QAAM,QAAQC,MAAAA,SAAS,SAAS;AAAA,IAC9B,SAAS,mBAAmB;AAAA,EAAA,CAC7B;AAGD,QAAM,aAAaZ,MAAAA,OAA2B,MAAS;AACvDa,QAAAA,UAAU,MAAM,MAAM,OAAO,aAAa,WAAW,OAAO,GAAG,EAAE;AACjE,QAAM,QAAQC,MAAAA,QAAQ,MAAM;AAC1B,UAAM,aAAa,MAAM;AACvB,UAAI,WAAW,YAAY;AACzB,mBAAW,UAAU,OAAO,WAAW,MAAM;AAC3C,kBAAQ,KAAK;AACb,qBAAW,UAAU;AAAA,QACvB,GAAG,IAAI;AAAA,UACJ,QAAO,aAAa,WAAW,OAAO;AAAA,IAC7C;AACA,WAAO;AAAA;AAAA,MAEL,WAAW;AAAA,QACT,cAAc,MAAM;AAClB,cAAI,WAAW,YAAY;AACzB,mBAAO,aAAa,WAAW,OAAO;AACxC,qBAAW,UAAU,OAAO,WAAW,MAAM;AAC3C,oBAAQ,IAAI;AACZ,uBAAW,UAAU;AAAA,UACvB,GAAG,GAAG;AAAA,QACR;AAAA,QACA;AAAA,QACA,eAAe;AAAA,MAAA;AAAA,IACjB;AAAA,EAEJ,GAAG,CAAA,CAAE;AAEL,QAAM,UAAUC,MAAAA,WAAW,OAAO;AAElC,QAAM,UAAU,WAAW,QAAQ,UAAU;AAE7C,QAAM,OAAOC,MAAAA,QAAQ,SAAS;AAAA,IAC5B,SAAS,YAAY;AAAA,IACrB,MAAM;AAAA,EAAA,CACP;AAMD,QAAM,QAAQF,MAAAA;AAAAA,IACZ,MACE,YAAY,UACR;AAAA;AAAA,MAEE,WAAW;AAAA,QACT,mBAAmB;AAAA,QACnB,oBAAoB,UAAU,YAAY;AAAA,MAAA;AAAA,IAC5C,IAEF,CAAA;AAAA,IACN,CAAC,SAAS,SAAS,SAAS;AAAA,EAAA;AAG9B,QAAM,eAAeG,MAAAA,gBAAgB;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAOH,MAAAA;AAAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA,WAAW,UAAU,YAAY;AAAA,MACjC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,QACf,aAAa;AAAA,MAAA;AAAA,MAEf,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
|
|
1
|
+
{"version":3,"file":"useTooltip.cjs","names":[],"sources":["../../../src/components/Tooltip/useTooltip.ts"],"sourcesContent":["/*\n * Copyright 2024 New Vector Ltd.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n type OpenChangeReason,\n type Placement,\n shift,\n useDelayGroup,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useId,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport {\n useMemo,\n useRef,\n useState,\n type JSX,\n type AriaAttributes,\n useEffect,\n} from \"react\";\nimport { hoverDelay } from \"./TooltipProvider\";\n\nexport interface CommonUseTooltipProps {\n /**\n * The controlled open state of the tooltip.\n * If provided, the tooltip will be in controlled mode.\n * When true, the tooltip is always open. When false, the tooltip is always hidden.\n * When undefined, the tooltip will manage its own open state.\n * You will mostly want to omit this property. Will be used the vast majority\n * of the time during development.\n * @default undefined\n */\n open?: boolean;\n /**\n * Whether the tooltip should be forced to be in a closed state.\n */\n // TODO: Deprecate this? It seems redundant to open: false.\n disabled?: boolean;\n /**\n * The caption of the tooltip.\n * JSX.Element can be used to provide accessibility content like kbd element.\n * Keep in mind, the caption should not be used for interactive content.\n */\n caption?: string | JSX.Element;\n /**\n * The event handler for the open change.\n */\n onOpenChange?: (\n open: boolean,\n event?: Event | undefined,\n reason?: OpenChangeReason | undefined,\n ) => void;\n /**\n * The placement of the tooltip.\n * @default \"bottom\"\n */\n placement?: Placement;\n /**\n * Whether the trigger element is interactive.\n * When trigger is interactive:\n * - tooltip will be shown after a 300ms delay.\n * When trigger is not interactive:\n * - tooltip will be shown instantly when pointer enters trigger.\n * - trigger will be wrapped in a span with a tab index from prop nonInteractiveTriggerTabIndex\n */\n isTriggerInteractive: boolean;\n\n /**\n * Additional aria-* attributes to pass through to the floating tooltip for\n * edge cases which require more user awareness like errors & alerts.\n */\n \"aria-atomic\"?: AriaAttributes[\"aria-atomic\"];\n \"aria-live\"?: AriaAttributes[\"aria-live\"];\n}\n\nexport interface TooltipLabel {\n /**\n * A label for the target element.\n */\n label: string;\n}\n\nexport interface TooltipDescription {\n /**\n * A description for the target element.\n */\n description: string;\n}\n\ntype UseTooltipProps = CommonUseTooltipProps &\n (TooltipLabel | TooltipDescription);\n\nexport function useTooltip({\n open: controlledOpen,\n disabled = false,\n onOpenChange,\n placement = \"bottom\",\n isTriggerInteractive,\n caption,\n \"aria-atomic\": ariaAtomic,\n \"aria-live\": ariaLive,\n ...props\n}: UseTooltipProps) {\n const labelId = useId();\n const captionId = useId();\n const arrowRef = useRef(null);\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n\n // Use controlledOpen if it is provided, otherwise use uncontrolledOpen\n const open = disabled ? false : (controlledOpen ?? uncontrolledOpen);\n const setOpen = (\n open: boolean,\n event?: Event | undefined,\n reason?: OpenChangeReason | undefined,\n ) => {\n onOpenChange?.(open, event, reason);\n // we are in uncontrolled mode\n if (controlledOpen === undefined) setUncontrolledOpen(open);\n };\n\n const data = useFloating({\n placement,\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n // arrow height 6px\n offset(6),\n flip({\n crossAxis: placement.includes(\"-\"),\n fallbackAxisSideDirection: \"start\",\n padding: 5,\n }),\n shift({ padding: 5 }),\n // add the little arrow along with the floating content\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n const { delay, initialDelay } = useDelayGroup(context);\n // We can tell if no delay group has been provided, because the delay will\n // default to zero\n if (initialDelay !== hoverDelay)\n throw new Error(\"Tooltips must be wrapped in a global <TooltipProvider>\");\n\n const hover = useHover(context, {\n move: false,\n enabled: controlledOpen === undefined,\n // Show tooltip after a delay when trigger is interactive\n delay: isTriggerInteractive ? delay : {},\n mouseOnly: true,\n });\n\n const focus = useFocus(context, {\n enabled: controlledOpen === undefined,\n });\n\n // On touch screens, show the tooltip on a long press\n const pressTimer = useRef<number | undefined>(undefined);\n useEffect(() => () => window.clearTimeout(pressTimer.current), []);\n const press = useMemo(() => {\n const onTouchEnd = () => {\n if (pressTimer.current === undefined)\n pressTimer.current = window.setTimeout(() => {\n setOpen(false);\n pressTimer.current = undefined;\n }, 1500);\n else window.clearTimeout(pressTimer.current);\n };\n return {\n // Set these props on the anchor element\n reference: {\n onTouchStart: () => {\n if (pressTimer.current !== undefined)\n window.clearTimeout(pressTimer.current);\n pressTimer.current = window.setTimeout(() => {\n setOpen(true);\n pressTimer.current = undefined;\n }, 500);\n },\n onTouchEnd,\n onTouchCancel: onTouchEnd,\n },\n };\n }, []);\n\n const dismiss = useDismiss(context);\n\n const purpose = \"label\" in props ? \"label\" : \"description\";\n // A descriptive tooltip should set role=\"tooltip\" and aria-describedby\n const role = useRole(context, {\n enabled: purpose === \"description\",\n role: \"tooltip\",\n });\n\n // A label tooltip should set aria-labelledby with no role regardless of\n // whether the tooltip is visible.\n // (Source: https://zoebijl.github.io/apg-tooltip/#tooltip-main-label)\n // useRole doesn't support this use case correctly, so we do it manually.\n const label = useMemo(\n () =>\n purpose === \"label\"\n ? {\n // Set these props on the anchor element\n reference: {\n \"aria-labelledby\": labelId,\n \"aria-describedby\": caption ? captionId : undefined,\n },\n }\n : {},\n [purpose, labelId, captionId],\n );\n\n const interactions = useInteractions([\n hover,\n focus,\n press,\n dismiss,\n role,\n label,\n ]);\n\n return useMemo(\n () => ({\n labelId,\n captionId: caption ? captionId : undefined,\n caption,\n purpose: purpose as \"label\" | \"description\",\n open,\n setOpen,\n tooltipProps: {\n \"aria-atomic\": ariaAtomic,\n \"aria-live\": ariaLive,\n },\n ...interactions,\n ...data,\n arrowRef,\n }),\n [\n labelId,\n captionId,\n caption,\n role,\n open,\n setOpen,\n interactions,\n data,\n arrowRef,\n ],\n );\n}\n"],"mappings":";;;;;AAwGA,SAAgB,WAAW,EACzB,MAAM,gBACN,WAAW,OACX,cACA,YAAY,UACZ,sBACA,SACA,eAAe,YACf,aAAa,UACb,GAAG,SACe;CAClB,MAAM,WAAA,GAAA,mBAAA,QAAiB;CACvB,MAAM,aAAA,GAAA,mBAAA,QAAmB;CACzB,MAAM,YAAA,GAAA,MAAA,QAAkB,KAAK;CAE7B,MAAM,CAAC,kBAAkB,wBAAA,GAAA,MAAA,UAAgC,MAAM;CAG/D,MAAM,OAAO,WAAW,QAAS,kBAAkB;CACnD,MAAM,WACJ,MACA,OACA,WACG;AACH,iBAAe,MAAM,OAAO,OAAO;AAEnC,MAAI,mBAAmB,KAAA,EAAW,qBAAoB,KAAK;;CAG7D,MAAM,QAAA,GAAA,mBAAA,aAAmB;EACvB;EACA;EACA,cAAc;EACd,sBAAsB,mBAAA;EACtB,YAAY;kCAEH,EAAE;gCACJ;IACH,WAAW,UAAU,SAAS,IAAI;IAClC,2BAA2B;IAC3B,SAAS;IACV,CAAC;iCACI,EAAE,SAAS,GAAG,CAAC;iCAEf,EACJ,SAAS,UACV,CAAC;GACH;EACF,CAAC;CAEF,MAAM,UAAU,KAAK;CACrB,MAAM,EAAE,OAAO,kBAAA,GAAA,mBAAA,eAA+B,QAAQ;AAGtD,KAAI,iBAAiB,wBAAA,WACnB,OAAM,IAAI,MAAM,yDAAyD;CAE3E,MAAM,SAAA,GAAA,mBAAA,UAAiB,SAAS;EAC9B,MAAM;EACN,SAAS,mBAAmB,KAAA;EAE5B,OAAO,uBAAuB,QAAQ,EAAE;EACxC,WAAW;EACZ,CAAC;CAEF,MAAM,SAAA,GAAA,mBAAA,UAAiB,SAAS,EAC9B,SAAS,mBAAmB,KAAA,GAC7B,CAAC;CAGF,MAAM,cAAA,GAAA,MAAA,QAAwC,KAAA,EAAU;AACxD,EAAA,GAAA,MAAA,uBAAsB,OAAO,aAAa,WAAW,QAAQ,EAAE,EAAE,CAAC;CAClE,MAAM,SAAA,GAAA,MAAA,eAAsB;EAC1B,MAAM,mBAAmB;AACvB,OAAI,WAAW,YAAY,KAAA,EACzB,YAAW,UAAU,OAAO,iBAAiB;AAC3C,YAAQ,MAAM;AACd,eAAW,UAAU,KAAA;MACpB,KAAK;OACL,QAAO,aAAa,WAAW,QAAQ;;AAE9C,SAAO,EAEL,WAAW;GACT,oBAAoB;AAClB,QAAI,WAAW,YAAY,KAAA,EACzB,QAAO,aAAa,WAAW,QAAQ;AACzC,eAAW,UAAU,OAAO,iBAAiB;AAC3C,aAAQ,KAAK;AACb,gBAAW,UAAU,KAAA;OACpB,IAAI;;GAET;GACA,eAAe;GAChB,EACF;IACA,EAAE,CAAC;CAEN,MAAM,WAAA,GAAA,mBAAA,YAAqB,QAAQ;CAEnC,MAAM,UAAU,WAAW,QAAQ,UAAU;CAE7C,MAAM,QAAA,GAAA,mBAAA,SAAe,SAAS;EAC5B,SAAS,YAAY;EACrB,MAAM;EACP,CAAC;CAoBF,MAAM,gBAAA,GAAA,mBAAA,iBAA+B;EACnC;EACA;EACA;EACA;EACA;2BAjBE,YAAY,UACR,EAEE,WAAW;GACT,mBAAmB;GACnB,oBAAoB,UAAU,YAAY,KAAA;GAC3C,EACF,GACD,EAAE,EACR;GAAC;GAAS;GAAS;GAAU,CAC9B;EASA,CAAC;AAEF,SAAA,GAAA,MAAA,gBACS;EACL;EACA,WAAW,UAAU,YAAY,KAAA;EACjC;EACS;EACT;EACA;EACA,cAAc;GACZ,eAAe;GACf,aAAa;GACd;EACD,GAAG;EACH,GAAG;EACH;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF"}
|