@bikdotai/bik-component-library 0.0.829-beta.0 β 0.0.829
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 +20 -41
- package/dist/cjs/components/TypographyStyle.js.map +1 -1
- package/dist/cjs/components/WhatsAppTextEditor/AIRephraseButton.js +5 -16
- package/dist/cjs/components/WhatsAppTextEditor/AIRephraseButton.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/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 +20 -21
- 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/datePicker/DatePicker.styled.js +4 -37
- package/dist/cjs/components/datePicker/DatePicker.styled.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 +8 -9
- 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 +2 -6
- 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 +6 -20
- package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
- 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 +12 -18
- 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 +16 -27
- package/dist/cjs/components/input/Input.styled.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 +21 -40
- 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 +29 -32
- 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/whats-new/WhatsNew.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.styles.js +8 -9
- package/dist/cjs/components/whats-new/WhatsNew.styles.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 +6 -18
- package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
- package/dist/cjs/editor/BikEditor.types.js.map +1 -1
- package/dist/cjs/editor/extensions/buildExtensions.js +2 -2
- package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
- package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
- package/dist/cjs/editor/extensions/editorDropdown.styles.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 +59 -61
- package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +89 -127
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +129 -232
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
- package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
- package/dist/esm/components/TypographyStyle.d.ts +0 -8
- package/dist/esm/components/TypographyStyle.js +40 -63
- package/dist/esm/components/TypographyStyle.js.map +1 -1
- package/dist/esm/components/WhatsAppTextEditor/AIRephraseButton.js +43 -54
- package/dist/esm/components/WhatsAppTextEditor/AIRephraseButton.js.map +1 -1
- package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +5 -0
- package/dist/esm/components/agent-listing/AgentListing.model.d.ts +7 -0
- package/dist/esm/components/avatar/Avatar.d.ts +1 -2
- package/dist/esm/components/avatar/Avatar.js +76 -54
- 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 +4 -5
- 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/CommonStyles.js +1 -1
- package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
- package/dist/esm/components/bik-layout/index.d.ts +0 -2
- 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 +17 -31
- package/dist/esm/components/button/themes.js.map +1 -1
- package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
- package/dist/esm/components/checkBox/CheckBox.js +87 -124
- 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 +9 -10
- 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/datePicker/DatePicker.styled.js +6 -39
- package/dist/esm/components/datePicker/DatePicker.styled.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.d.ts +0 -2
- package/dist/esm/components/dropdown/Dropdown.js +77 -80
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js +56 -69
- package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
- 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 +4 -5
- 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 +1 -3
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +74 -80
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
- 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 +1 -2
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
- 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 +1 -3
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
- 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 +0 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
- package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
- package/dist/esm/components/dropdown/type.d.ts +1 -6
- package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -13
- package/dist/esm/components/dropdown-button/DropdownButton.js +20 -83
- package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
- package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
- package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
- 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 +32 -36
- package/dist/esm/components/icon-button/IconButton.js.map +1 -1
- package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
- package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
- package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
- package/dist/esm/components/icon-button/model.d.ts +1 -12
- package/dist/esm/components/icon-button/theme.js +10 -12
- package/dist/esm/components/icon-button/theme.js.map +1 -1
- package/dist/esm/components/input/Input.js +125 -130
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.model.d.ts +1 -2
- package/dist/esm/components/input/Input.styled.d.ts +1 -8
- package/dist/esm/components/input/Input.styled.js +22 -34
- package/dist/esm/components/input/Input.styled.js.map +1 -1
- package/dist/esm/components/list-item/List.model.d.ts +2 -3
- package/dist/esm/components/list-item/ListItem.js +38 -40
- package/dist/esm/components/list-item/ListItem.js.map +1 -1
- package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
- 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 +6 -29
- package/dist/esm/components/list-item/themes.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
- package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
- package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
- package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
- package/dist/esm/components/post-live-checklist/PostLiveChecklist.stories.d.ts +56 -0
- package/dist/esm/components/shimmer-image/ShimmerImage.stories.d.ts +14 -0
- package/dist/esm/components/tag/Tag.d.ts +1 -1
- package/dist/esm/components/tag/Tag.js +18 -22
- package/dist/esm/components/tag/Tag.js.map +1 -1
- package/dist/esm/components/tag/Tag.stories.d.ts +14 -0
- package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
- 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 +1 -5
- package/dist/esm/components/tag/model.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
- package/dist/esm/components/whats-new/WhatsNew.js +19 -23
- package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.styles.js +17 -18
- package/dist/esm/components/whats-new/WhatsNew.styles.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
- package/dist/esm/components/whats-new/WhatsNewButton.js +52 -62
- 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 +0 -36
- package/dist/esm/constants/Theme.js +1 -21
- package/dist/esm/constants/Theme.js.map +1 -1
- package/dist/esm/editor/BikEditor.js +62 -64
- package/dist/esm/editor/BikEditor.js.map +1 -1
- package/dist/esm/editor/BikEditor.styles.js +8 -20
- package/dist/esm/editor/BikEditor.styles.js.map +1 -1
- package/dist/esm/editor/BikEditor.types.d.ts +0 -8
- package/dist/esm/editor/BikEditor.types.js.map +1 -1
- package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -8
- package/dist/esm/editor/extensions/buildExtensions.js +40 -42
- package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
- package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
- package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
- package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +969 -975
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
- package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
- package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
- package/dist/cjs/editor/extensions/characterLimit/CharacterLimitExtension.js +0 -8
- package/dist/cjs/editor/extensions/characterLimit/CharacterLimitExtension.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
- package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
- package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
- package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
- package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
- package/dist/esm/components/dual-icon-button/model.d.ts +0 -12
- package/dist/esm/components/sample-button/SampleButton.d.ts +0 -2
- package/dist/esm/components/sample-button/SampleButton.model.d.ts +0 -17
- package/dist/esm/components/sample-button/SampleButton.styled.d.ts +0 -5
- package/dist/esm/components/sample-button/index.d.ts +0 -1
- package/dist/esm/components/sample-button/themes.d.ts +0 -2
- package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.d.ts +0 -19
- package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.js +0 -62
- package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.js.map +0 -1
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
const e = {
|
|
2
2
|
brand: {
|
|
3
3
|
900: "#28034E",
|
|
4
|
-
850: "#360A63",
|
|
5
4
|
800: "#4B1583",
|
|
6
|
-
700: "#5E3A83",
|
|
7
5
|
500: "#731DCF",
|
|
8
6
|
100: "#F3EDF9",
|
|
9
7
|
50: "#EFE6F9",
|
|
10
|
-
10: "#F9F3FF"
|
|
11
|
-
7: "#F7F2FC",
|
|
12
|
-
5: "#FDFBFF"
|
|
8
|
+
10: "#F9F3FF"
|
|
13
9
|
},
|
|
14
10
|
grayscale: {
|
|
15
11
|
900: "#212121",
|
|
@@ -55,11 +51,8 @@ const e = {
|
|
|
55
51
|
brand: e.brand[500],
|
|
56
52
|
brandLight: e.brand[50],
|
|
57
53
|
brandVeryLight: e.brand[10],
|
|
58
|
-
brandUltraLight: e.brand[7],
|
|
59
|
-
brandGhost: e.brand[5],
|
|
60
54
|
pureWhite: e.grayscale.white,
|
|
61
55
|
brandTint: e.brand[100],
|
|
62
|
-
brandHovered: e.brand[850],
|
|
63
56
|
negative: {
|
|
64
57
|
vibrant: e.negative[700],
|
|
65
58
|
light: e.negative[50]
|
|
@@ -118,7 +111,6 @@ const e = {
|
|
|
118
111
|
vibrant: e.positive[700]
|
|
119
112
|
},
|
|
120
113
|
brandLightAlt: "#DDCCF0",
|
|
121
|
-
brandSubdued: e.brand[700],
|
|
122
114
|
blue: {
|
|
123
115
|
lightAlt: "#C3D5E5"
|
|
124
116
|
},
|
|
@@ -186,12 +178,6 @@ const e = {
|
|
|
186
178
|
lineHeight: 20,
|
|
187
179
|
letterSpacing: 0
|
|
188
180
|
},
|
|
189
|
-
titleTiny: {
|
|
190
|
-
fontWeight: "600",
|
|
191
|
-
fontSize: 12,
|
|
192
|
-
lineHeight: 16,
|
|
193
|
-
letterSpacing: 0
|
|
194
|
-
},
|
|
195
181
|
bodyPrimary: {
|
|
196
182
|
fontWeight: "400",
|
|
197
183
|
fontSize: 16,
|
|
@@ -216,12 +202,6 @@ const e = {
|
|
|
216
202
|
lineHeight: 16,
|
|
217
203
|
letterSpacing: 0
|
|
218
204
|
},
|
|
219
|
-
bodyTinySemiBold: {
|
|
220
|
-
fontWeight: "600",
|
|
221
|
-
fontSize: 12,
|
|
222
|
-
lineHeight: 16,
|
|
223
|
-
letterSpacing: 0
|
|
224
|
-
},
|
|
225
205
|
tiny: {
|
|
226
206
|
fontWeight: "400",
|
|
227
207
|
fontSize: 10,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.js","sources":["../../../src/constants/Theme.ts"],"sourcesContent":["export const BASE_COLORS = {\n\tbrand: {\n\t\t900: '#28034E',\n\t\t850: '#360A63',\n\t\t800: '#4B1583',\n\t\t700: '#5E3A83',\n\t\t500: '#731DCF',\n\t\t100: '#F3EDF9',\n\t\t50: '#EFE6F9',\n\t\t10: '#F9F3FF',\n\t\t7: '#F7F2FC',\n\t\t5: '#FDFBFF',\n\t},\n\tgrayscale: {\n\t\t900: '#212121',\n\t\t700: '#616161',\n\t\t500: '#9E9E9E',\n\t\t400: '#BDBDBD',\n\t\t200: '#E0E0E0',\n\t\t100: '#F0F0F0',\n\t\t70: '#F7F7F7',\n\t\t50: '#FAFAFA',\n\t\twhite: '#FFFFFF',\n\t\talpha: '#00000088',\n\t},\n\tnegative: {\n\t\t900: '#B92321',\n\t\t700: '#D53434',\n\t\t100: '#FFCED4',\n\t\t50: '#FFEBEF',\n\t},\n\twarning: {\n\t\t900: '#99631B',\n\t\t500: '#FEC02D',\n\t\t100: '#FFEABE',\n\t\t50: '#FFF7E5',\n\t},\n\tpositive: {\n\t\t900: '#00580E',\n\t\t700: '#1A872C',\n\t\t100: '#C3E4C4',\n\t\t50: '#E6F4E7',\n\t},\n\tbikAi: {\n\t\t500: 'linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)',\n\t\t100: 'linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)',\n\t\t50: 'linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)',\n\t},\n};\n\nexport const COLORS = {\n\tbackground: {\n\t\tinactive: BASE_COLORS.grayscale['200'],\n\t\tbase: BASE_COLORS.grayscale['100'],\n\t\tinverse: BASE_COLORS.brand['900'],\n\t\tinverseLight: BASE_COLORS.brand['800'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tbrandLight: BASE_COLORS.brand['50'],\n\t\tbrandVeryLight: BASE_COLORS.brand['10'],\n\t\tbrandUltraLight: BASE_COLORS.brand['7'],\n\t\tbrandGhost: BASE_COLORS.brand['5'],\n\t\tpureWhite: BASE_COLORS.grayscale.white,\n\t\tbrandTint: BASE_COLORS.brand['100'],\n\t\tbrandHovered: BASE_COLORS.brand['850'],\n\t\tnegative: {\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t\tlight: BASE_COLORS.negative['50'],\n\t\t},\n\t\twarning: {\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t\tlight: BASE_COLORS.warning['50'],\n\t\t},\n\t\tpositive: {\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t\tlight: BASE_COLORS.positive['50'],\n\t\t},\n\t\tblue: {\n\t\t\tlight: '#E5F2FF',\n\t\t},\n\t},\n\ticon: { placeholder: '#9E9E9E' },\n\tscrim: {\n\t\tstandard: '#00000099',\n\t},\n\tsurface: {\n\t\tstandard: BASE_COLORS.grayscale['white'],\n\t\tsubdued: BASE_COLORS.grayscale['50'],\n\t\thovered: BASE_COLORS.grayscale['100'],\n\t\tgrey: BASE_COLORS.grayscale['70'],\n\t\tai: BASE_COLORS.bikAi['500'],\n\t\taiLight: BASE_COLORS.bikAi['50'],\n\t},\n\tcontent: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tinactive: BASE_COLORS.grayscale['400'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tprimaryInverse: BASE_COLORS.grayscale['white'],\n\t\tsecondaryInverse: '#ffffffcc',\n\t\tnegative: BASE_COLORS.negative['900'],\n\t\twarning: BASE_COLORS.warning['900'],\n\t\tpositive: BASE_COLORS.positive['900'],\n\t\tblue: '#28458F',\n\t\tai: BASE_COLORS.bikAi['500'],\n\t},\n\tstroke: {\n\t\tprimary: BASE_COLORS.grayscale['200'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tnegative: {\n\t\t\tlightAlt: BASE_COLORS.negative['100'],\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t},\n\t\twarning: {\n\t\t\tlightAlt: BASE_COLORS.warning['100'],\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t},\n\t\tpositive: {\n\t\t\tlightAlt: BASE_COLORS.positive['100'],\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t},\n\t\tbrandLightAlt: '#DDCCF0',\n\t\tbrandSubdued: BASE_COLORS.brand['700'],\n\t\tblue: {\n\t\t\tlightAlt: '#C3D5E5',\n\t\t},\n\t\tai: {\n\t\t\tlightAlt: '#FEBAD2',\n\t\t\tvibrant: '#F23275',\n\t\t},\n\t},\n\tspecial: {\n\t\twhatsapp: {\n\t\t\tbrand: '#25D366',\n\t\t\tgradient: 'linear-gradient(360deg, #20B038 0%, #60D66A 100%)',\n\t\t\tdark: '#455A64',\n\t\t\tgradientArr: ['#20B038', '#60D66A'],\n\t\t},\n\t\tbrand: {\n\t\t\tgoogle: '#DD4B39',\n\t\t\tfacebook: '#1877F2',\n\t\t},\n\t},\n\ttext: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tdisabled: BASE_COLORS.grayscale['400'],\n\t\twhite: BASE_COLORS.grayscale['white'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\taltPrimary: BASE_COLORS.brand['900'],\n\t\taltSecondary: BASE_COLORS.brand['800'],\n\t},\n};\n\nexport const FONTS = {\n\tdisplay: {\n\t\tfontWeight: '400',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleXLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 28,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleMedium: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitleRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitleSmall: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitleTiny: {\n\t\tfontWeight: '600',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyPrimary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\tbodyLarge: {\n\t\tfontWeight: '400',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\tbodySecondary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaption: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyTinySemiBold: {\n\t\tfontWeight: '600',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttiny: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tsubHeading: {\n\t\tfontWeight: '600',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\n\ttitle1: {\n\t\tfontWeight: '600',\n\t\tfontSize: 24,\n\t\tlineHeight: 32,\n\t\tletterSpacing: 0,\n\t},\n\ttitle1Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 30,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 18,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3Mobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttextPlaceholder: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4Mobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegularMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 18,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegular: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\n\tbodySmall: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionMobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionBold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttext1Bold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 10,\n\t\tlineHeight: 14,\n\t\tletterSpacing: 0,\n\t},\n\ttoast: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttoastMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n};\n\n// For backward compatibility\nexport const DEFAULT_THEME = {\n\tcolorsV2: COLORS,\n\tfonts: FONTS,\n};\n"],"names":["BASE_COLORS","COLORS","FONTS","DEFAULT_THEME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Theme.js","sources":["../../../src/constants/Theme.ts"],"sourcesContent":["export const BASE_COLORS = {\n\tbrand: {\n\t\t900: '#28034E',\n\t\t800: '#4B1583',\n\t\t500: '#731DCF',\n\t\t100: '#F3EDF9',\n\t\t50: '#EFE6F9',\n\t\t10: '#F9F3FF',\n\t},\n\tgrayscale: {\n\t\t900: '#212121',\n\t\t700: '#616161',\n\t\t500: '#9E9E9E',\n\t\t400: '#BDBDBD',\n\t\t200: '#E0E0E0',\n\t\t100: '#F0F0F0',\n\t\t70: '#F7F7F7',\n\t\t50: '#FAFAFA',\n\t\twhite: '#FFFFFF',\n\t\talpha: '#00000088',\n\t},\n\tnegative: {\n\t\t900: '#B92321',\n\t\t700: '#D53434',\n\t\t100: '#FFCED4',\n\t\t50: '#FFEBEF',\n\t},\n\twarning: {\n\t\t900: '#99631B',\n\t\t500: '#FEC02D',\n\t\t100: '#FFEABE',\n\t\t50: '#FFF7E5',\n\t},\n\tpositive: {\n\t\t900: '#00580E',\n\t\t700: '#1A872C',\n\t\t100: '#C3E4C4',\n\t\t50: '#E6F4E7',\n\t},\n\tbikAi: {\n\t\t500: 'linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)',\n\t\t100: 'linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)',\n\t\t50: 'linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)',\n\t},\n};\n\nexport const COLORS = {\n\tbackground: {\n\t\tinactive: BASE_COLORS.grayscale['200'],\n\t\tbase: BASE_COLORS.grayscale['100'],\n\t\tinverse: BASE_COLORS.brand['900'],\n\t\tinverseLight: BASE_COLORS.brand['800'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tbrandLight: BASE_COLORS.brand['50'],\n\t\tbrandVeryLight: BASE_COLORS.brand['10'],\n\t\tpureWhite: BASE_COLORS.grayscale.white,\n\t\tbrandTint: BASE_COLORS.brand['100'],\n\t\tnegative: {\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t\tlight: BASE_COLORS.negative['50'],\n\t\t},\n\t\twarning: {\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t\tlight: BASE_COLORS.warning['50'],\n\t\t},\n\t\tpositive: {\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t\tlight: BASE_COLORS.positive['50'],\n\t\t},\n\t\tblue: {\n\t\t\tlight: '#E5F2FF',\n\t\t},\n\t},\n\ticon: { placeholder: '#9E9E9E' },\n\tscrim: {\n\t\tstandard: '#00000099',\n\t},\n\tsurface: {\n\t\tstandard: BASE_COLORS.grayscale['white'],\n\t\tsubdued: BASE_COLORS.grayscale['50'],\n\t\thovered: BASE_COLORS.grayscale['100'],\n\t\tgrey: BASE_COLORS.grayscale['70'],\n\t\tai: BASE_COLORS.bikAi['500'],\n\t\taiLight: BASE_COLORS.bikAi['50'],\n\t},\n\tcontent: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tinactive: BASE_COLORS.grayscale['400'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tprimaryInverse: BASE_COLORS.grayscale['white'],\n\t\tsecondaryInverse: '#ffffffcc',\n\t\tnegative: BASE_COLORS.negative['900'],\n\t\twarning: BASE_COLORS.warning['900'],\n\t\tpositive: BASE_COLORS.positive['900'],\n\t\tblue: '#28458F',\n\t\tai: BASE_COLORS.bikAi['500'],\n\t},\n\tstroke: {\n\t\tprimary: BASE_COLORS.grayscale['200'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tnegative: {\n\t\t\tlightAlt: BASE_COLORS.negative['100'],\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t},\n\t\twarning: {\n\t\t\tlightAlt: BASE_COLORS.warning['100'],\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t},\n\t\tpositive: {\n\t\t\tlightAlt: BASE_COLORS.positive['100'],\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t},\n\t\tbrandLightAlt: '#DDCCF0',\n\t\tblue: {\n\t\t\tlightAlt: '#C3D5E5',\n\t\t},\n\t\tai: {\n\t\t\tlightAlt: '#FEBAD2',\n\t\t\tvibrant: '#F23275',\n\t\t},\n\t},\n\tspecial: {\n\t\twhatsapp: {\n\t\t\tbrand: '#25D366',\n\t\t\tgradient: 'linear-gradient(360deg, #20B038 0%, #60D66A 100%)',\n\t\t\tdark: '#455A64',\n\t\t\tgradientArr: ['#20B038', '#60D66A'],\n\t\t},\n\t\tbrand: {\n\t\t\tgoogle: '#DD4B39',\n\t\t\tfacebook: '#1877F2',\n\t\t},\n\t},\n\ttext: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tdisabled: BASE_COLORS.grayscale['400'],\n\t\twhite: BASE_COLORS.grayscale['white'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\taltPrimary: BASE_COLORS.brand['900'],\n\t\taltSecondary: BASE_COLORS.brand['800'],\n\t},\n};\n\nexport const FONTS = {\n\tdisplay: {\n\t\tfontWeight: '400',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleXLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 28,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleMedium: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitleRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitleSmall: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbodyPrimary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\tbodyLarge: {\n\t\tfontWeight: '400',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\tbodySecondary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaption: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttiny: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tsubHeading: {\n\t\tfontWeight: '600',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\n\ttitle1: {\n\t\tfontWeight: '600',\n\t\tfontSize: 24,\n\t\tlineHeight: 32,\n\t\tletterSpacing: 0,\n\t},\n\ttitle1Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 30,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 18,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3Mobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttextPlaceholder: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4Mobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegularMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 18,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegular: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\n\tbodySmall: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionMobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionBold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttext1Bold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 10,\n\t\tlineHeight: 14,\n\t\tletterSpacing: 0,\n\t},\n\ttoast: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttoastMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n};\n\n// For backward compatibility\nexport const DEFAULT_THEME = {\n\tcolorsV2: COLORS,\n\tfonts: FONTS,\n};\n"],"names":["BASE_COLORS","COLORS","FONTS","DEFAULT_THEME"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EAC1B,OAAO;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA;AAAA,EAEL,WAAW;AAAA,IACV,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER,UAAU;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,EAAA;AAAA,EAEL,SAAS;AAAA,IACR,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,EAAA;AAAA,EAEL,UAAU;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,EAAA;AAAA,EAEL,OAAO;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI;AAAA,EAAA;AAEN,GAEaC,IAAS;AAAA,EACrB,YAAY;AAAA,IACX,UAAUD,EAAY,UAAU,GAAK;AAAA,IACrC,MAAMA,EAAY,UAAU,GAAK;AAAA,IACjC,SAASA,EAAY,MAAM,GAAK;AAAA,IAChC,cAAcA,EAAY,MAAM,GAAK;AAAA,IACrC,OAAOA,EAAY,MAAM,GAAK;AAAA,IAC9B,YAAYA,EAAY,MAAM,EAAI;AAAA,IAClC,gBAAgBA,EAAY,MAAM,EAAI;AAAA,IACtC,WAAWA,EAAY,UAAU;AAAA,IACjC,WAAWA,EAAY,MAAM,GAAK;AAAA,IAClC,UAAU;AAAA,MACT,SAASA,EAAY,SAAS,GAAK;AAAA,MACnC,OAAOA,EAAY,SAAS,EAAI;AAAA,IAAA;AAAA,IAEjC,SAAS;AAAA,MACR,SAASA,EAAY,QAAQ,GAAK;AAAA,MAClC,OAAOA,EAAY,QAAQ,EAAI;AAAA,IAAA;AAAA,IAEhC,UAAU;AAAA,MACT,SAASA,EAAY,SAAS,GAAK;AAAA,MACnC,OAAOA,EAAY,SAAS,EAAI;AAAA,IAAA;AAAA,IAEjC,MAAM;AAAA,MACL,OAAO;AAAA,IAAA;AAAA,EACR;AAAA,EAED,MAAM,EAAE,aAAa,UAAA;AAAA,EACrB,OAAO;AAAA,IACN,UAAU;AAAA,EAAA;AAAA,EAEX,SAAS;AAAA,IACR,UAAUA,EAAY,UAAU;AAAA,IAChC,SAASA,EAAY,UAAU,EAAI;AAAA,IACnC,SAASA,EAAY,UAAU,GAAK;AAAA,IACpC,MAAMA,EAAY,UAAU,EAAI;AAAA,IAChC,IAAIA,EAAY,MAAM,GAAK;AAAA,IAC3B,SAASA,EAAY,MAAM,EAAI;AAAA,EAAA;AAAA,EAEhC,SAAS;AAAA,IACR,SAASA,EAAY,UAAU,GAAK;AAAA,IACpC,WAAWA,EAAY,UAAU,GAAK;AAAA,IACtC,aAAaA,EAAY,UAAU,GAAK;AAAA,IACxC,UAAUA,EAAY,UAAU,GAAK;AAAA,IACrC,OAAOA,EAAY,MAAM,GAAK;AAAA,IAC9B,gBAAgBA,EAAY,UAAU;AAAA,IACtC,kBAAkB;AAAA,IAClB,UAAUA,EAAY,SAAS,GAAK;AAAA,IACpC,SAASA,EAAY,QAAQ,GAAK;AAAA,IAClC,UAAUA,EAAY,SAAS,GAAK;AAAA,IACpC,MAAM;AAAA,IACN,IAAIA,EAAY,MAAM,GAAK;AAAA,EAAA;AAAA,EAE5B,QAAQ;AAAA,IACP,SAASA,EAAY,UAAU,GAAK;AAAA,IACpC,OAAOA,EAAY,MAAM,GAAK;AAAA,IAC9B,UAAU;AAAA,MACT,UAAUA,EAAY,SAAS,GAAK;AAAA,MACpC,SAASA,EAAY,SAAS,GAAK;AAAA,IAAA;AAAA,IAEpC,SAAS;AAAA,MACR,UAAUA,EAAY,QAAQ,GAAK;AAAA,MACnC,SAASA,EAAY,QAAQ,GAAK;AAAA,IAAA;AAAA,IAEnC,UAAU;AAAA,MACT,UAAUA,EAAY,SAAS,GAAK;AAAA,MACpC,SAASA,EAAY,SAAS,GAAK;AAAA,IAAA;AAAA,IAEpC,eAAe;AAAA,IACf,MAAM;AAAA,MACL,UAAU;AAAA,IAAA;AAAA,IAEX,IAAI;AAAA,MACH,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EACV;AAAA,EAED,SAAS;AAAA,IACR,UAAU;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,aAAa,CAAC,WAAW,SAAS;AAAA,IAAA;AAAA,IAEnC,OAAO;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACX;AAAA,EAED,MAAM;AAAA,IACL,SAASA,EAAY,UAAU,GAAK;AAAA,IACpC,WAAWA,EAAY,UAAU,GAAK;AAAA,IACtC,aAAaA,EAAY,UAAU,GAAK;AAAA,IACxC,UAAUA,EAAY,UAAU,GAAK;AAAA,IACrC,OAAOA,EAAY,UAAU;AAAA,IAC7B,OAAOA,EAAY,MAAM,GAAK;AAAA,IAC9B,YAAYA,EAAY,MAAM,GAAK;AAAA,IACnC,cAAcA,EAAY,MAAM,GAAK;AAAA,EAAA;AAEvC,GAEaE,IAAQ;AAAA,EACpB,SAAS;AAAA,IACR,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,YAAY;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,cAAc;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,YAAY;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,WAAW;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,eAAe;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,SAAS;AAAA,IACR,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,MAAM;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,YAAY;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAGhB,QAAQ;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,cAAc;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,QAAQ;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,cAAc;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,QAAQ;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,cAAc;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,QAAQ;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,iBAAiB;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,cAAc;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,mBAAmB;AAAA,IAClB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAGhB,WAAW;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,eAAe;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,eAAe;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,WAAW;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,OAAO;AAAA,IACN,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAAA,EAEhB,aAAa;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EAAA;AAEjB,GAGaC,IAAgB;AAAA,EAC5B,UAAUF;AAAA,EACV,OAAOC;AACR;"}
|
|
@@ -1,48 +1,47 @@
|
|
|
1
1
|
import { jsxs as g, jsx as h } from "react/jsx-runtime";
|
|
2
|
-
import { getMarkRange as
|
|
3
|
-
import { useEditor as
|
|
4
|
-
import { forwardRef as
|
|
2
|
+
import { getMarkRange as St } from "../node_modules/@tiptap/core/dist/index.js";
|
|
3
|
+
import { useEditor as kt, EditorContent as yt } from "@tiptap/react";
|
|
4
|
+
import { forwardRef as Bt, useState as G, useRef as a, useEffect as bt, useImperativeHandle as xt } from "react";
|
|
5
5
|
import { BodyCaption as K } from "../components/TypographyStyle.js";
|
|
6
|
-
import { BikEditorShell as
|
|
6
|
+
import { BikEditorShell as vt, BikJsonHeader as At, BikJsonError as Tt } from "./BikEditor.styles.js";
|
|
7
7
|
import { DEFAULT_FORMAT_STATE as X } from "./BikEditor.types.js";
|
|
8
|
-
import { buildJsonCodeBlockHtml as
|
|
9
|
-
import { buildExtensions as
|
|
10
|
-
import { LinkBubbleMenu as
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
function
|
|
8
|
+
import { buildJsonCodeBlockHtml as Et, buildSectionedContent as Y, normalizeHtml as i, extractActiveFormats as tt, extractContent as et, parseJson as p, getCodeBlockText as d, extractBodyContent as Rt, extractSectionContent as It, setCodeBlockText as b, findSectionEndPos as nt, findSectionStartPos as Mt, setSectionContentInEditor as T, insertInlineHtml as Lt } from "./BikEditor.utils.js";
|
|
9
|
+
import { buildExtensions as Ot } from "./extensions/buildExtensions.js";
|
|
10
|
+
import { LinkBubbleMenu as Jt } from "./floating/LinkBubbleMenu.js";
|
|
11
|
+
import Ft from "../icons/BIK AI specific/WandSparkles.js";
|
|
12
|
+
import Nt from "../icons/Actions/Formatting/Copy.js";
|
|
13
|
+
function jt(y) {
|
|
14
14
|
return Object.entries(y).map(
|
|
15
15
|
([x, S]) => `${x.replace(/([A-Z])/g, (k) => `-${k.toLowerCase()}`)}:${S}`
|
|
16
16
|
).join(";");
|
|
17
17
|
}
|
|
18
|
-
const
|
|
18
|
+
const zt = (y, x) => {
|
|
19
19
|
const {
|
|
20
20
|
initialContent: S,
|
|
21
21
|
sections: k,
|
|
22
22
|
features: B,
|
|
23
23
|
disabled: ot,
|
|
24
24
|
maxCharacters: E,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
sendShortcut: it,
|
|
25
|
+
shortcuts: rt,
|
|
26
|
+
sendShortcut: st,
|
|
28
27
|
mentions: l,
|
|
29
28
|
slashCommands: C,
|
|
30
|
-
link:
|
|
31
|
-
onPaste:
|
|
29
|
+
link: it,
|
|
30
|
+
onPaste: ct,
|
|
32
31
|
onReady: R,
|
|
33
32
|
onChange: I,
|
|
34
33
|
onSend: v,
|
|
35
|
-
onFocus:
|
|
36
|
-
onBlur:
|
|
34
|
+
onFocus: M,
|
|
35
|
+
onBlur: L,
|
|
37
36
|
onSelectionChange: O,
|
|
38
|
-
minHeight:
|
|
39
|
-
maxHeight:
|
|
40
|
-
style:
|
|
41
|
-
className:
|
|
37
|
+
minHeight: at,
|
|
38
|
+
maxHeight: lt,
|
|
39
|
+
style: dt,
|
|
40
|
+
className: ut,
|
|
42
41
|
editorClassName: J,
|
|
43
42
|
editorStyle: F,
|
|
44
43
|
renderJsonError: N
|
|
45
|
-
} = y, m = !!B?.jsonMode, [u, j] = G(null), [
|
|
44
|
+
} = y, m = !!B?.jsonMode, [u, j] = G(null), [mt, z] = G(!1), ft = m ? Et(S ?? "") : k?.length ? Y(
|
|
46
45
|
i(S ?? ""),
|
|
47
46
|
k.map((t) => ({ ...t, content: i(t.content) }))
|
|
48
47
|
) : i(S ?? ""), A = a([]), H = a(!1), w = a(R);
|
|
@@ -51,10 +50,10 @@ const Ht = (y, x) => {
|
|
|
51
50
|
P.current = I;
|
|
52
51
|
const D = a(O);
|
|
53
52
|
D.current = O;
|
|
54
|
-
const q = a(X), U = a(
|
|
55
|
-
U.current =
|
|
56
|
-
const W = a(
|
|
57
|
-
W.current =
|
|
53
|
+
const q = a(X), U = a(M);
|
|
54
|
+
U.current = M;
|
|
55
|
+
const W = a(L);
|
|
56
|
+
W.current = L;
|
|
58
57
|
const $ = a(v);
|
|
59
58
|
$.current = v;
|
|
60
59
|
const V = a(l?.agents ?? []);
|
|
@@ -63,22 +62,21 @@ const Ht = (y, x) => {
|
|
|
63
62
|
_.current = l?.teams ?? [];
|
|
64
63
|
const Q = a(C?.items ?? []);
|
|
65
64
|
Q.current = C?.items ?? [];
|
|
66
|
-
const n =
|
|
67
|
-
extensions:
|
|
65
|
+
const n = kt({
|
|
66
|
+
extensions: Ot({
|
|
68
67
|
features: B,
|
|
69
68
|
placeholder: y.placeholder,
|
|
70
69
|
maxCharacters: E,
|
|
71
|
-
characterLimit: rt,
|
|
72
70
|
hasSections: (k?.length ?? 0) > 0,
|
|
73
71
|
mentions: {
|
|
74
72
|
agents: l ? V : void 0,
|
|
75
73
|
teams: l ? _ : void 0
|
|
76
74
|
},
|
|
77
75
|
slashCommands: C ? Q : void 0,
|
|
78
|
-
onPaste:
|
|
76
|
+
onPaste: ct,
|
|
79
77
|
onSend: v ? (t) => $.current?.(t) : void 0,
|
|
80
|
-
sendShortcut:
|
|
81
|
-
shortcuts:
|
|
78
|
+
sendShortcut: st,
|
|
79
|
+
shortcuts: rt,
|
|
82
80
|
onMentionSelected: l?.onSelect,
|
|
83
81
|
onSlashCommandSelected: C?.onSelect,
|
|
84
82
|
renderMentionItem: l?.renderItem,
|
|
@@ -87,14 +85,14 @@ const Ht = (y, x) => {
|
|
|
87
85
|
renderSlashCommandItem: C?.renderItem,
|
|
88
86
|
renderSlashCommandDropdown: C?.renderDropdown
|
|
89
87
|
}),
|
|
90
|
-
content:
|
|
88
|
+
content: ft,
|
|
91
89
|
editable: !ot,
|
|
92
90
|
immediatelyRender: !1,
|
|
93
91
|
// SSR-safe β NEVER remove this
|
|
94
92
|
editorProps: {
|
|
95
93
|
attributes: {
|
|
96
94
|
...J ? { class: J } : {},
|
|
97
|
-
...F ? { style:
|
|
95
|
+
...F ? { style: jt(F) } : {}
|
|
98
96
|
}
|
|
99
97
|
},
|
|
100
98
|
onUpdate: ({ editor: t }) => {
|
|
@@ -113,12 +111,12 @@ const Ht = (y, x) => {
|
|
|
113
111
|
function s(t) {
|
|
114
112
|
n ? t(n) : A.current.push(t);
|
|
115
113
|
}
|
|
116
|
-
|
|
114
|
+
bt(() => {
|
|
117
115
|
if (n && (A.current.length > 0 && A.current.splice(0).forEach((e) => e(n)), H.current || (H.current = !0, w.current?.()), m)) {
|
|
118
116
|
const t = p(d(n));
|
|
119
117
|
j(t.valid ? null : t);
|
|
120
118
|
}
|
|
121
|
-
}, [n, m]),
|
|
119
|
+
}, [n, m]), xt(
|
|
122
120
|
x,
|
|
123
121
|
() => ({
|
|
124
122
|
// ββ Focus ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -135,7 +133,7 @@ const Ht = (y, x) => {
|
|
|
135
133
|
s((o) => o.commands.insertContent(e));
|
|
136
134
|
},
|
|
137
135
|
insertInlineContent: (t) => {
|
|
138
|
-
s((e) =>
|
|
136
|
+
s((e) => Lt(e, t));
|
|
139
137
|
},
|
|
140
138
|
insertAtStart: (t) => {
|
|
141
139
|
const e = i(t);
|
|
@@ -185,7 +183,7 @@ const Ht = (y, x) => {
|
|
|
185
183
|
return t.doc.textBetween(e, o, " ");
|
|
186
184
|
const c = t.schema.marks.link;
|
|
187
185
|
if (c) {
|
|
188
|
-
const f =
|
|
186
|
+
const f = St(t.doc.resolve(e), c);
|
|
189
187
|
if (f)
|
|
190
188
|
return t.doc.textBetween(f.from, f.to, " ");
|
|
191
189
|
}
|
|
@@ -197,7 +195,7 @@ const Ht = (y, x) => {
|
|
|
197
195
|
limit: E ?? null
|
|
198
196
|
}),
|
|
199
197
|
// ββ Sections βββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
200
|
-
getSectionContent: (t) => n ?
|
|
198
|
+
getSectionContent: (t) => n ? It(n, t) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
|
|
201
199
|
setSectionContent: (t, e) => {
|
|
202
200
|
const o = i(e);
|
|
203
201
|
s((r) => T(r, t, o));
|
|
@@ -220,7 +218,7 @@ const Ht = (y, x) => {
|
|
|
220
218
|
s((e) => T(e, t, "<p></p>"));
|
|
221
219
|
},
|
|
222
220
|
// ββ Convenience body shorthands βββββββββββββββββββββββββββββββββββ
|
|
223
|
-
getBodyContent: () => n ?
|
|
221
|
+
getBodyContent: () => n ? Rt(n) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
|
|
224
222
|
setBodyContent: (t) => {
|
|
225
223
|
const e = i(t);
|
|
226
224
|
s((o) => T(o, "body", e));
|
|
@@ -284,10 +282,10 @@ const Ht = (y, x) => {
|
|
|
284
282
|
n && (e !== void 0 ? n.chain().focus().extendMarkRange("link").command(({ tr: o, state: r }) => {
|
|
285
283
|
const { from: c, to: f } = o.selection, Z = r.schema.marks.link;
|
|
286
284
|
if (!Z) return !1;
|
|
287
|
-
const
|
|
285
|
+
const pt = r.schema.text(e, [
|
|
288
286
|
Z.create({ href: t })
|
|
289
|
-
]),
|
|
290
|
-
return o.replaceWith(c, f, [
|
|
287
|
+
]), Ct = r.schema.text(" ");
|
|
288
|
+
return o.replaceWith(c, f, [pt, Ct]), !0;
|
|
291
289
|
}).run() : n.chain().focus().extendMarkRange("link").setLink({ href: t }).insertContent(" ").run());
|
|
292
290
|
},
|
|
293
291
|
updateLink: (t) => n?.chain().focus().extendMarkRange("link").setLink({ href: t }).run(),
|
|
@@ -322,48 +320,48 @@ const Ht = (y, x) => {
|
|
|
322
320
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
323
321
|
[n]
|
|
324
322
|
);
|
|
325
|
-
const
|
|
323
|
+
const gt = () => {
|
|
326
324
|
if (!n) return;
|
|
327
325
|
const { valid: t, value: e } = p(d(n));
|
|
328
326
|
!t || e === null || b(n, JSON.stringify(e, null, 2));
|
|
329
|
-
},
|
|
327
|
+
}, ht = () => {
|
|
330
328
|
n && (navigator.clipboard?.writeText(d(n)), z(!0), setTimeout(() => z(!1), 1500));
|
|
331
329
|
};
|
|
332
330
|
return n ? /* @__PURE__ */ g(
|
|
333
|
-
|
|
331
|
+
vt,
|
|
334
332
|
{
|
|
335
|
-
minHeight:
|
|
336
|
-
maxHeight:
|
|
333
|
+
minHeight: at,
|
|
334
|
+
maxHeight: lt,
|
|
337
335
|
tightParagraphs: !B?.richPaste,
|
|
338
336
|
jsonMode: m,
|
|
339
|
-
style:
|
|
340
|
-
className:
|
|
337
|
+
style: dt,
|
|
338
|
+
className: ut,
|
|
341
339
|
children: [
|
|
342
|
-
m && /* @__PURE__ */ g(
|
|
340
|
+
m && /* @__PURE__ */ g(At, { children: [
|
|
343
341
|
/* @__PURE__ */ h("span", { className: "bik-json-header-label", children: "JSON" }),
|
|
344
342
|
/* @__PURE__ */ g("div", { className: "bik-json-header-actions", children: [
|
|
345
343
|
/* @__PURE__ */ g(
|
|
346
344
|
"button",
|
|
347
345
|
{
|
|
348
346
|
type: "button",
|
|
349
|
-
onClick:
|
|
347
|
+
onClick: gt,
|
|
350
348
|
disabled: !!u,
|
|
351
349
|
title: "Format JSON",
|
|
352
350
|
children: [
|
|
353
|
-
/* @__PURE__ */ h(
|
|
351
|
+
/* @__PURE__ */ h(Ft, { size: 16 }),
|
|
354
352
|
/* @__PURE__ */ h(K, { children: "Beautify" })
|
|
355
353
|
]
|
|
356
354
|
}
|
|
357
355
|
),
|
|
358
|
-
/* @__PURE__ */ g("button", { type: "button", onClick:
|
|
359
|
-
/* @__PURE__ */ h(
|
|
360
|
-
|
|
356
|
+
/* @__PURE__ */ g("button", { type: "button", onClick: ht, title: "Copy JSON", children: [
|
|
357
|
+
/* @__PURE__ */ h(Nt, { size: 16 }),
|
|
358
|
+
mt && /* @__PURE__ */ h(K, { children: "Copied" })
|
|
361
359
|
] })
|
|
362
360
|
] })
|
|
363
361
|
] }),
|
|
364
|
-
/* @__PURE__ */ h(
|
|
365
|
-
/* @__PURE__ */ h(
|
|
366
|
-
m && u ? N ? N(u) : /* @__PURE__ */ g(
|
|
362
|
+
/* @__PURE__ */ h(yt, { editor: n }),
|
|
363
|
+
/* @__PURE__ */ h(Jt, { editor: n, renderLinkTooltip: it?.renderTooltip }),
|
|
364
|
+
m && u ? N ? N(u) : /* @__PURE__ */ g(Tt, { children: [
|
|
367
365
|
u.line != null && /* @__PURE__ */ g("strong", { children: [
|
|
368
366
|
"Line ",
|
|
369
367
|
u.line,
|
|
@@ -376,11 +374,11 @@ const Ht = (y, x) => {
|
|
|
376
374
|
]
|
|
377
375
|
}
|
|
378
376
|
) : null;
|
|
379
|
-
},
|
|
380
|
-
|
|
377
|
+
}, Ht = Bt(
|
|
378
|
+
zt
|
|
381
379
|
);
|
|
382
|
-
|
|
380
|
+
Ht.displayName = "BikEditor";
|
|
383
381
|
export {
|
|
384
|
-
|
|
382
|
+
Ht as BikEditor
|
|
385
383
|
};
|
|
386
384
|
//# sourceMappingURL=BikEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BikEditor.js","sources":["../../../src/editor/BikEditor.tsx"],"sourcesContent":["'use client';\n\n/**\n * IMPLEMENTATION LAYER β TipTap-specific.\n * If the underlying editor is swapped, this file changes; BikEditor.types.ts and\n * src/editor/index.ts (the consumer contract) do NOT change.\n */\nimport { Editor, getMarkRange } from '@tiptap/core';\nimport { EditorContent, useEditor } from '@tiptap/react';\nimport React, {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { BodyCaption } from '@src/components/TypographyStyle';\nimport { Copy, WandSparkles } from '../icons';\nimport {\n\tBikEditorShell,\n\tBikJsonError,\n\tBikJsonHeader,\n} from './BikEditor.styles';\nimport {\n\tBikEditorProps,\n\tBikEditorRef,\n\tDEFAULT_FORMAT_STATE,\n\tFormatState,\n\tJsonParseResult,\n} from './BikEditor.types';\nimport {\n\tbuildJsonCodeBlockHtml,\n\tbuildSectionedContent,\n\textractActiveFormats,\n\textractBodyContent,\n\textractContent,\n\textractSectionContent,\n\tfindSectionEndPos,\n\tfindSectionStartPos,\n\tgetCodeBlockText,\n\tinsertInlineHtml,\n\tnormalizeHtml,\n\tparseJson,\n\tsetCodeBlockText,\n\tsetSectionContentInEditor,\n} from './BikEditor.utils';\nimport { buildExtensions } from './extensions/buildExtensions';\nimport { LinkBubbleMenu } from './floating/LinkBubbleMenu';\n\n/** Convert React.CSSProperties to an inline CSS string for editorProps.attributes. */\nfunction cssToString(style: React.CSSProperties): string {\n\treturn Object.entries(style)\n\t\t.map(\n\t\t\t([k, v]) => `${k.replace(/([A-Z])/g, (c) => `-${c.toLowerCase()}`)}:${v}`,\n\t\t)\n\t\t.join(';');\n}\n\nconst BikEditorInner = (\n\tprops: BikEditorProps,\n\tref: React.Ref<BikEditorRef>,\n) => {\n\tconst {\n\t\tinitialContent,\n\t\tsections,\n\t\tfeatures,\n\t\tdisabled,\n\t\tmaxCharacters,\n\t\tcharacterLimit,\n\t\tshortcuts,\n\t\tsendShortcut,\n\t\tmentions,\n\t\tslashCommands,\n\t\tlink,\n\t\tonPaste,\n\t\tonReady,\n\t\tonChange,\n\t\tonSend,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonSelectionChange,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tstyle,\n\t\tclassName,\n\t\teditorClassName,\n\t\teditorStyle,\n\t\trenderJsonError,\n\t} = props;\n\n\tconst isJsonMode = !!features?.jsonMode;\n\n\t// Live JSON parse error, shown inside the editor when jsonMode is on.\n\t// null = valid (or not applicable) β nothing rendered.\n\tconst [jsonError, setJsonError] = useState<JsonParseResult | null>(null);\n\t// Transient \"Copied\" state for the jsonMode copy button.\n\tconst [jsonCopied, setJsonCopied] = useState(false);\n\n\t// JSON body mode: treat initialContent as raw JSON text and wrap it in a code\n\t// block. Skips section/HTML normalisation entirely.\n\tconst initialEditorContent = isJsonMode\n\t\t? buildJsonCodeBlockHtml(initialContent ?? '')\n\t\t: sections?.length\n\t\t? buildSectionedContent(\n\t\t\t\tnormalizeHtml(initialContent ?? ''),\n\t\t\t\tsections.map((s) => ({ ...s, content: normalizeHtml(s.content) })),\n\t\t )\n\t\t: normalizeHtml(initialContent ?? '');\n\n\t// ββ Command queue βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t// TipTap's useEditor initializes asynchronously; the editor instance is null\n\t// until the first commit. Any imperative method called before the editor is\n\t// ready is enqueued here and flushed automatically once it becomes non-null.\n\t// Consumers never need setTimeout or readiness guards.\n\tconst pendingQueue = useRef<Array<(e: Editor) => void>>([]);\n\tconst hasCalledOnReady = useRef(false);\n\t// Keep stable refs to all callbacks so useEditor receives the same function\n\t// identity on every render β prevents TipTap from re-registering event\n\t// handlers every time the parent re-renders with new inline function props.\n\tconst onReadyRef = useRef(onReady);\n\tonReadyRef.current = onReady;\n\tconst onChangeRef = useRef(onChange);\n\tonChangeRef.current = onChange;\n\tconst onSelectionChangeRef = useRef(onSelectionChange);\n\tonSelectionChangeRef.current = onSelectionChange;\n\tconst prevFormatsRef = useRef<FormatState>(DEFAULT_FORMAT_STATE);\n\tconst onFocusRef = useRef(onFocus);\n\tonFocusRef.current = onFocus;\n\tconst onBlurRef = useRef(onBlur);\n\tonBlurRef.current = onBlur;\n\tconst onSendRef = useRef(onSend);\n\tonSendRef.current = onSend;\n\tconst agentMentionsRef = useRef(mentions?.agents ?? []);\n\tagentMentionsRef.current = mentions?.agents ?? [];\n\tconst teamMentionsRef = useRef(mentions?.teams ?? []);\n\tteamMentionsRef.current = mentions?.teams ?? [];\n\tconst slashCommandsRef = useRef(slashCommands?.items ?? []);\n\tslashCommandsRef.current = slashCommands?.items ?? [];\n\n\tconst editor = useEditor({\n\t\textensions: buildExtensions({\n\t\t\tfeatures,\n\t\t\tplaceholder: props.placeholder,\n\t\t\tmaxCharacters,\n\t\t\tcharacterLimit,\n\t\t\thasSections: (sections?.length ?? 0) > 0,\n\t\t\tmentions: {\n\t\t\t\tagents: mentions ? agentMentionsRef : undefined,\n\t\t\t\tteams: mentions ? teamMentionsRef : undefined,\n\t\t\t},\n\t\t\tslashCommands: slashCommands ? slashCommandsRef : undefined,\n\t\t\tonPaste,\n\t\t\tonSend: onSend ? (snapshot) => onSendRef.current?.(snapshot) : undefined,\n\t\t\tsendShortcut,\n\t\t\tshortcuts,\n\t\t\tonMentionSelected: mentions?.onSelect,\n\t\t\tonSlashCommandSelected: slashCommands?.onSelect,\n\t\t\trenderMentionItem: mentions?.renderItem,\n\t\t\trenderMentionDropdown: mentions?.renderDropdown,\n\t\t\tremoveMentionTriggerOnDismiss: mentions?.removeTriggerOnDismiss,\n\t\t\trenderSlashCommandItem: slashCommands?.renderItem,\n\t\t\trenderSlashCommandDropdown: slashCommands?.renderDropdown,\n\t\t}),\n\t\tcontent: initialEditorContent,\n\t\teditable: !disabled,\n\t\timmediatelyRender: false, // SSR-safe β NEVER remove this\n\t\teditorProps: {\n\t\t\tattributes: {\n\t\t\t\t...(editorClassName ? { class: editorClassName } : {}),\n\t\t\t\t...(editorStyle ? { style: cssToString(editorStyle) } : {}),\n\t\t\t},\n\t\t},\n\t\tonUpdate: ({ editor: e }) => {\n\t\t\tonChangeRef.current?.(extractContent(e));\n\t\t\tif (isJsonMode) {\n\t\t\t\tconst result = parseJson(getCodeBlockText(e));\n\t\t\t\tsetJsonError(result.valid ? null : result);\n\t\t\t}\n\t\t},\n\t\tonTransaction: ({ editor: e }) => {\n\t\t\tconst next = extractActiveFormats(e);\n\t\t\tconst prev = prevFormatsRef.current;\n\t\t\tconst changed =\n\t\t\t\tprev.bold !== next.bold ||\n\t\t\t\tprev.italic !== next.italic ||\n\t\t\t\tprev.underline !== next.underline ||\n\t\t\t\tprev.strike !== next.strike ||\n\t\t\t\tprev.bulletList !== next.bulletList ||\n\t\t\t\tprev.orderedList !== next.orderedList ||\n\t\t\t\tprev.blockquote !== next.blockquote ||\n\t\t\t\tprev.codeBlock !== next.codeBlock ||\n\t\t\t\tprev.superscript !== next.superscript ||\n\t\t\t\tprev.subscript !== next.subscript ||\n\t\t\t\tprev.textAlign !== next.textAlign ||\n\t\t\t\tprev.fontFamily !== next.fontFamily ||\n\t\t\t\tprev.fontSize !== next.fontSize ||\n\t\t\t\tprev.color !== next.color ||\n\t\t\t\tprev.highlight !== next.highlight ||\n\t\t\t\tprev.link?.href !== next.link?.href;\n\t\t\tif (changed) {\n\t\t\t\tprevFormatsRef.current = next;\n\t\t\t\tonSelectionChangeRef.current?.(next);\n\t\t\t}\n\t\t},\n\t\tonFocus: () => onFocusRef.current?.(),\n\t\tonBlur: () => onBlurRef.current?.(),\n\t});\n\n\t// ββ enqueue βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t// Run immediately if the editor is ready; otherwise defer to the queue.\n\t// Closures passed to enqueue MUST capture all parameters explicitly β\n\t// they must NOT close over `editor` (which would be null at enqueue time).\n\tfunction enqueue(op: (e: Editor) => void): void {\n\t\tif (editor) {\n\t\t\top(editor);\n\t\t} else {\n\t\t\tpendingQueue.current.push(op);\n\t\t}\n\t}\n\n\t// Flush the pending queue and fire onReady when editor transitions null β ready.\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\t\tif (pendingQueue.current.length > 0) {\n\t\t\tconst queue = pendingQueue.current.splice(0);\n\t\t\tqueue.forEach((op) => op(editor));\n\t\t}\n\t\tif (!hasCalledOnReady.current) {\n\t\t\thasCalledOnReady.current = true;\n\t\t\tonReadyRef.current?.();\n\t\t}\n\t\t// Surface an error for invalid initialContent immediately on mount.\n\t\tif (isJsonMode) {\n\t\t\tconst result = parseJson(getCodeBlockText(editor));\n\t\t\tsetJsonError(result.valid ? null : result);\n\t\t}\n\t}, [editor, isJsonMode]);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\t// ββ Focus ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tfocus: (position) => enqueue((e) => e.commands.focus(position)),\n\t\t\tblur: () => enqueue((e) => e.commands.blur()),\n\n\t\t\t// ββ Content ββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tclearContent: () => enqueue((e) => e.commands.clearContent(true)),\n\t\t\tsetContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.setContent(normalised, { emitUpdate: true }));\n\t\t\t},\n\t\t\tinsertContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContent(normalised));\n\t\t\t},\n\t\t\tinsertInlineContent: (html) => {\n\t\t\t\tenqueue((e) => insertInlineHtml(e, html));\n\t\t\t},\n\t\t\tinsertAtStart: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(1, normalised));\n\t\t\t},\n\t\t\tinsertBlock: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\tappendInline: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// doc.content.size is after the last </p> (block boundary).\n\t\t\t\t// Subtract 1 to land inside the last paragraph so text appends\n\t\t\t\t// inline rather than being wrapped in a new paragraph each call.\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size - 1, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\t// Backwards-compatible aliases\n\t\t\tinsertAtEnd(html) {\n\t\t\t\tthis.insertBlock(html);\n\t\t\t},\n\t\t\tappendContent(html) {\n\t\t\t\tthis.appendInline(html);\n\t\t\t},\n\t\t\tgetContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tgetJSON: () => editor?.getJSON() ?? null,\n\t\t\tgetMentions: () => {\n\t\t\t\tconst agentIds = new Set<string>();\n\t\t\t\tconst teamIds = new Set<string>();\n\t\t\t\tif (!editor) return { agentIds: [], teamIds: [] };\n\t\t\t\teditor.state.doc.descendants((node) => {\n\t\t\t\t\tif (node.type.name === 'mentionAgent' && node.attrs['id'] != null) {\n\t\t\t\t\t\tagentIds.add(String(node.attrs['id']));\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tnode.type.name === 'mentionTeam' &&\n\t\t\t\t\t\tnode.attrs['id'] != null\n\t\t\t\t\t) {\n\t\t\t\t\t\tteamIds.add(String(node.attrs['id']));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn { agentIds: Array.from(agentIds), teamIds: Array.from(teamIds) };\n\t\t\t},\n\n\t\t\t// ββ Selection ββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetCursorPosition: () => {\n\t\t\t\tif (!editor) return { from: 0, to: 0 };\n\t\t\t\tconst { from, to } = editor.state.selection;\n\t\t\t\treturn { from, to };\n\t\t\t},\n\t\t\tinsertAtPosition: (pos, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(pos, normalised));\n\t\t\t},\n\t\t\tgetSelectedText: () => {\n\t\t\t\tif (!editor) return '';\n\t\t\t\tconst { state } = editor;\n\t\t\t\tconst { from, to, empty } = state.selection;\n\t\t\t\tif (!empty) {\n\t\t\t\t\treturn state.doc.textBetween(from, to, ' ');\n\t\t\t\t}\n\t\t\t\t// When the cursor is inside a link with nothing selected, return the\n\t\t\t\t// full link text β useful for pre-filling a link modal's text field.\n\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\tif (linkMarkType) {\n\t\t\t\t\tconst range = getMarkRange(state.doc.resolve(from), linkMarkType);\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\treturn state.doc.textBetween(range.from, range.to, ' ');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\t// ββ Character count βββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetCharacterCount: () => ({\n\t\t\t\tcount:\n\t\t\t\t\teditor?.storage.characterCount?.characters?.() ??\n\t\t\t\t\teditor?.getText().length ??\n\t\t\t\t\t0,\n\t\t\t\tlimit: maxCharacters ?? null,\n\t\t\t}),\n\n\t\t\t// ββ Sections βββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetSectionContent: (sectionId) =>\n\t\t\t\teditor\n\t\t\t\t\t? extractSectionContent(editor, sectionId)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\n\t\t\tsetSectionContent: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, normalised));\n\t\t\t},\n\n\t\t\tfocusSection: (sectionId) => {\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tif (sectionId === 'body') {\n\t\t\t\t\t\tlet endOfBody = e.state.doc.content.size - 1;\n\t\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\t\tendOfBody === e.state.doc.content.size - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tendOfBody = pos - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn endOfBody === e.state.doc.content.size - 1;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (endOfBody < 1) endOfBody = 1;\n\t\t\t\t\t\te.chain().focus().setTextSelection(endOfBody).run();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet targetPos = -1;\n\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (targetPos !== -1) return false;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\tnode.attrs['sectionId'] === sectionId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// pos + nodeSize lands right after the divider;\n\t\t\t\t\t\t\t// +1 more puts us inside the first paragraph of that section.\n\t\t\t\t\t\t\ttargetPos = pos + node.nodeSize + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (targetPos !== -1) {\n\t\t\t\t\t\te.chain().focus().setTextSelection(targetPos).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tclearSection: (sectionId) => {\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, '<p></p>'));\n\t\t\t},\n\n\t\t\t// ββ Convenience body shorthands βββββββββββββββββββββββββββββββββββ\n\t\t\tgetBodyContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractBodyContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tsetBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, 'body', normalised));\n\t\t\t},\n\t\t\tsetBodyAndSections: (body, sections) => {\n\t\t\t\tconst html = buildSectionedContent(\n\t\t\t\t\tnormalizeHtml(body),\n\t\t\t\t\tsections.map((s) => ({\n\t\t\t\t\t\tid: s.id,\n\t\t\t\t\t\tcontent: normalizeHtml(s.content),\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t\tenqueue((e) => e.commands.setContent(html, { emitUpdate: true }));\n\t\t\t},\n\t\t\tappendBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// findSectionEndPos returns the position of the first divider (or\n\t\t\t\t// doc.content.size), which is the block boundary after the last </p>.\n\t\t\t\t// Subtract 1 to stay inside the last paragraph so successive calls\n\t\t\t\t// append inline text rather than creating a new paragraph each time.\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst boundaryPos = findSectionEndPos(e, 'body');\n\t\t\t\t\te.commands.insertContentAt(boundaryPos - 1, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionStart: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionStartPos(e, sectionId);\n\t\t\t\t\tif (pos !== -1)\n\t\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionEnd: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionEndPos(e, sectionId);\n\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\t// ββ Formats & actions βββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetActiveFormats: () =>\n\t\t\t\teditor ? extractActiveFormats(editor) : DEFAULT_FORMAT_STATE,\n\t\t\tactions: {\n\t\t\t\ttoggleBold: () => editor?.chain().focus().toggleBold().run(),\n\t\t\t\ttoggleItalic: () => editor?.chain().focus().toggleItalic().run(),\n\t\t\t\ttoggleUnderline: () => editor?.chain().focus().toggleUnderline().run(),\n\t\t\t\ttoggleStrike: () => editor?.chain().focus().toggleStrike().run(),\n\t\t\t\ttoggleBulletList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBulletList().run(),\n\t\t\t\ttoggleOrderedList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleOrderedList().run(),\n\t\t\t\ttoggleBlockquote: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBlockquote().run(),\n\t\t\t\ttoggleCodeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n\t\t\t\tsetTextAlign: (align) =>\n\t\t\t\t\teditor?.chain().focus().setTextAlign(align).run(),\n\t\t\t\tsetFontFamily: (font) =>\n\t\t\t\t\teditor?.chain().focus().setFontFamily(font).run(),\n\t\t\t\tsetFontSize: (size) => editor?.chain().focus().setFontSize(size).run(),\n\t\t\t\tsetColor: (color) => editor?.chain().focus().setColor(color).run(),\n\t\t\t\tsetHighlight: (color) =>\n\t\t\t\t\teditor?.chain().focus().toggleHighlight({ color }).run(),\n\t\t\t\tunsetColor: () => editor?.chain().focus().unsetColor().run(),\n\t\t\t\tunsetHighlight: () => editor?.chain().focus().unsetHighlight().run(),\n\t\t\t\tsetLink: (href, text) => {\n\t\t\t\t\tif (!editor) return;\n\t\t\t\t\tif (text !== undefined) {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.command(({ tr, state }) => {\n\t\t\t\t\t\t\t\tconst { from, to } = tr.selection;\n\t\t\t\t\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\t\t\t\t\tif (!linkMarkType) return false;\n\t\t\t\t\t\t\t\tconst linkNode = state.schema.text(text, [\n\t\t\t\t\t\t\t\t\tlinkMarkType.create({ href }),\n\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\tconst space = state.schema.text(' ');\n\t\t\t\t\t\t\t\ttr.replaceWith(from, to, [linkNode, space]);\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t\t.insertContent(' ')\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateLink: (href) =>\n\t\t\t\t\teditor\n\t\t\t\t\t\t?.chain()\n\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t.run(),\n\t\t\t\tremoveLink: () =>\n\t\t\t\t\teditor?.chain().focus().extendMarkRange('link').unsetLink().run(),\n\t\t\t\tinsertEmoji: (emoji) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(emoji).run(),\n\t\t\t\tinsertVariable: (variableName) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(`{{${variableName}}}`).run(),\n\t\t\t\tinsertHtml: (html) =>\n\t\t\t\t\teditor?.commands.insertContent(normalizeHtml(html)),\n\t\t\t\tundo: () => editor?.chain().focus().undo().run(),\n\t\t\t\tredo: () => editor?.chain().focus().redo().run(),\n\t\t\t\tcanUndo: () => editor?.can().undo() ?? false,\n\t\t\t\tcanRedo: () => editor?.can().redo() ?? false,\n\t\t\t\ttoggleSuperscript: () =>\n\t\t\t\t\teditor?.chain().focus().toggleSuperscript().run(),\n\t\t\t\ttoggleSubscript: () => editor?.chain().focus().toggleSubscript().run(),\n\t\t\t\tinsertImage: (src) => editor?.chain().focus().setImage({ src }).run(),\n\t\t\t},\n\n\t\t\t// ββ JSON body βββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tjson: features?.jsonMode\n\t\t\t\t? {\n\t\t\t\t\t\tgetText: () => (editor ? getCodeBlockText(editor) : ''),\n\t\t\t\t\t\tsetText: (raw) => enqueue((e) => setCodeBlockText(e, raw)),\n\t\t\t\t\t\tparse: () => parseJson(editor ? getCodeBlockText(editor) : ''),\n\t\t\t\t\t\tisValid: () =>\n\t\t\t\t\t\t\tparseJson(editor ? getCodeBlockText(editor) : '').valid,\n\t\t\t\t\t\tformat: (indent = 2) =>\n\t\t\t\t\t\t\tenqueue((e) => {\n\t\t\t\t\t\t\t\tconst { valid, value } = parseJson(getCodeBlockText(e));\n\t\t\t\t\t\t\t\tif (!valid || value === null) return;\n\t\t\t\t\t\t\t\tsetCodeBlockText(e, JSON.stringify(value, null, indent));\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\tminify: () =>\n\t\t\t\t\t\t\tenqueue((e) => {\n\t\t\t\t\t\t\t\tconst { valid, value } = parseJson(getCodeBlockText(e));\n\t\t\t\t\t\t\t\tif (!valid || value === null) return;\n\t\t\t\t\t\t\t\tsetCodeBlockText(e, JSON.stringify(value));\n\t\t\t\t\t\t\t}),\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[editor],\n\t);\n\n\t// ββ jsonMode floating actions ββββββββββββββββββββββββββββββββββββββββββββ\n\t// Beautify pretty-prints in place (no-op / disabled while the JSON is broken);\n\t// Copy writes the raw text to the clipboard with transient feedback.\n\tconst handleJsonBeautify = () => {\n\t\tif (!editor) return;\n\t\tconst { valid, value } = parseJson(getCodeBlockText(editor));\n\t\tif (!valid || value === null) return;\n\t\tsetCodeBlockText(editor, JSON.stringify(value, null, 2));\n\t};\n\tconst handleJsonCopy = () => {\n\t\tif (!editor) return;\n\t\tvoid navigator.clipboard?.writeText(getCodeBlockText(editor));\n\t\tsetJsonCopied(true);\n\t\tsetTimeout(() => setJsonCopied(false), 1500);\n\t};\n\n\tif (!editor) return null;\n\n\treturn (\n\t\t<BikEditorShell\n\t\t\tminHeight={minHeight}\n\t\t\tmaxHeight={maxHeight}\n\t\t\ttightParagraphs={!features?.richPaste}\n\t\t\tjsonMode={isJsonMode}\n\t\t\tstyle={style}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t{isJsonMode && (\n\t\t\t\t<BikJsonHeader>\n\t\t\t\t\t<span className=\"bik-json-header-label\">JSON</span>\n\t\t\t\t\t<div className=\"bik-json-header-actions\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleJsonBeautify}\n\t\t\t\t\t\t\tdisabled={!!jsonError}\n\t\t\t\t\t\t\ttitle=\"Format JSON\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WandSparkles size={16} />\n\t\t\t\t\t\t\t<BodyCaption>Beautify</BodyCaption>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button type=\"button\" onClick={handleJsonCopy} title=\"Copy JSON\">\n\t\t\t\t\t\t\t<Copy size={16} />\n\t\t\t\t\t\t\t{jsonCopied && <BodyCaption>Copied</BodyCaption>}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</BikJsonHeader>\n\t\t\t)}\n\t\t\t<EditorContent editor={editor} />\n\t\t\t<LinkBubbleMenu editor={editor} renderLinkTooltip={link?.renderTooltip} />\n\t\t\t{isJsonMode && jsonError ? (\n\t\t\t\trenderJsonError ? (\n\t\t\t\t\trenderJsonError(jsonError)\n\t\t\t\t) : (\n\t\t\t\t\t<BikJsonError>\n\t\t\t\t\t\t{jsonError.line != null && (\n\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\tLine {jsonError.line}\n\t\t\t\t\t\t\t\t{jsonError.column != null ? `, column ${jsonError.column}` : ''}\n\t\t\t\t\t\t\t\t:{' '}\n\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{jsonError.error}\n\t\t\t\t\t</BikJsonError>\n\t\t\t\t)\n\t\t\t) : null}\n\t\t</BikEditorShell>\n\t);\n};\n\nexport const BikEditor = forwardRef<BikEditorRef, BikEditorProps>(\n\tBikEditorInner,\n);\nBikEditor.displayName = 'BikEditor';\n"],"names":["cssToString","style","k","v","c","BikEditorInner","props","ref","initialContent","sections","features","disabled","maxCharacters","characterLimit","shortcuts","sendShortcut","mentions","slashCommands","link","onPaste","onReady","onChange","onSend","onFocus","onBlur","onSelectionChange","minHeight","maxHeight","className","editorClassName","editorStyle","renderJsonError","isJsonMode","jsonError","setJsonError","useState","jsonCopied","setJsonCopied","initialEditorContent","buildJsonCodeBlockHtml","buildSectionedContent","normalizeHtml","s","pendingQueue","useRef","hasCalledOnReady","onReadyRef","onChangeRef","onSelectionChangeRef","prevFormatsRef","DEFAULT_FORMAT_STATE","onFocusRef","onBlurRef","onSendRef","agentMentionsRef","teamMentionsRef","slashCommandsRef","editor","useEditor","buildExtensions","snapshot","e","extractContent","result","parseJson","getCodeBlockText","next","extractActiveFormats","prev","enqueue","op","useEffect","useImperativeHandle","position","html","normalised","insertInlineHtml","agentIds","teamIds","node","from","to","pos","state","empty","linkMarkType","range","getMarkRange","sectionId","extractSectionContent","setSectionContentInEditor","endOfBody","targetPos","extractBodyContent","body","boundaryPos","findSectionEndPos","findSectionStartPos","align","font","size","color","href","text","tr","linkNode","space","emoji","variableName","src","raw","setCodeBlockText","indent","valid","value","handleJsonBeautify","handleJsonCopy","jsxs","BikEditorShell","BikJsonHeader","jsx","WandSparkles","BodyCaption","Copy","EditorContent","LinkBubbleMenu","BikJsonError","BikEditor","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BikEditor.js","sources":["../../../src/editor/BikEditor.tsx"],"sourcesContent":["'use client';\n\n/**\n * IMPLEMENTATION LAYER β TipTap-specific.\n * If the underlying editor is swapped, this file changes; BikEditor.types.ts and\n * src/editor/index.ts (the consumer contract) do NOT change.\n */\nimport { Editor, getMarkRange } from '@tiptap/core';\nimport { EditorContent, useEditor } from '@tiptap/react';\nimport React, {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { BodyCaption } from '@src/components/TypographyStyle';\nimport { Copy, WandSparkles } from '../icons';\nimport {\n\tBikEditorShell,\n\tBikJsonError,\n\tBikJsonHeader,\n} from './BikEditor.styles';\nimport {\n\tBikEditorProps,\n\tBikEditorRef,\n\tDEFAULT_FORMAT_STATE,\n\tFormatState,\n\tJsonParseResult,\n} from './BikEditor.types';\nimport {\n\tbuildJsonCodeBlockHtml,\n\tbuildSectionedContent,\n\textractActiveFormats,\n\textractBodyContent,\n\textractContent,\n\textractSectionContent,\n\tfindSectionEndPos,\n\tfindSectionStartPos,\n\tgetCodeBlockText,\n\tinsertInlineHtml,\n\tnormalizeHtml,\n\tparseJson,\n\tsetCodeBlockText,\n\tsetSectionContentInEditor,\n} from './BikEditor.utils';\nimport { buildExtensions } from './extensions/buildExtensions';\nimport { LinkBubbleMenu } from './floating/LinkBubbleMenu';\n\n/** Convert React.CSSProperties to an inline CSS string for editorProps.attributes. */\nfunction cssToString(style: React.CSSProperties): string {\n\treturn Object.entries(style)\n\t\t.map(\n\t\t\t([k, v]) => `${k.replace(/([A-Z])/g, (c) => `-${c.toLowerCase()}`)}:${v}`,\n\t\t)\n\t\t.join(';');\n}\n\nconst BikEditorInner = (\n\tprops: BikEditorProps,\n\tref: React.Ref<BikEditorRef>,\n) => {\n\tconst {\n\t\tinitialContent,\n\t\tsections,\n\t\tfeatures,\n\t\tdisabled,\n\t\tmaxCharacters,\n\t\tshortcuts,\n\t\tsendShortcut,\n\t\tmentions,\n\t\tslashCommands,\n\t\tlink,\n\t\tonPaste,\n\t\tonReady,\n\t\tonChange,\n\t\tonSend,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonSelectionChange,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tstyle,\n\t\tclassName,\n\t\teditorClassName,\n\t\teditorStyle,\n\t\trenderJsonError,\n\t} = props;\n\n\tconst isJsonMode = !!features?.jsonMode;\n\n\t// Live JSON parse error, shown inside the editor when jsonMode is on.\n\t// null = valid (or not applicable) β nothing rendered.\n\tconst [jsonError, setJsonError] = useState<JsonParseResult | null>(null);\n\t// Transient \"Copied\" state for the jsonMode copy button.\n\tconst [jsonCopied, setJsonCopied] = useState(false);\n\n\t// JSON body mode: treat initialContent as raw JSON text and wrap it in a code\n\t// block. Skips section/HTML normalisation entirely.\n\tconst initialEditorContent = isJsonMode\n\t\t? buildJsonCodeBlockHtml(initialContent ?? '')\n\t\t: sections?.length\n\t\t? buildSectionedContent(\n\t\t\t\tnormalizeHtml(initialContent ?? ''),\n\t\t\t\tsections.map((s) => ({ ...s, content: normalizeHtml(s.content) })),\n\t\t )\n\t\t: normalizeHtml(initialContent ?? '');\n\n\t// ββ Command queue βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t// TipTap's useEditor initializes asynchronously; the editor instance is null\n\t// until the first commit. Any imperative method called before the editor is\n\t// ready is enqueued here and flushed automatically once it becomes non-null.\n\t// Consumers never need setTimeout or readiness guards.\n\tconst pendingQueue = useRef<Array<(e: Editor) => void>>([]);\n\tconst hasCalledOnReady = useRef(false);\n\t// Keep stable refs to all callbacks so useEditor receives the same function\n\t// identity on every render β prevents TipTap from re-registering event\n\t// handlers every time the parent re-renders with new inline function props.\n\tconst onReadyRef = useRef(onReady);\n\tonReadyRef.current = onReady;\n\tconst onChangeRef = useRef(onChange);\n\tonChangeRef.current = onChange;\n\tconst onSelectionChangeRef = useRef(onSelectionChange);\n\tonSelectionChangeRef.current = onSelectionChange;\n\tconst prevFormatsRef = useRef<FormatState>(DEFAULT_FORMAT_STATE);\n\tconst onFocusRef = useRef(onFocus);\n\tonFocusRef.current = onFocus;\n\tconst onBlurRef = useRef(onBlur);\n\tonBlurRef.current = onBlur;\n\tconst onSendRef = useRef(onSend);\n\tonSendRef.current = onSend;\n\tconst agentMentionsRef = useRef(mentions?.agents ?? []);\n\tagentMentionsRef.current = mentions?.agents ?? [];\n\tconst teamMentionsRef = useRef(mentions?.teams ?? []);\n\tteamMentionsRef.current = mentions?.teams ?? [];\n\tconst slashCommandsRef = useRef(slashCommands?.items ?? []);\n\tslashCommandsRef.current = slashCommands?.items ?? [];\n\n\tconst editor = useEditor({\n\t\textensions: buildExtensions({\n\t\t\tfeatures,\n\t\t\tplaceholder: props.placeholder,\n\t\t\tmaxCharacters,\n\t\t\thasSections: (sections?.length ?? 0) > 0,\n\t\t\tmentions: {\n\t\t\t\tagents: mentions ? agentMentionsRef : undefined,\n\t\t\t\tteams: mentions ? teamMentionsRef : undefined,\n\t\t\t},\n\t\t\tslashCommands: slashCommands ? slashCommandsRef : undefined,\n\t\t\tonPaste,\n\t\t\tonSend: onSend ? (snapshot) => onSendRef.current?.(snapshot) : undefined,\n\t\t\tsendShortcut,\n\t\t\tshortcuts,\n\t\t\tonMentionSelected: mentions?.onSelect,\n\t\t\tonSlashCommandSelected: slashCommands?.onSelect,\n\t\t\trenderMentionItem: mentions?.renderItem,\n\t\t\trenderMentionDropdown: mentions?.renderDropdown,\n\t\t\tremoveMentionTriggerOnDismiss: mentions?.removeTriggerOnDismiss,\n\t\t\trenderSlashCommandItem: slashCommands?.renderItem,\n\t\t\trenderSlashCommandDropdown: slashCommands?.renderDropdown,\n\t\t}),\n\t\tcontent: initialEditorContent,\n\t\teditable: !disabled,\n\t\timmediatelyRender: false, // SSR-safe β NEVER remove this\n\t\teditorProps: {\n\t\t\tattributes: {\n\t\t\t\t...(editorClassName ? { class: editorClassName } : {}),\n\t\t\t\t...(editorStyle ? { style: cssToString(editorStyle) } : {}),\n\t\t\t},\n\t\t},\n\t\tonUpdate: ({ editor: e }) => {\n\t\t\tonChangeRef.current?.(extractContent(e));\n\t\t\tif (isJsonMode) {\n\t\t\t\tconst result = parseJson(getCodeBlockText(e));\n\t\t\t\tsetJsonError(result.valid ? null : result);\n\t\t\t}\n\t\t},\n\t\tonTransaction: ({ editor: e }) => {\n\t\t\tconst next = extractActiveFormats(e);\n\t\t\tconst prev = prevFormatsRef.current;\n\t\t\tconst changed =\n\t\t\t\tprev.bold !== next.bold ||\n\t\t\t\tprev.italic !== next.italic ||\n\t\t\t\tprev.underline !== next.underline ||\n\t\t\t\tprev.strike !== next.strike ||\n\t\t\t\tprev.bulletList !== next.bulletList ||\n\t\t\t\tprev.orderedList !== next.orderedList ||\n\t\t\t\tprev.blockquote !== next.blockquote ||\n\t\t\t\tprev.codeBlock !== next.codeBlock ||\n\t\t\t\tprev.superscript !== next.superscript ||\n\t\t\t\tprev.subscript !== next.subscript ||\n\t\t\t\tprev.textAlign !== next.textAlign ||\n\t\t\t\tprev.fontFamily !== next.fontFamily ||\n\t\t\t\tprev.fontSize !== next.fontSize ||\n\t\t\t\tprev.color !== next.color ||\n\t\t\t\tprev.highlight !== next.highlight ||\n\t\t\t\tprev.link?.href !== next.link?.href;\n\t\t\tif (changed) {\n\t\t\t\tprevFormatsRef.current = next;\n\t\t\t\tonSelectionChangeRef.current?.(next);\n\t\t\t}\n\t\t},\n\t\tonFocus: () => onFocusRef.current?.(),\n\t\tonBlur: () => onBlurRef.current?.(),\n\t});\n\n\t// ββ enqueue βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t// Run immediately if the editor is ready; otherwise defer to the queue.\n\t// Closures passed to enqueue MUST capture all parameters explicitly β\n\t// they must NOT close over `editor` (which would be null at enqueue time).\n\tfunction enqueue(op: (e: Editor) => void): void {\n\t\tif (editor) {\n\t\t\top(editor);\n\t\t} else {\n\t\t\tpendingQueue.current.push(op);\n\t\t}\n\t}\n\n\t// Flush the pending queue and fire onReady when editor transitions null β ready.\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\t\tif (pendingQueue.current.length > 0) {\n\t\t\tconst queue = pendingQueue.current.splice(0);\n\t\t\tqueue.forEach((op) => op(editor));\n\t\t}\n\t\tif (!hasCalledOnReady.current) {\n\t\t\thasCalledOnReady.current = true;\n\t\t\tonReadyRef.current?.();\n\t\t}\n\t\t// Surface an error for invalid initialContent immediately on mount.\n\t\tif (isJsonMode) {\n\t\t\tconst result = parseJson(getCodeBlockText(editor));\n\t\t\tsetJsonError(result.valid ? null : result);\n\t\t}\n\t}, [editor, isJsonMode]);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\t// ββ Focus ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tfocus: (position) => enqueue((e) => e.commands.focus(position)),\n\t\t\tblur: () => enqueue((e) => e.commands.blur()),\n\n\t\t\t// ββ Content ββββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tclearContent: () => enqueue((e) => e.commands.clearContent(true)),\n\t\t\tsetContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.setContent(normalised, { emitUpdate: true }));\n\t\t\t},\n\t\t\tinsertContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContent(normalised));\n\t\t\t},\n\t\t\tinsertInlineContent: (html) => {\n\t\t\t\tenqueue((e) => insertInlineHtml(e, html));\n\t\t\t},\n\t\t\tinsertAtStart: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(1, normalised));\n\t\t\t},\n\t\t\tinsertBlock: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\tappendInline: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// doc.content.size is after the last </p> (block boundary).\n\t\t\t\t// Subtract 1 to land inside the last paragraph so text appends\n\t\t\t\t// inline rather than being wrapped in a new paragraph each call.\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size - 1, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\t// Backwards-compatible aliases\n\t\t\tinsertAtEnd(html) {\n\t\t\t\tthis.insertBlock(html);\n\t\t\t},\n\t\t\tappendContent(html) {\n\t\t\t\tthis.appendInline(html);\n\t\t\t},\n\t\t\tgetContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tgetJSON: () => editor?.getJSON() ?? null,\n\t\t\tgetMentions: () => {\n\t\t\t\tconst agentIds = new Set<string>();\n\t\t\t\tconst teamIds = new Set<string>();\n\t\t\t\tif (!editor) return { agentIds: [], teamIds: [] };\n\t\t\t\teditor.state.doc.descendants((node) => {\n\t\t\t\t\tif (node.type.name === 'mentionAgent' && node.attrs['id'] != null) {\n\t\t\t\t\t\tagentIds.add(String(node.attrs['id']));\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tnode.type.name === 'mentionTeam' &&\n\t\t\t\t\t\tnode.attrs['id'] != null\n\t\t\t\t\t) {\n\t\t\t\t\t\tteamIds.add(String(node.attrs['id']));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn { agentIds: Array.from(agentIds), teamIds: Array.from(teamIds) };\n\t\t\t},\n\n\t\t\t// ββ Selection ββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetCursorPosition: () => {\n\t\t\t\tif (!editor) return { from: 0, to: 0 };\n\t\t\t\tconst { from, to } = editor.state.selection;\n\t\t\t\treturn { from, to };\n\t\t\t},\n\t\t\tinsertAtPosition: (pos, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(pos, normalised));\n\t\t\t},\n\t\t\tgetSelectedText: () => {\n\t\t\t\tif (!editor) return '';\n\t\t\t\tconst { state } = editor;\n\t\t\t\tconst { from, to, empty } = state.selection;\n\t\t\t\tif (!empty) {\n\t\t\t\t\treturn state.doc.textBetween(from, to, ' ');\n\t\t\t\t}\n\t\t\t\t// When the cursor is inside a link with nothing selected, return the\n\t\t\t\t// full link text β useful for pre-filling a link modal's text field.\n\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\tif (linkMarkType) {\n\t\t\t\t\tconst range = getMarkRange(state.doc.resolve(from), linkMarkType);\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\treturn state.doc.textBetween(range.from, range.to, ' ');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\t// ββ Character count βββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetCharacterCount: () => ({\n\t\t\t\tcount:\n\t\t\t\t\teditor?.storage.characterCount?.characters?.() ??\n\t\t\t\t\teditor?.getText().length ??\n\t\t\t\t\t0,\n\t\t\t\tlimit: maxCharacters ?? null,\n\t\t\t}),\n\n\t\t\t// ββ Sections βββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetSectionContent: (sectionId) =>\n\t\t\t\teditor\n\t\t\t\t\t? extractSectionContent(editor, sectionId)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\n\t\t\tsetSectionContent: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, normalised));\n\t\t\t},\n\n\t\t\tfocusSection: (sectionId) => {\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tif (sectionId === 'body') {\n\t\t\t\t\t\tlet endOfBody = e.state.doc.content.size - 1;\n\t\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\t\tendOfBody === e.state.doc.content.size - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tendOfBody = pos - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn endOfBody === e.state.doc.content.size - 1;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (endOfBody < 1) endOfBody = 1;\n\t\t\t\t\t\te.chain().focus().setTextSelection(endOfBody).run();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet targetPos = -1;\n\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (targetPos !== -1) return false;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\tnode.attrs['sectionId'] === sectionId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// pos + nodeSize lands right after the divider;\n\t\t\t\t\t\t\t// +1 more puts us inside the first paragraph of that section.\n\t\t\t\t\t\t\ttargetPos = pos + node.nodeSize + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (targetPos !== -1) {\n\t\t\t\t\t\te.chain().focus().setTextSelection(targetPos).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tclearSection: (sectionId) => {\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, '<p></p>'));\n\t\t\t},\n\n\t\t\t// ββ Convenience body shorthands βββββββββββββββββββββββββββββββββββ\n\t\t\tgetBodyContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractBodyContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tsetBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, 'body', normalised));\n\t\t\t},\n\t\t\tsetBodyAndSections: (body, sections) => {\n\t\t\t\tconst html = buildSectionedContent(\n\t\t\t\t\tnormalizeHtml(body),\n\t\t\t\t\tsections.map((s) => ({\n\t\t\t\t\t\tid: s.id,\n\t\t\t\t\t\tcontent: normalizeHtml(s.content),\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t\tenqueue((e) => e.commands.setContent(html, { emitUpdate: true }));\n\t\t\t},\n\t\t\tappendBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// findSectionEndPos returns the position of the first divider (or\n\t\t\t\t// doc.content.size), which is the block boundary after the last </p>.\n\t\t\t\t// Subtract 1 to stay inside the last paragraph so successive calls\n\t\t\t\t// append inline text rather than creating a new paragraph each time.\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst boundaryPos = findSectionEndPos(e, 'body');\n\t\t\t\t\te.commands.insertContentAt(boundaryPos - 1, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionStart: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionStartPos(e, sectionId);\n\t\t\t\t\tif (pos !== -1)\n\t\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionEnd: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionEndPos(e, sectionId);\n\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\t// ββ Formats & actions βββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tgetActiveFormats: () =>\n\t\t\t\teditor ? extractActiveFormats(editor) : DEFAULT_FORMAT_STATE,\n\t\t\tactions: {\n\t\t\t\ttoggleBold: () => editor?.chain().focus().toggleBold().run(),\n\t\t\t\ttoggleItalic: () => editor?.chain().focus().toggleItalic().run(),\n\t\t\t\ttoggleUnderline: () => editor?.chain().focus().toggleUnderline().run(),\n\t\t\t\ttoggleStrike: () => editor?.chain().focus().toggleStrike().run(),\n\t\t\t\ttoggleBulletList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBulletList().run(),\n\t\t\t\ttoggleOrderedList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleOrderedList().run(),\n\t\t\t\ttoggleBlockquote: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBlockquote().run(),\n\t\t\t\ttoggleCodeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n\t\t\t\tsetTextAlign: (align) =>\n\t\t\t\t\teditor?.chain().focus().setTextAlign(align).run(),\n\t\t\t\tsetFontFamily: (font) =>\n\t\t\t\t\teditor?.chain().focus().setFontFamily(font).run(),\n\t\t\t\tsetFontSize: (size) => editor?.chain().focus().setFontSize(size).run(),\n\t\t\t\tsetColor: (color) => editor?.chain().focus().setColor(color).run(),\n\t\t\t\tsetHighlight: (color) =>\n\t\t\t\t\teditor?.chain().focus().toggleHighlight({ color }).run(),\n\t\t\t\tunsetColor: () => editor?.chain().focus().unsetColor().run(),\n\t\t\t\tunsetHighlight: () => editor?.chain().focus().unsetHighlight().run(),\n\t\t\t\tsetLink: (href, text) => {\n\t\t\t\t\tif (!editor) return;\n\t\t\t\t\tif (text !== undefined) {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.command(({ tr, state }) => {\n\t\t\t\t\t\t\t\tconst { from, to } = tr.selection;\n\t\t\t\t\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\t\t\t\t\tif (!linkMarkType) return false;\n\t\t\t\t\t\t\t\tconst linkNode = state.schema.text(text, [\n\t\t\t\t\t\t\t\t\tlinkMarkType.create({ href }),\n\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\tconst space = state.schema.text(' ');\n\t\t\t\t\t\t\t\ttr.replaceWith(from, to, [linkNode, space]);\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t\t.insertContent(' ')\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateLink: (href) =>\n\t\t\t\t\teditor\n\t\t\t\t\t\t?.chain()\n\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t.run(),\n\t\t\t\tremoveLink: () =>\n\t\t\t\t\teditor?.chain().focus().extendMarkRange('link').unsetLink().run(),\n\t\t\t\tinsertEmoji: (emoji) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(emoji).run(),\n\t\t\t\tinsertVariable: (variableName) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(`{{${variableName}}}`).run(),\n\t\t\t\tinsertHtml: (html) =>\n\t\t\t\t\teditor?.commands.insertContent(normalizeHtml(html)),\n\t\t\t\tundo: () => editor?.chain().focus().undo().run(),\n\t\t\t\tredo: () => editor?.chain().focus().redo().run(),\n\t\t\t\tcanUndo: () => editor?.can().undo() ?? false,\n\t\t\t\tcanRedo: () => editor?.can().redo() ?? false,\n\t\t\t\ttoggleSuperscript: () =>\n\t\t\t\t\teditor?.chain().focus().toggleSuperscript().run(),\n\t\t\t\ttoggleSubscript: () => editor?.chain().focus().toggleSubscript().run(),\n\t\t\t\tinsertImage: (src) => editor?.chain().focus().setImage({ src }).run(),\n\t\t\t},\n\n\t\t\t// ββ JSON body βββββββββββββββββββββββββββββββββββββββββββββββββββββ\n\t\t\tjson: features?.jsonMode\n\t\t\t\t? {\n\t\t\t\t\t\tgetText: () => (editor ? getCodeBlockText(editor) : ''),\n\t\t\t\t\t\tsetText: (raw) => enqueue((e) => setCodeBlockText(e, raw)),\n\t\t\t\t\t\tparse: () => parseJson(editor ? getCodeBlockText(editor) : ''),\n\t\t\t\t\t\tisValid: () =>\n\t\t\t\t\t\t\tparseJson(editor ? getCodeBlockText(editor) : '').valid,\n\t\t\t\t\t\tformat: (indent = 2) =>\n\t\t\t\t\t\t\tenqueue((e) => {\n\t\t\t\t\t\t\t\tconst { valid, value } = parseJson(getCodeBlockText(e));\n\t\t\t\t\t\t\t\tif (!valid || value === null) return;\n\t\t\t\t\t\t\t\tsetCodeBlockText(e, JSON.stringify(value, null, indent));\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\tminify: () =>\n\t\t\t\t\t\t\tenqueue((e) => {\n\t\t\t\t\t\t\t\tconst { valid, value } = parseJson(getCodeBlockText(e));\n\t\t\t\t\t\t\t\tif (!valid || value === null) return;\n\t\t\t\t\t\t\t\tsetCodeBlockText(e, JSON.stringify(value));\n\t\t\t\t\t\t\t}),\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[editor],\n\t);\n\n\t// ββ jsonMode floating actions ββββββββββββββββββββββββββββββββββββββββββββ\n\t// Beautify pretty-prints in place (no-op / disabled while the JSON is broken);\n\t// Copy writes the raw text to the clipboard with transient feedback.\n\tconst handleJsonBeautify = () => {\n\t\tif (!editor) return;\n\t\tconst { valid, value } = parseJson(getCodeBlockText(editor));\n\t\tif (!valid || value === null) return;\n\t\tsetCodeBlockText(editor, JSON.stringify(value, null, 2));\n\t};\n\tconst handleJsonCopy = () => {\n\t\tif (!editor) return;\n\t\tvoid navigator.clipboard?.writeText(getCodeBlockText(editor));\n\t\tsetJsonCopied(true);\n\t\tsetTimeout(() => setJsonCopied(false), 1500);\n\t};\n\n\tif (!editor) return null;\n\n\treturn (\n\t\t<BikEditorShell\n\t\t\tminHeight={minHeight}\n\t\t\tmaxHeight={maxHeight}\n\t\t\ttightParagraphs={!features?.richPaste}\n\t\t\tjsonMode={isJsonMode}\n\t\t\tstyle={style}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t{isJsonMode && (\n\t\t\t\t<BikJsonHeader>\n\t\t\t\t\t<span className=\"bik-json-header-label\">JSON</span>\n\t\t\t\t\t<div className=\"bik-json-header-actions\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleJsonBeautify}\n\t\t\t\t\t\t\tdisabled={!!jsonError}\n\t\t\t\t\t\t\ttitle=\"Format JSON\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WandSparkles size={16} />\n\t\t\t\t\t\t\t<BodyCaption>Beautify</BodyCaption>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button type=\"button\" onClick={handleJsonCopy} title=\"Copy JSON\">\n\t\t\t\t\t\t\t<Copy size={16} />\n\t\t\t\t\t\t\t{jsonCopied && <BodyCaption>Copied</BodyCaption>}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</BikJsonHeader>\n\t\t\t)}\n\t\t\t<EditorContent editor={editor} />\n\t\t\t<LinkBubbleMenu editor={editor} renderLinkTooltip={link?.renderTooltip} />\n\t\t\t{isJsonMode && jsonError ? (\n\t\t\t\trenderJsonError ? (\n\t\t\t\t\trenderJsonError(jsonError)\n\t\t\t\t) : (\n\t\t\t\t\t<BikJsonError>\n\t\t\t\t\t\t{jsonError.line != null && (\n\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\tLine {jsonError.line}\n\t\t\t\t\t\t\t\t{jsonError.column != null ? `, column ${jsonError.column}` : ''}\n\t\t\t\t\t\t\t\t:{' '}\n\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{jsonError.error}\n\t\t\t\t\t</BikJsonError>\n\t\t\t\t)\n\t\t\t) : null}\n\t\t</BikEditorShell>\n\t);\n};\n\nexport const BikEditor = forwardRef<BikEditorRef, BikEditorProps>(\n\tBikEditorInner,\n);\nBikEditor.displayName = 'BikEditor';\n"],"names":["cssToString","style","k","v","c","BikEditorInner","props","ref","initialContent","sections","features","disabled","maxCharacters","shortcuts","sendShortcut","mentions","slashCommands","link","onPaste","onReady","onChange","onSend","onFocus","onBlur","onSelectionChange","minHeight","maxHeight","className","editorClassName","editorStyle","renderJsonError","isJsonMode","jsonError","setJsonError","useState","jsonCopied","setJsonCopied","initialEditorContent","buildJsonCodeBlockHtml","buildSectionedContent","normalizeHtml","s","pendingQueue","useRef","hasCalledOnReady","onReadyRef","onChangeRef","onSelectionChangeRef","prevFormatsRef","DEFAULT_FORMAT_STATE","onFocusRef","onBlurRef","onSendRef","agentMentionsRef","teamMentionsRef","slashCommandsRef","editor","useEditor","buildExtensions","snapshot","e","extractContent","result","parseJson","getCodeBlockText","next","extractActiveFormats","prev","enqueue","op","useEffect","useImperativeHandle","position","html","normalised","insertInlineHtml","agentIds","teamIds","node","from","to","pos","state","empty","linkMarkType","range","getMarkRange","sectionId","extractSectionContent","setSectionContentInEditor","endOfBody","targetPos","extractBodyContent","body","boundaryPos","findSectionEndPos","findSectionStartPos","align","font","size","color","href","text","tr","linkNode","space","emoji","variableName","src","raw","setCodeBlockText","indent","valid","value","handleJsonBeautify","handleJsonCopy","jsxs","BikEditorShell","BikJsonHeader","jsx","WandSparkles","BodyCaption","Copy","EditorContent","LinkBubbleMenu","BikJsonError","BikEditor","forwardRef"],"mappings":"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"}
|