@knocklabs/react 0.12.1 → 0.13.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/CHANGELOG.md +25 -0
- package/dist/cjs/_virtual/_rolldown/runtime.js +1 -0
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/modules/core/components/Button/Button.js +2 -2
- package/dist/cjs/modules/core/components/Button/Button.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonGroup.js +2 -2
- package/dist/cjs/modules/core/components/Button/ButtonGroup.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/ButtonSpinner.js +2 -2
- package/dist/cjs/modules/core/components/Button/ButtonSpinner.js.map +1 -1
- package/dist/cjs/modules/core/components/Button/index.js +1 -0
- package/dist/cjs/modules/core/components/Icons/Bell.js +2 -2
- package/dist/cjs/modules/core/components/Icons/Bell.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js +2 -2
- package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/ChevronDown.js +2 -2
- package/dist/cjs/modules/core/components/Icons/ChevronDown.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/CloseCircle.js +2 -2
- package/dist/cjs/modules/core/components/Icons/CloseCircle.js.map +1 -1
- package/dist/cjs/modules/core/components/Icons/index.js +1 -0
- package/dist/cjs/modules/core/components/Spinner/Spinner.js +3 -3
- package/dist/cjs/modules/core/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/modules/core/components/Spinner/index.js +1 -0
- package/dist/cjs/modules/core/cx/index.js +2 -2
- package/dist/cjs/modules/core/cx/index.js.map +1 -1
- package/dist/cjs/modules/core/debounce/index.js +2 -2
- package/dist/cjs/modules/core/debounce/index.js.map +1 -1
- package/dist/cjs/modules/core/hooks/index.js +1 -0
- package/dist/cjs/modules/core/hooks/useComponentVisible.js +2 -2
- package/dist/cjs/modules/core/hooks/useComponentVisible.js.map +1 -1
- package/dist/cjs/modules/core/hooks/useOnBottomScroll.js +2 -2
- package/dist/cjs/modules/core/hooks/useOnBottomScroll.js.map +1 -1
- package/dist/cjs/modules/core/index.js +1 -0
- package/dist/cjs/modules/core/utils.js +2 -2
- package/dist/cjs/modules/core/utils.js.map +1 -1
- package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js +2 -2
- package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js.map +1 -1
- package/dist/cjs/modules/feed/components/EmptyFeed/index.js +1 -0
- package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationCell/index.js +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeed/index.js +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedContainer/index.js +1 -0
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationFeedPopover/index.js +1 -0
- package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js +2 -2
- package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js.map +1 -1
- package/dist/cjs/modules/feed/components/NotificationIconButton/index.js +1 -0
- package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js +2 -2
- package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js.map +1 -1
- package/dist/cjs/modules/feed/components/UnseenBadge/index.js +1 -0
- package/dist/cjs/modules/feed/index.js +1 -0
- package/dist/cjs/modules/guide/components/Banner/Banner.js +2 -2
- package/dist/cjs/modules/guide/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/modules/guide/components/Banner/index.js +1 -0
- package/dist/cjs/modules/guide/components/Card/Card.js +2 -2
- package/dist/cjs/modules/guide/components/Card/Card.js.map +1 -1
- package/dist/cjs/modules/guide/components/Card/index.js +1 -0
- package/dist/cjs/modules/guide/components/Modal/Modal.js +2 -2
- package/dist/cjs/modules/guide/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/modules/guide/components/Modal/index.js +1 -0
- package/dist/cjs/modules/guide/components/Toolbar/KnockButton.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/KnockButton.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/Kbd.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/Kbd.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/index.js +1 -0
- package/dist/cjs/modules/guide/components/Toolbar/V2/useDraggable.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/useDraggable.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/index.js +1 -0
- package/dist/cjs/modules/guide/components/Toolbar/shared.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/shared.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/styles.inline.js +2 -0
- package/dist/cjs/modules/guide/components/Toolbar/styles.inline.js.map +1 -0
- package/dist/cjs/modules/guide/components/Toolbar/useToolbarStyles.js +2 -2
- package/dist/cjs/modules/guide/components/Toolbar/useToolbarStyles.js.map +1 -1
- package/dist/cjs/modules/guide/components/helpers.js +2 -2
- package/dist/cjs/modules/guide/components/helpers.js.map +1 -1
- package/dist/cjs/modules/guide/components/index.js +1 -0
- package/dist/cjs/modules/guide/index.js +1 -0
- package/dist/cjs/modules/guide/providers/KnockGuideProvider.js +2 -2
- package/dist/cjs/modules/guide/providers/KnockGuideProvider.js.map +1 -1
- package/dist/cjs/modules/guide/providers/index.js +1 -0
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/index.js +1 -0
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/index.js +1 -0
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/index.js +1 -0
- package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.js +2 -2
- package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.js.map +1 -1
- package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/index.js +1 -0
- package/dist/cjs/modules/ms-teams/index.js +1 -0
- package/dist/cjs/modules/ms-teams/utils.js +2 -2
- package/dist/cjs/modules/ms-teams/utils.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js +2 -2
- package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js +2 -2
- package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthButton/index.js +1 -0
- package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js +2 -2
- package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackAuthContainer/index.js +1 -0
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js +2 -2
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js +2 -2
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.js +2 -2
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackChannelCombobox/index.js +1 -0
- package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js +2 -2
- package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js.map +1 -1
- package/dist/cjs/modules/slack/components/SlackIcon/index.js +1 -0
- package/dist/cjs/modules/slack/index.js +1 -0
- package/dist/cjs/modules/slack/utils.js +2 -2
- package/dist/cjs/modules/slack/utils.js.map +1 -1
- package/dist/cjs/next/KnockGuideLocationSensor.js +2 -2
- package/dist/cjs/next/KnockGuideLocationSensor.js.map +1 -1
- package/dist/cjs/next.js +1 -2
- package/dist/cjs/tanstack/KnockGuideLocationSensor.js +2 -2
- package/dist/cjs/tanstack/KnockGuideLocationSensor.js.map +1 -1
- package/dist/cjs/tanstack.js +1 -2
- package/dist/esm/index.mjs +36 -118
- package/dist/esm/modules/core/components/Button/Button.mjs +28 -21
- package/dist/esm/modules/core/components/Button/Button.mjs.map +1 -1
- package/dist/esm/modules/core/components/Button/ButtonGroup.mjs +11 -9
- package/dist/esm/modules/core/components/Button/ButtonGroup.mjs.map +1 -1
- package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs +13 -10
- package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs.map +1 -1
- package/dist/esm/modules/core/components/Button/index.mjs +3 -0
- package/dist/esm/modules/core/components/Icons/Bell.mjs +26 -10
- package/dist/esm/modules/core/components/Icons/Bell.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs +26 -10
- package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/ChevronDown.mjs +21 -10
- package/dist/esm/modules/core/components/Icons/ChevronDown.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/CloseCircle.mjs +18 -10
- package/dist/esm/modules/core/components/Icons/CloseCircle.mjs.map +1 -1
- package/dist/esm/modules/core/components/Icons/index.mjs +5 -0
- package/dist/esm/modules/core/components/Spinner/Spinner.mjs +40 -30
- package/dist/esm/modules/core/components/Spinner/Spinner.mjs.map +1 -1
- package/dist/esm/modules/core/components/Spinner/index.mjs +2 -0
- package/dist/esm/modules/core/cx/index.mjs +6 -5
- package/dist/esm/modules/core/cx/index.mjs.map +1 -1
- package/dist/esm/modules/core/debounce/index.mjs +14 -14
- package/dist/esm/modules/core/debounce/index.mjs.map +1 -1
- package/dist/esm/modules/core/hooks/index.mjs +2 -0
- package/dist/esm/modules/core/hooks/useComponentVisible.mjs +17 -18
- package/dist/esm/modules/core/hooks/useComponentVisible.mjs.map +1 -1
- package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs +21 -21
- package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs.map +1 -1
- package/dist/esm/modules/core/index.mjs +14 -0
- package/dist/esm/modules/core/utils.mjs +10 -11
- package/dist/esm/modules/core/utils.mjs.map +1 -1
- package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs +23 -14
- package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs.map +1 -1
- package/dist/esm/modules/feed/components/EmptyFeed/index.mjs +2 -0
- package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs +42 -40
- package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs +24 -15
- package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs +88 -64
- package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationCell/index.mjs +3 -0
- package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs +22 -17
- package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs +26 -21
- package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs +78 -68
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs +33 -17
- package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeed/index.mjs +4 -0
- package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs +11 -9
- package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeedContainer/index.mjs +2 -0
- package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs +62 -65
- package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationFeedPopover/index.mjs +2 -0
- package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs +22 -17
- package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs.map +1 -1
- package/dist/esm/modules/feed/components/NotificationIconButton/index.mjs +2 -0
- package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs +27 -23
- package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs.map +1 -1
- package/dist/esm/modules/feed/components/UnseenBadge/index.mjs +2 -0
- package/dist/esm/modules/feed/index.mjs +18 -0
- package/dist/esm/modules/guide/components/Banner/Banner.mjs +138 -129
- package/dist/esm/modules/guide/components/Banner/Banner.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Banner/index.mjs +2 -0
- package/dist/esm/modules/guide/components/Card/Card.mjs +184 -167
- package/dist/esm/modules/guide/components/Card/Card.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Card/index.mjs +2 -0
- package/dist/esm/modules/guide/components/Modal/Modal.mjs +188 -168
- package/dist/esm/modules/guide/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Modal/index.mjs +2 -0
- package/dist/esm/modules/guide/components/Toolbar/KnockButton.mjs +46 -24
- package/dist/esm/modules/guide/components/Toolbar/KnockButton.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs +174 -111
- package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs +82 -19
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs +189 -47
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs +229 -143
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs +180 -68
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/Kbd.mjs +17 -14
- package/dist/esm/modules/guide/components/Toolbar/V2/Kbd.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs +315 -159
- package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs +9 -11
- package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/index.mjs +2 -0
- package/dist/esm/modules/guide/components/Toolbar/V2/useDraggable.mjs +66 -74
- package/dist/esm/modules/guide/components/Toolbar/V2/useDraggable.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.mjs +136 -192
- package/dist/esm/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/index.mjs +3 -0
- package/dist/esm/modules/guide/components/Toolbar/shared.mjs +6 -5
- package/dist/esm/modules/guide/components/Toolbar/shared.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/styles.inline.mjs +6 -0
- package/dist/esm/modules/guide/components/Toolbar/styles.inline.mjs.map +1 -0
- package/dist/esm/modules/guide/components/Toolbar/useToolbarStyles.mjs +13 -12
- package/dist/esm/modules/guide/components/Toolbar/useToolbarStyles.mjs.map +1 -1
- package/dist/esm/modules/guide/components/helpers.mjs +15 -15
- package/dist/esm/modules/guide/components/helpers.mjs.map +1 -1
- package/dist/esm/modules/guide/components/index.mjs +9 -0
- package/dist/esm/modules/guide/index.mjs +8 -0
- package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs +19 -17
- package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs.map +1 -1
- package/dist/esm/modules/guide/providers/index.mjs +2 -0
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs +78 -52
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/index.mjs +2 -0
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs +33 -16
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/index.mjs +2 -0
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs +60 -28
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.mjs +47 -39
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.mjs +11 -14
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.mjs +23 -11
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.mjs +41 -33
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/index.mjs +2 -0
- package/dist/esm/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.mjs +99 -15
- package/dist/esm/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/components/MsTeamsIcon/index.mjs +2 -0
- package/dist/esm/modules/ms-teams/index.mjs +7 -0
- package/dist/esm/modules/ms-teams/utils.mjs +6 -5
- package/dist/esm/modules/ms-teams/utils.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs +48 -32
- package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs +82 -58
- package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAuthButton/index.mjs +2 -0
- package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs +33 -16
- package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackAuthContainer/index.mjs +2 -0
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs +100 -66
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs +11 -14
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.mjs +23 -11
- package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackChannelCombobox/index.mjs +2 -0
- package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs +32 -12
- package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs.map +1 -1
- package/dist/esm/modules/slack/components/SlackIcon/index.mjs +2 -0
- package/dist/esm/modules/slack/index.mjs +7 -0
- package/dist/esm/modules/slack/utils.mjs +6 -5
- package/dist/esm/modules/slack/utils.mjs.map +1 -1
- package/dist/esm/next/KnockGuideLocationSensor.mjs +37 -37
- package/dist/esm/next/KnockGuideLocationSensor.mjs.map +1 -1
- package/dist/esm/next.mjs +2 -5
- package/dist/esm/tanstack/KnockGuideLocationSensor.mjs +16 -19
- package/dist/esm/tanstack/KnockGuideLocationSensor.mjs.map +1 -1
- package/dist/esm/tanstack.mjs +2 -5
- package/dist/index.css +1 -1
- package/package.json +12 -14
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/modules/guide/components/Toolbar/styles.css.inline.js +0 -2
- package/dist/cjs/modules/guide/components/Toolbar/styles.css.inline.js.map +0 -1
- package/dist/cjs/next.js.map +0 -1
- package/dist/cjs/tanstack.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/modules/guide/components/Toolbar/styles.css.inline.mjs +0 -5
- package/dist/esm/modules/guide/components/Toolbar/styles.css.inline.mjs.map +0 -1
- package/dist/esm/next.mjs.map +0 -1
- package/dist/esm/tanstack.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict"
|
|
2
|
-
//# sourceMappingURL=SlackChannelCombobox.js.map
|
|
1
|
+
"use strict";;/* empty css */const e=require("../../utils.js"),t=require("./SlackErrorMessage.js"),n=require("./SlackConnectionError.js"),r=require("../SlackAddChannelInput/SlackAddChannelInput.js");;/* empty css */let i=require("@knocklabs/react-core"),a=require("react"),o=require("react/jsx-runtime"),s=require("@telegraph/icon"),c=require("@telegraph/layout"),l=require("@telegraph/typography"),u=require("lucide-react"),d=require("@telegraph/combobox");var f=1e3,p=({slackChannelsRecipientObject:p,queryOptions:m,inputMessages:h})=>{let{t:g}=(0,i.useTranslations)(),{connectionStatus:_,errorLabel:v}=(0,i.useKnockSlackClient)(),{data:y,isLoading:b}=(0,i.useSlackChannels)({queryOptions:m}),x=(0,a.useMemo)(()=>e.sortSlackChannelsAlphabetically(y),[y]),{data:S,updateConnectedChannels:C,error:w,updating:T}=(0,i.useConnectedSlackChannels)({slackChannelsRecipientObject:p}),E=(0,a.useMemo)(()=>{let e=new Map(x.map(e=>[e.id,e]));return S?.filter(t=>e.has(t.channel_id||``))||[]},[S,x]),D=(0,a.useMemo)(()=>_===`disconnected`||_===`error`||!!w,[w,_]),O=(0,a.useMemo)(()=>_===`connecting`||_===`disconnecting`||b,[_,b]),k=(0,a.useMemo)(()=>{let e={disconnected:g(`slackSearchbarDisconnected`),noChannelsConnected:g(`slackSearchbarNoChannelsConnected`),noSlackChannelsFound:g(`slackSearchbarNoChannelsFound`),channelsError:g(`slackSearchbarChannelsError`)};if(_===`disconnected`)return h?.disconnected||e.disconnected;if(_===`error`)return h?.error||v;if(!O&&x.length===0)return h?.noSlackChannelsFound||e.noSlackChannelsFound;let t=E?.length||0;return E&&t===0?h?.noChannelsConnected||e.noChannelsConnected:``},[_,O,x,E,h,v,g]),A=(0,a.useMemo)(()=>E.map(e=>e.channel_id),[E]);return x.length>f?(0,o.jsx)(r.default,{inErrorState:D,connectedChannels:E||[],updateConnectedChannels:C,connectedChannelsError:w,connectedChannelsUpdating:T}):(0,o.jsxs)(c.Stack,{className:`tgph rsk-combobox__grid`,gap:`3`,children:[(0,o.jsx)(l.Text,{color:`gray`,size:`2`,as:`div`,minHeight:`8`,className:`rsk-combobox__label`,children:`Channels`}),(0,o.jsxs)(d.Combobox.Root,{value:A,onValueChange:e=>{let t=e.map(e=>({channel_id:e}));C(t).catch(console.error)},placeholder:k??``,disabled:D||x.length===0,errored:D,closeOnSelect:!1,layout:`wrap`,modal:!1,children:[(0,o.jsx)(d.Combobox.Trigger,{}),(0,o.jsxs)(d.Combobox.Content,{children:[(0,o.jsx)(d.Combobox.Search,{label:g(`slackSearchChannels`),className:`rsk-combobox__search`}),(0,o.jsx)(d.Combobox.Options,{maxHeight:`36`,children:x.map(e=>(0,o.jsx)(d.Combobox.Option,{value:e.id,children:(0,o.jsxs)(c.Stack,{align:`center`,gap:`1`,children:[(0,o.jsx)(s.Icon,{icon:e.is_private?u.Lock:u.Hash,size:`0`,"aria-hidden":!0}),e.name]})},e.id))}),(0,o.jsx)(d.Combobox.Empty,{})]})]}),(0,o.jsx)(n.default,{}),!!w&&(0,o.jsx)(t.default,{message:w})]})};exports.SlackChannelCombobox=p;
|
|
2
|
+
//# sourceMappingURL=SlackChannelCombobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackChannelCombobox.js","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport {\n RecipientObject,\n SlackChannelQueryOptions,\n useConnectedSlackChannels,\n useKnockSlackClient,\n useSlackChannels,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { Combobox } from \"@telegraph/combobox\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Text } from \"@telegraph/typography\";\nimport { Hash, Lock } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport \"../../theme.css\";\nimport { sortSlackChannelsAlphabetically } from \"../../utils\";\nimport SlackAddChannelInput from \"../SlackAddChannelInput/SlackAddChannelInput\";\n\nimport SlackConnectionError from \"./SlackConnectionError\";\nimport SlackErrorMessage from \"./SlackErrorMessage\";\nimport \"./styles.css\";\n\nconst MAX_ALLOWED_CHANNELS = 1000;\n\nexport type SlackChannelComboboxInputMessages = {\n disconnected: string;\n error: string;\n noChannelsConnected: string;\n noSlackChannelsFound: string;\n};\n\nexport interface SlackChannelComboboxProps {\n slackChannelsRecipientObject: RecipientObject;\n queryOptions?: SlackChannelQueryOptions;\n inputMessages?: SlackChannelComboboxInputMessages;\n}\n\nexport const SlackChannelCombobox: FunctionComponent<\n SlackChannelComboboxProps\n> = ({ slackChannelsRecipientObject, queryOptions, inputMessages }) => {\n const { t } = useTranslations();\n\n // Gather API data\n const { connectionStatus, errorLabel: connectionErrorLabel } =\n useKnockSlackClient();\n\n const { data: unsortedSlackChannels, isLoading: slackChannelsLoading } =\n useSlackChannels({ queryOptions });\n\n const slackChannels = useMemo(\n () => sortSlackChannelsAlphabetically(unsortedSlackChannels),\n [unsortedSlackChannels],\n );\n\n const {\n data: connectedChannels,\n updateConnectedChannels,\n error: connectedChannelsError,\n updating: connectedChannelsUpdating,\n } = useConnectedSlackChannels({ slackChannelsRecipientObject });\n\n const currentConnectedChannels = useMemo<SlackChannelConnection[]>(() => {\n // Used to make sure we're only showing currently available channels to select from.\n // There are cases where a channel is \"connected\" in Knock, but it wouldn't be\n // posting to it if the channel is private and the Slackbot doesn't belong to it,\n // so the channel won't show up here and it won't be posted to.\n const slackChannelsMap = new Map(\n slackChannels.map((channel) => [channel.id, channel]),\n );\n\n return (\n connectedChannels?.filter((connectedChannel) => {\n return slackChannelsMap.has(connectedChannel.channel_id || \"\");\n }) || []\n );\n }, [connectedChannels, slackChannels]);\n\n const inErrorState = useMemo(\n () =>\n connectionStatus === \"disconnected\" ||\n connectionStatus === \"error\" ||\n !!connectedChannelsError,\n [connectedChannelsError, connectionStatus],\n );\n\n const inLoadingState = useMemo(\n () =>\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\" ||\n slackChannelsLoading,\n\n [connectionStatus, slackChannelsLoading],\n );\n\n // Construct placeholder text\n const searchPlaceholder = useMemo(() => {\n const DEFAULT_INPUT_MESSAGES = {\n disconnected: t(\"slackSearchbarDisconnected\"),\n noChannelsConnected: t(\"slackSearchbarNoChannelsConnected\"),\n noSlackChannelsFound: t(\"slackSearchbarNoChannelsFound\"),\n channelsError: t(\"slackSearchbarChannelsError\"),\n };\n\n // Connection status message\n if (connectionStatus === \"disconnected\") {\n return inputMessages?.disconnected || DEFAULT_INPUT_MESSAGES.disconnected;\n }\n\n if (connectionStatus === \"error\") {\n return inputMessages?.error || connectionErrorLabel;\n }\n\n // Channels status messages\n if (!inLoadingState && slackChannels.length === 0) {\n return (\n inputMessages?.noSlackChannelsFound ||\n DEFAULT_INPUT_MESSAGES.noSlackChannelsFound\n );\n }\n\n const numberConnectedChannels = currentConnectedChannels?.length || 0;\n\n if (currentConnectedChannels && numberConnectedChannels === 0) {\n return (\n inputMessages?.noChannelsConnected ||\n DEFAULT_INPUT_MESSAGES.noChannelsConnected\n );\n }\n\n return \"\";\n }, [\n connectionStatus,\n inLoadingState,\n slackChannels,\n currentConnectedChannels,\n inputMessages,\n connectionErrorLabel,\n t,\n ]);\n\n const comboboxValue = useMemo(\n () => currentConnectedChannels.map((connection) => connection.channel_id),\n [currentConnectedChannels],\n );\n\n if (slackChannels.length > MAX_ALLOWED_CHANNELS) {\n return (\n <SlackAddChannelInput\n inErrorState={inErrorState}\n connectedChannels={currentConnectedChannels || []}\n updateConnectedChannels={updateConnectedChannels}\n connectedChannelsError={connectedChannelsError}\n connectedChannelsUpdating={connectedChannelsUpdating}\n />\n );\n }\n\n return (\n <Stack className=\"tgph rsk-combobox__grid\" gap=\"3\">\n <Text\n color=\"gray\"\n size=\"2\"\n as=\"div\"\n minHeight=\"8\"\n className=\"rsk-combobox__label\"\n >\n Channels\n </Text>\n <Combobox.Root\n value={comboboxValue}\n onValueChange={(channelIds) => {\n const updatedConnections = channelIds.map<SlackChannelConnection>(\n (channelId) => ({\n channel_id: channelId,\n }),\n );\n\n updateConnectedChannels(updatedConnections).catch(console.error);\n }}\n placeholder={searchPlaceholder ?? \"\"}\n disabled={inErrorState || slackChannels.length === 0}\n errored={inErrorState}\n closeOnSelect={false}\n layout=\"wrap\"\n modal={\n // Modal comboboxes cause page layout to shift when body has padding. See KNO-7854.\n false\n }\n >\n <Combobox.Trigger />\n <Combobox.Content>\n <Combobox.Search\n label={t(\"slackSearchChannels\")}\n className=\"rsk-combobox__search\"\n />\n <Combobox.Options maxHeight=\"36\">\n {slackChannels.map((channel) => (\n <Combobox.Option key={channel.id} value={channel.id}>\n <Stack align=\"center\" gap=\"1\">\n <Icon\n icon={channel.is_private ? Lock : Hash}\n size=\"0\"\n aria-hidden\n />\n {channel.name}\n </Stack>\n </Combobox.Option>\n ))}\n </Combobox.Options>\n <Combobox.Empty />\n </Combobox.Content>\n </Combobox.Root>\n <SlackConnectionError />\n {!!connectedChannelsError && (\n <SlackErrorMessage message={connectedChannelsError} />\n )}\n </Stack>\n );\n};\n"],"names":["MAX_ALLOWED_CHANNELS","SlackChannelCombobox","slackChannelsRecipientObject","queryOptions","inputMessages","t","useTranslations","connectionStatus","errorLabel","connectionErrorLabel","useKnockSlackClient","data","unsortedSlackChannels","isLoading","slackChannelsLoading","useSlackChannels","slackChannels","useMemo","sortSlackChannelsAlphabetically","connectedChannels","updateConnectedChannels","error","connectedChannelsError","updating","connectedChannelsUpdating","useConnectedSlackChannels","currentConnectedChannels","slackChannelsMap","Map","map","channel","id","filter","connectedChannel","has","channel_id","inErrorState","inLoadingState","searchPlaceholder","DEFAULT_INPUT_MESSAGES","disconnected","noChannelsConnected","noSlackChannelsFound","channelsError","length","numberConnectedChannels","comboboxValue","connection","React","SlackAddChannelInput","Stack","Text","Combobox","channelIds","updatedConnections","channelId","catch","console","Icon","is_private","Lock","Hash","name","SlackConnectionError","SlackErrorMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SlackChannelCombobox.js","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport {\n RecipientObject,\n SlackChannelQueryOptions,\n useConnectedSlackChannels,\n useKnockSlackClient,\n useSlackChannels,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { Combobox } from \"@telegraph/combobox\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Text } from \"@telegraph/typography\";\nimport { Hash, Lock } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport \"../../theme.css\";\nimport { sortSlackChannelsAlphabetically } from \"../../utils\";\nimport SlackAddChannelInput from \"../SlackAddChannelInput/SlackAddChannelInput\";\n\nimport SlackConnectionError from \"./SlackConnectionError\";\nimport SlackErrorMessage from \"./SlackErrorMessage\";\nimport \"./styles.css\";\n\nconst MAX_ALLOWED_CHANNELS = 1000;\n\nexport type SlackChannelComboboxInputMessages = {\n disconnected: string;\n error: string;\n noChannelsConnected: string;\n noSlackChannelsFound: string;\n};\n\nexport interface SlackChannelComboboxProps {\n slackChannelsRecipientObject: RecipientObject;\n queryOptions?: SlackChannelQueryOptions;\n inputMessages?: SlackChannelComboboxInputMessages;\n}\n\nexport const SlackChannelCombobox: FunctionComponent<\n SlackChannelComboboxProps\n> = ({ slackChannelsRecipientObject, queryOptions, inputMessages }) => {\n const { t } = useTranslations();\n\n // Gather API data\n const { connectionStatus, errorLabel: connectionErrorLabel } =\n useKnockSlackClient();\n\n const { data: unsortedSlackChannels, isLoading: slackChannelsLoading } =\n useSlackChannels({ queryOptions });\n\n const slackChannels = useMemo(\n () => sortSlackChannelsAlphabetically(unsortedSlackChannels),\n [unsortedSlackChannels],\n );\n\n const {\n data: connectedChannels,\n updateConnectedChannels,\n error: connectedChannelsError,\n updating: connectedChannelsUpdating,\n } = useConnectedSlackChannels({ slackChannelsRecipientObject });\n\n const currentConnectedChannels = useMemo<SlackChannelConnection[]>(() => {\n // Used to make sure we're only showing currently available channels to select from.\n // There are cases where a channel is \"connected\" in Knock, but it wouldn't be\n // posting to it if the channel is private and the Slackbot doesn't belong to it,\n // so the channel won't show up here and it won't be posted to.\n const slackChannelsMap = new Map(\n slackChannels.map((channel) => [channel.id, channel]),\n );\n\n return (\n connectedChannels?.filter((connectedChannel) => {\n return slackChannelsMap.has(connectedChannel.channel_id || \"\");\n }) || []\n );\n }, [connectedChannels, slackChannels]);\n\n const inErrorState = useMemo(\n () =>\n connectionStatus === \"disconnected\" ||\n connectionStatus === \"error\" ||\n !!connectedChannelsError,\n [connectedChannelsError, connectionStatus],\n );\n\n const inLoadingState = useMemo(\n () =>\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\" ||\n slackChannelsLoading,\n\n [connectionStatus, slackChannelsLoading],\n );\n\n // Construct placeholder text\n const searchPlaceholder = useMemo(() => {\n const DEFAULT_INPUT_MESSAGES = {\n disconnected: t(\"slackSearchbarDisconnected\"),\n noChannelsConnected: t(\"slackSearchbarNoChannelsConnected\"),\n noSlackChannelsFound: t(\"slackSearchbarNoChannelsFound\"),\n channelsError: t(\"slackSearchbarChannelsError\"),\n };\n\n // Connection status message\n if (connectionStatus === \"disconnected\") {\n return inputMessages?.disconnected || DEFAULT_INPUT_MESSAGES.disconnected;\n }\n\n if (connectionStatus === \"error\") {\n return inputMessages?.error || connectionErrorLabel;\n }\n\n // Channels status messages\n if (!inLoadingState && slackChannels.length === 0) {\n return (\n inputMessages?.noSlackChannelsFound ||\n DEFAULT_INPUT_MESSAGES.noSlackChannelsFound\n );\n }\n\n const numberConnectedChannels = currentConnectedChannels?.length || 0;\n\n if (currentConnectedChannels && numberConnectedChannels === 0) {\n return (\n inputMessages?.noChannelsConnected ||\n DEFAULT_INPUT_MESSAGES.noChannelsConnected\n );\n }\n\n return \"\";\n }, [\n connectionStatus,\n inLoadingState,\n slackChannels,\n currentConnectedChannels,\n inputMessages,\n connectionErrorLabel,\n t,\n ]);\n\n const comboboxValue = useMemo(\n () => currentConnectedChannels.map((connection) => connection.channel_id),\n [currentConnectedChannels],\n );\n\n if (slackChannels.length > MAX_ALLOWED_CHANNELS) {\n return (\n <SlackAddChannelInput\n inErrorState={inErrorState}\n connectedChannels={currentConnectedChannels || []}\n updateConnectedChannels={updateConnectedChannels}\n connectedChannelsError={connectedChannelsError}\n connectedChannelsUpdating={connectedChannelsUpdating}\n />\n );\n }\n\n return (\n <Stack className=\"tgph rsk-combobox__grid\" gap=\"3\">\n <Text\n color=\"gray\"\n size=\"2\"\n as=\"div\"\n minHeight=\"8\"\n className=\"rsk-combobox__label\"\n >\n Channels\n </Text>\n <Combobox.Root\n value={comboboxValue}\n onValueChange={(channelIds) => {\n const updatedConnections = channelIds.map<SlackChannelConnection>(\n (channelId) => ({\n channel_id: channelId,\n }),\n );\n\n updateConnectedChannels(updatedConnections).catch(console.error);\n }}\n placeholder={searchPlaceholder ?? \"\"}\n disabled={inErrorState || slackChannels.length === 0}\n errored={inErrorState}\n closeOnSelect={false}\n layout=\"wrap\"\n modal={\n // Modal comboboxes cause page layout to shift when body has padding. See KNO-7854.\n false\n }\n >\n <Combobox.Trigger />\n <Combobox.Content>\n <Combobox.Search\n label={t(\"slackSearchChannels\")}\n className=\"rsk-combobox__search\"\n />\n <Combobox.Options maxHeight=\"36\">\n {slackChannels.map((channel) => (\n <Combobox.Option key={channel.id} value={channel.id}>\n <Stack align=\"center\" gap=\"1\">\n <Icon\n icon={channel.is_private ? Lock : Hash}\n size=\"0\"\n aria-hidden\n />\n {channel.name}\n </Stack>\n </Combobox.Option>\n ))}\n </Combobox.Options>\n <Combobox.Empty />\n </Combobox.Content>\n </Combobox.Root>\n <SlackConnectionError />\n {!!connectedChannelsError && (\n <SlackErrorMessage message={connectedChannelsError} />\n )}\n </Stack>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
2
|
-
//# sourceMappingURL=SlackConnectionError.js.map
|
|
1
|
+
"use strict";const e=require("./SlackErrorMessage.js");let t=require("@knocklabs/react-core"),n=require("react/jsx-runtime");var r=()=>{let{t:r}=(0,t.useTranslations)(),{connectionStatus:i}=(0,t.useKnockSlackClient)();return i===`disconnected`||i===`error`?(0,n.jsx)(e.default,{message:r(i===`disconnected`?`slackConnectionErrorOccurred`:`slackConnectionErrorExists`)}):null};exports.default=r;
|
|
2
|
+
//# sourceMappingURL=SlackConnectionError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackConnectionError.js","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx"],"sourcesContent":["import { useKnockSlackClient, useTranslations } from \"@knocklabs/react-core\";\nimport { FunctionComponent } from \"react\";\n\nimport SlackErrorMessage from \"./SlackErrorMessage\";\n\nconst SlackConnectionError: FunctionComponent = () => {\n const { t } = useTranslations();\n const { connectionStatus } = useKnockSlackClient();\n\n if (connectionStatus === \"disconnected\" || connectionStatus === \"error\") {\n return (\n <SlackErrorMessage\n message={\n connectionStatus === \"disconnected\"\n ? t(\"slackConnectionErrorOccurred\")\n : t(\"slackConnectionErrorExists\")\n }\n />\n );\n }\n\n return null;\n};\n\nexport default SlackConnectionError;\n"],"
|
|
1
|
+
{"version":3,"file":"SlackConnectionError.js","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx"],"sourcesContent":["import { useKnockSlackClient, useTranslations } from \"@knocklabs/react-core\";\nimport { FunctionComponent } from \"react\";\n\nimport SlackErrorMessage from \"./SlackErrorMessage\";\n\nconst SlackConnectionError: FunctionComponent = () => {\n const { t } = useTranslations();\n const { connectionStatus } = useKnockSlackClient();\n\n if (connectionStatus === \"disconnected\" || connectionStatus === \"error\") {\n return (\n <SlackErrorMessage\n message={\n connectionStatus === \"disconnected\"\n ? t(\"slackConnectionErrorOccurred\")\n : t(\"slackConnectionErrorExists\")\n }\n />\n );\n }\n\n return null;\n};\n\nexport default SlackConnectionError;\n"],"mappings":"6HAKA,IAAM,MAAgD,CACpD,GAAM,CAAE,MAAA,EAAA,EAAA,gBAAA,CAAsB,EACxB,CAAE,qBAAA,EAAA,EAAA,oBAAA,CAAyC,EAcjD,OAZI,IAAqB,gBAAkB,IAAqB,SAE5D,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CACE,QAEM,EADJ,IAAqB,eACf,+BACA,4BAA4B,CAErC,CAAA,EAIE,IACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=SlackErrorMessage.js.map
|
|
1
|
+
"use strict";let e=require("react/jsx-runtime"),t=require("@telegraph/icon"),n=require("@telegraph/typography"),r=require("lucide-react");var i=({message:i})=>(0,e.jsxs)(`div`,{className:`rsk-combobox__error`,children:[(0,e.jsx)(`span`,{children:(0,e.jsx)(t.Icon,{icon:r.Info,color:`black`,size:`1`,"aria-hidden":!0})}),(0,e.jsx)(n.Text,{as:`div`,color:`black`,size:`1`,children:i})]});exports.default=i;
|
|
2
|
+
//# sourceMappingURL=SlackErrorMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackErrorMessage.js","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.tsx"],"sourcesContent":["import { Icon } from \"@telegraph/icon\";\nimport { Text } from \"@telegraph/typography\";\nimport { Info } from \"lucide-react\";\nimport { FunctionComponent } from \"react\";\n\ninterface Props {\n message?: string;\n}\n\nconst SlackErrorMessage: FunctionComponent<Props> = ({ message }) => {\n return (\n <div className=\"rsk-combobox__error\">\n <span>\n <Icon icon={Info} color=\"black\" size=\"1\" aria-hidden />\n </span>\n <Text as=\"div\" color=\"black\" size=\"1\">\n {message}\n </Text>\n </div>\n );\n};\n\nexport default SlackErrorMessage;\n"],"
|
|
1
|
+
{"version":3,"file":"SlackErrorMessage.js","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.tsx"],"sourcesContent":["import { Icon } from \"@telegraph/icon\";\nimport { Text } from \"@telegraph/typography\";\nimport { Info } from \"lucide-react\";\nimport { FunctionComponent } from \"react\";\n\ninterface Props {\n message?: string;\n}\n\nconst SlackErrorMessage: FunctionComponent<Props> = ({ message }) => {\n return (\n <div className=\"rsk-combobox__error\">\n <span>\n <Icon icon={Info} color=\"black\" size=\"1\" aria-hidden />\n </span>\n <Text as=\"div\" color=\"black\" size=\"1\">\n {message}\n </Text>\n </div>\n );\n};\n\nexport default SlackErrorMessage;\n"],"mappings":"0IASA,IAAM,GAA+C,CAAE,cAEnD,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,+BAAf,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAAM,KAAM,EAAA,KAAM,MAAM,QAAQ,KAAK,IAAI,cAAA,EAAa,CAAA,CAClD,CAAA,GACN,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAAM,GAAG,MAAM,MAAM,QAAQ,KAAK,aAC/B,CACG,CAAA,CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("./SlackChannelCombobox.js");exports.SlackChannelCombobox=e.SlackChannelCombobox;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=SlackIcon.js.map
|
|
1
|
+
"use strict";let e=require("react/jsx-runtime");var t=({height:t,width:n})=>(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,style:{height:t,width:n},viewBox:`0 0 122.8 122.8`,children:[(0,e.jsx)(`path`,{d:`M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z`,fill:`#e01e5a`}),(0,e.jsx)(`path`,{d:`M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z`,fill:`#36c5f0`}),(0,e.jsx)(`path`,{d:`M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z`,fill:`#2eb67d`}),(0,e.jsx)(`path`,{d:`M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z`,fill:`#ecb22e`})]});exports.SlackIcon=t;
|
|
2
|
+
//# sourceMappingURL=SlackIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackIcon.js","sources":["../../../../../../src/modules/slack/components/SlackIcon/SlackIcon.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nexport interface SlackIconProps {\n height: string;\n width: string;\n}\n\nexport const SlackIcon: FunctionComponent<SlackIconProps> = ({\n height,\n width,\n}) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ height, width }}\n viewBox=\"0 0 122.8 122.8\"\n >\n <path\n d=\"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z\"\n fill=\"#e01e5a\"\n ></path>\n <path\n d=\"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z\"\n fill=\"#36c5f0\"\n ></path>\n <path\n d=\"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z\"\n fill=\"#2eb67d\"\n ></path>\n <path\n d=\"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z\"\n fill=\"#ecb22e\"\n ></path>\n </svg>\n );\n};\n"],"
|
|
1
|
+
{"version":3,"file":"SlackIcon.js","names":[],"sources":["../../../../../../src/modules/slack/components/SlackIcon/SlackIcon.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nexport interface SlackIconProps {\n height: string;\n width: string;\n}\n\nexport const SlackIcon: FunctionComponent<SlackIconProps> = ({\n height,\n width,\n}) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ height, width }}\n viewBox=\"0 0 122.8 122.8\"\n >\n <path\n d=\"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z\"\n fill=\"#e01e5a\"\n ></path>\n <path\n d=\"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z\"\n fill=\"#36c5f0\"\n ></path>\n <path\n d=\"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z\"\n fill=\"#2eb67d\"\n ></path>\n <path\n d=\"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z\"\n fill=\"#ecb22e\"\n ></path>\n </svg>\n );\n};\n"],"mappings":"gDAOA,IAAa,GAAgD,CAC3D,SACA,YAGE,EAAA,EAAA,KAAA,CAAC,MAAD,CACE,MAAM,6BACN,MAAO,CAAE,SAAQ,OAAM,EACvB,QAAQ,2BAHV,EAKE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,EAAE,4LACF,KAAK,SACA,CAAA,GACP,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,EAAE,2LACF,KAAK,SACA,CAAA,GACP,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,EAAE,4LACF,KAAK,SACA,CAAA,GACP,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,EAAE,+LACF,KAAK,SACA,CAAA,CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("./SlackIcon.js");exports.SlackIcon=e.SlackIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("./components/SlackAuthButton/SlackAuthButton.js");require("./components/SlackAuthButton/index.js");const t=require("./components/SlackAuthContainer/SlackAuthContainer.js");require("./components/SlackAuthContainer/index.js");const n=require("./components/SlackChannelCombobox/SlackChannelCombobox.js");require("./components/SlackChannelCombobox/index.js"),exports.SlackAuthButton=e.SlackAuthButton,exports.SlackAuthContainer=t.SlackAuthContainer,exports.SlackChannelCombobox=n.SlackChannelCombobox;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=utils.js.map
|
|
1
|
+
"use strict";var e=e=>[...e].sort((e,t)=>e.name.toLowerCase().localeCompare(t.name.toLowerCase()));exports.sortSlackChannelsAlphabetically=e;
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/modules/slack/utils.ts"],"sourcesContent":["import { SlackChannel } from \"@knocklabs/client\";\n\nexport const sortSlackChannelsAlphabetically = (\n channels: readonly SlackChannel[],\n) =>\n [...channels].sort((channel1, channel2) =>\n channel1.name.toLowerCase().localeCompare(channel2.name.toLowerCase()),\n );\n"],"
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../../src/modules/slack/utils.ts"],"sourcesContent":["import { SlackChannel } from \"@knocklabs/client\";\n\nexport const sortSlackChannelsAlphabetically = (\n channels: readonly SlackChannel[],\n) =>\n [...channels].sort((channel1, channel2) =>\n channel1.name.toLowerCase().localeCompare(channel2.name.toLowerCase()),\n );\n"],"mappings":"aAEA,IAAa,EACX,GAEA,CAAC,GAAG,CAAQ,CAAC,CAAC,MAAM,EAAU,IAC5B,EAAS,KAAK,YAAY,CAAC,CAAC,cAAc,EAAS,KAAK,YAAY,CAAC,CACvE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";
|
|
2
|
-
//# sourceMappingURL=KnockGuideLocationSensor.js.map
|
|
1
|
+
"use client";"use strict";const e=require("../_virtual/_rolldown/runtime.js"),t=require("../modules/core/utils.js");let n=require("@knocklabs/react-core"),r=require("react");r=e.__toESM(r);let i=require("next/navigation.js"),a=require("next/router.js");var o={PagesRouter:()=>{let e=(0,a.useRouter)(),{client:i}=(0,n.useGuideContext)();return r.default.useEffect(()=>{let n=t.checkForWindow();if(!n)return;i.store.state.location||i.setLocation(n.location.href),i.removeLocationChangeEventListeners();let r=e=>{i.setLocation(n.location.origin+e)};return e.events.on(`routeChangeComplete`,r),()=>{e.events.off(`routeChangeComplete`,r)}},[i]),null},AppRouter:()=>{let e=(0,i.usePathname)(),a=(0,i.useSearchParams)().toString(),{client:o}=(0,n.useGuideContext)();return r.default.useEffect(()=>{o.removeLocationChangeEventListeners()},[o]),r.default.useEffect(()=>{let e=t.checkForWindow();e&&o.setLocation(e.location.href)},[o,e,a]),null}};exports.KnockGuideLocationSensor=o;
|
|
2
|
+
//# sourceMappingURL=KnockGuideLocationSensor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockGuideLocationSensor.js","sources":["../../../src/next/KnockGuideLocationSensor.tsx"],"sourcesContent":["\"use client\";\n\nimport { useGuideContext } from \"@knocklabs/react-core\";\n// Note the .js suffix for Next 15 ESM friendliness:\nimport { usePathname, useSearchParams } from \"next/navigation.js\";\nimport { useRouter } from \"next/router.js\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nconst PagesRouter: React.FC = () => {\n const router = useRouter();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // Set the initial location if not yet set.\n if (!client.store.state.location) {\n client.setLocation(win.location.href);\n }\n\n // If you are using this helper module, then that means we are detecting\n // route changes from next's router rather than from the global history\n // object which the guide client does by default, so ensure we don't have\n // any event listeners hanging around unnecessarily.\n client.removeLocationChangeEventListeners();\n\n // Attach a route change event listener to the nextjs router. Note, here url\n // is the pathname and any query parameters of the new route but does not\n // include the domain or origin.\n const handleRouteChangeComplete = (url: string) => {\n client.setLocation(win.location.origin + url);\n };\n router.events.on(\"routeChangeComplete\", handleRouteChangeComplete);\n\n return () => {\n router.events.off(\"routeChangeComplete\", handleRouteChangeComplete);\n };\n // We want to run this effect once per client instance and `router` is not\n // guaranteed to be referentially stable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [client]);\n\n return null;\n};\n\nconst AppRouter: React.FC = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryStr = searchParams.toString();\n\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n // Same here, remove any location change event listeners on the window\n // object in case they are attached.\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n client.setLocation(win.location.href);\n }, [client, pathname, queryStr]);\n\n return null;\n};\n\nexport const KnockGuideLocationSensor = {\n PagesRouter,\n AppRouter,\n};\n"],"
|
|
1
|
+
{"version":3,"file":"KnockGuideLocationSensor.js","names":[],"sources":["../../../src/next/KnockGuideLocationSensor.tsx"],"sourcesContent":["\"use client\";\n\nimport { useGuideContext } from \"@knocklabs/react-core\";\n// Note the .js suffix for Next 15 ESM friendliness:\nimport { usePathname, useSearchParams } from \"next/navigation.js\";\nimport { useRouter } from \"next/router.js\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nconst PagesRouter: React.FC = () => {\n const router = useRouter();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // Set the initial location if not yet set.\n if (!client.store.state.location) {\n client.setLocation(win.location.href);\n }\n\n // If you are using this helper module, then that means we are detecting\n // route changes from next's router rather than from the global history\n // object which the guide client does by default, so ensure we don't have\n // any event listeners hanging around unnecessarily.\n client.removeLocationChangeEventListeners();\n\n // Attach a route change event listener to the nextjs router. Note, here url\n // is the pathname and any query parameters of the new route but does not\n // include the domain or origin.\n const handleRouteChangeComplete = (url: string) => {\n client.setLocation(win.location.origin + url);\n };\n router.events.on(\"routeChangeComplete\", handleRouteChangeComplete);\n\n return () => {\n router.events.off(\"routeChangeComplete\", handleRouteChangeComplete);\n };\n // We want to run this effect once per client instance and `router` is not\n // guaranteed to be referentially stable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [client]);\n\n return null;\n};\n\nconst AppRouter: React.FC = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryStr = searchParams.toString();\n\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n // Same here, remove any location change event listeners on the window\n // object in case they are attached.\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n client.setLocation(win.location.href);\n }, [client, pathname, queryStr]);\n\n return null;\n};\n\nexport const KnockGuideLocationSensor = {\n PagesRouter,\n AppRouter,\n};\n"],"mappings":"6PAuEA,IAAa,EAA2B,CACtC,gBA9DkC,CAClC,IAAM,GAAA,EAAA,EAAA,UAAA,CAAmB,EACnB,CAAE,WAAA,EAAA,EAAA,gBAAA,CAA2B,EAiCnC,OA/BA,EAAA,QAAM,cAAgB,CACpB,IAAM,EAAM,EAAA,eAAe,EAC3B,GAAI,CAAC,EAAK,OAGL,EAAO,MAAM,MAAM,UACtB,EAAO,YAAY,EAAI,SAAS,IAAI,EAOtC,EAAO,mCAAmC,EAK1C,IAAM,EAA6B,GAAgB,CACjD,EAAO,YAAY,EAAI,SAAS,OAAS,CAAG,CAC9C,EAGA,OAFA,EAAO,OAAO,GAAG,sBAAuB,CAAyB,MAEpD,CACX,EAAO,OAAO,IAAI,sBAAuB,CAAyB,CACpE,CAIF,EAAG,CAAC,CAAM,CAAC,EAEJ,IACT,EA2BE,cAzBgC,CAChC,IAAM,GAAA,EAAA,EAAA,YAAA,CAAuB,EAEvB,GAAA,EAAA,EAAA,gBAAA,CAAW,CAAA,CAAa,SAAS,EAEjC,CAAE,WAAA,EAAA,EAAA,gBAAA,CAA2B,EAenC,OAbA,EAAA,QAAM,cAAgB,CAGpB,EAAO,mCAAmC,CAC5C,EAAG,CAAC,CAAM,CAAC,EAEX,EAAA,QAAM,cAAgB,CACpB,IAAM,EAAM,EAAA,eAAe,EACtB,GAEL,EAAO,YAAY,EAAI,SAAS,IAAI,CACtC,EAAG,CAAC,EAAQ,EAAU,CAAQ,CAAC,EAExB,IACT,CAKA"}
|
package/dist/cjs/next.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
2
|
-
//# sourceMappingURL=next.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./next/KnockGuideLocationSensor.js");exports.KnockGuideLocationSensor=e.KnockGuideLocationSensor;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=KnockGuideLocationSensor.js.map
|
|
1
|
+
"use strict";const e=require("../_virtual/_rolldown/runtime.js"),t=require("../modules/core/utils.js");let n=require("@knocklabs/react-core"),r=require("react");r=e.__toESM(r);let i=require("@tanstack/react-router");var a=()=>{let{href:e}=(0,i.useLocation)(),{client:a}=(0,n.useGuideContext)();return r.default.useEffect(()=>{a.removeLocationChangeEventListeners()},[a]),r.default.useEffect(()=>{let n=t.checkForWindow();n&&a.setLocation(n.location.origin+e)},[a,e]),null};exports.KnockGuideLocationSensor=a;
|
|
2
|
+
//# sourceMappingURL=KnockGuideLocationSensor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockGuideLocationSensor.js","sources":["../../../src/tanstack/KnockGuideLocationSensor.tsx"],"sourcesContent":["import { useGuideContext } from \"@knocklabs/react-core\";\nimport { useLocation } from \"@tanstack/react-router\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nexport const KnockGuideLocationSensor: React.FC = () => {\n const { href } = useLocation();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // href here is the full path of the location, including pathname, search,\n // and hash but does not include the origin.\n client.setLocation(win.location.origin + href);\n }, [client, href]);\n\n return null;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"KnockGuideLocationSensor.js","names":[],"sources":["../../../src/tanstack/KnockGuideLocationSensor.tsx"],"sourcesContent":["import { useGuideContext } from \"@knocklabs/react-core\";\nimport { useLocation } from \"@tanstack/react-router\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nexport const KnockGuideLocationSensor: React.FC = () => {\n const { href } = useLocation();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // href here is the full path of the location, including pathname, search,\n // and hash but does not include the origin.\n client.setLocation(win.location.origin + href);\n }, [client, href]);\n\n return null;\n};\n"],"mappings":"wNAMA,IAAa,MAA2C,CACtD,GAAM,CAAE,SAAA,EAAA,EAAA,YAAA,CAAqB,EACvB,CAAE,WAAA,EAAA,EAAA,gBAAA,CAA2B,EAenC,OAbA,EAAA,QAAM,cAAgB,CACpB,EAAO,mCAAmC,CAC5C,EAAG,CAAC,CAAM,CAAC,EAEX,EAAA,QAAM,cAAgB,CACpB,IAAM,EAAM,EAAA,eAAe,EACtB,GAIL,EAAO,YAAY,EAAI,SAAS,OAAS,CAAI,CAC/C,EAAG,CAAC,EAAQ,CAAI,CAAC,EAEV,IACT"}
|
package/dist/cjs/tanstack.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
2
|
-
//# sourceMappingURL=tanstack.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./tanstack/KnockGuideLocationSensor.js");exports.KnockGuideLocationSensor=e.KnockGuideLocationSensor;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,119 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
/* empty css
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import { Avatar as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { UnseenBadge as
|
|
21
|
-
import {
|
|
22
|
-
import
|
|
23
|
-
import "
|
|
24
|
-
import {
|
|
25
|
-
import "
|
|
26
|
-
import "
|
|
27
|
-
import "
|
|
28
|
-
import "
|
|
29
|
-
import "
|
|
30
|
-
import "
|
|
31
|
-
import "
|
|
32
|
-
import "
|
|
33
|
-
|
|
34
|
-
import "
|
|
35
|
-
import "
|
|
36
|
-
import {
|
|
37
|
-
|
|
38
|
-
import { MsTeamsAuthButton as Ze } from "./modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs";
|
|
39
|
-
import { MsTeamsAuthContainer as $e } from "./modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs";
|
|
40
|
-
import { default as oo } from "./modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs";
|
|
41
|
-
import { SlackAuthButton as ro } from "./modules/slack/components/SlackAuthButton/SlackAuthButton.mjs";
|
|
42
|
-
import { SlackAuthContainer as ao } from "./modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs";
|
|
43
|
-
import { SlackChannelCombobox as so } from "./modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs";
|
|
44
|
-
export {
|
|
45
|
-
O as Avatar,
|
|
46
|
-
Z as Banner,
|
|
47
|
-
_ as BannerView,
|
|
48
|
-
h as BellIcon,
|
|
49
|
-
x as Button,
|
|
50
|
-
k as ButtonGroup,
|
|
51
|
-
ee as Card,
|
|
52
|
-
oe as CardView,
|
|
53
|
-
T as CheckmarkCircle,
|
|
54
|
-
v as ChevronDown,
|
|
55
|
-
A as CloseCircle,
|
|
56
|
-
g as EmptyFeed,
|
|
57
|
-
re as FilterStatus,
|
|
58
|
-
ne as I18nContext,
|
|
59
|
-
ae as KnockFeedProvider,
|
|
60
|
-
ie as KnockGuideContext,
|
|
61
|
-
Xe as KnockGuideProvider,
|
|
62
|
-
se as KnockI18nProvider,
|
|
63
|
-
me as KnockMsTeamsProvider,
|
|
64
|
-
ue as KnockProvider,
|
|
65
|
-
ce as KnockSlackProvider,
|
|
66
|
-
R as MarkAsRead,
|
|
67
|
-
Je as Modal,
|
|
68
|
-
Qe as ModalView,
|
|
69
|
-
Ze as MsTeamsAuthButton,
|
|
70
|
-
$e as MsTeamsAuthContainer,
|
|
71
|
-
oo as MsTeamsChannelCombobox,
|
|
72
|
-
y as NotificationCell,
|
|
73
|
-
D as NotificationFeed,
|
|
74
|
-
j as NotificationFeedContainer,
|
|
75
|
-
H as NotificationFeedHeader,
|
|
76
|
-
z as NotificationFeedPopover,
|
|
77
|
-
Q as NotificationIconButton,
|
|
78
|
-
ro as SlackAuthButton,
|
|
79
|
-
ao as SlackAuthContainer,
|
|
80
|
-
so as SlackChannelCombobox,
|
|
81
|
-
F as Spinner,
|
|
82
|
-
X as UnseenBadge,
|
|
83
|
-
pe as feedProviderKey,
|
|
84
|
-
fe as formatBadgeCount,
|
|
85
|
-
le as formatTimestamp,
|
|
86
|
-
de as getBadgeAriaLabel,
|
|
87
|
-
xe as locales,
|
|
88
|
-
Ce as msTeamsProviderKey,
|
|
89
|
-
ke as renderNodeOrFallback,
|
|
90
|
-
Se as slackProviderKey,
|
|
91
|
-
he as toSentenceCase,
|
|
92
|
-
Ke as useAuthenticatedKnockClient,
|
|
93
|
-
Te as useConnectedMsTeamsChannels,
|
|
94
|
-
Me as useConnectedSlackChannels,
|
|
95
|
-
ve as useCreateNotificationStore,
|
|
96
|
-
Be as useFeedSettings,
|
|
97
|
-
Ae as useGuide,
|
|
98
|
-
Pe as useGuideContext,
|
|
99
|
-
Fe as useGuides,
|
|
100
|
-
Ne as useKnockAuthState,
|
|
101
|
-
be as useKnockClient,
|
|
102
|
-
Ge as useKnockFeed,
|
|
103
|
-
ge as useKnockMsTeamsClient,
|
|
104
|
-
we as useKnockSlackClient,
|
|
105
|
-
ye as useMsTeamsAuth,
|
|
106
|
-
Ie as useMsTeamsChannels,
|
|
107
|
-
Oe as useMsTeamsConnectionStatus,
|
|
108
|
-
Ve as useMsTeamsTeams,
|
|
109
|
-
De as useNotificationStore,
|
|
110
|
-
Ee as useNotifications,
|
|
111
|
-
b as useOnBottomScroll,
|
|
112
|
-
He as usePreferences,
|
|
113
|
-
Le as useSlackAuth,
|
|
114
|
-
Re as useSlackChannels,
|
|
115
|
-
Ue as useSlackConnectionStatus,
|
|
116
|
-
je as useStableOptions,
|
|
117
|
-
qe as useTranslations
|
|
118
|
-
};
|
|
119
|
-
//# sourceMappingURL=index.mjs.map
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { Spinner as e } from "./modules/core/components/Spinner/Spinner.mjs";
|
|
4
|
+
import { Button as t } from "./modules/core/components/Button/Button.mjs";
|
|
5
|
+
import { ButtonGroup as n } from "./modules/core/components/Button/ButtonGroup.mjs";
|
|
6
|
+
import { BellIcon as r } from "./modules/core/components/Icons/Bell.mjs";
|
|
7
|
+
import { CheckmarkCircle as i } from "./modules/core/components/Icons/CheckmarkCircle.mjs";
|
|
8
|
+
import { ChevronDown as a } from "./modules/core/components/Icons/ChevronDown.mjs";
|
|
9
|
+
import { CloseCircle as o } from "./modules/core/components/Icons/CloseCircle.mjs";
|
|
10
|
+
import s from "./modules/core/hooks/useOnBottomScroll.mjs";
|
|
11
|
+
import "./modules/core/index.mjs";
|
|
12
|
+
import { EmptyFeed as c } from "./modules/feed/components/EmptyFeed/EmptyFeed.mjs";
|
|
13
|
+
import { Avatar as l } from "./modules/feed/components/NotificationCell/Avatar.mjs";
|
|
14
|
+
import { NotificationCell as u } from "./modules/feed/components/NotificationCell/NotificationCell.mjs";
|
|
15
|
+
import { MarkAsRead as d } from "./modules/feed/components/NotificationFeed/MarkAsRead.mjs";
|
|
16
|
+
import { NotificationFeedHeader as f } from "./modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs";
|
|
17
|
+
import { NotificationFeed as p } from "./modules/feed/components/NotificationFeed/NotificationFeed.mjs";
|
|
18
|
+
import { NotificationFeedContainer as m } from "./modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs";
|
|
19
|
+
import { NotificationFeedPopover as h } from "./modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs";
|
|
20
|
+
import { UnseenBadge as g } from "./modules/feed/components/UnseenBadge/UnseenBadge.mjs";
|
|
21
|
+
import { NotificationIconButton as _ } from "./modules/feed/components/NotificationIconButton/NotificationIconButton.mjs";
|
|
22
|
+
import "./modules/feed/index.mjs";
|
|
23
|
+
import { Banner as v, BannerView as y } from "./modules/guide/components/Banner/Banner.mjs";
|
|
24
|
+
import { Card as b, CardView as x } from "./modules/guide/components/Card/Card.mjs";
|
|
25
|
+
import { Modal as S, ModalView as C } from "./modules/guide/components/Modal/Modal.mjs";
|
|
26
|
+
import { KnockGuideProvider as w } from "./modules/guide/providers/KnockGuideProvider.mjs";
|
|
27
|
+
import "./modules/guide/index.mjs";
|
|
28
|
+
import { MsTeamsAuthButton as T } from "./modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs";
|
|
29
|
+
import { MsTeamsAuthContainer as E } from "./modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs";
|
|
30
|
+
import D from "./modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs";
|
|
31
|
+
import "./modules/ms-teams/index.mjs";
|
|
32
|
+
import { SlackAuthButton as O } from "./modules/slack/components/SlackAuthButton/SlackAuthButton.mjs";
|
|
33
|
+
import { SlackAuthContainer as k } from "./modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs";
|
|
34
|
+
import { SlackChannelCombobox as A } from "./modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs";
|
|
35
|
+
import "./modules/slack/index.mjs";
|
|
36
|
+
import { FilterStatus as j, I18nContext as M, KnockFeedProvider as N, KnockGuideContext as P, KnockI18nProvider as F, KnockMsTeamsProvider as I, KnockProvider as L, KnockSlackProvider as R, feedProviderKey as z, formatBadgeCount as B, formatTimestamp as V, getBadgeAriaLabel as H, locales as U, msTeamsProviderKey as W, renderNodeOrFallback as G, slackProviderKey as K, toSentenceCase as q, useAuthenticatedKnockClient as J, useConnectedMsTeamsChannels as Y, useConnectedSlackChannels as X, useCreateNotificationStore as Z, useFeedSettings as Q, useGuide as $, useGuideContext as ee, useGuides as te, useKnockAuthState as ne, useKnockClient as re, useKnockFeed as ie, useKnockMsTeamsClient as ae, useKnockSlackClient as oe, useMsTeamsAuth as se, useMsTeamsChannels as ce, useMsTeamsConnectionStatus as le, useMsTeamsTeams as ue, useNotificationStore as de, useNotifications as fe, usePreferences as pe, useSlackAuth as me, useSlackChannels as he, useSlackConnectionStatus as ge, useStableOptions as _e, useTranslations as ve } from "@knocklabs/react-core";
|
|
37
|
+
export { l as Avatar, v as Banner, y as BannerView, r as BellIcon, t as Button, n as ButtonGroup, b as Card, x as CardView, i as CheckmarkCircle, a as ChevronDown, o as CloseCircle, c as EmptyFeed, j as FilterStatus, M as I18nContext, N as KnockFeedProvider, P as KnockGuideContext, w as KnockGuideProvider, F as KnockI18nProvider, I as KnockMsTeamsProvider, L as KnockProvider, R as KnockSlackProvider, d as MarkAsRead, S as Modal, C as ModalView, T as MsTeamsAuthButton, E as MsTeamsAuthContainer, D as MsTeamsChannelCombobox, u as NotificationCell, p as NotificationFeed, m as NotificationFeedContainer, f as NotificationFeedHeader, h as NotificationFeedPopover, _ as NotificationIconButton, O as SlackAuthButton, k as SlackAuthContainer, A as SlackChannelCombobox, e as Spinner, g as UnseenBadge, z as feedProviderKey, B as formatBadgeCount, V as formatTimestamp, H as getBadgeAriaLabel, U as locales, W as msTeamsProviderKey, G as renderNodeOrFallback, K as slackProviderKey, q as toSentenceCase, J as useAuthenticatedKnockClient, Y as useConnectedMsTeamsChannels, X as useConnectedSlackChannels, Z as useCreateNotificationStore, Q as useFeedSettings, $ as useGuide, ee as useGuideContext, te as useGuides, ne as useKnockAuthState, re as useKnockClient, ie as useKnockFeed, ae as useKnockMsTeamsClient, oe as useKnockSlackClient, se as useMsTeamsAuth, ce as useMsTeamsChannels, le as useMsTeamsConnectionStatus, ue as useMsTeamsTeams, de as useNotificationStore, fe as useNotifications, s as useOnBottomScroll, pe as usePreferences, me as useSlackAuth, he as useSlackChannels, ge as useSlackConnectionStatus, _e as useStableOptions, ve as useTranslations };
|
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
import e from "
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { ButtonSpinner as e } from "./ButtonSpinner.mjs";
|
|
3
|
+
import { useKnockFeed as t } from "@knocklabs/react-core";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
6
|
+
//#region src/modules/core/components/Button/Button.tsx
|
|
7
|
+
var i = ({ variant: i = "primary", loadingText: a, isLoading: o = !1, isDisabled: s = !1, isFullWidth: c = !1, onClick: l, children: u }) => {
|
|
8
|
+
let { colorMode: d } = t();
|
|
9
|
+
return /* @__PURE__ */ r("button", {
|
|
10
|
+
onClick: l,
|
|
11
|
+
className: [
|
|
12
|
+
"rnf-button",
|
|
13
|
+
`rnf-button--${i}`,
|
|
14
|
+
c ? "rnf-button--full-width" : "",
|
|
15
|
+
o ? "rnf-button--is-loading" : "",
|
|
16
|
+
`rnf-button--${d}`
|
|
17
|
+
].join(" "),
|
|
18
|
+
disabled: o || s,
|
|
19
|
+
type: "button",
|
|
20
|
+
children: [o && /* @__PURE__ */ n(e, { hasLabel: !!a }), o ? a || /* @__PURE__ */ n("span", {
|
|
21
|
+
className: "rnf-button__button-text-hidden",
|
|
22
|
+
children: u
|
|
23
|
+
}) : u]
|
|
24
|
+
});
|
|
18
25
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=Button.mjs.map
|
|
26
|
+
//#endregion
|
|
27
|
+
export { i as Button };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=Button.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.mjs","sources":["../../../../../../src/modules/core/components/Button/Button.tsx"],"sourcesContent":["import { useKnockFeed } from \"@knocklabs/react-core\";\nimport React, { PropsWithChildren } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport { ButtonSpinner } from \"./ButtonSpinner\";\nimport \"./styles.css\";\n\nexport type ButtonProps = {\n variant: \"primary\" | \"secondary\";\n loadingText?: string;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onClick: (e: React.MouseEvent) => void;\n};\n\nexport const Button: FunctionComponent<PropsWithChildren<ButtonProps>> = ({\n variant = \"primary\",\n loadingText,\n isLoading = false,\n isDisabled = false,\n isFullWidth = false,\n onClick,\n children,\n}) => {\n const { colorMode } = useKnockFeed();\n\n const classNames = [\n \"rnf-button\",\n `rnf-button--${variant}`,\n isFullWidth ? \"rnf-button--full-width\" : \"\",\n isLoading ? \"rnf-button--is-loading\" : \"\",\n `rnf-button--${colorMode}`,\n ].join(\" \");\n\n // In this case when there's no loading text, we still want to display the original\n // content of the button, but make it hidden. That allows us to keep the button width\n // consistent and show the spinner in the middle, meaning no layout shift.\n const textToShowWhileLoading = loadingText || (\n <span className=\"rnf-button__button-text-hidden\">{children}</span>\n );\n\n return (\n <button\n onClick={onClick}\n className={classNames}\n disabled={isLoading || isDisabled}\n type=\"button\"\n >\n {isLoading && <ButtonSpinner hasLabel={!!loadingText} />}\n {isLoading ? textToShowWhileLoading : children}\n </button>\n );\n};\n"],"
|
|
1
|
+
{"version":3,"file":"Button.mjs","names":[],"sources":["../../../../../../src/modules/core/components/Button/Button.tsx"],"sourcesContent":["import { useKnockFeed } from \"@knocklabs/react-core\";\nimport React, { PropsWithChildren } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport { ButtonSpinner } from \"./ButtonSpinner\";\nimport \"./styles.css\";\n\nexport type ButtonProps = {\n variant: \"primary\" | \"secondary\";\n loadingText?: string;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onClick: (e: React.MouseEvent) => void;\n};\n\nexport const Button: FunctionComponent<PropsWithChildren<ButtonProps>> = ({\n variant = \"primary\",\n loadingText,\n isLoading = false,\n isDisabled = false,\n isFullWidth = false,\n onClick,\n children,\n}) => {\n const { colorMode } = useKnockFeed();\n\n const classNames = [\n \"rnf-button\",\n `rnf-button--${variant}`,\n isFullWidth ? \"rnf-button--full-width\" : \"\",\n isLoading ? \"rnf-button--is-loading\" : \"\",\n `rnf-button--${colorMode}`,\n ].join(\" \");\n\n // In this case when there's no loading text, we still want to display the original\n // content of the button, but make it hidden. That allows us to keep the button width\n // consistent and show the spinner in the middle, meaning no layout shift.\n const textToShowWhileLoading = loadingText || (\n <span className=\"rnf-button__button-text-hidden\">{children}</span>\n );\n\n return (\n <button\n onClick={onClick}\n className={classNames}\n disabled={isLoading || isDisabled}\n type=\"button\"\n >\n {isLoading && <ButtonSpinner hasLabel={!!loadingText} />}\n {isLoading ? textToShowWhileLoading : children}\n </button>\n );\n};\n"],"mappings":";;;;;;AAgBA,IAAa,KAA6D,EACxE,aAAU,WACV,gBACA,eAAY,IACZ,gBAAa,IACb,iBAAc,IACd,YACA,kBACI;CACJ,IAAM,EAAE,iBAAc,EAAa;CAiBnC,OACE,kBAAC,UAAD;EACW;EACT,WAlBe;GACjB;GACA,eAAe;GACf,IAAc,2BAA2B;GACzC,IAAY,2BAA2B;GACvC,eAAe;EACjB,CAAC,CAAC,KAAK,GAYQ;EACX,UAAU,KAAa;EACvB,MAAK;YAJP,CAMG,KAAa,kBAAC,GAAD,EAAe,UAAU,CAAC,CAAC,EAAc,CAAA,GACtD,IAZ0B,KAC7B,kBAAC,QAAD;GAAM,WAAU;GAAkC;EAAe,CAAA,IAWzB,CAChC;;AAEZ"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
3
|
+
//#region src/modules/core/components/Button/ButtonGroup.tsx
|
|
4
|
+
var t = ({ children: t }) => /* @__PURE__ */ e("div", {
|
|
5
|
+
className: "rnf-button-group",
|
|
6
|
+
children: t
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { t as ButtonGroup };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=ButtonGroup.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.mjs","sources":["../../../../../../src/modules/core/components/Button/ButtonGroup.tsx"],"sourcesContent":["import { FunctionComponent, ReactNode } from \"react\";\n\nimport \"./styles.css\";\n\nexport const ButtonGroup: FunctionComponent<{\n children?: ReactNode | undefined;\n}> = ({ children }) => <div className=\"rnf-button-group\">{children}</div>;\n"],"
|
|
1
|
+
{"version":3,"file":"ButtonGroup.mjs","names":[],"sources":["../../../../../../src/modules/core/components/Button/ButtonGroup.tsx"],"sourcesContent":["import { FunctionComponent, ReactNode } from \"react\";\n\nimport \"./styles.css\";\n\nexport const ButtonGroup: FunctionComponent<{\n children?: ReactNode | undefined;\n}> = ({ children }) => <div className=\"rnf-button-group\">{children}</div>;\n"],"mappings":";;;AAIA,IAAa,KAEP,EAAE,kBAAe,kBAAC,OAAD;CAAK,WAAU;CAAoB;AAAc,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
/* empty css
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
//#
|
|
1
|
+
import { Spinner as e } from "../Spinner/Spinner.mjs";
|
|
2
|
+
import "../Spinner/index.mjs";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
5
|
+
//#region src/modules/core/components/Button/ButtonSpinner.tsx
|
|
6
|
+
var n = ({ hasLabel: n }) => /* @__PURE__ */ t("div", {
|
|
7
|
+
className: `rnf-button-spinner rnf-button-spinner--${n ? "with-label" : "without-label"}`,
|
|
8
|
+
children: /* @__PURE__ */ t(e, {})
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { n as ButtonSpinner };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=ButtonSpinner.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonSpinner.mjs","sources":["../../../../../../src/modules/core/components/Button/ButtonSpinner.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nimport { Spinner } from \"../Spinner\";\n\nimport \"./styles.css\";\n\ntype ButtonSpinnerProps = {\n hasLabel: boolean;\n};\n\nexport const ButtonSpinner: FunctionComponent<ButtonSpinnerProps> = ({\n hasLabel,\n}) => (\n <div\n className={`rnf-button-spinner rnf-button-spinner--${\n hasLabel ? \"with-label\" : \"without-label\"\n }`}\n >\n <Spinner />\n </div>\n);\n"],"
|
|
1
|
+
{"version":3,"file":"ButtonSpinner.mjs","names":[],"sources":["../../../../../../src/modules/core/components/Button/ButtonSpinner.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nimport { Spinner } from \"../Spinner\";\n\nimport \"./styles.css\";\n\ntype ButtonSpinnerProps = {\n hasLabel: boolean;\n};\n\nexport const ButtonSpinner: FunctionComponent<ButtonSpinnerProps> = ({\n hasLabel,\n}) => (\n <div\n className={`rnf-button-spinner rnf-button-spinner--${\n hasLabel ? \"with-label\" : \"without-label\"\n }`}\n >\n <Spinner />\n </div>\n);\n"],"mappings":";;;;;AAUA,IAAa,KAAwD,EACnE,kBAEA,kBAAC,OAAD;CACE,WAAW,0CACT,IAAW,eAAe;WAG5B,kBAAC,GAAD,CAAU,CAAA;AACP,CAAA"}
|