@mantine-vue/whatsapp-inbox 3.2.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/README.md +88 -0
- package/cjs/index.cjs +11842 -0
- package/cjs/index.cjs.map +1 -0
- package/esm/index.mjs +11704 -0
- package/esm/index.mjs.map +1 -0
- package/lib/WhatsAppInbox.context.d.ts +70 -0
- package/lib/component-props.d.ts +138 -0
- package/lib/components/WhatsAppAttachmentPreview/WhatsAppAttachmentPreview.d.ts +8 -0
- package/lib/components/WhatsAppAttachmentPreview/WhatsAppAttachmentPreview.types.d.ts +33 -0
- package/lib/components/WhatsAppAttachmentPreview/WhatsAppAttachmentPreview.vue.d.ts +19 -0
- package/lib/components/WhatsAppAttachmentPreview/index.d.ts +1 -0
- package/lib/components/WhatsAppComposer/WhatsAppComposer.d.ts +10 -0
- package/lib/components/WhatsAppComposer/WhatsAppComposer.types.d.ts +173 -0
- package/lib/components/WhatsAppComposer/WhatsAppComposer.vue.d.ts +52 -0
- package/lib/components/WhatsAppComposer/index.d.ts +1 -0
- package/lib/components/WhatsAppContactPanel/WhatsAppContactPanel.d.ts +9 -0
- package/lib/components/WhatsAppContactPanel/WhatsAppContactPanel.types.d.ts +40 -0
- package/lib/components/WhatsAppContactPanel/WhatsAppContactPanel.vue.d.ts +19 -0
- package/lib/components/WhatsAppContactPanel/index.d.ts +1 -0
- package/lib/components/WhatsAppConversation/WhatsAppConversation.d.ts +10 -0
- package/lib/components/WhatsAppConversation/WhatsAppConversation.types.d.ts +163 -0
- package/lib/components/WhatsAppConversation/WhatsAppConversation.vue.d.ts +69 -0
- package/lib/components/WhatsAppConversation/index.d.ts +1 -0
- package/lib/components/WhatsAppConversationHeader/WhatsAppConversationHeader.d.ts +9 -0
- package/lib/components/WhatsAppConversationHeader/WhatsAppConversationHeader.types.d.ts +57 -0
- package/lib/components/WhatsAppConversationHeader/WhatsAppConversationHeader.vue.d.ts +23 -0
- package/lib/components/WhatsAppConversationHeader/index.d.ts +1 -0
- package/lib/components/WhatsAppConversationList/WhatsAppConversationList.d.ts +9 -0
- package/lib/components/WhatsAppConversationList/WhatsAppConversationList.types.d.ts +113 -0
- package/lib/components/WhatsAppConversationList/WhatsAppConversationList.vue.d.ts +35 -0
- package/lib/components/WhatsAppConversationList/index.d.ts +1 -0
- package/lib/components/WhatsAppConversationListItem/WhatsAppConversationListItem.d.ts +9 -0
- package/lib/components/WhatsAppConversationListItem/WhatsAppConversationListItem.types.d.ts +56 -0
- package/lib/components/WhatsAppConversationListItem/WhatsAppConversationListItem.vue.d.ts +21 -0
- package/lib/components/WhatsAppConversationListItem/index.d.ts +1 -0
- package/lib/components/WhatsAppEmojiPicker/WhatsAppEmojiPicker.d.ts +9 -0
- package/lib/components/WhatsAppEmojiPicker/WhatsAppEmojiPicker.types.d.ts +91 -0
- package/lib/components/WhatsAppEmojiPicker/WhatsAppEmojiPicker.vue.d.ts +31 -0
- package/lib/components/WhatsAppEmojiPicker/index.d.ts +1 -0
- package/lib/components/WhatsAppInbox/WhatsAppInbox.d.ts +10 -0
- package/lib/components/WhatsAppInbox/WhatsAppInbox.types.d.ts +135 -0
- package/lib/components/WhatsAppInbox/WhatsAppInbox.vue.d.ts +84 -0
- package/lib/components/WhatsAppInbox/index.d.ts +1 -0
- package/lib/components/WhatsAppInboxDrawer/WhatsAppInboxDrawer.d.ts +9 -0
- package/lib/components/WhatsAppInboxDrawer/WhatsAppInboxDrawer.types.d.ts +52 -0
- package/lib/components/WhatsAppInboxDrawer/WhatsAppInboxDrawer.vue.d.ts +24 -0
- package/lib/components/WhatsAppInboxDrawer/index.d.ts +1 -0
- package/lib/components/WhatsAppInboxModal/WhatsAppInboxModal.d.ts +9 -0
- package/lib/components/WhatsAppInboxModal/WhatsAppInboxModal.types.d.ts +52 -0
- package/lib/components/WhatsAppInboxModal/WhatsAppInboxModal.vue.d.ts +28 -0
- package/lib/components/WhatsAppInboxModal/index.d.ts +1 -0
- package/lib/components/WhatsAppInboxProvider/WhatsAppInboxProvider.d.ts +16 -0
- package/lib/components/WhatsAppInboxProvider/WhatsAppInboxProvider.types.d.ts +16 -0
- package/lib/components/WhatsAppInboxProvider/WhatsAppInboxProvider.vue.d.ts +11 -0
- package/lib/components/WhatsAppInboxProvider/index.d.ts +1 -0
- package/lib/components/WhatsAppInteractiveMessageEditor/WhatsAppInteractiveMessageEditor.d.ts +8 -0
- package/lib/components/WhatsAppInteractiveMessageEditor/WhatsAppInteractiveMessageEditor.types.d.ts +49 -0
- package/lib/components/WhatsAppInteractiveMessageEditor/WhatsAppInteractiveMessageEditor.vue.d.ts +27 -0
- package/lib/components/WhatsAppInteractiveMessageEditor/index.d.ts +1 -0
- package/lib/components/WhatsAppMediaAttachment/WhatsAppMediaAttachment.d.ts +8 -0
- package/lib/components/WhatsAppMediaAttachment/WhatsAppMediaAttachment.types.d.ts +41 -0
- package/lib/components/WhatsAppMediaAttachment/WhatsAppMediaAttachment.vue.d.ts +19 -0
- package/lib/components/WhatsAppMediaAttachment/index.d.ts +1 -0
- package/lib/components/WhatsAppMessage/WhatsAppMessage.d.ts +9 -0
- package/lib/components/WhatsAppMessage/WhatsAppMessage.types.d.ts +46 -0
- package/lib/components/WhatsAppMessage/WhatsAppMessage.vue.d.ts +25 -0
- package/lib/components/WhatsAppMessage/index.d.ts +1 -0
- package/lib/components/WhatsAppMessageBubble/WhatsAppMessageBubble.d.ts +9 -0
- package/lib/components/WhatsAppMessageBubble/WhatsAppMessageBubble.types.d.ts +77 -0
- package/lib/components/WhatsAppMessageBubble/WhatsAppMessageBubble.vue.d.ts +22 -0
- package/lib/components/WhatsAppMessageBubble/index.d.ts +1 -0
- package/lib/components/WhatsAppMessageList/WhatsAppMessageList.d.ts +10 -0
- package/lib/components/WhatsAppMessageList/WhatsAppMessageList.types.d.ts +94 -0
- package/lib/components/WhatsAppMessageList/WhatsAppMessageList.vue.d.ts +39 -0
- package/lib/components/WhatsAppMessageList/index.d.ts +1 -0
- package/lib/components/WhatsAppMessageStatus/WhatsAppMessageStatus.d.ts +7 -0
- package/lib/components/WhatsAppMessageStatus/WhatsAppMessageStatus.types.d.ts +30 -0
- package/lib/components/WhatsAppMessageStatus/WhatsAppMessageStatus.vue.d.ts +24 -0
- package/lib/components/WhatsAppMessageStatus/index.d.ts +1 -0
- package/lib/components/WhatsAppMessagingWindowNotice/WhatsAppMessagingWindowNotice.d.ts +9 -0
- package/lib/components/WhatsAppMessagingWindowNotice/WhatsAppMessagingWindowNotice.types.d.ts +55 -0
- package/lib/components/WhatsAppMessagingWindowNotice/WhatsAppMessagingWindowNotice.vue.d.ts +18 -0
- package/lib/components/WhatsAppMessagingWindowNotice/index.d.ts +1 -0
- package/lib/components/WhatsAppTemplatePreview/WhatsAppTemplatePreview.d.ts +7 -0
- package/lib/components/WhatsAppTemplatePreview/WhatsAppTemplatePreview.types.d.ts +36 -0
- package/lib/components/WhatsAppTemplatePreview/WhatsAppTemplatePreview.vue.d.ts +12 -0
- package/lib/components/WhatsAppTemplatePreview/index.d.ts +1 -0
- package/lib/components/WhatsAppTemplateSelector/WhatsAppTemplateSelector.d.ts +9 -0
- package/lib/components/WhatsAppTemplateSelector/WhatsAppTemplateSelector.types.d.ts +106 -0
- package/lib/components/WhatsAppTemplateSelector/WhatsAppTemplateSelector.vue.d.ts +33 -0
- package/lib/components/WhatsAppTemplateSelector/index.d.ts +1 -0
- package/lib/emoji/emoji-data.d.ts +27 -0
- package/lib/emoji/emoji-filter.d.ts +49 -0
- package/lib/emoji/index.d.ts +4 -0
- package/lib/icons/WhatsAppIcon.vue.d.ts +14 -0
- package/lib/icons/icon-paths.d.ts +43 -0
- package/lib/icons/index.d.ts +3 -0
- package/lib/index.d.mts +29 -0
- package/lib/index.d.ts +29 -0
- package/lib/labels.d.ts +184 -0
- package/lib/types.d.ts +777 -0
- package/lib/utils/capabilities.d.ts +14 -0
- package/lib/utils/format.d.ts +27 -0
- package/lib/utils/index.d.ts +9 -0
- package/lib/utils/media.d.ts +45 -0
- package/lib/utils/messages.d.ts +48 -0
- package/lib/utils/phone.d.ts +18 -0
- package/lib/utils/templates.d.ts +65 -0
- package/package.json +46 -0
- package/styles.css +1504 -0
- package/styles.layer.css +1506 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { VNodeChild } from 'vue';
|
|
2
|
+
import type { BoxProps, Factory } from '@mantine-vue/core';
|
|
3
|
+
import type { StylesApiProps } from '@mantine-vue/core/styles-api';
|
|
4
|
+
import type { WhatsAppInboxLabelsOverride } from '../../labels';
|
|
5
|
+
import type { WhatsAppMessagingWindow } from '../../types';
|
|
6
|
+
export type WhatsAppMessagingWindowNoticeStylesNames = 'windowNoticeRoot' | 'windowNoticeIcon' | 'windowNoticeBody' | 'windowNoticeTitle' | 'windowNoticeDescription' | 'windowNoticeAction';
|
|
7
|
+
export interface WhatsAppMessagingWindowNoticeOwnProps extends StylesApiProps<WhatsAppMessagingWindowNoticeFactory> {
|
|
8
|
+
/**
|
|
9
|
+
* Window state reported by the backend. Nothing is rendered unless `state` is `closed`, so the
|
|
10
|
+
* notice can be mounted unconditionally.
|
|
11
|
+
*/
|
|
12
|
+
messagingWindow?: WhatsAppMessagingWindow;
|
|
13
|
+
/**
|
|
14
|
+
* Renders the action that opens the template selector.
|
|
15
|
+
* @default true
|
|
16
|
+
*/
|
|
17
|
+
withTemplateAction?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether templates may actually be sent. The action is hidden when they cannot, so the
|
|
20
|
+
* notice never points at something the user is not allowed to do.
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
templatesAvailable?: boolean;
|
|
24
|
+
/** Overrides the title. Falls back to the label. */
|
|
25
|
+
title?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Overrides the explanation. Falls back to `messagingWindow.reason` and then to the label, so
|
|
28
|
+
* a backend can supply its own copy per reason code.
|
|
29
|
+
*/
|
|
30
|
+
description?: string;
|
|
31
|
+
/** Label overrides. */
|
|
32
|
+
labels?: WhatsAppInboxLabelsOverride;
|
|
33
|
+
}
|
|
34
|
+
export interface WhatsAppMessagingWindowNoticeProps extends Omit<BoxProps, keyof WhatsAppMessagingWindowNoticeOwnProps>, WhatsAppMessagingWindowNoticeOwnProps {
|
|
35
|
+
}
|
|
36
|
+
export interface WhatsAppMessagingWindowNoticeSlots {
|
|
37
|
+
/** Replaces the notice body. */
|
|
38
|
+
default?: (props: {
|
|
39
|
+
messagingWindow: WhatsAppMessagingWindow;
|
|
40
|
+
}) => VNodeChild;
|
|
41
|
+
/** Replaces the action rendered next to the explanation. */
|
|
42
|
+
action?: () => VNodeChild;
|
|
43
|
+
}
|
|
44
|
+
export interface WhatsAppMessagingWindowNoticeEmits {
|
|
45
|
+
/** Emitted when the template action is used. */
|
|
46
|
+
templateAction: [];
|
|
47
|
+
}
|
|
48
|
+
export type WhatsAppMessagingWindowNoticeFactory = Factory<{
|
|
49
|
+
props: Omit<WhatsAppMessagingWindowNoticeProps, 'rootRef'>;
|
|
50
|
+
slots: WhatsAppMessagingWindowNoticeSlots;
|
|
51
|
+
emits: WhatsAppMessagingWindowNoticeEmits;
|
|
52
|
+
ref: HTMLDivElement;
|
|
53
|
+
element: 'div';
|
|
54
|
+
stylesNames: WhatsAppMessagingWindowNoticeStylesNames;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { WhatsAppMessagingWindowNoticeOwnProps, WhatsAppMessagingWindowNoticeSlots } from './WhatsAppMessagingWindowNotice.types';
|
|
2
|
+
declare const defaultProps: {
|
|
3
|
+
readonly withTemplateAction: true;
|
|
4
|
+
readonly templatesAvailable: true;
|
|
5
|
+
};
|
|
6
|
+
export { defaultProps };
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<WhatsAppMessagingWindowNoticeOwnProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
templateAction: () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<WhatsAppMessagingWindowNoticeOwnProps> & Readonly<{
|
|
12
|
+
onTemplateAction?: (() => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, WhatsAppMessagingWindowNoticeSlots>;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WhatsAppMessagingWindowNotice';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const WhatsAppTemplatePreview: import("@mantine-vue/core").MantineComponent<{
|
|
2
|
+
props: Omit<import("./WhatsAppTemplatePreview.types").WhatsAppTemplatePreviewProps, "rootRef">;
|
|
3
|
+
ref: HTMLDivElement;
|
|
4
|
+
element: "div";
|
|
5
|
+
stylesNames: import("./WhatsAppTemplatePreview.types").WhatsAppTemplatePreviewStylesNames;
|
|
6
|
+
}>;
|
|
7
|
+
export type { WhatsAppTemplatePreviewFactory, WhatsAppTemplatePreviewOwnProps, WhatsAppTemplatePreviewProps, WhatsAppTemplatePreviewStylesNames, } from './WhatsAppTemplatePreview.types';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { BoxProps, Factory } from '@mantine-vue/core';
|
|
2
|
+
import type { StylesApiProps } from '@mantine-vue/core/styles-api';
|
|
3
|
+
import type { WhatsAppInboxLabelsOverride } from '../../labels';
|
|
4
|
+
import type { WhatsAppTemplate, WhatsAppTemplateValues } from '../../types';
|
|
5
|
+
export type WhatsAppTemplatePreviewStylesNames = 'templatePreviewRoot' | 'templatePreviewMeta' | 'templatePreviewHeader' | 'templatePreviewHeaderMedia' | 'templatePreviewBody' | 'templatePreviewFooter' | 'templatePreviewButtons' | 'templatePreviewButton' | 'templatePreviewFallback';
|
|
6
|
+
export interface WhatsAppTemplatePreviewOwnProps extends StylesApiProps<WhatsAppTemplatePreviewFactory> {
|
|
7
|
+
/** Template to preview. */
|
|
8
|
+
template?: WhatsAppTemplate;
|
|
9
|
+
/** Values substituted into the placeholders. Unfilled placeholders stay visible. */
|
|
10
|
+
values?: WhatsAppTemplateValues;
|
|
11
|
+
/**
|
|
12
|
+
* Text rendered when no `template` is supplied, for history entries whose definition is no
|
|
13
|
+
* longer available.
|
|
14
|
+
*/
|
|
15
|
+
fallbackText?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Renders the category and language badges above the preview.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
withMeta?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Renders the template buttons under the body.
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
withButtons?: boolean;
|
|
26
|
+
/** Label overrides. */
|
|
27
|
+
labels?: WhatsAppInboxLabelsOverride;
|
|
28
|
+
}
|
|
29
|
+
export interface WhatsAppTemplatePreviewProps extends Omit<BoxProps, keyof WhatsAppTemplatePreviewOwnProps>, WhatsAppTemplatePreviewOwnProps {
|
|
30
|
+
}
|
|
31
|
+
export type WhatsAppTemplatePreviewFactory = Factory<{
|
|
32
|
+
props: Omit<WhatsAppTemplatePreviewProps, 'rootRef'>;
|
|
33
|
+
ref: HTMLDivElement;
|
|
34
|
+
element: 'div';
|
|
35
|
+
stylesNames: WhatsAppTemplatePreviewStylesNames;
|
|
36
|
+
}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WhatsAppTemplatePreviewOwnProps } from './WhatsAppTemplatePreview.types';
|
|
2
|
+
import type { WhatsAppIconName } from '../../icons';
|
|
3
|
+
import type { WhatsAppTemplateButton } from '../../types';
|
|
4
|
+
declare const defaultProps: {
|
|
5
|
+
readonly withMeta: false;
|
|
6
|
+
readonly withButtons: true;
|
|
7
|
+
};
|
|
8
|
+
declare const BUTTON_ICONS: Record<WhatsAppTemplateButton['type'], WhatsAppIconName>;
|
|
9
|
+
export { defaultProps, BUTTON_ICONS };
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<WhatsAppTemplatePreviewOwnProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<WhatsAppTemplatePreviewOwnProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WhatsAppTemplatePreview';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const WhatsAppTemplateSelector: import("@mantine-vue/core").MantineComponent<{
|
|
2
|
+
props: Omit<import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSelectorProps, "rootRef">;
|
|
3
|
+
slots: import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSelectorSlots;
|
|
4
|
+
emits: import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSelectorEmits;
|
|
5
|
+
ref: HTMLDivElement;
|
|
6
|
+
element: "div";
|
|
7
|
+
stylesNames: import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSelectorStylesNames;
|
|
8
|
+
}>;
|
|
9
|
+
export type { WhatsAppTemplateSelectorEmits, WhatsAppTemplateSelectorFactory, WhatsAppTemplateSelectorOwnProps, WhatsAppTemplateSelectorProps, WhatsAppTemplateSelectorSlots, WhatsAppTemplateSelectorStylesNames, WhatsAppTemplateSubmitPayload, } from './WhatsAppTemplateSelector.types';
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { VNodeChild } from 'vue';
|
|
2
|
+
import type { BoxProps, Factory } from '@mantine-vue/core';
|
|
3
|
+
import type { StylesApiProps } from '@mantine-vue/core/styles-api';
|
|
4
|
+
import type { WhatsAppInboxLabelsOverride } from '../../labels';
|
|
5
|
+
import type { WhatsAppAttachment, WhatsAppTemplate, WhatsAppTemplateValues } from '../../types';
|
|
6
|
+
import type { WhatsAppTemplatePreviewStylesNames } from '../WhatsAppTemplatePreview';
|
|
7
|
+
export type WhatsAppTemplateSelectorStylesNames = 'templateSelectorRoot' | 'templateSelectorControls' | 'templateSelectorList' | 'templateSelectorItem' | 'templateSelectorItemName' | 'templateSelectorItemMeta' | 'templateSelectorItemBody' | 'templateSelectorState' | 'templateSelectorDetail' | 'templateSelectorPreview' | 'templateSelectorForm' | 'templateSelectorSection' | 'templateSelectorSectionTitle' | 'templateSelectorFooter' | WhatsAppTemplatePreviewStylesNames;
|
|
8
|
+
/** Payload of the `submit` event. */
|
|
9
|
+
export interface WhatsAppTemplateSubmitPayload {
|
|
10
|
+
/** The selected template, definition included. */
|
|
11
|
+
template: WhatsAppTemplate;
|
|
12
|
+
/** Values entered for its placeholders, already validated. */
|
|
13
|
+
values: WhatsAppTemplateValues;
|
|
14
|
+
}
|
|
15
|
+
export interface WhatsAppTemplateSelectorSlots {
|
|
16
|
+
/** Replaces the preview shown above the parameter form. */
|
|
17
|
+
templatePreview?: (props: {
|
|
18
|
+
template: WhatsAppTemplate;
|
|
19
|
+
}) => VNodeChild;
|
|
20
|
+
/** Replaces one row of the template list. */
|
|
21
|
+
templateItem?: (props: {
|
|
22
|
+
template: WhatsAppTemplate;
|
|
23
|
+
selected: boolean;
|
|
24
|
+
}) => VNodeChild;
|
|
25
|
+
/**
|
|
26
|
+
* Control that picks the media for a media header.
|
|
27
|
+
*
|
|
28
|
+
* The extension does not upload anything, so a template whose header expects an image, video
|
|
29
|
+
* or document needs the consumer to supply the picker and hand back a ready attachment.
|
|
30
|
+
*/
|
|
31
|
+
headerMedia?: (props: {
|
|
32
|
+
value: WhatsAppAttachment | null;
|
|
33
|
+
setValue: (attachment: WhatsAppAttachment | null) => void;
|
|
34
|
+
error: string | undefined;
|
|
35
|
+
}) => VNodeChild;
|
|
36
|
+
/** Replaces the empty state of the list. */
|
|
37
|
+
emptyTemplates?: () => VNodeChild;
|
|
38
|
+
}
|
|
39
|
+
export interface WhatsAppTemplateSelectorOwnProps extends StylesApiProps<WhatsAppTemplateSelectorFactory> {
|
|
40
|
+
/** Templates to offer. Filtering by `query` and `category` happens on this array. */
|
|
41
|
+
templates?: WhatsAppTemplate[];
|
|
42
|
+
/** Whether the template list is loading. */
|
|
43
|
+
loading?: boolean;
|
|
44
|
+
/** Failure of the last template load. Renders the error state with a retry action. */
|
|
45
|
+
error?: string | null;
|
|
46
|
+
/** Controlled search query. */
|
|
47
|
+
query?: string;
|
|
48
|
+
/** Uncontrolled initial search query. */
|
|
49
|
+
defaultQuery?: string;
|
|
50
|
+
/** Controlled category filter. `null` means no filter. */
|
|
51
|
+
category?: string | null;
|
|
52
|
+
/** Uncontrolled initial category filter. */
|
|
53
|
+
defaultCategory?: string | null;
|
|
54
|
+
/** Controlled id of the selected template. `null` shows the list. */
|
|
55
|
+
selectedTemplateId?: string | null;
|
|
56
|
+
/** Uncontrolled initial selection. */
|
|
57
|
+
defaultSelectedTemplateId?: string | null;
|
|
58
|
+
/** Controlled parameter values of the selected template. */
|
|
59
|
+
values?: WhatsAppTemplateValues;
|
|
60
|
+
/**
|
|
61
|
+
* Renders the search field.
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
64
|
+
withSearch?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Renders the category filter, built from the categories present in `templates`.
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
withCategoryFilter?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Renders templates whose status is not `approved` as disabled rows rather than hiding them,
|
|
72
|
+
* so the user can see that a template exists but is not sendable yet.
|
|
73
|
+
* @default true
|
|
74
|
+
*/
|
|
75
|
+
withUnavailable?: boolean;
|
|
76
|
+
/** Largest height of the scrollable list, any valid CSS length. */
|
|
77
|
+
listMaxHeight?: string | number;
|
|
78
|
+
/** Label overrides. */
|
|
79
|
+
labels?: WhatsAppInboxLabelsOverride;
|
|
80
|
+
}
|
|
81
|
+
export interface WhatsAppTemplateSelectorProps extends Omit<BoxProps, keyof WhatsAppTemplateSelectorOwnProps>, WhatsAppTemplateSelectorOwnProps {
|
|
82
|
+
}
|
|
83
|
+
export interface WhatsAppTemplateSelectorEmits {
|
|
84
|
+
/** Emitted when the search query changes. */
|
|
85
|
+
'update:query': [query: string];
|
|
86
|
+
/** Emitted when the category filter changes. */
|
|
87
|
+
'update:category': [category: string | null];
|
|
88
|
+
/** Emitted when the selected template changes. */
|
|
89
|
+
'update:selectedTemplateId': [templateId: string | null];
|
|
90
|
+
/** Emitted when a parameter value changes. */
|
|
91
|
+
'update:values': [values: WhatsAppTemplateValues];
|
|
92
|
+
/** Emitted when a template is picked from the list. */
|
|
93
|
+
select: [template: WhatsAppTemplate];
|
|
94
|
+
/** Emitted when the completed template passes validation and should be sent. */
|
|
95
|
+
submit: [payload: WhatsAppTemplateSubmitPayload];
|
|
96
|
+
/** Emitted when the retry action of the error state is used. */
|
|
97
|
+
retryLoad: [];
|
|
98
|
+
}
|
|
99
|
+
export type WhatsAppTemplateSelectorFactory = Factory<{
|
|
100
|
+
props: Omit<WhatsAppTemplateSelectorProps, 'rootRef'>;
|
|
101
|
+
slots: WhatsAppTemplateSelectorSlots;
|
|
102
|
+
emits: WhatsAppTemplateSelectorEmits;
|
|
103
|
+
ref: HTMLDivElement;
|
|
104
|
+
element: 'div';
|
|
105
|
+
stylesNames: WhatsAppTemplateSelectorStylesNames;
|
|
106
|
+
}>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { WhatsAppTemplate, WhatsAppTemplateValues } from '../../types';
|
|
2
|
+
import type { WhatsAppTemplateSelectorOwnProps, WhatsAppTemplateSelectorSlots } from './WhatsAppTemplateSelector.types';
|
|
3
|
+
declare const defaultProps: {
|
|
4
|
+
readonly withSearch: true;
|
|
5
|
+
readonly withCategoryFilter: true;
|
|
6
|
+
readonly withUnavailable: true;
|
|
7
|
+
};
|
|
8
|
+
declare const varsResolver: (theme: import("@mantine-vue/core").MantineTheme, props: any, ctx: Record<string, any>) => Record<string, Record<string, string | undefined>>;
|
|
9
|
+
export { defaultProps, varsResolver };
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<WhatsAppTemplateSelectorOwnProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
select: (template: WhatsAppTemplate) => any;
|
|
14
|
+
submit: (payload: import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSubmitPayload) => any;
|
|
15
|
+
"update:query": (query: string) => any;
|
|
16
|
+
"update:category": (category: string | null) => any;
|
|
17
|
+
"update:selectedTemplateId": (templateId: string | null) => any;
|
|
18
|
+
"update:values": (values: WhatsAppTemplateValues) => any;
|
|
19
|
+
retryLoad: () => any;
|
|
20
|
+
}, string, import("vue").PublicProps, Readonly<WhatsAppTemplateSelectorOwnProps> & Readonly<{
|
|
21
|
+
onSelect?: ((template: WhatsAppTemplate) => any) | undefined;
|
|
22
|
+
onSubmit?: ((payload: import("./WhatsAppTemplateSelector.types").WhatsAppTemplateSubmitPayload) => any) | undefined;
|
|
23
|
+
"onUpdate:query"?: ((query: string) => any) | undefined;
|
|
24
|
+
"onUpdate:category"?: ((category: string | null) => any) | undefined;
|
|
25
|
+
"onUpdate:selectedTemplateId"?: ((templateId: string | null) => any) | undefined;
|
|
26
|
+
"onUpdate:values"?: ((values: WhatsAppTemplateValues) => any) | undefined;
|
|
27
|
+
onRetryLoad?: (() => any) | undefined;
|
|
28
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, WhatsAppTemplateSelectorSlots>;
|
|
29
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WhatsAppTemplateSelector';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emoji dataset for the built-in picker.
|
|
3
|
+
*
|
|
4
|
+
* This curated subset limits bundle size. Entries are stored as tuples and expanded at module
|
|
5
|
+
* load.
|
|
6
|
+
*
|
|
7
|
+
* Use the `emojiPicker` slot for a complete catalogue, skin-tone variants, or localized names.
|
|
8
|
+
*/
|
|
9
|
+
/** Category an emoji belongs to. Mirrors the tabs WhatsApp shows. */
|
|
10
|
+
export type WhatsAppEmojiGroupId = 'recent' | 'smileys' | 'people' | 'animals' | 'food' | 'activity' | 'travel' | 'objects' | 'symbols' | 'flags';
|
|
11
|
+
/** One entry of the dataset. */
|
|
12
|
+
export interface WhatsAppEmoji {
|
|
13
|
+
/** Character inserted into the composer. */
|
|
14
|
+
emoji: string;
|
|
15
|
+
/** Short name, used as the accessible name, the tooltip and the primary search term. */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Extra words the search matches on. */
|
|
18
|
+
keywords: string[];
|
|
19
|
+
/** Category the emoji is listed under. */
|
|
20
|
+
group: WhatsAppEmojiGroupId;
|
|
21
|
+
}
|
|
22
|
+
/** The full dataset, in the order the picker renders it. */
|
|
23
|
+
export declare const WHATSAPP_EMOJIS: WhatsAppEmoji[];
|
|
24
|
+
/** Lookup by character, used to resolve recently-used emoji back to full entries. */
|
|
25
|
+
export declare const WHATSAPP_EMOJIS_BY_CHAR: ReadonlyMap<string, WhatsAppEmoji>;
|
|
26
|
+
/** Group ids in the order the tab strip shows them, `recent` excluded. */
|
|
27
|
+
export declare const WHATSAPP_EMOJI_GROUP_ORDER: ("flags" | "objects" | "smileys" | "people" | "animals" | "food" | "activity" | "travel" | "symbols")[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { WhatsAppInboxLabels } from '../labels';
|
|
2
|
+
import { type WhatsAppEmoji, type WhatsAppEmojiGroupId } from './emoji-data';
|
|
3
|
+
/** Tab metadata for one emoji category. */
|
|
4
|
+
export interface WhatsAppEmojiGroup {
|
|
5
|
+
id: WhatsAppEmojiGroupId;
|
|
6
|
+
/** Glyph shown in the tab strip. */
|
|
7
|
+
icon: string;
|
|
8
|
+
/** Key of the label that names the group. */
|
|
9
|
+
labelKey: keyof WhatsAppInboxLabels;
|
|
10
|
+
}
|
|
11
|
+
/** Every category the picker can show, in tab order. `recent` comes first when it has entries. */
|
|
12
|
+
export declare const WHATSAPP_EMOJI_GROUPS: readonly WhatsAppEmojiGroup[];
|
|
13
|
+
/**
|
|
14
|
+
* Which emoji the picker offers.
|
|
15
|
+
*
|
|
16
|
+
* Allow-lists win over block-lists, and `filter` has the final say, so a policy can be expressed
|
|
17
|
+
* either way round: start from everything and remove, or start from nothing and add.
|
|
18
|
+
*/
|
|
19
|
+
export interface WhatsAppEmojiFilterOptions {
|
|
20
|
+
/** Only these categories are shown, in the order given. */
|
|
21
|
+
groups?: WhatsAppEmojiGroupId[];
|
|
22
|
+
/** These categories are removed. Ignored for a category listed in `groups`. */
|
|
23
|
+
excludeGroups?: WhatsAppEmojiGroupId[];
|
|
24
|
+
/** Allow-list of characters. When set, nothing outside it is shown. */
|
|
25
|
+
emojis?: string[];
|
|
26
|
+
/** Block-list of characters. */
|
|
27
|
+
excludeEmojis?: string[];
|
|
28
|
+
/** Final say. Return `false` to drop an entry that passed everything above. */
|
|
29
|
+
filter?: (emoji: WhatsAppEmoji) => boolean;
|
|
30
|
+
/** Replaces the built-in dataset, for a fuller catalogue or localized names. */
|
|
31
|
+
emojiData?: WhatsAppEmoji[];
|
|
32
|
+
}
|
|
33
|
+
/** Applies the configured allow-lists, block-lists and predicate to the dataset. */
|
|
34
|
+
export declare function filterEmojis(options?: WhatsAppEmojiFilterOptions): WhatsAppEmoji[];
|
|
35
|
+
/**
|
|
36
|
+
* Categories present in a filtered set, in the order `groups` asked for, or the default order.
|
|
37
|
+
*
|
|
38
|
+
* Derived from the entries rather than the options so a category that filtered down to nothing
|
|
39
|
+
* never shows an empty tab.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getEmojiGroups(emojis: WhatsAppEmoji[], order?: WhatsAppEmojiGroupId[]): WhatsAppEmojiGroupId[];
|
|
42
|
+
/**
|
|
43
|
+
* Matches a query against names and keywords.
|
|
44
|
+
*
|
|
45
|
+
* Whole-word prefix matching rather than a substring scan: searching `cat` should surface the cat
|
|
46
|
+
* face before `communication`, and prefix matching on each word is what gets that ordering for
|
|
47
|
+
* free while still finding `black cat`.
|
|
48
|
+
*/
|
|
49
|
+
export declare function searchEmojis(emojis: WhatsAppEmoji[], query: string): WhatsAppEmoji[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { WHATSAPP_EMOJI_GROUP_ORDER, WHATSAPP_EMOJIS, WHATSAPP_EMOJIS_BY_CHAR } from './emoji-data';
|
|
2
|
+
export type { WhatsAppEmoji, WhatsAppEmojiGroupId } from './emoji-data';
|
|
3
|
+
export { WHATSAPP_EMOJI_GROUPS, filterEmojis, getEmojiGroups, searchEmojis } from './emoji-filter';
|
|
4
|
+
export type { WhatsAppEmojiFilterOptions, WhatsAppEmojiGroup } from './emoji-filter';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type WhatsAppIconName } from './icon-paths';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** Which built-in glyph to render. */
|
|
4
|
+
name: WhatsAppIconName;
|
|
5
|
+
/** Any valid CSS length. Numbers are treated as pixels. */
|
|
6
|
+
size?: string | number;
|
|
7
|
+
/** Stroke width on the 24x24 grid. */
|
|
8
|
+
strokeWidth?: number;
|
|
9
|
+
/** Filled glyphs (`play`) look better without a stroke. */
|
|
10
|
+
filled?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outline icon paths used by the inbox.
|
|
3
|
+
*
|
|
4
|
+
* Bundled to avoid requiring a separate icon library. Paths use a 24x24 grid and
|
|
5
|
+
* `currentColor`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const WHATSAPP_ICON_PATHS: {
|
|
8
|
+
readonly clock: readonly ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M12 7v5l3 2"];
|
|
9
|
+
readonly check: readonly ["M5 12l5 5l10 -10"];
|
|
10
|
+
readonly checks: readonly ["M7 12l5 5l10 -10", "M2 12l5 5m5 -5l5 -5"];
|
|
11
|
+
readonly alert: readonly ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M12 8v4", "M12 16h.01"];
|
|
12
|
+
readonly alertTriangle: readonly ["M12 9v4", "M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z", "M12 16h.01"];
|
|
13
|
+
readonly paperclip: readonly ["M15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3l6.5 -6.5a3 3 0 0 0 -6 -6l-6.5 6.5a4.5 4.5 0 0 0 9 9l6.5 -6.5"];
|
|
14
|
+
readonly send: readonly ["M10 14l11 -11", "M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5"];
|
|
15
|
+
readonly emoji: readonly ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M9 10h.01", "M15 10h.01", "M9.5 15a3.5 3.5 0 0 0 5 0"];
|
|
16
|
+
readonly template: readonly ["M14 3v4a1 1 0 0 0 1 1h4", "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z", "M9 13h6", "M9 17h6"];
|
|
17
|
+
readonly interactive: readonly ["M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z", "M4 14m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"];
|
|
18
|
+
readonly download: readonly ["M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2", "M7 11l5 5l5 -5", "M12 4v12"];
|
|
19
|
+
readonly photo: readonly ["M15 8h.01", "M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z", "M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5", "M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"];
|
|
20
|
+
readonly video: readonly ["M15 10l4.553 -2.276a1 1 0 0 1 1.447 .894v6.764a1 1 0 0 1 -1.447 .894l-4.553 -2.276z", "M3 8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"];
|
|
21
|
+
readonly microphone: readonly ["M9 5a3 3 0 0 1 6 0v5a3 3 0 0 1 -6 0z", "M5 10a7 7 0 0 0 14 0", "M8 21h8", "M12 17v4"];
|
|
22
|
+
readonly file: readonly ["M14 3v4a1 1 0 0 0 1 1h4", "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"];
|
|
23
|
+
readonly chevronDown: readonly ["M6 9l6 6l6 -6"];
|
|
24
|
+
readonly arrowLeft: readonly ["M5 12h14", "M5 12l6 6", "M5 12l6 -6"];
|
|
25
|
+
readonly search: readonly ["M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0", "M21 21l-6 -6"];
|
|
26
|
+
readonly info: readonly ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M12 9h.01", "M11 12h1v4h1"];
|
|
27
|
+
readonly play: readonly ["M7 4v16l13 -8z"];
|
|
28
|
+
readonly lock: readonly ["M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z", "M12 16m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", "M8 11v-4a4 4 0 1 1 8 0v4"];
|
|
29
|
+
readonly mute: readonly ["M17 17h-13a4 4 0 0 0 2 -3v-3a7 7 0 0 1 1.279 -3.951m2.041 -1.847c.593 -.135 1.183 -.202 1.68 -.202a7 7 0 0 1 7 7v3", "M9 17v1a3 3 0 0 0 6 0v-1", "M3 3l18 18"];
|
|
30
|
+
readonly pin: readonly ["M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4", "M9 15l-4.5 4.5", "M14.5 4l5.5 5.5"];
|
|
31
|
+
readonly externalLink: readonly ["M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6", "M11 13l9 -9", "M15 4h5v5"];
|
|
32
|
+
readonly phone: readonly ["M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2"];
|
|
33
|
+
readonly mapPin: readonly ["M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", "M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"];
|
|
34
|
+
readonly user: readonly ["M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0", "M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"];
|
|
35
|
+
readonly close: readonly ["M18 6l-12 12", "M6 6l12 12"];
|
|
36
|
+
readonly refresh: readonly ["M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4", "M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"];
|
|
37
|
+
readonly reply: readonly ["M18 18v-6a3 3 0 0 0 -3 -3h-10", "M9 13l-4 -4l4 -4"];
|
|
38
|
+
readonly message: readonly ["M8 9h8", "M8 13h6", "M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3z"];
|
|
39
|
+
readonly plus: readonly ["M12 5v14", "M5 12h14"];
|
|
40
|
+
readonly inbox: readonly ["M4 13h3l3 3h4l3 -3h3", "M5 19h14a2 2 0 0 0 2 -2v-10a2 2 0 0 0 -2 -2h-14a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2z"];
|
|
41
|
+
};
|
|
42
|
+
/** Name of one of the built-in icons. */
|
|
43
|
+
export type WhatsAppIconName = keyof typeof WHATSAPP_ICON_PATHS;
|
package/lib/index.d.mts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './component-props';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './emoji';
|
|
5
|
+
export { DEFAULT_WHATSAPP_INBOX_LABELS, getWhatsAppLabel, mergeWhatsAppLabels } from './labels';
|
|
6
|
+
export type { WhatsAppInboxLabels, WhatsAppInboxLabelsOverride } from './labels';
|
|
7
|
+
export { DEFAULT_WHATSAPP_INBOX_FORMATTERS, provideWhatsAppConversationContext, provideWhatsAppInboxConfig, useResolvedCapabilities, useWhatsAppConversationContext, useWhatsAppInboxConfig, } from './WhatsAppInbox.context';
|
|
8
|
+
export type { WhatsAppConversationContextValue, WhatsAppInboxConfig, WhatsAppInboxConfigSource, WhatsAppInboxFormatters, } from './WhatsAppInbox.context';
|
|
9
|
+
export * from './components/WhatsAppInboxProvider';
|
|
10
|
+
export * from './components/WhatsAppInbox';
|
|
11
|
+
export * from './components/WhatsAppInboxModal';
|
|
12
|
+
export * from './components/WhatsAppInboxDrawer';
|
|
13
|
+
export * from './components/WhatsAppConversation';
|
|
14
|
+
export * from './components/WhatsAppConversationHeader';
|
|
15
|
+
export * from './components/WhatsAppConversationList';
|
|
16
|
+
export * from './components/WhatsAppConversationListItem';
|
|
17
|
+
export * from './components/WhatsAppContactPanel';
|
|
18
|
+
export * from './components/WhatsAppMessageList';
|
|
19
|
+
export * from './components/WhatsAppMessage';
|
|
20
|
+
export * from './components/WhatsAppMessageBubble';
|
|
21
|
+
export * from './components/WhatsAppMessageStatus';
|
|
22
|
+
export * from './components/WhatsAppMediaAttachment';
|
|
23
|
+
export * from './components/WhatsAppAttachmentPreview';
|
|
24
|
+
export * from './components/WhatsAppComposer';
|
|
25
|
+
export * from './components/WhatsAppEmojiPicker';
|
|
26
|
+
export * from './components/WhatsAppTemplateSelector';
|
|
27
|
+
export * from './components/WhatsAppTemplatePreview';
|
|
28
|
+
export * from './components/WhatsAppInteractiveMessageEditor';
|
|
29
|
+
export * from './components/WhatsAppMessagingWindowNotice';
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './component-props';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './emoji';
|
|
5
|
+
export { DEFAULT_WHATSAPP_INBOX_LABELS, getWhatsAppLabel, mergeWhatsAppLabels } from './labels';
|
|
6
|
+
export type { WhatsAppInboxLabels, WhatsAppInboxLabelsOverride } from './labels';
|
|
7
|
+
export { DEFAULT_WHATSAPP_INBOX_FORMATTERS, provideWhatsAppConversationContext, provideWhatsAppInboxConfig, useResolvedCapabilities, useWhatsAppConversationContext, useWhatsAppInboxConfig, } from './WhatsAppInbox.context';
|
|
8
|
+
export type { WhatsAppConversationContextValue, WhatsAppInboxConfig, WhatsAppInboxConfigSource, WhatsAppInboxFormatters, } from './WhatsAppInbox.context';
|
|
9
|
+
export * from './components/WhatsAppInboxProvider';
|
|
10
|
+
export * from './components/WhatsAppInbox';
|
|
11
|
+
export * from './components/WhatsAppInboxModal';
|
|
12
|
+
export * from './components/WhatsAppInboxDrawer';
|
|
13
|
+
export * from './components/WhatsAppConversation';
|
|
14
|
+
export * from './components/WhatsAppConversationHeader';
|
|
15
|
+
export * from './components/WhatsAppConversationList';
|
|
16
|
+
export * from './components/WhatsAppConversationListItem';
|
|
17
|
+
export * from './components/WhatsAppContactPanel';
|
|
18
|
+
export * from './components/WhatsAppMessageList';
|
|
19
|
+
export * from './components/WhatsAppMessage';
|
|
20
|
+
export * from './components/WhatsAppMessageBubble';
|
|
21
|
+
export * from './components/WhatsAppMessageStatus';
|
|
22
|
+
export * from './components/WhatsAppMediaAttachment';
|
|
23
|
+
export * from './components/WhatsAppAttachmentPreview';
|
|
24
|
+
export * from './components/WhatsAppComposer';
|
|
25
|
+
export * from './components/WhatsAppEmojiPicker';
|
|
26
|
+
export * from './components/WhatsAppTemplateSelector';
|
|
27
|
+
export * from './components/WhatsAppTemplatePreview';
|
|
28
|
+
export * from './components/WhatsAppInteractiveMessageEditor';
|
|
29
|
+
export * from './components/WhatsAppMessagingWindowNotice';
|