@bikdotai/bik-component-library 0.0.821-beta.0 → 0.0.821-beta.2
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/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
- package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
- package/dist/cjs/components/TypographyStyle.js +41 -20
- package/dist/cjs/components/TypographyStyle.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.js +1 -1
- package/dist/cjs/components/avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
- package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
- package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
- package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +2 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +1 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +2 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +1 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +294 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +1 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +2 -0
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +1 -0
- package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
- package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
- package/dist/cjs/components/button/Button.js +1 -1
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/Button.styled.js +13 -13
- package/dist/cjs/components/button/Button.styled.js.map +1 -1
- package/dist/cjs/components/button/themes.js +6 -6
- package/dist/cjs/components/button/themes.js.map +1 -1
- package/dist/cjs/components/checkBox/CheckBox.js +1 -1
- package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
- package/dist/cjs/components/checkBox/CheckBox.styled.js +21 -20
- package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
- package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +9 -8
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +6 -2
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.style.js +20 -6
- package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
- package/dist/cjs/components/dual-icon-button/DualIconButton.js +2 -0
- package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +1 -0
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +33 -0
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +1 -0
- package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
- package/dist/cjs/components/icon-button/IconButton.js +1 -1
- package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
- package/dist/cjs/components/icon-button/IconButton.styled.js +18 -12
- package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
- package/dist/cjs/components/icon-button/theme.js +1 -1
- package/dist/cjs/components/icon-button/theme.js.map +1 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/input/Input.styled.js +27 -16
- package/dist/cjs/components/input/Input.styled.js.map +1 -1
- package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
- package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.js +1 -1
- package/dist/cjs/components/list-item/ListItem.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
- package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
- package/dist/cjs/components/list-item/themes.js +32 -20
- package/dist/cjs/components/list-item/themes.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +32 -29
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
- package/dist/cjs/components/tag/Tag.js +1 -1
- package/dist/cjs/components/tag/Tag.js.map +1 -1
- package/dist/cjs/components/tag/Tag.styled.js +4 -4
- package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
- package/dist/cjs/components/tag/model.js.map +1 -1
- package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
- package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
- package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
- package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
- package/dist/cjs/constants/Theme.js +1 -1
- package/dist/cjs/constants/Theme.js.map +1 -1
- package/dist/cjs/editor/BikEditor.js +1 -1
- package/dist/cjs/editor/BikEditor.js.map +1 -1
- package/dist/cjs/editor/BikEditor.styles.js +1 -14
- package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
- package/dist/cjs/editor/BikEditor.types.js.map +1 -1
- package/dist/cjs/editor/BikEditor.utils.js +2 -2
- package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
- package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
- package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
- package/dist/cjs/editor/extensions/editorDropdown.styles.js +10 -15
- package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
- package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
- package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
- package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
- package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +88 -73
- package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +6 -0
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +124 -88
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +225 -128
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +6 -2
- package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
- package/dist/esm/components/TypographyStyle.d.ts +8 -0
- package/dist/esm/components/TypographyStyle.js +63 -40
- package/dist/esm/components/TypographyStyle.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.d.ts +2 -1
- package/dist/esm/components/avatar/Avatar.js +51 -73
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.styled.js +8 -8
- package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/esm/components/avatar/AvatarHelper.d.ts +5 -4
- package/dist/esm/components/avatar/AvatarHelper.js +4 -4
- package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
- package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +33 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +272 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +1 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +27 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +12 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +53 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +1 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +44 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +310 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +1 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +2 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +107 -0
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +1 -0
- package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
- package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
- package/dist/esm/components/bik-layout/index.d.ts +2 -0
- package/dist/esm/components/button/Button.js +31 -31
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/Button.styled.d.ts +1 -1
- package/dist/esm/components/button/Button.styled.js +20 -20
- package/dist/esm/components/button/Button.styled.js.map +1 -1
- package/dist/esm/components/button/model.d.ts +3 -3
- package/dist/esm/components/button/themes.d.ts +2 -2
- package/dist/esm/components/button/themes.js +31 -17
- package/dist/esm/components/button/themes.js.map +1 -1
- package/dist/esm/components/checkBox/CheckBox.d.ts +2 -1
- package/dist/esm/components/checkBox/CheckBox.js +124 -87
- package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
- package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
- package/dist/esm/components/checkBox/CheckBox.styled.js +10 -9
- package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
- package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
- package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.js +67 -67
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js +74 -61
- package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +183 -174
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +5 -4
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +3 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +29 -20
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +3 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +93 -87
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +3 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +68 -61
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +2 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +7 -2
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +3 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +18 -10
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +1 -0
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +43 -17
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +2 -0
- package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +2 -0
- package/dist/esm/components/dropdown/type.d.ts +6 -1
- package/dist/esm/components/dropdown-button/DropdownButton.d.ts +3 -1
- package/dist/esm/components/dropdown-button/DropdownButton.js +71 -17
- package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +9 -2
- package/dist/esm/components/dropdown-button/DropdownButton.style.js +35 -9
- package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
- package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +3 -0
- package/dist/esm/components/dual-icon-button/DualIconButton.js +53 -0
- package/dist/esm/components/dual-icon-button/DualIconButton.js.map +1 -0
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +7 -0
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +40 -0
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +1 -0
- package/dist/esm/components/dual-icon-button/index.d.ts +2 -0
- package/dist/esm/components/dual-icon-button/model.d.ts +12 -0
- package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
- package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
- package/dist/esm/components/icon-button/IconButton.js +36 -32
- package/dist/esm/components/icon-button/IconButton.js.map +1 -1
- package/dist/esm/components/icon-button/IconButton.styled.d.ts +3 -1
- package/dist/esm/components/icon-button/IconButton.styled.js +20 -14
- package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
- package/dist/esm/components/icon-button/model.d.ts +12 -1
- package/dist/esm/components/icon-button/theme.js +12 -10
- package/dist/esm/components/icon-button/theme.js.map +1 -1
- package/dist/esm/components/input/Input.js +119 -115
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.model.d.ts +2 -3
- package/dist/esm/components/input/Input.styled.d.ts +8 -1
- package/dist/esm/components/input/Input.styled.js +34 -22
- package/dist/esm/components/input/Input.styled.js.map +1 -1
- package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +0 -2
- package/dist/esm/components/input-with-vars/InputWithVariables.js +75 -81
- package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
- package/dist/esm/components/list-item/List.model.d.ts +2 -1
- package/dist/esm/components/list-item/ListItem.js +40 -38
- package/dist/esm/components/list-item/ListItem.js.map +1 -1
- package/dist/esm/components/list-item/ListItem.styled.d.ts +2 -1
- package/dist/esm/components/list-item/ListItem.styled.js +8 -8
- package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
- package/dist/esm/components/list-item/themes.d.ts +2 -2
- package/dist/esm/components/list-item/themes.js +20 -6
- package/dist/esm/components/list-item/themes.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +1 -0
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +30 -28
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +1 -0
- package/dist/esm/components/multi-level-dropdown/MenuItem.js +57 -54
- package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +1 -0
- package/dist/esm/components/multi-level-dropdown/MenuList.js +46 -42
- package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +95 -59
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +13 -3
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +50 -41
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/type.d.ts +1 -0
- package/dist/esm/components/tag/Tag.d.ts +1 -1
- package/dist/esm/components/tag/Tag.js +22 -18
- package/dist/esm/components/tag/Tag.js.map +1 -1
- package/dist/esm/components/tag/Tag.styled.d.ts +3 -1
- package/dist/esm/components/tag/Tag.styled.js +7 -7
- package/dist/esm/components/tag/Tag.styled.js.map +1 -1
- package/dist/esm/components/tag/model.d.ts +5 -1
- package/dist/esm/components/tag/model.js.map +1 -1
- package/dist/esm/components/variable-picker-v3/Content.js +69 -69
- package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
- package/dist/esm/components/variable-picker-v3/model.d.ts +0 -2
- package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.d.ts +2 -0
- package/dist/esm/components/whats-new/WhatsNew.js +23 -19
- package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.types.d.ts +2 -0
- package/dist/esm/components/whats-new/WhatsNewButton.js +34 -38
- package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
- package/dist/esm/constants/Theme.d.ts +36 -0
- package/dist/esm/constants/Theme.js +21 -1
- package/dist/esm/constants/Theme.js.map +1 -1
- package/dist/esm/editor/BikEditor.js +18 -19
- package/dist/esm/editor/BikEditor.js.map +1 -1
- package/dist/esm/editor/BikEditor.styles.js +0 -13
- package/dist/esm/editor/BikEditor.styles.js.map +1 -1
- package/dist/esm/editor/BikEditor.types.d.ts +0 -14
- package/dist/esm/editor/BikEditor.types.js.map +1 -1
- package/dist/esm/editor/BikEditor.utils.js +75 -76
- package/dist/esm/editor/BikEditor.utils.js.map +1 -1
- package/dist/esm/editor/extensions/buildExtensions.d.ts +0 -1
- package/dist/esm/editor/extensions/buildExtensions.js +29 -31
- package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
- package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +8 -2
- package/dist/esm/editor/extensions/editorDropdown.styles.js +18 -22
- package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
- package/dist/esm/editor/extensions/mention/MentionDropdown.js +28 -34
- package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
- package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
- package/dist/esm/editor/extensions/mention/MentionExtension.js +60 -81
- package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +1 -2
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +24 -28
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/esm/icons/index.d.ts +24 -24
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +798 -806
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -3
- package/dist/cjs/assets/icons/ManifestGlass.svg.js +0 -2
- package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +0 -1
- package/dist/cjs/assets/icons/playOutline.svg.js +0 -2
- package/dist/cjs/assets/icons/playOutline.svg.js.map +0 -1
- package/dist/cjs/components/agent-builder/AgentBuilder.js +0 -2
- package/dist/cjs/components/agent-builder/AgentBuilder.js.map +0 -1
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +0 -285
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +0 -2
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +0 -2
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/AiTextArea.js +0 -2
- package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/DiscardModal.js +0 -2
- package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js +0 -2
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/InstructionsField.js +0 -2
- package/dist/cjs/components/agent-builder/components/InstructionsField.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/MentionPicker.js +0 -47
- package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/RichTextField.js +0 -2
- package/dist/cjs/components/agent-builder/components/RichTextField.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js +0 -2
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/StepRail.js +0 -2
- package/dist/cjs/components/agent-builder/components/StepRail.js.map +0 -1
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +0 -2
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +0 -1
- package/dist/cjs/components/agent-builder/constants/charLimits.js +0 -2
- package/dist/cjs/components/agent-builder/constants/charLimits.js.map +0 -1
- package/dist/cjs/components/agent-builder/constants/editorStyle.js +0 -2
- package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +0 -1
- package/dist/cjs/components/agent-builder/constants/steps.js +0 -2
- package/dist/cjs/components/agent-builder/constants/steps.js.map +0 -1
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +0 -2
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +0 -1
- package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +0 -2
- package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +0 -1
- package/dist/cjs/components/agent-builder/steps/Step1About.js +0 -2
- package/dist/cjs/components/agent-builder/steps/Step1About.js.map +0 -1
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +0 -2
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +0 -1
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +0 -2
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +0 -1
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +0 -2
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +0 -1
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +0 -4
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentListing.js +0 -2
- package/dist/cjs/components/agent-listing/AgentListing.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentListing.styled.js +0 -115
- package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentListingFilters.js +0 -2
- package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentListingHeader.js +0 -2
- package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentTable.js +0 -2
- package/dist/cjs/components/agent-listing/AgentTable.js.map +0 -1
- package/dist/cjs/components/agent-listing/AgentTableRow.js +0 -2
- package/dist/cjs/components/agent-listing/AgentTableRow.js.map +0 -1
- package/dist/esm/assets/icons/ManifestGlass.svg.js +0 -6
- package/dist/esm/assets/icons/ManifestGlass.svg.js.map +0 -1
- package/dist/esm/assets/icons/playOutline.svg.js +0 -6
- package/dist/esm/assets/icons/playOutline.svg.js.map +0 -1
- package/dist/esm/components/agent-builder/AgentBuilder.d.ts +0 -18
- package/dist/esm/components/agent-builder/AgentBuilder.js +0 -190
- package/dist/esm/components/agent-builder/AgentBuilder.js.map +0 -1
- package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +0 -73
- package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +0 -121
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js +0 -353
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +0 -1
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +0 -10
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +0 -70
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +0 -1
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +0 -12
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +0 -73
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +0 -1
- package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +0 -14
- package/dist/esm/components/agent-builder/components/AiTextArea.js +0 -44
- package/dist/esm/components/agent-builder/components/AiTextArea.js.map +0 -1
- package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +0 -18
- package/dist/esm/components/agent-builder/components/DiscardModal.js +0 -54
- package/dist/esm/components/agent-builder/components/DiscardModal.js.map +0 -1
- package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +0 -18
- package/dist/esm/components/agent-builder/components/GoLiveModal.js +0 -73
- package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +0 -1
- package/dist/esm/components/agent-builder/components/InstructionsField.d.ts +0 -2
- package/dist/esm/components/agent-builder/components/InstructionsField.js +0 -81
- package/dist/esm/components/agent-builder/components/InstructionsField.js.map +0 -1
- package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +0 -12
- package/dist/esm/components/agent-builder/components/MentionPicker.js +0 -154
- package/dist/esm/components/agent-builder/components/MentionPicker.js.map +0 -1
- package/dist/esm/components/agent-builder/components/RichTextField.d.ts +0 -21
- package/dist/esm/components/agent-builder/components/RichTextField.js +0 -66
- package/dist/esm/components/agent-builder/components/RichTextField.js.map +0 -1
- package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +0 -19
- package/dist/esm/components/agent-builder/components/SelectableListSection.js +0 -79
- package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +0 -1
- package/dist/esm/components/agent-builder/components/StepRail.d.ts +0 -2
- package/dist/esm/components/agent-builder/components/StepRail.js +0 -35
- package/dist/esm/components/agent-builder/components/StepRail.js.map +0 -1
- package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +0 -7
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js +0 -15
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +0 -1
- package/dist/esm/components/agent-builder/constants/charLimits.d.ts +0 -21
- package/dist/esm/components/agent-builder/constants/charLimits.js +0 -18
- package/dist/esm/components/agent-builder/constants/charLimits.js.map +0 -1
- package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +0 -8
- package/dist/esm/components/agent-builder/constants/editorStyle.js +0 -10
- package/dist/esm/components/agent-builder/constants/editorStyle.js.map +0 -1
- package/dist/esm/components/agent-builder/constants/steps.d.ts +0 -13
- package/dist/esm/components/agent-builder/constants/steps.js +0 -32
- package/dist/esm/components/agent-builder/constants/steps.js.map +0 -1
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +0 -53
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +0 -118
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +0 -1
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +0 -24
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +0 -27
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +0 -1
- package/dist/esm/components/agent-builder/index.d.ts +0 -7
- package/dist/esm/components/agent-builder/steps/Step1About.d.ts +0 -2
- package/dist/esm/components/agent-builder/steps/Step1About.js +0 -43
- package/dist/esm/components/agent-builder/steps/Step1About.js.map +0 -1
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +0 -2
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +0 -148
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +0 -1
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +0 -2
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +0 -112
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +0 -1
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +0 -2
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +0 -83
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +0 -1
- package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +0 -55
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js +0 -95
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentListing.d.ts +0 -18
- package/dist/esm/components/agent-listing/AgentListing.js +0 -141
- package/dist/esm/components/agent-listing/AgentListing.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentListing.model.d.ts +0 -69
- package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +0 -56
- package/dist/esm/components/agent-listing/AgentListing.styled.js +0 -145
- package/dist/esm/components/agent-listing/AgentListing.styled.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +0 -16
- package/dist/esm/components/agent-listing/AgentListingFilters.js +0 -81
- package/dist/esm/components/agent-listing/AgentListingFilters.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +0 -8
- package/dist/esm/components/agent-listing/AgentListingHeader.js +0 -40
- package/dist/esm/components/agent-listing/AgentListingHeader.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentTable.d.ts +0 -10
- package/dist/esm/components/agent-listing/AgentTable.js +0 -33
- package/dist/esm/components/agent-listing/AgentTable.js.map +0 -1
- package/dist/esm/components/agent-listing/AgentTableRow.d.ts +0 -10
- package/dist/esm/components/agent-listing/AgentTableRow.js +0 -88
- package/dist/esm/components/agent-listing/AgentTableRow.js.map +0 -1
- package/dist/esm/components/agent-listing/index.d.ts +0 -2
|
@@ -4,23 +4,23 @@ import f from "@tiptap/extension-font-family";
|
|
|
4
4
|
import c from "@tiptap/extension-hard-break";
|
|
5
5
|
import x from "@tiptap/extension-highlight";
|
|
6
6
|
import S from "@tiptap/extension-image";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import k from "@tiptap/extension-link";
|
|
8
|
+
import M from "../../node_modules/@tiptap/extension-paragraph/dist/index.js";
|
|
9
9
|
import b from "@tiptap/extension-placeholder";
|
|
10
10
|
import y from "@tiptap/extension-subscript";
|
|
11
11
|
import C from "@tiptap/extension-superscript";
|
|
12
12
|
import E from "@tiptap/extension-text-align";
|
|
13
|
-
import { TextStyle as
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { FontSizeExtension as
|
|
17
|
-
import { buildAgentMentionExtension as
|
|
18
|
-
import { PasteExtension as
|
|
19
|
-
import { PasteNormalizationExtension as
|
|
20
|
-
import { SectionDividerNode as
|
|
21
|
-
import { SendShortcutExtension as
|
|
22
|
-
import { buildSlashCommandExtension as
|
|
23
|
-
import { VariableDecorationExtension as
|
|
13
|
+
import { TextStyle as P } from "@tiptap/extension-text-style";
|
|
14
|
+
import T from "@tiptap/extension-underline";
|
|
15
|
+
import H from "@tiptap/starter-kit";
|
|
16
|
+
import { FontSizeExtension as w } from "./FontSizeExtension.js";
|
|
17
|
+
import { buildAgentMentionExtension as B, buildTeamMentionExtension as D } from "./mention/MentionExtension.js";
|
|
18
|
+
import { PasteExtension as I } from "./paste/PasteExtension.js";
|
|
19
|
+
import { PasteNormalizationExtension as L } from "./plainClipboard/PasteNormalizationExtension.js";
|
|
20
|
+
import { SectionDividerNode as g } from "./sectionDivider/SectionDividerNode.js";
|
|
21
|
+
import { SendShortcutExtension as A } from "./sendShortcut/SendShortcutExtension.js";
|
|
22
|
+
import { buildSlashCommandExtension as R } from "./slashCommand/SlashCommandExtension.js";
|
|
23
|
+
import { VariableDecorationExtension as F } from "./variable/VariableDecorationExtension.js";
|
|
24
24
|
function ae(e) {
|
|
25
25
|
const o = e.features?.richPaste ?? !1, i = e.features?.richTypography ?? !1, n = e.features?.allowedMarks, t = (r) => !n || n.includes(r), m = c.extend({
|
|
26
26
|
addKeyboardShortcuts() {
|
|
@@ -28,7 +28,7 @@ function ae(e) {
|
|
|
28
28
|
"Shift-Enter": () => this.editor.commands.setHardBreak()
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
}), a = (r) => r === "0" || r === "0px" || r === "0pt" || r === "0em", l =
|
|
31
|
+
}), a = (r) => r === "0" || r === "0px" || r === "0pt" || r === "0em", l = M.extend({
|
|
32
32
|
addAttributes() {
|
|
33
33
|
return {
|
|
34
34
|
...this.parent?.() ?? {},
|
|
@@ -43,7 +43,7 @@ function ae(e) {
|
|
|
43
43
|
// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.
|
|
44
44
|
// Without this, two copies of each are registered and the StarterKit copy's
|
|
45
45
|
// click handler calls window.open even when openOnClick: false is set.
|
|
46
|
-
|
|
46
|
+
H.configure({
|
|
47
47
|
link: !1,
|
|
48
48
|
underline: !1,
|
|
49
49
|
hardBreak: !1,
|
|
@@ -55,10 +55,10 @@ function ae(e) {
|
|
|
55
55
|
}),
|
|
56
56
|
l,
|
|
57
57
|
m,
|
|
58
|
-
...t("underline") ? [
|
|
58
|
+
...t("underline") ? [T] : [],
|
|
59
59
|
// Extend Link to strip addPasteRules() and addInputRules() so pasting a
|
|
60
60
|
// URL never creates a hyperlink regardless of autolink/linkOnPaste values.
|
|
61
|
-
|
|
61
|
+
k.extend({
|
|
62
62
|
addPasteRules: () => [],
|
|
63
63
|
addInputRules: () => []
|
|
64
64
|
}).configure({
|
|
@@ -70,54 +70,52 @@ function ae(e) {
|
|
|
70
70
|
class: "bik-link"
|
|
71
71
|
}
|
|
72
72
|
}),
|
|
73
|
-
|
|
73
|
+
P,
|
|
74
74
|
b.configure({
|
|
75
75
|
placeholder: e.placeholder ?? "Type a message..."
|
|
76
76
|
}),
|
|
77
77
|
// Consumer paste callback runs first. If it returns true the event is
|
|
78
78
|
// consumed and neither PlainClipboardExtension nor the editor's default
|
|
79
79
|
// paste handling will run for that event.
|
|
80
|
-
...e.onPaste ? [
|
|
81
|
-
|
|
80
|
+
...e.onPaste ? [I.configure({ onPaste: e.onPaste })] : [],
|
|
81
|
+
L.configure({
|
|
82
82
|
preserveMarks: o,
|
|
83
83
|
// Only email + signature (richPaste) keep the rich HTML paste pipeline.
|
|
84
84
|
// Every other channel (WhatsApp, IG, FB, comments) forces plain-text
|
|
85
85
|
// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.
|
|
86
86
|
plainOnly: !o
|
|
87
87
|
}),
|
|
88
|
-
|
|
88
|
+
A.configure({
|
|
89
89
|
onSend: e.onSend,
|
|
90
90
|
sendShortcut: e.sendShortcut,
|
|
91
91
|
extraShortcuts: e.shortcuts ?? []
|
|
92
92
|
}),
|
|
93
|
-
|
|
93
|
+
F,
|
|
94
94
|
...e.maxCharacters ? [h.configure({ limit: e.maxCharacters })] : [],
|
|
95
95
|
// Always register SectionDividerNode so the custom <div data-section-divider>
|
|
96
96
|
// node is part of the schema in every editor instance. This means imperative
|
|
97
97
|
// callers (setBodyAndSections / setSectionContent) work even when no
|
|
98
98
|
// `sections` prop was provided at mount time.
|
|
99
|
-
|
|
99
|
+
g
|
|
100
100
|
], p = [
|
|
101
101
|
...e.mentions?.agents ? [
|
|
102
|
-
|
|
102
|
+
B(
|
|
103
103
|
e.mentions.agents,
|
|
104
104
|
e.onMentionSelected,
|
|
105
105
|
e.renderMentionItem,
|
|
106
|
-
e.renderMentionDropdown
|
|
107
|
-
e.removeMentionTriggerOnDismiss
|
|
106
|
+
e.renderMentionDropdown
|
|
108
107
|
)
|
|
109
108
|
] : [],
|
|
110
109
|
...e.mentions?.teams ? [
|
|
111
|
-
|
|
110
|
+
D(
|
|
112
111
|
e.mentions.teams,
|
|
113
112
|
e.onMentionSelected,
|
|
114
113
|
e.renderMentionItem,
|
|
115
|
-
e.renderMentionDropdown
|
|
116
|
-
e.removeMentionTriggerOnDismiss
|
|
114
|
+
e.renderMentionDropdown
|
|
117
115
|
)
|
|
118
116
|
] : [],
|
|
119
117
|
...e.slashCommands ? [
|
|
120
|
-
|
|
118
|
+
R(
|
|
121
119
|
e.slashCommands,
|
|
122
120
|
e.onSlashCommandSelected,
|
|
123
121
|
e.renderSlashCommandItem,
|
|
@@ -128,7 +126,7 @@ function ae(e) {
|
|
|
128
126
|
s,
|
|
129
127
|
x.configure({ multicolor: !0 }),
|
|
130
128
|
f,
|
|
131
|
-
|
|
129
|
+
w,
|
|
132
130
|
E.configure({ types: ["heading", "paragraph"] }),
|
|
133
131
|
y,
|
|
134
132
|
C,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\tremoveMentionTriggerOnDismiss?: boolean;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","StarterKit","Underline","Link","TextStyle","Placeholder","PasteExtension","PasteNormalizationExtension","SendShortcutExtension","VariableDecorationExtension","CharacterCount","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","StarterKit","Underline","Link","TextStyle","Placeholder","PasteExtension","PasteNormalizationExtension","SendShortcutExtension","VariableDecorationExtension","CharacterCount","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"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"}
|
|
@@ -8,5 +8,11 @@ export declare const MentionLabel: import('styled-components').StyledComponent<"
|
|
|
8
8
|
export declare const MentionPresenceDot: import('styled-components').StyledComponent<"span", any, {
|
|
9
9
|
$online?: boolean | undefined;
|
|
10
10
|
}, never>;
|
|
11
|
-
export declare const SlashLabel: import('styled-components').StyledComponent<"
|
|
12
|
-
|
|
11
|
+
export declare const SlashLabel: import('styled-components').StyledComponent<"div", any, {
|
|
12
|
+
numberOfLines?: number | undefined;
|
|
13
|
+
color?: string | undefined;
|
|
14
|
+
}, never>;
|
|
15
|
+
export declare const SlashDescription: import('styled-components').StyledComponent<"div", any, {
|
|
16
|
+
numberOfLines?: number | undefined;
|
|
17
|
+
color?: string | undefined;
|
|
18
|
+
}, never>;
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
import t from "styled-components";
|
|
2
2
|
import { COLORS as o } from "../../constants/Theme.js";
|
|
3
|
-
|
|
3
|
+
import { BodyCaption as n } from "../../components/TypographyStyle.js";
|
|
4
|
+
const c = t.div`
|
|
4
5
|
background: ${o.surface.standard};
|
|
5
|
-
border:
|
|
6
|
-
border-radius: 8px;
|
|
6
|
+
border-radius: 4px;
|
|
7
7
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
|
|
8
|
-
padding: 4px;
|
|
9
8
|
min-width: 330px;
|
|
10
9
|
max-height: 260px;
|
|
11
10
|
overflow-y: auto;
|
|
12
11
|
font-size: 14px;
|
|
13
12
|
color: ${o.content.primary};
|
|
14
|
-
`,
|
|
13
|
+
`, p = t.div`
|
|
15
14
|
display: flex;
|
|
16
15
|
align-items: center;
|
|
17
16
|
gap: 8px;
|
|
18
|
-
padding:
|
|
17
|
+
padding: 8px;
|
|
19
18
|
min-height: 43px;
|
|
20
|
-
border-radius: 6px;
|
|
21
19
|
cursor: pointer;
|
|
22
20
|
color: ${o.content.primary};
|
|
23
21
|
background: ${({ $isActive: r }) => r ? o.surface.hovered : "transparent"};
|
|
24
|
-
`,
|
|
22
|
+
`, s = t.img`
|
|
25
23
|
width: 24px;
|
|
26
24
|
height: 24px;
|
|
27
25
|
border-radius: 50%;
|
|
28
26
|
object-fit: cover;
|
|
29
27
|
flex-shrink: 0;
|
|
30
|
-
`,
|
|
28
|
+
`, d = t.div`
|
|
31
29
|
width: 24px;
|
|
32
30
|
height: 24px;
|
|
33
31
|
border-radius: 50%;
|
|
@@ -39,32 +37,30 @@ const i = t.div`
|
|
|
39
37
|
font-weight: 600;
|
|
40
38
|
color: ${o.content.primary};
|
|
41
39
|
flex-shrink: 0;
|
|
42
|
-
`,
|
|
40
|
+
`, l = t.span`
|
|
43
41
|
font-weight: 500;
|
|
44
42
|
color: ${o.content.primary};
|
|
45
|
-
`,
|
|
43
|
+
`, h = t.span`
|
|
46
44
|
width: 8px;
|
|
47
45
|
height: 8px;
|
|
48
46
|
border-radius: 50%;
|
|
49
47
|
background: ${({ $online: r }) => r ? o.content.positive : o.content.placeholder};
|
|
50
48
|
margin-left: auto;
|
|
51
49
|
flex-shrink: 0;
|
|
52
|
-
`, x = t
|
|
53
|
-
font-weight: 500;
|
|
50
|
+
`, x = t(n)`
|
|
54
51
|
color: ${o.content.primary};
|
|
55
|
-
`,
|
|
56
|
-
font-size: 12px;
|
|
52
|
+
`, f = t(n)`
|
|
57
53
|
color: ${o.content.secondary};
|
|
58
54
|
margin-left: auto;
|
|
59
55
|
`;
|
|
60
56
|
export {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
c as DropdownContainer,
|
|
58
|
+
p as DropdownItem,
|
|
59
|
+
s as MentionAvatar,
|
|
60
|
+
d as MentionAvatarFallback,
|
|
61
|
+
l as MentionLabel,
|
|
62
|
+
h as MentionPresenceDot,
|
|
63
|
+
f as SlashDescription,
|
|
68
64
|
x as SlashLabel
|
|
69
65
|
};
|
|
70
66
|
//# sourceMappingURL=editorDropdown.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorDropdown.styles.js","sources":["../../../../src/editor/extensions/editorDropdown.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const DropdownContainer = styled.div`\n\tbackground: ${COLORS.surface.standard};\n\tborder
|
|
1
|
+
{"version":3,"file":"editorDropdown.styles.js","sources":["../../../../src/editor/extensions/editorDropdown.styles.ts"],"sourcesContent":["import { BodyCaption } from '@src/index';\nimport styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const DropdownContainer = styled.div`\n\tbackground: ${COLORS.surface.standard};\n\tborder-radius: 4px;\n\tbox-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n\tmin-width: 330px;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\tfont-size: 14px;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const DropdownItem = styled.div<{ $isActive?: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px;\n\tmin-height: 43px;\n\tcursor: pointer;\n\tcolor: ${COLORS.content.primary};\n\tbackground: ${({ $isActive }) =>\n\t\t$isActive ? COLORS.surface.hovered : 'transparent'};\n`;\n\nexport const MentionAvatar = styled.img`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tflex-shrink: 0;\n`;\n\nexport const MentionAvatarFallback = styled.div`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground: ${COLORS.surface.hovered};\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tcolor: ${COLORS.content.primary};\n\tflex-shrink: 0;\n`;\n\nexport const MentionLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const MentionPresenceDot = styled.span<{ $online?: boolean }>`\n\twidth: 8px;\n\theight: 8px;\n\tborder-radius: 50%;\n\tbackground: ${({ $online }) =>\n\t\t$online ? COLORS.content.positive : COLORS.content.placeholder};\n\tmargin-left: auto;\n\tflex-shrink: 0;\n`;\n\nexport const SlashLabel = styled(BodyCaption)`\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const SlashDescription = styled(BodyCaption)`\n\tcolor: ${COLORS.content.secondary};\n\tmargin-left: auto;\n`;\n"],"names":["DropdownContainer","styled","COLORS","DropdownItem","$isActive","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot","$online","SlashLabel","BodyCaption","SlashDescription"],"mappings":";;;AAIO,MAAMA,IAAoBC,EAAO;AAAA,eACzBC,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAO5BA,EAAO,QAAQ,OAAO;AAAA,GAGnBC,IAAeF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOzBC,EAAO,QAAQ,OAAO;AAAA,eACjB,CAAC,EAAE,WAAAE,QAChBA,IAAYF,EAAO,QAAQ,UAAU,aAAa;AAAA,GAGvCG,IAAgBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvBK,IAAwBL,EAAO;AAAA;AAAA;AAAA;AAAA,eAI7BC,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM3BA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAInBK,IAAeN,EAAO;AAAA;AAAA,UAEzBC,EAAO,QAAQ,OAAO;AAAA,GAGnBM,IAAqBP,EAAO;AAAA;AAAA;AAAA;AAAA,eAI1B,CAAC,EAAE,SAAAQ,EAAA,MAChBA,IAAUP,EAAO,QAAQ,WAAWA,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA,GAKnDQ,IAAaT,EAAOU,CAAW;AAAA,UAClCT,EAAO,QAAQ,OAAO;AAAA,GAGnBU,IAAmBX,EAAOU,CAAW;AAAA,UACxCT,EAAO,QAAQ,SAAS;AAAA;AAAA;"}
|
|
@@ -1,52 +1,46 @@
|
|
|
1
|
-
import { jsx as t, Fragment as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { DropdownContainer as D, DropdownItem as
|
|
4
|
-
const
|
|
5
|
-
({ items: r, query:
|
|
6
|
-
const [l,
|
|
7
|
-
|
|
8
|
-
u.current = n;
|
|
9
|
-
},
|
|
10
|
-
[]
|
|
11
|
-
), d = w((n) => {
|
|
12
|
-
const e = f.current;
|
|
1
|
+
import { jsx as t, Fragment as h, jsxs as x } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as k, useState as M, useRef as b, useCallback as g, useImperativeHandle as v, useEffect as A } from "react";
|
|
3
|
+
import { DropdownContainer as D, DropdownItem as I, MentionAvatar as y, MentionAvatarFallback as C, MentionLabel as U, MentionPresenceDot as E } from "../editorDropdown.styles.js";
|
|
4
|
+
const R = k(
|
|
5
|
+
({ items: r, query: p, command: c, renderItem: s, renderDropdown: i }, w) => {
|
|
6
|
+
const [l, a] = M(0), u = b(null), f = g((n) => {
|
|
7
|
+
const e = u.current;
|
|
13
8
|
if (!e) return;
|
|
14
9
|
e.children[n]?.scrollIntoView({ block: "nearest" });
|
|
15
|
-
}, []),
|
|
16
|
-
r[n] &&
|
|
10
|
+
}, []), d = (n) => {
|
|
11
|
+
r[n] && c(r[n]);
|
|
17
12
|
};
|
|
18
|
-
return
|
|
19
|
-
onKeyDown: ({ event: n }) =>
|
|
13
|
+
return v(w, () => ({
|
|
14
|
+
onKeyDown: ({ event: n }) => r.length ? n.key === "ArrowUp" ? (a((e) => {
|
|
20
15
|
const o = (e + r.length - 1) % r.length;
|
|
21
|
-
return
|
|
22
|
-
}), !0) : n.key === "ArrowDown" ? (
|
|
16
|
+
return f(o), o;
|
|
17
|
+
}), !0) : n.key === "ArrowDown" ? (a((e) => {
|
|
23
18
|
const o = (e + 1) % r.length;
|
|
24
|
-
return
|
|
25
|
-
}), !0) : n.key === "Enter" ? (
|
|
26
|
-
})),
|
|
19
|
+
return f(o), o;
|
|
20
|
+
}), !0) : n.key === "Enter" ? (d(l), !0) : !1 : !1
|
|
21
|
+
})), A(() => a(0), [r]), r.length ? i ? /* @__PURE__ */ t(h, { children: i({
|
|
27
22
|
items: r,
|
|
28
|
-
query:
|
|
23
|
+
query: p,
|
|
29
24
|
activeIndex: l,
|
|
30
|
-
onSelect: (n) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
C,
|
|
25
|
+
onSelect: (n) => c(n)
|
|
26
|
+
}) }) : /* @__PURE__ */ t(D, { ref: u, children: r.map((n, e) => /* @__PURE__ */ t(
|
|
27
|
+
I,
|
|
34
28
|
{
|
|
35
29
|
$isActive: e === l,
|
|
36
|
-
onMouseEnter: () =>
|
|
37
|
-
onClick: () =>
|
|
38
|
-
children:
|
|
39
|
-
n.avatarUrl ? /* @__PURE__ */ t(
|
|
40
|
-
/* @__PURE__ */ t(
|
|
41
|
-
n.isOnline !== void 0 && /* @__PURE__ */ t(
|
|
30
|
+
onMouseEnter: () => a(e),
|
|
31
|
+
onClick: () => d(e),
|
|
32
|
+
children: s ? s(n, e === l) : /* @__PURE__ */ x(h, { children: [
|
|
33
|
+
n.avatarUrl ? /* @__PURE__ */ t(y, { src: n.avatarUrl, alt: "" }) : /* @__PURE__ */ t(C, { children: n.label.charAt(0).toUpperCase() }),
|
|
34
|
+
/* @__PURE__ */ t(U, { children: n.label }),
|
|
35
|
+
n.isOnline !== void 0 && /* @__PURE__ */ t(E, { $online: n.isOnline })
|
|
42
36
|
] })
|
|
43
37
|
},
|
|
44
38
|
n.id
|
|
45
39
|
)) }) : null;
|
|
46
40
|
}
|
|
47
41
|
);
|
|
48
|
-
|
|
42
|
+
R.displayName = "MentionDropdown";
|
|
49
43
|
export {
|
|
50
|
-
|
|
44
|
+
R as MentionDropdown
|
|
51
45
|
};
|
|
52
46
|
//# sourceMappingURL=MentionDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\
|
|
1
|
+
{"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\tif (!items.length) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","scrollToIndex","useCallback","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":";;;AAkCO,MAAMA,IAAkBC;AAAA,EAC9B,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,EAAA,GAAkBC,MAAQ;AAC/D,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAeC,EAAuB,IAAI,GAE1CC,IAAgBC,EAAY,CAACC,MAAkB;AACpD,YAAMC,IAAYL,EAAa;AAC/B,UAAI,CAACK,EAAW;AAEhB,MADaA,EAAU,SAASD,CAAK,GAC/B,eAAe,EAAE,OAAO,UAAA,CAAW;AAAA,IAC1C,GAAG,CAAA,CAAE,GAECE,IAAS,CAACC,MAAc;AAC7B,MAAIhB,EAAMgB,CAAC,KAAGd,EAAQF,EAAMgB,CAAC,CAAC;AAAA,IAC/B;AA+BA,WA7BAC,EAAoBZ,GAAK,OAAO;AAAA,MAC/B,WAAW,CAAC,EAAE,OAAAa,QACRlB,EAAM,SACPkB,EAAM,QAAQ,aACjBX,EAAiB,CAACY,MAAS;AAC1B,cAAMC,KAAQD,IAAOnB,EAAM,SAAS,KAAKA,EAAM;AAC/C,eAAAW,EAAcS,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,eACjBX,EAAiB,CAACY,MAAS;AAC1B,cAAMC,KAAQD,IAAO,KAAKnB,EAAM;AAChC,eAAAW,EAAcS,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,WACjBH,EAAOT,CAAa,GACb,MAED,KArBmB;AAAA,IAsB3B,EACC,GAEFe,EAAU,MAAMd,EAAiB,CAAC,GAAG,CAACP,CAAK,CAAC,GAEvCA,EAAM,SAGPI,2BAGA,UAAAA,EAAe;AAAA,MACf,OAAAJ;AAAA,MACA,OAAAC;AAAA,MACA,aAAaK;AAAA,MACb,UAAU,CAACgB,MAASpB,EAAQoB,CAAI;AAAA,IAAA,CAChC,GACF,IAKD,gBAAAC,EAACC,KAAkB,KAAKf,GACtB,YAAM,IAAI,CAACa,GAAMN,MACjB,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QAEA,WAAWT,MAAMV;AAAA,QACjB,cAAc,MAAMC,EAAiBS,CAAC;AAAA,QACtC,SAAS,MAAMD,EAAOC,CAAC;AAAA,QAEtB,cACAb,EAAWmB,GAAMN,MAAMV,CAAa,IAEpC,gBAAAoB,EAAAC,GAAA,EACE,UAAA;AAAA,UAAAL,EAAK,YACL,gBAAAC,EAACK,GAAA,EAAc,KAAKN,EAAK,WAAW,KAAI,GAAA,CAAG,IAE3C,gBAAAC,EAACM,KACC,UAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,eACvB;AAAA,UAED,gBAAAC,EAACO,GAAA,EAAc,UAAAR,EAAK,MAAA,CAAM;AAAA,UACzBA,EAAK,aAAa,4BACjBS,GAAA,EAAmB,SAAST,EAAK,SAAA,CAAU;AAAA,QAAA,EAAA,CAE9C;AAAA,MAAA;AAAA,MApBIA,EAAK;AAAA,IAAA,CAuBX,GACF,IA5CyB;AAAA,EA8C3B;AACD;AACAxB,EAAgB,cAAc;"}
|
|
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { MentionDropdownRenderProps, MentionItem } from '../../BikEditor.types';
|
|
3
3
|
export declare function buildAgentMentionExtension(agentsRef: {
|
|
4
4
|
current: MentionItem[];
|
|
5
|
-
}, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode
|
|
5
|
+
}, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
|
|
6
6
|
export declare function buildTeamMentionExtension(teamsRef: {
|
|
7
7
|
current: MentionItem[];
|
|
8
|
-
}, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode
|
|
8
|
+
}, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
|
|
@@ -1,105 +1,84 @@
|
|
|
1
|
-
import { mergeAttributes as
|
|
2
|
-
import
|
|
3
|
-
import { ReactRenderer as
|
|
4
|
-
import { createSuggestionPopup as
|
|
5
|
-
import { MentionDropdown as
|
|
6
|
-
function
|
|
7
|
-
const { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a } = r;
|
|
1
|
+
import { mergeAttributes as s } from "../../../node_modules/@tiptap/core/dist/index.js";
|
|
2
|
+
import u from "@tiptap/extension-mention";
|
|
3
|
+
import { ReactRenderer as c } from "@tiptap/react";
|
|
4
|
+
import { createSuggestionPopup as m } from "../suggestionPopup.js";
|
|
5
|
+
import { MentionDropdown as d } from "./MentionDropdown.js";
|
|
6
|
+
function l(a, r = "@", i, o) {
|
|
8
7
|
return () => {
|
|
9
|
-
let
|
|
8
|
+
let e, t;
|
|
10
9
|
return {
|
|
11
|
-
onStart: (
|
|
12
|
-
|
|
13
|
-
props: { ...
|
|
14
|
-
editor:
|
|
15
|
-
}),
|
|
10
|
+
onStart: (n) => {
|
|
11
|
+
e = new c(d, {
|
|
12
|
+
props: { ...n, renderItem: i, renderDropdown: o },
|
|
13
|
+
editor: n.editor
|
|
14
|
+
}), t = m(e.element, n.clientRect);
|
|
16
15
|
},
|
|
17
|
-
onUpdate: (
|
|
18
|
-
if (
|
|
19
|
-
|
|
16
|
+
onUpdate: (n) => {
|
|
17
|
+
if (e.updateProps({ ...n, renderItem: i, renderDropdown: o }), !n.items?.length) {
|
|
18
|
+
t.hide();
|
|
20
19
|
return;
|
|
21
20
|
}
|
|
22
|
-
|
|
21
|
+
t.show(), t.updatePosition(n.clientRect);
|
|
23
22
|
},
|
|
24
|
-
onKeyDown: (
|
|
23
|
+
onKeyDown: (n) => n.event.key === "Escape" ? (t.hide(), !0) : e.ref?.onKeyDown(n) ?? !1,
|
|
25
24
|
onExit: () => {
|
|
26
|
-
|
|
27
|
-
const { editor: e, range: u } = t;
|
|
28
|
-
setTimeout(() => {
|
|
29
|
-
e.isDestroyed || e.chain().deleteRange(u).run();
|
|
30
|
-
}, 0);
|
|
31
|
-
}
|
|
25
|
+
t.destroy(), e.destroy();
|
|
32
26
|
}
|
|
33
27
|
};
|
|
34
28
|
};
|
|
35
29
|
}
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return {
|
|
42
|
-
...this.parent?.(),
|
|
43
|
-
kind: {
|
|
44
|
-
default: null,
|
|
45
|
-
parseHTML: (t) => t.getAttribute("data-kind"),
|
|
46
|
-
renderHTML: (t) => t.kind ? { "data-kind": String(t.kind) } : {}
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}).configure({
|
|
51
|
-
HTMLAttributes: { class: o },
|
|
52
|
-
renderText: ({ options: t, node: e }) => `${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`,
|
|
53
|
-
renderHTML: ({ options: t, node: e }) => [
|
|
30
|
+
function w(a, r, i, o) {
|
|
31
|
+
return u.extend({ name: "mentionAgent" }).configure({
|
|
32
|
+
HTMLAttributes: { class: "bik-mention bik-mention--agent" },
|
|
33
|
+
renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
|
|
34
|
+
renderHTML: ({ options: e, node: t }) => [
|
|
54
35
|
"span",
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
e.attrs.kind ? { "data-kind": String(e.attrs.kind) } : {}
|
|
58
|
-
),
|
|
59
|
-
`${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`
|
|
36
|
+
s(e.HTMLAttributes),
|
|
37
|
+
`${e.suggestion.char}${t.attrs.label}`
|
|
60
38
|
],
|
|
61
39
|
suggestion: {
|
|
62
|
-
char:
|
|
40
|
+
char: "@",
|
|
63
41
|
allowSpaces: !0,
|
|
64
|
-
items: ({ query:
|
|
65
|
-
(
|
|
42
|
+
items: ({ query: e }) => a.current.filter(
|
|
43
|
+
(t) => t.label.toLowerCase().includes(e.toLowerCase())
|
|
66
44
|
),
|
|
67
|
-
command: ({ editor:
|
|
68
|
-
|
|
69
|
-
type:
|
|
70
|
-
attrs: {
|
|
71
|
-
|
|
72
|
-
label: u.label,
|
|
73
|
-
kind: u.meta?.kind ?? null
|
|
74
|
-
}
|
|
75
|
-
}).run(), a?.(u, n);
|
|
45
|
+
command: ({ editor: e, range: t, props: n }) => {
|
|
46
|
+
e.chain().focus().deleteRange(t).insertContent({
|
|
47
|
+
type: "mentionAgent",
|
|
48
|
+
attrs: { id: n.id, label: n.label }
|
|
49
|
+
}).run(), r?.(n, "@");
|
|
76
50
|
},
|
|
77
|
-
render:
|
|
51
|
+
render: l(r, "@", i, o)
|
|
78
52
|
}
|
|
79
53
|
});
|
|
80
54
|
}
|
|
81
|
-
function
|
|
82
|
-
return
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
55
|
+
function L(a, r, i, o) {
|
|
56
|
+
return u.extend({ name: "mentionTeam" }).configure({
|
|
57
|
+
HTMLAttributes: { class: "bik-mention bik-mention--team" },
|
|
58
|
+
renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
|
|
59
|
+
renderHTML: ({ options: e, node: t }) => [
|
|
60
|
+
"span",
|
|
61
|
+
s(e.HTMLAttributes),
|
|
62
|
+
`${e.suggestion.char}${t.attrs.label}`
|
|
63
|
+
],
|
|
64
|
+
suggestion: {
|
|
65
|
+
char: "#",
|
|
66
|
+
allowSpaces: !0,
|
|
67
|
+
items: ({ query: e }) => a.current.filter(
|
|
68
|
+
(t) => t.label.toLowerCase().includes(e.toLowerCase())
|
|
69
|
+
),
|
|
70
|
+
command: ({ editor: e, range: t, props: n }) => {
|
|
71
|
+
e.chain().focus().deleteRange(t).insertContent({
|
|
72
|
+
type: "mentionTeam",
|
|
73
|
+
attrs: { id: n.id, label: n.label }
|
|
74
|
+
}).run(), r?.(n, "#");
|
|
75
|
+
},
|
|
76
|
+
render: l(r, "#", i, o)
|
|
77
|
+
}
|
|
78
|
+
});
|
|
100
79
|
}
|
|
101
80
|
export {
|
|
102
|
-
|
|
103
|
-
|
|
81
|
+
w as buildAgentMentionExtension,
|
|
82
|
+
L as buildTeamMentionExtension
|
|
104
83
|
};
|
|
105
84
|
//# sourceMappingURL=MentionExtension.js.map
|