@bikdotai/bik-component-library 0.0.821-2 → 0.0.821-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/icons/ManifestGlass.svg.js +2 -0
- package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +1 -0
- package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
- package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
- 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/agent-builder/AgentBuilder.js +2 -0
- package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +285 -0
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
- package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
- package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/InstructionsField.js +2 -0
- package/dist/cjs/components/agent-builder/components/InstructionsField.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/MentionPicker.js +47 -0
- package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/RichTextField.js +2 -0
- package/dist/cjs/components/agent-builder/components/RichTextField.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
- package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
- package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
- package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
- package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
- package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
- package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
- package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
- package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
- package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
- package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
- package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
- package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
- package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
- package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
- package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
- package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
- package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
- package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
- 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/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +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/input-with-vars/InputWithVariables.js +3 -3
- package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.js +1 -1
- package/dist/cjs/components/list-item/ListItem.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
- package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
- package/dist/cjs/components/list-item/themes.js +20 -32
- 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/variable-picker-v3/Content.js +1 -1
- package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
- package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
- package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
- package/dist/cjs/constants/Theme.js +1 -1
- package/dist/cjs/constants/Theme.js.map +1 -1
- package/dist/cjs/editor/BikEditor.js +1 -1
- package/dist/cjs/editor/BikEditor.js.map +1 -1
- package/dist/cjs/editor/BikEditor.styles.js +14 -1
- package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
- package/dist/cjs/editor/BikEditor.types.js.map +1 -1
- package/dist/cjs/editor/BikEditor.utils.js +2 -2
- package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
- package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
- package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
- package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
- package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
- package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
- package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
- package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
- package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
- package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
- package/dist/esm/assets/icons/playOutline.svg.js +6 -0
- package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
- 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 +88 -124
- package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
- 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/agent-builder/AgentBuilder.d.ts +18 -0
- package/dist/esm/components/agent-builder/AgentBuilder.js +190 -0
- package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
- package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +73 -0
- package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +121 -0
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js +353 -0
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
- package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
- package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
- package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
- package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
- package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
- package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
- package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
- package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
- package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
- package/dist/esm/components/agent-builder/components/InstructionsField.d.ts +2 -0
- package/dist/esm/components/agent-builder/components/InstructionsField.js +81 -0
- package/dist/esm/components/agent-builder/components/InstructionsField.js.map +1 -0
- package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +12 -0
- package/dist/esm/components/agent-builder/components/MentionPicker.js +154 -0
- package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
- package/dist/esm/components/agent-builder/components/RichTextField.d.ts +21 -0
- package/dist/esm/components/agent-builder/components/RichTextField.js +66 -0
- package/dist/esm/components/agent-builder/components/RichTextField.js.map +1 -0
- package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +19 -0
- package/dist/esm/components/agent-builder/components/SelectableListSection.js +79 -0
- package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
- package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
- package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
- package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
- package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
- package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
- package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
- package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
- package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
- package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
- package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
- package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
- package/dist/esm/components/agent-builder/constants/steps.js +32 -0
- package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +53 -0
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +118 -0
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
- package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
- package/dist/esm/components/agent-builder/index.d.ts +7 -0
- package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
- package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
- package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +112 -0
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
- package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +55 -0
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js +95 -0
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
- package/dist/esm/components/agent-listing/AgentListing.js +141 -0
- package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentListing.model.d.ts +69 -0
- package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
- package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
- package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +16 -0
- package/dist/esm/components/agent-listing/AgentListingFilters.js +81 -0
- package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
- package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
- package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentTable.d.ts +10 -0
- package/dist/esm/components/agent-listing/AgentTable.js +33 -0
- package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
- package/dist/esm/components/agent-listing/AgentTableRow.d.ts +10 -0
- package/dist/esm/components/agent-listing/AgentTableRow.js +88 -0
- package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
- package/dist/esm/components/agent-listing/index.d.ts +2 -0
- package/dist/esm/components/avatar/Avatar.d.ts +1 -2
- package/dist/esm/components/avatar/Avatar.js +73 -51
- 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 +0 -1
- package/dist/esm/components/checkBox/CheckBox.js +63 -82
- package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
- package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
- package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.js +67 -67
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
- 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 +87 -93
- 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 -3
- package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
- 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 +115 -119
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.model.d.ts +3 -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/input-with-vars/InputWithVariables.d.ts +2 -0
- package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
- package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
- package/dist/esm/components/list-item/List.model.d.ts +1 -2
- 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 -20
- 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/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.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/variable-picker-v3/Content.js +69 -69
- package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
- package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
- package/dist/esm/components/variable-picker-v3/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.types.d.ts +0 -2
- package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
- 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 +19 -18
- package/dist/esm/editor/BikEditor.js.map +1 -1
- package/dist/esm/editor/BikEditor.styles.js +13 -0
- package/dist/esm/editor/BikEditor.styles.js.map +1 -1
- package/dist/esm/editor/BikEditor.types.d.ts +14 -0
- package/dist/esm/editor/BikEditor.types.js.map +1 -1
- package/dist/esm/editor/BikEditor.utils.js +76 -75
- package/dist/esm/editor/BikEditor.utils.js.map +1 -1
- package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
- package/dist/esm/editor/extensions/buildExtensions.js +31 -29
- 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/editor/extensions/mention/MentionDropdown.js +34 -28
- package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
- package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
- package/dist/esm/editor/extensions/mention/MentionExtension.js +81 -60
- package/dist/esm/editor/extensions/mention/MentionExtension.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/icons/index.d.ts +24 -24
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +806 -798
- 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/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
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
const p = {
|
|
2
|
+
manifest: "Manifest",
|
|
3
|
+
shopify: "Shopify",
|
|
4
|
+
integration: "Integration"
|
|
5
|
+
}, d = (t, i = "Manifest") => t ? p[t] ?? t : i, k = (t) => {
|
|
6
|
+
const i = t ? String(t) : "";
|
|
7
|
+
return i === "BIK" ? "BIK" : i === "BSP" ? "BSP" : "Manifest";
|
|
8
|
+
}, y = (t, i, e = "Manifest") => [
|
|
9
|
+
...t.map(
|
|
10
|
+
(n) => ({
|
|
11
|
+
id: n.tool_id,
|
|
12
|
+
label: `${d(n.source, e)} : ${n.displayName}`,
|
|
13
|
+
meta: {
|
|
14
|
+
kind: "tool",
|
|
15
|
+
functionKey: n.function_key,
|
|
16
|
+
plainLabel: n.displayName,
|
|
17
|
+
source: n.source
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
),
|
|
21
|
+
...i.map(
|
|
22
|
+
(n) => ({
|
|
23
|
+
id: n.id,
|
|
24
|
+
label: `sub-agent: ${n.name}`,
|
|
25
|
+
meta: { kind: "subagent", plainLabel: n.name }
|
|
26
|
+
})
|
|
27
|
+
)
|
|
28
|
+
], o = (t) => t.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), s = (t) => o(t).replace(/"/g, """), m = (t, i, e) => `<span data-type="mentionAgent" class="bik-mention bik-mention--agent" data-id="${s(t)}" data-label="${s(i)}" data-kind="${s(e)}">${o(i)}</span>`, f = (t) => {
|
|
29
|
+
const i = /* @__PURE__ */ new Map();
|
|
30
|
+
for (const e of t) {
|
|
31
|
+
const n = e.meta;
|
|
32
|
+
n?.kind === "tool" && n.functionKey ? i.set(`tool:${n.functionKey}`, e) : n?.kind === "subagent" && i.set(`subagent:${String(e.id)}`, e);
|
|
33
|
+
}
|
|
34
|
+
return i;
|
|
35
|
+
}, l = /\{\{(tool:[^}]+|subagent:[^}]+)\}\}/g, g = (t, i) => {
|
|
36
|
+
let e = "", n = 0;
|
|
37
|
+
l.lastIndex = 0;
|
|
38
|
+
let a;
|
|
39
|
+
for (; (a = l.exec(t)) !== null; ) {
|
|
40
|
+
e += o(t.slice(n, a.index));
|
|
41
|
+
const r = i.get(a[1]);
|
|
42
|
+
if (r) {
|
|
43
|
+
const u = r.meta.kind;
|
|
44
|
+
e += m(String(r.id), r.label, u);
|
|
45
|
+
} else
|
|
46
|
+
e += o(a[0]);
|
|
47
|
+
n = l.lastIndex;
|
|
48
|
+
}
|
|
49
|
+
return e += o(t.slice(n)), e.replace(/\n/g, "<br>");
|
|
50
|
+
}, $ = (t, i = []) => {
|
|
51
|
+
if (!t)
|
|
52
|
+
return "";
|
|
53
|
+
const e = f(i);
|
|
54
|
+
return t.split(/\n{2,}/).map((n) => `<p>${g(n, e)}</p>`).join("");
|
|
55
|
+
}, b = (t, i) => {
|
|
56
|
+
const e = i[t];
|
|
57
|
+
return e ? `{{tool:${e}}}` : `{{subagent:${t}}}`;
|
|
58
|
+
}, c = (t, i) => {
|
|
59
|
+
switch (t.type) {
|
|
60
|
+
case "text":
|
|
61
|
+
return t.text ?? "";
|
|
62
|
+
case "mentionAgent":
|
|
63
|
+
case "mentionTeam": {
|
|
64
|
+
const e = t.attrs?.id;
|
|
65
|
+
return e == null ? "" : b(String(e), i);
|
|
66
|
+
}
|
|
67
|
+
case "variable":
|
|
68
|
+
return `{{${String(t.attrs?.variableName ?? "")}}}`;
|
|
69
|
+
case "hardBreak":
|
|
70
|
+
return `
|
|
71
|
+
`;
|
|
72
|
+
default: {
|
|
73
|
+
const e = (t.content ?? []).map((a) => c(a, i)).join("");
|
|
74
|
+
return ["paragraph", "heading", "listItem", "blockquote"].includes(t.type) ? `${e}
|
|
75
|
+
` : e;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, S = (t, i) => {
|
|
79
|
+
if (!t)
|
|
80
|
+
return "";
|
|
81
|
+
const e = i.reduce((n, a) => (n[a.tool_id] = a.function_key, n), {});
|
|
82
|
+
return c(t, e).replace(
|
|
83
|
+
/\n+$/,
|
|
84
|
+
""
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
p as TOOL_SOURCE_LABELS,
|
|
89
|
+
k as appTypeLabel,
|
|
90
|
+
y as buildAgentMentionItems,
|
|
91
|
+
S as editorDocToInstructions,
|
|
92
|
+
$ as instructionsToEditorHtml,
|
|
93
|
+
d as toolSourceLabel
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=mentionSerialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mentionSerialization.js","sources":["../../../../../src/components/agent-builder/utils/mentionSerialization.ts"],"sourcesContent":["import type { ApplicationType } from '@bikdotai/bik-models/growth';\nimport { MentionItem } from '@src/editor';\nimport { AgentTool, SubAgentRef } from '../AgentBuilder.model';\n\n/**\n * Serialization helpers between the BikEditor document and the firebase\n * `instructions` string.\n *\n * Firebase stores `instructions` as PLAIN TEXT with inline reference tokens:\n * - `{{subagent:<agentId>}}` — hand-off to another agent\n * - `{{tool:<function_key>}}` — an action the agent can call\n * - `{{<variableName>}}` — a template variable\n *\n * In the editor those references are inserted via the `@` mention menu (which we\n * populate with BOTH tools and sub-agents). Mention nodes keep their `id` in the\n * ProseMirror doc JSON (the rendered HTML drops it), so we serialize from the doc\n * JSON — not from HTML.\n */\n\nexport interface MentionKindMeta {\n\t/** Distinguishes a tool reference from a sub-agent reference. */\n\tkind: 'tool' | 'subagent';\n\t/** For tools: the function_key used in the `{{tool:KEY}}` token. */\n\tfunctionKey?: string;\n\t/** Plain item name (no prefix) shown in the picker dropdown rows. */\n\tplainLabel?: string;\n\t/** For tools: the source bucket (manifest / shopify / …) the picker groups by. */\n\tsource?: string;\n}\n\n/** Display labels for the known tool sources (drives picker headers + chip prefix). */\nexport const TOOL_SOURCE_LABELS: Record<string, string> = {\n\tmanifest: 'Manifest',\n\tshopify: 'Shopify',\n\tintegration: 'Integration',\n};\n\n/** Human label for a tool source; falls back to the host-app label, then the raw key. */\nexport const toolSourceLabel = (\n\tsource: string | undefined,\n\tfallback = 'Manifest',\n): string => {\n\tif (!source) {\n\t\treturn fallback;\n\t}\n\treturn TOOL_SOURCE_LABELS[source] ?? source;\n};\n\n/** Human label for the host application, used as the tool-chip prefix. */\nexport const appTypeLabel = (applicationType?: ApplicationType): string => {\n\tconst key = applicationType ? String(applicationType) : '';\n\tif (key === 'BIK') {\n\t\treturn 'BIK';\n\t}\n\tif (key === 'BSP') {\n\t\treturn 'BSP';\n\t}\n\treturn 'Manifest';\n};\n\n/**\n * Build the combined `@` mention list from the available tools + sub-agents.\n *\n * The `label` is the CHIP text shown once inserted — tools read\n * `\"<App> : <tool name>\"` (e.g. \"Manifest : Look up order\"), sub-agents read\n * `\"sub-agent: <name>\"`. `meta.plainLabel` is the un-prefixed name for the\n * picker rows, and `meta.kind` drives the `{{tool}}` / `{{subagent}}` colour.\n */\nexport const buildAgentMentionItems = (\n\ttools: AgentTool[],\n\tsubAgents: SubAgentRef[],\n\tappLabel = 'Manifest',\n): MentionItem[] => [\n\t...tools.map(\n\t\t(t): MentionItem => ({\n\t\t\tid: t.tool_id,\n\t\t\tlabel: `${toolSourceLabel(t.source, appLabel)} : ${t.displayName}`,\n\t\t\tmeta: {\n\t\t\t\tkind: 'tool',\n\t\t\t\tfunctionKey: t.function_key,\n\t\t\t\tplainLabel: t.displayName,\n\t\t\t\tsource: t.source,\n\t\t\t},\n\t\t}),\n\t),\n\t...subAgents.map(\n\t\t(s): MentionItem => ({\n\t\t\tid: s.id,\n\t\t\tlabel: `sub-agent: ${s.name}`,\n\t\t\tmeta: { kind: 'subagent', plainLabel: s.name },\n\t\t}),\n\t),\n];\n\nconst escapeHtml = (raw: string): string =>\n\traw.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n\nconst escapeAttr = (raw: string): string =>\n\tescapeHtml(raw).replace(/\"/g, '"');\n\n/**\n * The HTML for a single mention chip. Must round-trip through the TipTap mention\n * extension's `parseHTML` (`span[data-type=\"mentionAgent\"]`, reading\n * `data-id`/`data-label`/`data-kind`) — see MentionExtension.ts. `normalizeHtml`\n * is taught to keep `data-type=\"mention…\"` spans so this survives to the parser.\n */\nconst mentionSpanHtml = (id: string, label: string, kind: string): string =>\n\t`<span data-type=\"mentionAgent\" class=\"bik-mention bik-mention--agent\"` +\n\t` data-id=\"${escapeAttr(id)}\" data-label=\"${escapeAttr(label)}\"` +\n\t` data-kind=\"${escapeAttr(kind)}\">${escapeHtml(label)}</span>`;\n\n/** `{{tool:KEY}}` / `{{subagent:ID}}` → the mention item that produced them. */\nconst buildTokenLookup = (\n\tmentionItems: MentionItem[],\n): Map<string, MentionItem> => {\n\tconst byToken = new Map<string, MentionItem>();\n\tfor (const item of mentionItems) {\n\t\tconst meta = item.meta as unknown as MentionKindMeta | undefined;\n\t\tif (meta?.kind === 'tool' && meta.functionKey) {\n\t\t\tbyToken.set(`tool:${meta.functionKey}`, item);\n\t\t} else if (meta?.kind === 'subagent') {\n\t\t\tbyToken.set(`subagent:${String(item.id)}`, item);\n\t\t}\n\t}\n\treturn byToken;\n};\n\n// Matches the reference tokens we render as chips. Other `{{var}}` tokens fall\n// through untouched (left as literal text for the variable decoration).\nconst REFERENCE_TOKEN = /\\{\\{(tool:[^}]+|subagent:[^}]+)\\}\\}/g;\n\n/** Escape plain text, swapping recognised reference tokens for mention spans. */\nconst inlineToHtml = (\n\tsegment: string,\n\tbyToken: Map<string, MentionItem>,\n): string => {\n\tlet out = '';\n\tlet lastIndex = 0;\n\tREFERENCE_TOKEN.lastIndex = 0;\n\tlet match: RegExpExecArray | null;\n\twhile ((match = REFERENCE_TOKEN.exec(segment)) !== null) {\n\t\tout += escapeHtml(segment.slice(lastIndex, match.index));\n\t\tconst item = byToken.get(match[1]);\n\t\tif (item) {\n\t\t\tconst kind = (item.meta as unknown as MentionKindMeta).kind;\n\t\t\tout += mentionSpanHtml(String(item.id), item.label, kind);\n\t\t} else {\n\t\t\t// Tool/sub-agent no longer in the available list → keep the raw token.\n\t\t\tout += escapeHtml(match[0]);\n\t\t}\n\t\tlastIndex = REFERENCE_TOKEN.lastIndex;\n\t}\n\tout += escapeHtml(segment.slice(lastIndex));\n\treturn out.replace(/\\n/g, '<br>');\n};\n\n/**\n * Convert the stored instructions string into HTML for `BikEditor.initialContent`.\n * `{{tool:KEY}}` / `{{subagent:ID}}` tokens are rehydrated into mention chips\n * (resolved via `mentionItems`); any other `{{…}}` token is left as literal text\n * for the editor's variable decoration. Newlines become paragraph / line breaks.\n */\nexport const instructionsToEditorHtml = (\n\ttext: string,\n\tmentionItems: MentionItem[] = [],\n): string => {\n\tif (!text) {\n\t\treturn '';\n\t}\n\tconst byToken = buildTokenLookup(mentionItems);\n\treturn text\n\t\t.split(/\\n{2,}/)\n\t\t.map((para) => `<p>${inlineToHtml(para, byToken)}</p>`)\n\t\t.join('');\n};\n\ninterface ProseMirrorNode {\n\ttype: string;\n\ttext?: string;\n\tattrs?: Record<string, unknown>;\n\tcontent?: ProseMirrorNode[];\n}\n\n/** Map of mention node id → token, derived from the available tools. */\nconst resolveMentionToken = (\n\tid: string,\n\ttoolKeyById: Record<string, string>,\n): string => {\n\tconst functionKey = toolKeyById[id];\n\tif (functionKey) {\n\t\treturn `{{tool:${functionKey}}}`;\n\t}\n\treturn `{{subagent:${id}}}`;\n};\n\nconst nodeToText = (\n\tnode: ProseMirrorNode,\n\ttoolKeyById: Record<string, string>,\n): string => {\n\tswitch (node.type) {\n\t\tcase 'text':\n\t\t\treturn node.text ?? '';\n\t\tcase 'mentionAgent':\n\t\tcase 'mentionTeam': {\n\t\t\tconst id = node.attrs?.['id'];\n\t\t\treturn id == null ? '' : resolveMentionToken(String(id), toolKeyById);\n\t\t}\n\t\tcase 'variable':\n\t\t\treturn `{{${String(node.attrs?.['variableName'] ?? '')}}}`;\n\t\tcase 'hardBreak':\n\t\t\treturn '\\n';\n\t\tdefault: {\n\t\t\tconst inner = (node.content ?? [])\n\t\t\t\t.map((child) => nodeToText(child, toolKeyById))\n\t\t\t\t.join('');\n\t\t\t// Block nodes terminate with a newline so paragraphs stay separated.\n\t\t\tconst BLOCK_NODES = ['paragraph', 'heading', 'listItem', 'blockquote'];\n\t\t\treturn BLOCK_NODES.includes(node.type) ? `${inner}\\n` : inner;\n\t\t}\n\t}\n};\n\n/**\n * Convert a BikEditor document (from `ref.getJSON()`) into the firebase\n * instructions string, replacing mention nodes with `{{subagent:ID}}` /\n * `{{tool:KEY}}` tokens.\n */\nexport const editorDocToInstructions = (\n\tdoc: Record<string, unknown> | null,\n\ttools: AgentTool[],\n): string => {\n\tif (!doc) {\n\t\treturn '';\n\t}\n\tconst toolKeyById = tools.reduce<Record<string, string>>((acc, t) => {\n\t\tacc[t.tool_id] = t.function_key;\n\t\treturn acc;\n\t}, {});\n\treturn nodeToText(doc as unknown as ProseMirrorNode, toolKeyById).replace(\n\t\t/\\n+$/,\n\t\t'',\n\t);\n};\n"],"names":["TOOL_SOURCE_LABELS","toolSourceLabel","source","fallback","appTypeLabel","applicationType","key","buildAgentMentionItems","tools","subAgents","appLabel","t","s","escapeHtml","raw","escapeAttr","mentionSpanHtml","id","label","kind","buildTokenLookup","mentionItems","byToken","item","meta","REFERENCE_TOKEN","inlineToHtml","segment","out","lastIndex","match","instructionsToEditorHtml","text","para","resolveMentionToken","toolKeyById","functionKey","nodeToText","node","inner","child","editorDocToInstructions","doc","acc"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AgentListingProps } from './AgentListing.model';
|
|
3
|
+
/**
|
|
4
|
+
* Full body of the "AI Agents" listing screen (header + filters + table).
|
|
5
|
+
* Presentational and fully controlled — the consumer owns data, search, sort,
|
|
6
|
+
* pagination and routing. Render it inside your app shell (next to the sidebar).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <AgentListing
|
|
10
|
+
* agents={rows}
|
|
11
|
+
* searchValue={search}
|
|
12
|
+
* onSearchChange={setSearch}
|
|
13
|
+
* onNewAgent={() => router.push('/agents/new')}
|
|
14
|
+
* onRunAgent={runAgent}
|
|
15
|
+
* onEditAgent={(a) => router.push(`/agents/${a.id}`)}
|
|
16
|
+
* />
|
|
17
|
+
*/
|
|
18
|
+
export declare const AgentListing: React.FC<AgentListingProps>;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { jsxs as N, jsx as i, Fragment as H } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as n } from "react";
|
|
3
|
+
import { TablePagination as V } from "../TablePagination/TablePagination.js";
|
|
4
|
+
import { ZeroState as Z } from "../zeroState/ZeroState.js";
|
|
5
|
+
import { Page as $, Body as q, EmptyHolder as D } from "./AgentListing.styled.js";
|
|
6
|
+
import { AgentListingFilters as G } from "./AgentListingFilters.js";
|
|
7
|
+
import { AgentListingHeader as J } from "./AgentListingHeader.js";
|
|
8
|
+
import { AgentTable as K } from "./AgentTable.js";
|
|
9
|
+
const M = ({
|
|
10
|
+
config: y,
|
|
11
|
+
onSearchChange: m,
|
|
12
|
+
onFilterChange: a,
|
|
13
|
+
onSortChange: r,
|
|
14
|
+
onNewAgent: h,
|
|
15
|
+
onBrowseTemplates: s,
|
|
16
|
+
onRunAgent: p,
|
|
17
|
+
onEditAgent: u,
|
|
18
|
+
onRowClick: g,
|
|
19
|
+
...C
|
|
20
|
+
}) => {
|
|
21
|
+
const {
|
|
22
|
+
agents: A,
|
|
23
|
+
isLoading: l,
|
|
24
|
+
searchValue: P,
|
|
25
|
+
searchPlaceholder: w = "Search",
|
|
26
|
+
filterOptions: z,
|
|
27
|
+
filterPlaceholder: L = "Filters",
|
|
28
|
+
sortOptions: T,
|
|
29
|
+
selectedSort: R,
|
|
30
|
+
title: v = "AI Agents",
|
|
31
|
+
pagination: o,
|
|
32
|
+
emptyState: d,
|
|
33
|
+
debugLog: b
|
|
34
|
+
} = y, x = !l && A.length === 0, t = n(
|
|
35
|
+
(e, ...c) => {
|
|
36
|
+
b && console.log(`[AgentListing] ${e}`, ...c);
|
|
37
|
+
},
|
|
38
|
+
[b]
|
|
39
|
+
), B = n(
|
|
40
|
+
(e) => {
|
|
41
|
+
t("onSearchChange", e), m(e);
|
|
42
|
+
},
|
|
43
|
+
[t, m]
|
|
44
|
+
), E = n(
|
|
45
|
+
(e) => {
|
|
46
|
+
t("onFilterChange", e), a?.(e);
|
|
47
|
+
},
|
|
48
|
+
[t, a]
|
|
49
|
+
), F = n(
|
|
50
|
+
(e) => {
|
|
51
|
+
t("onSortChange", e), r?.(e);
|
|
52
|
+
},
|
|
53
|
+
[t, r]
|
|
54
|
+
), f = n(() => {
|
|
55
|
+
t("onNewAgent"), h();
|
|
56
|
+
}, [t, h]), O = n(() => {
|
|
57
|
+
t("onBrowseTemplates"), s?.();
|
|
58
|
+
}, [t, s]), k = n(
|
|
59
|
+
(e) => {
|
|
60
|
+
t("onRunAgent", e.id), p(e);
|
|
61
|
+
},
|
|
62
|
+
[t, p]
|
|
63
|
+
), I = n(
|
|
64
|
+
(e) => {
|
|
65
|
+
t("onEditAgent", e.id), u(e);
|
|
66
|
+
},
|
|
67
|
+
[t, u]
|
|
68
|
+
), j = n(
|
|
69
|
+
(e) => {
|
|
70
|
+
t("onRowClick", e.id), g?.(e);
|
|
71
|
+
},
|
|
72
|
+
[t, g]
|
|
73
|
+
);
|
|
74
|
+
return /* @__PURE__ */ N($, { "data-test": C["data-test"] ?? "agent-listing", children: [
|
|
75
|
+
/* @__PURE__ */ i(
|
|
76
|
+
J,
|
|
77
|
+
{
|
|
78
|
+
title: v,
|
|
79
|
+
onNewAgent: f,
|
|
80
|
+
onBrowseTemplates: s ? O : void 0
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ i(
|
|
84
|
+
G,
|
|
85
|
+
{
|
|
86
|
+
searchValue: P,
|
|
87
|
+
onSearchChange: B,
|
|
88
|
+
searchPlaceholder: w,
|
|
89
|
+
filterOptions: z,
|
|
90
|
+
onFilterChange: a ? E : void 0,
|
|
91
|
+
filterPlaceholder: L,
|
|
92
|
+
sortOptions: T,
|
|
93
|
+
selectedSort: R,
|
|
94
|
+
onSortChange: r ? F : void 0
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ i(q, { children: l || x ? /* @__PURE__ */ i(D, { children: /* @__PURE__ */ i(
|
|
98
|
+
Z,
|
|
99
|
+
{
|
|
100
|
+
isLoading: l,
|
|
101
|
+
title: d?.title ?? "No agents yet",
|
|
102
|
+
subTitle: d?.subTitle ?? "Create your first AI agent to start automating conversations.",
|
|
103
|
+
actionButton: d?.actionButton ?? {
|
|
104
|
+
buttonText: "New AI agent",
|
|
105
|
+
buttonType: "primary",
|
|
106
|
+
size: "small",
|
|
107
|
+
onClick: f
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
) }) : /* @__PURE__ */ N(H, { children: [
|
|
111
|
+
/* @__PURE__ */ i(
|
|
112
|
+
K,
|
|
113
|
+
{
|
|
114
|
+
agents: A,
|
|
115
|
+
onRunAgent: k,
|
|
116
|
+
onEditAgent: I,
|
|
117
|
+
onRowClick: g ? j : void 0
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
o && o.totalRows > 0 && /* @__PURE__ */ i(
|
|
121
|
+
V,
|
|
122
|
+
{
|
|
123
|
+
pageNumber: o.pageNumber,
|
|
124
|
+
pageSize: o.pageSize,
|
|
125
|
+
totalRows: o.totalRows,
|
|
126
|
+
hidePageSizeOptions: o.hidePageSizeOptions,
|
|
127
|
+
updatePageNumber: o.onPageChange,
|
|
128
|
+
updatePageSize: (e) => {
|
|
129
|
+
const c = Array.isArray(e) ? e[0] : e, S = Number(c?.value);
|
|
130
|
+
Number.isNaN(S) || o.onPageSizeChange(S);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
] }) })
|
|
135
|
+
] });
|
|
136
|
+
};
|
|
137
|
+
M.displayName = "AgentListing";
|
|
138
|
+
export {
|
|
139
|
+
M as AgentListing
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=AgentListing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentListing.js","sources":["../../../../src/components/agent-listing/AgentListing.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { DropdownOption } from '@src/components/dropdown/type';\nimport { TablePagination } from '@src/components/TablePagination/TablePagination';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { AgentListingProps, AgentListItem } from './AgentListing.model';\nimport { Body, EmptyHolder, Page } from './AgentListing.styled';\nimport { AgentListingFilters } from './AgentListingFilters';\nimport { AgentListingHeader } from './AgentListingHeader';\nimport { AgentTable } from './AgentTable';\n\n/**\n * Full body of the \"AI Agents\" listing screen (header + filters + table).\n * Presentational and fully controlled — the consumer owns data, search, sort,\n * pagination and routing. Render it inside your app shell (next to the sidebar).\n *\n * @example\n * <AgentListing\n * agents={rows}\n * searchValue={search}\n * onSearchChange={setSearch}\n * onNewAgent={() => router.push('/agents/new')}\n * onRunAgent={runAgent}\n * onEditAgent={(a) => router.push(`/agents/${a.id}`)}\n * />\n */\nexport const AgentListing: React.FC<AgentListingProps> = ({\n\tconfig,\n\tonSearchChange,\n\tonFilterChange,\n\tonSortChange,\n\tonNewAgent,\n\tonBrowseTemplates,\n\tonRunAgent,\n\tonEditAgent,\n\tonRowClick,\n\t...rest\n}) => {\n\tconst {\n\t\tagents,\n\t\tisLoading,\n\t\tsearchValue,\n\t\tsearchPlaceholder = 'Search',\n\t\tfilterOptions,\n\t\tfilterPlaceholder = 'Filters',\n\t\tsortOptions,\n\t\tselectedSort,\n\t\ttitle = 'AI Agents',\n\t\tpagination,\n\t\temptyState,\n\t\tdebugLog,\n\t} = config;\n\n\tconst showEmpty = !isLoading && agents.length === 0;\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentListing] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleSearchChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchChange', v);\n\t\t\tonSearchChange(v);\n\t\t},\n\t\t[logAction, onSearchChange],\n\t);\n\tconst handleFilterChange = useCallback(\n\t\t(selected: DropdownOption | DropdownOption[]) => {\n\t\t\tlogAction('onFilterChange', selected);\n\t\t\tonFilterChange?.(selected);\n\t\t},\n\t\t[logAction, onFilterChange],\n\t);\n\tconst handleSortChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSortChange', v);\n\t\t\tonSortChange?.(v);\n\t\t},\n\t\t[logAction, onSortChange],\n\t);\n\tconst handleNewAgent = useCallback(() => {\n\t\tlogAction('onNewAgent');\n\t\tonNewAgent();\n\t}, [logAction, onNewAgent]);\n\tconst handleBrowseTemplates = useCallback(() => {\n\t\tlogAction('onBrowseTemplates');\n\t\tonBrowseTemplates?.();\n\t}, [logAction, onBrowseTemplates]);\n\tconst handleRunAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRunAgent', agent.id);\n\t\t\tonRunAgent(agent);\n\t\t},\n\t\t[logAction, onRunAgent],\n\t);\n\tconst handleEditAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onEditAgent', agent.id);\n\t\t\tonEditAgent(agent);\n\t\t},\n\t\t[logAction, onEditAgent],\n\t);\n\tconst handleRowClick = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRowClick', agent.id);\n\t\t\tonRowClick?.(agent);\n\t\t},\n\t\t[logAction, onRowClick],\n\t);\n\n\treturn (\n\t\t<Page data-test={rest['data-test'] ?? 'agent-listing'}>\n\t\t\t<AgentListingHeader\n\t\t\t\ttitle={title}\n\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\tonBrowseTemplates={\n\t\t\t\t\tonBrowseTemplates ? handleBrowseTemplates : undefined\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t<AgentListingFilters\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={handleSearchChange}\n\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\tfilterOptions={filterOptions}\n\t\t\t\tonFilterChange={onFilterChange ? handleFilterChange : undefined}\n\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\tsortOptions={sortOptions}\n\t\t\t\tselectedSort={selectedSort}\n\t\t\t\tonSortChange={onSortChange ? handleSortChange : undefined}\n\t\t\t/>\n\n\t\t\t<Body>\n\t\t\t\t{isLoading || showEmpty ? (\n\t\t\t\t\t<EmptyHolder>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\ttitle={emptyState?.title ?? 'No agents yet'}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\temptyState?.subTitle ??\n\t\t\t\t\t\t\t\t'Create your first AI agent to start automating conversations.'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionButton={\n\t\t\t\t\t\t\t\temptyState?.actionButton ?? {\n\t\t\t\t\t\t\t\t\tbuttonText: 'New AI agent',\n\t\t\t\t\t\t\t\t\tbuttonType: 'primary',\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t\tonClick: handleNewAgent,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</EmptyHolder>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AgentTable\n\t\t\t\t\t\t\tagents={agents}\n\t\t\t\t\t\t\tonRunAgent={handleRunAgent}\n\t\t\t\t\t\t\tonEditAgent={handleEditAgent}\n\t\t\t\t\t\t\tonRowClick={onRowClick ? handleRowClick : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{pagination && pagination.totalRows > 0 && (\n\t\t\t\t\t\t\t<TablePagination\n\t\t\t\t\t\t\t\tpageNumber={pagination.pageNumber}\n\t\t\t\t\t\t\t\tpageSize={pagination.pageSize}\n\t\t\t\t\t\t\t\ttotalRows={pagination.totalRows}\n\t\t\t\t\t\t\t\thidePageSizeOptions={pagination.hidePageSizeOptions}\n\t\t\t\t\t\t\t\tupdatePageNumber={pagination.onPageChange}\n\t\t\t\t\t\t\t\tupdatePageSize={(opt) => {\n\t\t\t\t\t\t\t\t\tconst single = Array.isArray(opt) ? opt[0] : opt;\n\t\t\t\t\t\t\t\t\tconst value = Number((single as { value?: string })?.value);\n\t\t\t\t\t\t\t\t\tif (!Number.isNaN(value)) {\n\t\t\t\t\t\t\t\t\t\tpagination.onPageSizeChange(value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Body>\n\t\t</Page>\n\t);\n};\n\nAgentListing.displayName = 'AgentListing';\n"],"names":["AgentListing","config","onSearchChange","onFilterChange","onSortChange","onNewAgent","onBrowseTemplates","onRunAgent","onEditAgent","onRowClick","rest","agents","isLoading","searchValue","searchPlaceholder","filterOptions","filterPlaceholder","sortOptions","selectedSort","title","pagination","emptyState","debugLog","showEmpty","logAction","useCallback","action","args","handleSearchChange","v","handleFilterChange","selected","handleSortChange","handleNewAgent","handleBrowseTemplates","handleRunAgent","agent","handleEditAgent","handleRowClick","Page","jsx","AgentListingHeader","AgentListingFilters","Body","EmptyHolder","ZeroState","jsxs","Fragment","AgentTable","TablePagination","opt","single","value"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { AgentListItem, AgentListSortOption } from '@bikdotai/bik-models/ai-agents';
|
|
2
|
+
import { ApplicationType } from '@bikdotai/bik-models/growth';
|
|
3
|
+
import { ButtonProps } from '../button/model';
|
|
4
|
+
import { DropdownOption } from '../dropdown/type';
|
|
5
|
+
/**
|
|
6
|
+
* The agent listing DATA models now live in `@bikdotai/bik-models/ai-agents`
|
|
7
|
+
* (shared with the merchant). Re-exported here so existing imports keep working.
|
|
8
|
+
*/
|
|
9
|
+
export type { AgentStatus, AgentTriggerSummary, AgentListItem, AgentListSortOption, } from '@bikdotai/bik-models/ai-agents';
|
|
10
|
+
/** Controlled pagination, forwarded to `TablePagination`. */
|
|
11
|
+
export interface AgentListingPagination {
|
|
12
|
+
pageNumber: number;
|
|
13
|
+
pageSize: number;
|
|
14
|
+
totalRows: number;
|
|
15
|
+
onPageChange: (pageNumber: number) => void;
|
|
16
|
+
onPageSizeChange: (pageSize: number) => void;
|
|
17
|
+
hidePageSizeOptions?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* All non-function (data / option / flag) props, grouped into one object.
|
|
21
|
+
* Callbacks are kept OUT of here and passed as flat props so the consumer can
|
|
22
|
+
* pass stable function references without rebuilding this object.
|
|
23
|
+
*/
|
|
24
|
+
export interface AgentListingConfig {
|
|
25
|
+
/** Rows to render. Controlled by the consumer (filtered/sorted upstream). */
|
|
26
|
+
agents: AgentListItem[];
|
|
27
|
+
/** Initial-fetch loading — shows the loading ZeroState in place of the table. */
|
|
28
|
+
isLoading?: boolean;
|
|
29
|
+
/** Host application context the merchant runs in (e.g. ApplicationType.MANIFEST). */
|
|
30
|
+
applicationType?: ApplicationType;
|
|
31
|
+
/** Controlled search text. */
|
|
32
|
+
searchValue: string;
|
|
33
|
+
/** @default "Search" */
|
|
34
|
+
searchPlaceholder?: string;
|
|
35
|
+
/** Pass to render the "Filters" dropdown. Omit to hide it. */
|
|
36
|
+
filterOptions?: DropdownOption[];
|
|
37
|
+
/** @default "Filters" */
|
|
38
|
+
filterPlaceholder?: string;
|
|
39
|
+
sortOptions?: AgentListSortOption[];
|
|
40
|
+
selectedSort?: string;
|
|
41
|
+
/** @default "AI Agents" */
|
|
42
|
+
title?: string;
|
|
43
|
+
pagination?: AgentListingPagination;
|
|
44
|
+
emptyState?: {
|
|
45
|
+
title?: string;
|
|
46
|
+
subTitle?: string;
|
|
47
|
+
actionButton?: ButtonProps;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* When true, every action handler logs `[AgentListing] <handler>` (plus its
|
|
51
|
+
* args) to the console as it fires. Off by default — nothing is logged.
|
|
52
|
+
*/
|
|
53
|
+
debugLog?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface AgentListingProps {
|
|
56
|
+
/** Grouped data / options / flags. */
|
|
57
|
+
config: AgentListingConfig;
|
|
58
|
+
onSearchChange: (value: string) => void;
|
|
59
|
+
onFilterChange?: (selected: DropdownOption | DropdownOption[]) => void;
|
|
60
|
+
onSortChange?: (value: string) => void;
|
|
61
|
+
onNewAgent: () => void;
|
|
62
|
+
/** Pass to render the secondary "Browse templates" button. Omit to hide it. */
|
|
63
|
+
onBrowseTemplates?: () => void;
|
|
64
|
+
onRunAgent: (agent: AgentListItem) => void;
|
|
65
|
+
onEditAgent: (agent: AgentListItem) => void;
|
|
66
|
+
/** Optional: whole-row click (e.g. open the builder). */
|
|
67
|
+
onRowClick?: (agent: AgentListItem) => void;
|
|
68
|
+
'data-test'?: string;
|
|
69
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** Shared column template for header + body rows so they always align. */
|
|
2
|
+
export declare const TABLE_GRID_COLUMNS = "minmax(240px, 1.4fr) minmax(200px, 1.2fr) 140px 160px 120px";
|
|
3
|
+
export declare const Page: import('styled-components').StyledComponent<"div", any, {
|
|
4
|
+
className: "bik-agent-listing-page";
|
|
5
|
+
}, "className">;
|
|
6
|
+
export declare const HeaderBar: import('styled-components').StyledComponent<"div", any, {
|
|
7
|
+
className: "bik-header-bar";
|
|
8
|
+
}, "className">;
|
|
9
|
+
export declare const HeaderActions: import('styled-components').StyledComponent<"div", any, {
|
|
10
|
+
className: "bik-header-actions";
|
|
11
|
+
}, "className">;
|
|
12
|
+
export declare const FilterRow: import('styled-components').StyledComponent<"div", any, {
|
|
13
|
+
className: "bik-filter-row";
|
|
14
|
+
}, "className">;
|
|
15
|
+
export declare const FilterRowLeft: import('styled-components').StyledComponent<"div", any, {
|
|
16
|
+
className: "bik-filter-row-left";
|
|
17
|
+
}, "className">;
|
|
18
|
+
export declare const Body: import('styled-components').StyledComponent<"div", any, {
|
|
19
|
+
className: "bik-body";
|
|
20
|
+
}, "className">;
|
|
21
|
+
export declare const TableCard: import('styled-components').StyledComponent<"div", any, {
|
|
22
|
+
className: "bik-table-card";
|
|
23
|
+
}, "className">;
|
|
24
|
+
export declare const TableScroll: import('styled-components').StyledComponent<"div", any, {
|
|
25
|
+
className: "bik-table-scroll";
|
|
26
|
+
}, "className">;
|
|
27
|
+
export declare const HeaderGridRow: import('styled-components').StyledComponent<"div", any, {
|
|
28
|
+
className: "bik-header-grid-row";
|
|
29
|
+
}, "className">;
|
|
30
|
+
export declare const HeaderCell: import('styled-components').StyledComponent<"div", any, {
|
|
31
|
+
className: "bik-header-cell";
|
|
32
|
+
} & {
|
|
33
|
+
align?: "center" | "left" | "right" | undefined;
|
|
34
|
+
}, "className">;
|
|
35
|
+
export declare const BodyGridRow: import('styled-components').StyledComponent<"div", any, {
|
|
36
|
+
className: "bik-body-grid-row";
|
|
37
|
+
} & {
|
|
38
|
+
clickable?: boolean | undefined;
|
|
39
|
+
}, "className">;
|
|
40
|
+
export declare const Cell: import('styled-components').StyledComponent<"div", any, {
|
|
41
|
+
className: "bik-cell";
|
|
42
|
+
} & {
|
|
43
|
+
align?: "center" | "left" | "right" | undefined;
|
|
44
|
+
}, "className">;
|
|
45
|
+
/** Bordered icon-button group used in the Actions cell. */
|
|
46
|
+
export declare const ActionGroup: import('styled-components').StyledComponent<"div", any, {
|
|
47
|
+
className: "bik-action-group";
|
|
48
|
+
}, "className">;
|
|
49
|
+
export declare const ActionButton: import('styled-components').StyledComponent<"button", any, {
|
|
50
|
+
className: "bik-action-button";
|
|
51
|
+
} & {
|
|
52
|
+
disabled?: boolean | undefined;
|
|
53
|
+
}, "className">;
|
|
54
|
+
export declare const EmptyHolder: import('styled-components').StyledComponent<"div", any, {
|
|
55
|
+
className: "bik-empty-holder";
|
|
56
|
+
}, "className">;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import t from "styled-components";
|
|
2
|
+
import { COLORS as i } from "../../constants/Theme.js";
|
|
3
|
+
const a = "minmax(240px, 1.4fr) minmax(200px, 1.2fr) 140px 160px 120px", l = t.div.attrs({ className: "bik-agent-listing-page" })`
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
height: 100%;
|
|
7
|
+
width: 100%;
|
|
8
|
+
background: ${i.surface.standard};
|
|
9
|
+
min-height: 0;
|
|
10
|
+
`, d = t.div.attrs({ className: "bik-header-bar" })`
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
height: 56px;
|
|
15
|
+
padding: 12px 16px;
|
|
16
|
+
border-bottom: 1px solid ${i.stroke.primary};
|
|
17
|
+
flex-shrink: 0;
|
|
18
|
+
`, o = t.div.attrs({
|
|
19
|
+
className: "bik-header-actions"
|
|
20
|
+
})`
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: 8px;
|
|
24
|
+
`, n = t.div.attrs({ className: "bik-filter-row" })`
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
gap: 12px;
|
|
29
|
+
padding: 16px;
|
|
30
|
+
border-bottom: 1px solid ${i.stroke.primary};
|
|
31
|
+
flex-shrink: 0;
|
|
32
|
+
`, c = t.div.attrs({
|
|
33
|
+
className: "bik-filter-row-left"
|
|
34
|
+
})`
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
gap: 12px;
|
|
38
|
+
`, p = t.div.attrs({ className: "bik-body" })`
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
flex: 1;
|
|
42
|
+
min-height: 0;
|
|
43
|
+
padding: 16px;
|
|
44
|
+
gap: 8px;
|
|
45
|
+
`, x = t.div.attrs({ className: "bik-table-card" })`
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
flex: 1;
|
|
49
|
+
min-height: 0;
|
|
50
|
+
border: 1px solid ${i.stroke.primary};
|
|
51
|
+
border-radius: 8px;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
`, m = t.div.attrs({ className: "bik-table-scroll" })`
|
|
54
|
+
flex: 1;
|
|
55
|
+
min-height: 0;
|
|
56
|
+
overflow: auto;
|
|
57
|
+
`, g = t.div.attrs({
|
|
58
|
+
className: "bik-header-grid-row"
|
|
59
|
+
})`
|
|
60
|
+
display: grid;
|
|
61
|
+
grid-template-columns: ${a};
|
|
62
|
+
align-items: center;
|
|
63
|
+
height: 40px;
|
|
64
|
+
background: ${i.surface.subdued};
|
|
65
|
+
border-bottom: 1px solid ${i.stroke.primary};
|
|
66
|
+
position: sticky;
|
|
67
|
+
top: 0;
|
|
68
|
+
z-index: 1;
|
|
69
|
+
`, b = t.div.attrs({ className: "bik-header-cell" })`
|
|
70
|
+
padding: 8px 12px;
|
|
71
|
+
text-align: ${(e) => e.align ?? "left"};
|
|
72
|
+
display: flex;
|
|
73
|
+
justify-content: ${(e) => e.align === "right" ? "flex-end" : e.align === "center" ? "center" : "flex-start"};
|
|
74
|
+
`, f = t.div.attrs({
|
|
75
|
+
className: "bik-body-grid-row"
|
|
76
|
+
})`
|
|
77
|
+
display: grid;
|
|
78
|
+
grid-template-columns: ${a};
|
|
79
|
+
align-items: center;
|
|
80
|
+
min-height: 72px;
|
|
81
|
+
border-bottom: 1px solid ${i.stroke.primary};
|
|
82
|
+
cursor: ${(e) => e.clickable ? "pointer" : "default"};
|
|
83
|
+
|
|
84
|
+
&:hover {
|
|
85
|
+
background: ${(e) => e.clickable ? i.surface.subdued : "transparent"};
|
|
86
|
+
}
|
|
87
|
+
`, u = t.div.attrs({ className: "bik-cell" })`
|
|
88
|
+
padding: 8px 12px;
|
|
89
|
+
min-width: 0;
|
|
90
|
+
display: flex;
|
|
91
|
+
flex-direction: column;
|
|
92
|
+
gap: 4px;
|
|
93
|
+
justify-content: center;
|
|
94
|
+
align-items: ${(e) => e.align === "right" ? "flex-end" : e.align === "center" ? "center" : "flex-start"};
|
|
95
|
+
`, h = t.div.attrs({ className: "bik-action-group" })`
|
|
96
|
+
display: inline-flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
border: 1px solid ${i.stroke.primary};
|
|
99
|
+
border-radius: 4px;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
`, y = t.button.attrs({
|
|
102
|
+
className: "bik-action-button"
|
|
103
|
+
})`
|
|
104
|
+
width: 32px;
|
|
105
|
+
height: 32px;
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: center;
|
|
109
|
+
background: ${i.surface.standard};
|
|
110
|
+
border: none;
|
|
111
|
+
padding: 0;
|
|
112
|
+
cursor: ${(e) => e.disabled ? "not-allowed" : "pointer"};
|
|
113
|
+
opacity: ${(e) => e.disabled ? 0.4 : 1};
|
|
114
|
+
|
|
115
|
+
&:not(:last-child) {
|
|
116
|
+
border-right: 1px solid ${i.stroke.primary};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&:hover {
|
|
120
|
+
background: ${(e) => e.disabled ? i.surface.standard : i.surface.subdued};
|
|
121
|
+
}
|
|
122
|
+
`, k = t.div.attrs({ className: "bik-empty-holder" })`
|
|
123
|
+
flex: 1;
|
|
124
|
+
display: flex;
|
|
125
|
+
min-height: 0;
|
|
126
|
+
`;
|
|
127
|
+
export {
|
|
128
|
+
y as ActionButton,
|
|
129
|
+
h as ActionGroup,
|
|
130
|
+
p as Body,
|
|
131
|
+
f as BodyGridRow,
|
|
132
|
+
u as Cell,
|
|
133
|
+
k as EmptyHolder,
|
|
134
|
+
n as FilterRow,
|
|
135
|
+
c as FilterRowLeft,
|
|
136
|
+
o as HeaderActions,
|
|
137
|
+
d as HeaderBar,
|
|
138
|
+
b as HeaderCell,
|
|
139
|
+
g as HeaderGridRow,
|
|
140
|
+
l as Page,
|
|
141
|
+
a as TABLE_GRID_COLUMNS,
|
|
142
|
+
x as TableCard,
|
|
143
|
+
m as TableScroll
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=AgentListing.styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentListing.styled.js","sources":["../../../../src/components/agent-listing/AgentListing.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\n/** Shared column template for header + body rows so they always align. */\nexport const TABLE_GRID_COLUMNS =\n\t'minmax(240px, 1.4fr) minmax(200px, 1.2fr) 140px 160px 120px';\n\nexport const Page = styled.div.attrs({ className: 'bik-agent-listing-page' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\twidth: 100%;\n\tbackground: ${COLORS.surface.standard};\n\tmin-height: 0;\n`;\n\nexport const HeaderBar = styled.div.attrs({ className: 'bik-header-bar' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 56px;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const HeaderActions = styled.div.attrs({\n\tclassName: 'bik-header-actions',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n`;\n\nexport const FilterRow = styled.div.attrs({ className: 'bik-filter-row' })`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: 12px;\n\tpadding: 16px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tflex-shrink: 0;\n`;\n\nexport const FilterRowLeft = styled.div.attrs({\n\tclassName: 'bik-filter-row-left',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 12px;\n`;\n\nexport const Body = styled.div.attrs({ className: 'bik-body' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n\tpadding: 16px;\n\tgap: 8px;\n`;\n\nexport const TableCard = styled.div.attrs({ className: 'bik-table-card' })`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\toverflow: hidden;\n`;\n\nexport const TableScroll = styled.div.attrs({ className: 'bik-table-scroll' })`\n\tflex: 1;\n\tmin-height: 0;\n\toverflow: auto;\n`;\n\nexport const HeaderGridRow = styled.div.attrs({\n\tclassName: 'bik-header-grid-row',\n})`\n\tdisplay: grid;\n\tgrid-template-columns: ${TABLE_GRID_COLUMNS};\n\talign-items: center;\n\theight: 40px;\n\tbackground: ${COLORS.surface.subdued};\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tposition: sticky;\n\ttop: 0;\n\tz-index: 1;\n`;\n\nexport const HeaderCell = styled.div.attrs({ className: 'bik-header-cell' })<{\n\talign?: 'left' | 'right' | 'center';\n}>`\n\tpadding: 8px 12px;\n\ttext-align: ${(p) => p.align ?? 'left'};\n\tdisplay: flex;\n\tjustify-content: ${(p) =>\n\t\tp.align === 'right'\n\t\t\t? 'flex-end'\n\t\t\t: p.align === 'center'\n\t\t\t? 'center'\n\t\t\t: 'flex-start'};\n`;\n\nexport const BodyGridRow = styled.div.attrs({\n\tclassName: 'bik-body-grid-row',\n})<{ clickable?: boolean }>`\n\tdisplay: grid;\n\tgrid-template-columns: ${TABLE_GRID_COLUMNS};\n\talign-items: center;\n\tmin-height: 72px;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tcursor: ${(p) => (p.clickable ? 'pointer' : 'default')};\n\n\t&:hover {\n\t\tbackground: ${(p) =>\n\t\t\tp.clickable ? COLORS.surface.subdued : 'transparent'};\n\t}\n`;\n\nexport const Cell = styled.div.attrs({ className: 'bik-cell' })<{\n\talign?: 'left' | 'right' | 'center';\n}>`\n\tpadding: 8px 12px;\n\tmin-width: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tjustify-content: center;\n\talign-items: ${(p) =>\n\t\tp.align === 'right'\n\t\t\t? 'flex-end'\n\t\t\t: p.align === 'center'\n\t\t\t? 'center'\n\t\t\t: 'flex-start'};\n`;\n\n/** Bordered icon-button group used in the Actions cell. */\nexport const ActionGroup = styled.div.attrs({ className: 'bik-action-group' })`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\toverflow: hidden;\n`;\n\nexport const ActionButton = styled.button.attrs({\n\tclassName: 'bik-action-button',\n})<{ disabled?: boolean }>`\n\twidth: 32px;\n\theight: 32px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: ${COLORS.surface.standard};\n\tborder: none;\n\tpadding: 0;\n\tcursor: ${(p) => (p.disabled ? 'not-allowed' : 'pointer')};\n\topacity: ${(p) => (p.disabled ? 0.4 : 1)};\n\n\t&:not(:last-child) {\n\t\tborder-right: 1px solid ${COLORS.stroke.primary};\n\t}\n\n\t&:hover {\n\t\tbackground: ${(p) =>\n\t\t\tp.disabled ? COLORS.surface.standard : COLORS.surface.subdued};\n\t}\n`;\n\nexport const EmptyHolder = styled.div.attrs({ className: 'bik-empty-holder' })`\n\tflex: 1;\n\tdisplay: flex;\n\tmin-height: 0;\n`;\n"],"names":["TABLE_GRID_COLUMNS","Page","styled","COLORS","HeaderBar","HeaderActions","FilterRow","FilterRowLeft","Body","TableCard","TableScroll","HeaderGridRow","HeaderCell","p","BodyGridRow","Cell","ActionGroup","ActionButton","EmptyHolder"],"mappings":";;AAIO,MAAMA,IACZ,+DAEYC,IAAOC,EAAO,IAAI,MAAM,EAAE,WAAW,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,eAK7DC,EAAO,QAAQ,QAAQ;AAAA;AAAA,GAIzBC,IAAYF,EAAO,IAAI,MAAM,EAAE,WAAW,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAM7CC,EAAO,OAAO,OAAO;AAAA;AAAA,GAIpCE,IAAgBH,EAAO,IAAI,MAAM;AAAA,EAC7C,WAAW;AACZ,CAAC;AAAA;AAAA;AAAA;AAAA,GAMYI,IAAYJ,EAAO,IAAI,MAAM,EAAE,WAAW,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAM7CC,EAAO,OAAO,OAAO;AAAA;AAAA,GAIpCI,IAAgBL,EAAO,IAAI,MAAM;AAAA,EAC7C,WAAW;AACZ,CAAC;AAAA;AAAA;AAAA;AAAA,GAMYM,IAAON,EAAO,IAAI,MAAM,EAAE,WAAW,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASjDO,IAAYP,EAAO,IAAI,MAAM,EAAE,WAAW,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKpDC,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA,GAK7BO,IAAcR,EAAO,IAAI,MAAM,EAAE,WAAW,oBAAoB;AAAA;AAAA;AAAA;AAAA,GAMhES,IAAgBT,EAAO,IAAI,MAAM;AAAA,EAC7C,WAAW;AACZ,CAAC;AAAA;AAAA,0BAEyBF,CAAkB;AAAA;AAAA;AAAA,eAG7BG,EAAO,QAAQ,OAAO;AAAA,4BACTA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,GAMpCS,IAAaV,EAAO,IAAI,MAAM,EAAE,WAAW,mBAAmB;AAAA;AAAA,eAI5D,CAACW,MAAMA,EAAE,SAAS,MAAM;AAAA;AAAA,oBAEnB,CAACA,MACnBA,EAAE,UAAU,UACT,aACAA,EAAE,UAAU,WACZ,WACA,YAAY;AAAA,GAGJC,IAAcZ,EAAO,IAAI,MAAM;AAAA,EAC3C,WAAW;AACZ,CAAC;AAAA;AAAA,0BAEyBF,CAAkB;AAAA;AAAA;AAAA,4BAGhBG,EAAO,OAAO,OAAO;AAAA,WACtC,CAACU,MAAOA,EAAE,YAAY,YAAY,SAAU;AAAA;AAAA;AAAA,gBAGvC,CAACA,MACdA,EAAE,YAAYV,EAAO,QAAQ,UAAU,aAAa;AAAA;AAAA,GAI1CY,IAAOb,EAAO,IAAI,MAAM,EAAE,WAAW,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS9C,CAACW,MACfA,EAAE,UAAU,UACT,aACAA,EAAE,UAAU,WACZ,WACA,YAAY;AAAA,GAIJG,IAAcd,EAAO,IAAI,MAAM,EAAE,WAAW,oBAAoB;AAAA;AAAA;AAAA,qBAGxDC,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA,GAK7Bc,IAAef,EAAO,OAAO,MAAM;AAAA,EAC/C,WAAW;AACZ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMcC,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA,WAG3B,CAACU,MAAOA,EAAE,WAAW,gBAAgB,SAAU;AAAA,YAC9C,CAACA,MAAOA,EAAE,WAAW,MAAM,CAAE;AAAA;AAAA;AAAA,4BAGbV,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,gBAIjC,CAACU,MACdA,EAAE,WAAWV,EAAO,QAAQ,WAAWA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAInDe,IAAchB,EAAO,IAAI,MAAM,EAAE,WAAW,oBAAoB;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownOption } from '../dropdown/type';
|
|
3
|
+
import { AgentListSortOption } from './AgentListing.model';
|
|
4
|
+
interface AgentListingFiltersProps {
|
|
5
|
+
searchValue: string;
|
|
6
|
+
onSearchChange: (value: string) => void;
|
|
7
|
+
searchPlaceholder: string;
|
|
8
|
+
filterOptions?: DropdownOption[];
|
|
9
|
+
onFilterChange?: (selected: DropdownOption | DropdownOption[]) => void;
|
|
10
|
+
filterPlaceholder: string;
|
|
11
|
+
sortOptions?: AgentListSortOption[];
|
|
12
|
+
selectedSort?: string;
|
|
13
|
+
onSortChange?: (value: string) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const AgentListingFilters: React.FC<AgentListingFiltersProps>;
|
|
16
|
+
export {};
|