@botonic/react 0.31.0-alpha.1 → 0.31.0-alpha.3

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.
Files changed (172) hide show
  1. package/lib/cjs/components/element.js +6 -6
  2. package/lib/cjs/components/element.js.map +1 -1
  3. package/lib/cjs/components/index-types.d.ts +2 -0
  4. package/lib/cjs/components/multichannel/multichannel-button.js +2 -2
  5. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
  6. package/lib/cjs/components/multichannel/multichannel-carousel.js +4 -4
  7. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  8. package/lib/cjs/components/multichannel/multichannel-text.js +12 -11
  9. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  10. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +9 -15
  11. package/lib/cjs/components/multichannel/multichannel-utils.js +48 -27
  12. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  13. package/lib/cjs/components/multichannel/multichannel.js +7 -7
  14. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  15. package/lib/cjs/components/multichannel/whatsapp/constants.d.ts +11 -0
  16. package/lib/cjs/components/multichannel/whatsapp/constants.js +13 -0
  17. package/lib/cjs/components/multichannel/whatsapp/constants.js.map +1 -0
  18. package/lib/cjs/components/whatsapp-button-list.js +2 -2
  19. package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
  20. package/lib/cjs/components/whatsapp-cta-url-button.js +5 -5
  21. package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
  22. package/lib/cjs/constants.d.ts +0 -6
  23. package/lib/cjs/constants.js +1 -7
  24. package/lib/cjs/constants.js.map +1 -1
  25. package/lib/cjs/contexts.js +6 -0
  26. package/lib/cjs/contexts.js.map +1 -1
  27. package/lib/cjs/dev-app.d.ts +7 -0
  28. package/lib/cjs/dev-app.js +5 -2
  29. package/lib/cjs/dev-app.js.map +1 -1
  30. package/lib/cjs/index-types.d.ts +4 -7
  31. package/lib/cjs/index-types.js.map +1 -1
  32. package/lib/cjs/index.d.ts +1 -1
  33. package/lib/cjs/index.js.map +1 -1
  34. package/lib/cjs/webchat/actions.d.ts +2 -1
  35. package/lib/cjs/webchat/actions.js +1 -0
  36. package/lib/cjs/webchat/actions.js.map +1 -1
  37. package/lib/cjs/webchat/cover-component/index.d.ts +6 -0
  38. package/lib/cjs/webchat/cover-component/index.js +21 -0
  39. package/lib/cjs/webchat/cover-component/index.js.map +1 -0
  40. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  41. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  42. package/lib/cjs/webchat/hooks/use-webchat.d.ts +1 -0
  43. package/lib/cjs/webchat/hooks/use-webchat.js +8 -0
  44. package/lib/cjs/webchat/hooks/use-webchat.js.map +1 -1
  45. package/lib/cjs/webchat/index-types.d.ts +1 -0
  46. package/lib/cjs/webchat/input-panel/textarea.js +8 -2
  47. package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
  48. package/lib/cjs/webchat/message-list/index.js +63 -35
  49. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  50. package/lib/cjs/webchat/message-list/styles.js +3 -3
  51. package/lib/cjs/webchat/typing-indicator/index.d.ts +3 -1
  52. package/lib/cjs/webchat/typing-indicator/index.js +4 -3
  53. package/lib/cjs/webchat/typing-indicator/index.js.map +1 -1
  54. package/lib/cjs/webchat/typing-indicator/styles.d.ts +3 -2
  55. package/lib/cjs/webchat/typing-indicator/styles.js +6 -3
  56. package/lib/cjs/webchat/typing-indicator/styles.js.map +1 -1
  57. package/lib/cjs/webchat/webchat-reducer.js +2 -0
  58. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  59. package/lib/cjs/webchat/webchat-typed/styles.d.ts +7 -0
  60. package/lib/cjs/webchat/webchat-typed/styles.js +54 -0
  61. package/lib/cjs/webchat/webchat-typed/styles.js.map +1 -0
  62. package/lib/cjs/webchat/webchat-typed/webchat-typed.d.ts +0 -0
  63. package/lib/cjs/webchat/webchat-typed/webchat-typed.js +663 -0
  64. package/lib/cjs/webchat/webchat-typed/webchat-typed.js.map +1 -0
  65. package/lib/cjs/webchat/webchat.js +16 -18
  66. package/lib/cjs/webchat/webchat.js.map +1 -1
  67. package/lib/cjs/webchat-app.d.ts +119 -72
  68. package/lib/cjs/webchat-app.js +98 -53
  69. package/lib/cjs/webchat-app.js.map +1 -1
  70. package/lib/cjs/webview-app.js +5 -2
  71. package/lib/cjs/webview-app.js.map +1 -1
  72. package/lib/esm/components/element.js +6 -6
  73. package/lib/esm/components/element.js.map +1 -1
  74. package/lib/esm/components/index-types.d.ts +2 -0
  75. package/lib/esm/components/multichannel/multichannel-button.js +1 -1
  76. package/lib/esm/components/multichannel/multichannel-carousel.js +5 -5
  77. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
  78. package/lib/esm/components/multichannel/multichannel-text.js +2 -1
  79. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
  80. package/lib/esm/components/multichannel/multichannel-utils.d.ts +9 -15
  81. package/lib/esm/components/multichannel/multichannel-utils.js +40 -24
  82. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
  83. package/lib/esm/components/multichannel/multichannel.js +7 -7
  84. package/lib/esm/components/multichannel/multichannel.js.map +1 -1
  85. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
  86. package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
  87. package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
  88. package/lib/esm/components/whatsapp-button-list.js +1 -1
  89. package/lib/esm/components/whatsapp-cta-url-button.js +1 -1
  90. package/lib/esm/constants.d.ts +0 -6
  91. package/lib/esm/constants.js +0 -6
  92. package/lib/esm/constants.js.map +1 -1
  93. package/lib/esm/contexts.js +6 -0
  94. package/lib/esm/contexts.js.map +1 -1
  95. package/lib/esm/dev-app.d.ts +7 -0
  96. package/lib/esm/dev-app.js +5 -2
  97. package/lib/esm/dev-app.js.map +1 -1
  98. package/lib/esm/index-types.d.ts +4 -7
  99. package/lib/esm/index-types.js.map +1 -1
  100. package/lib/esm/index.d.ts +1 -1
  101. package/lib/esm/index.js.map +1 -1
  102. package/lib/esm/webchat/actions.d.ts +2 -1
  103. package/lib/esm/webchat/actions.js +1 -0
  104. package/lib/esm/webchat/actions.js.map +1 -1
  105. package/lib/esm/webchat/cover-component/index.d.ts +6 -0
  106. package/lib/esm/webchat/cover-component/index.js +17 -0
  107. package/lib/esm/webchat/cover-component/index.js.map +1 -0
  108. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  109. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  110. package/lib/esm/webchat/hooks/use-webchat.d.ts +1 -0
  111. package/lib/esm/webchat/hooks/use-webchat.js +8 -0
  112. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -1
  113. package/lib/esm/webchat/index-types.d.ts +1 -0
  114. package/lib/esm/webchat/input-panel/textarea.js +8 -2
  115. package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
  116. package/lib/esm/webchat/message-list/index.js +62 -35
  117. package/lib/esm/webchat/message-list/index.js.map +1 -1
  118. package/lib/esm/webchat/message-list/styles.js +3 -3
  119. package/lib/esm/webchat/typing-indicator/index.d.ts +3 -1
  120. package/lib/esm/webchat/typing-indicator/index.js +5 -2
  121. package/lib/esm/webchat/typing-indicator/index.js.map +1 -1
  122. package/lib/esm/webchat/typing-indicator/styles.d.ts +3 -2
  123. package/lib/esm/webchat/typing-indicator/styles.js +5 -2
  124. package/lib/esm/webchat/typing-indicator/styles.js.map +1 -1
  125. package/lib/esm/webchat/webchat-reducer.js +2 -0
  126. package/lib/esm/webchat/webchat-reducer.js.map +1 -1
  127. package/lib/esm/webchat/webchat-typed/styles.d.ts +7 -0
  128. package/lib/esm/webchat/webchat-typed/styles.js +50 -0
  129. package/lib/esm/webchat/webchat-typed/styles.js.map +1 -0
  130. package/lib/esm/webchat/webchat-typed/webchat-typed.d.ts +0 -0
  131. package/lib/esm/webchat/webchat-typed/webchat-typed.js +663 -0
  132. package/lib/esm/webchat/webchat-typed/webchat-typed.js.map +1 -0
  133. package/lib/esm/webchat/webchat.js +16 -18
  134. package/lib/esm/webchat/webchat.js.map +1 -1
  135. package/lib/esm/webchat-app.d.ts +119 -72
  136. package/lib/esm/webchat-app.js +99 -54
  137. package/lib/esm/webchat-app.js.map +1 -1
  138. package/lib/esm/webview-app.js +5 -2
  139. package/lib/esm/webview-app.js.map +1 -1
  140. package/package.json +3 -2
  141. package/src/components/element.jsx +4 -11
  142. package/src/components/index-types.ts +4 -0
  143. package/src/components/multichannel/multichannel-button.jsx +1 -1
  144. package/src/components/multichannel/multichannel-carousel.jsx +7 -5
  145. package/src/components/multichannel/multichannel-text.jsx +4 -2
  146. package/src/components/multichannel/multichannel-utils.js +45 -27
  147. package/src/components/multichannel/multichannel.jsx +12 -7
  148. package/src/components/multichannel/whatsapp/constants.ts +10 -0
  149. package/src/components/whatsapp-button-list.tsx +1 -1
  150. package/src/components/whatsapp-cta-url-button.tsx +1 -1
  151. package/src/constants.js +0 -7
  152. package/src/contexts.tsx +6 -0
  153. package/src/dev-app.jsx +5 -5
  154. package/src/index-types.ts +4 -7
  155. package/src/index.ts +1 -1
  156. package/src/webchat/actions.ts +1 -0
  157. package/src/webchat/cover-component/index.tsx +31 -0
  158. package/src/webchat/hooks/use-scroll-to-bottom.ts +8 -2
  159. package/src/webchat/hooks/use-webchat.ts +9 -0
  160. package/src/webchat/index-types.ts +1 -0
  161. package/src/webchat/input-panel/textarea.tsx +12 -1
  162. package/src/webchat/message-list/index.tsx +79 -48
  163. package/src/webchat/message-list/styles.ts +3 -3
  164. package/src/webchat/typing-indicator/index.tsx +20 -12
  165. package/src/webchat/typing-indicator/styles.ts +7 -3
  166. package/src/webchat/webchat-reducer.ts +2 -0
  167. package/src/webchat/webchat-typed/styles.ts +54 -0
  168. package/src/webchat/webchat-typed/webchat-typed.tsx +728 -0
  169. package/src/webchat/webchat.jsx +48 -48
  170. package/src/webchat-app.tsx +546 -0
  171. package/src/webview-app.tsx +6 -4
  172. package/src/webchat-app.jsx +0 -389
@@ -1,16 +1,24 @@
1
- import React from 'react'
1
+ import React, { ForwardedRef, forwardRef } from 'react'
2
2
 
3
3
  import { COLORS, ROLES } from '../../constants'
4
- import { Dot, TypingIndicatorWrapper } from './styles'
4
+ import { Dot, TypingContainer, TypingMsgWrapper } from './styles'
5
5
 
6
- export const TypingIndicator = () => (
7
- <TypingIndicatorWrapper
8
- role={ROLES.TYPING_INDICATOR}
9
- className='typing-indicator'
10
- backgroundColor={COLORS.SEASHELL_WHITE}
11
- >
12
- <Dot />
13
- <Dot />
14
- <Dot />
15
- </TypingIndicatorWrapper>
6
+ const TypingIndicator = forwardRef<HTMLDivElement, any>(
7
+ (_props, ref: ForwardedRef<HTMLDivElement>) => (
8
+ <TypingContainer ref={ref}>
9
+ <TypingMsgWrapper
10
+ role={ROLES.TYPING_INDICATOR}
11
+ className='typing-indicator'
12
+ backgroundColor={COLORS.SEASHELL_WHITE}
13
+ >
14
+ <Dot />
15
+ <Dot />
16
+ <Dot />
17
+ </TypingMsgWrapper>
18
+ </TypingContainer>
19
+ )
16
20
  )
21
+
22
+ TypingIndicator.displayName = 'TypingIndicator'
23
+
24
+ export default TypingIndicator
@@ -12,16 +12,20 @@ const bulge = keyframes`
12
12
  }
13
13
  `
14
14
 
15
- interface TypingIndicatorWrapperProps {
15
+ export const TypingContainer = styled.div`
16
+ padding: 0px 8px 8px 8px;
17
+ `
18
+
19
+ interface TypingMsgWrapperProps {
16
20
  backgroundColor: string
17
21
  }
18
22
 
19
- export const TypingIndicatorWrapper = styled.div<TypingIndicatorWrapperProps>`
23
+ export const TypingMsgWrapper = styled.div<TypingMsgWrapperProps>`
20
24
  will-change: transform;
21
25
  width: 44px;
22
26
  line-height: 0px;
23
27
  border-radius: 20px;
24
- padding: 8px 2px 8px;
28
+ padding: 8px 2px;
25
29
  text-align: center;
26
30
  display: block;
27
31
  margin: 8px;
@@ -48,6 +48,8 @@ export function webchatReducer(
48
48
  return { ...state, lastRoutePath: action.payload }
49
49
  case WebchatAction.SET_CURRENT_ATTACHMENT:
50
50
  return { ...state, currentAttachment: action.payload }
51
+ case WebchatAction.SET_IS_INPUT_FOCUSED:
52
+ return { ...state, isInputFocused: action.payload }
51
53
  default:
52
54
  return messagesReducer(state, action)
53
55
  }
@@ -0,0 +1,54 @@
1
+ import styled from 'styled-components'
2
+
3
+ import { COLORS, WEBCHAT } from '../../constants'
4
+
5
+ export const StyledWebchat = styled.div<{ height: string; width: string }>`
6
+ position: fixed;
7
+ right: 20px;
8
+ bottom: 20px;
9
+ width: ${props => props.width}px;
10
+ height: ${props => props.height}px;
11
+ margin: auto;
12
+ background-color: ${COLORS.SOLID_WHITE};
13
+ border-radius: 10px;
14
+ box-shadow: ${COLORS.SOLID_BLACK_ALPHA_0_2} 0px 0px 12px;
15
+ display: flex;
16
+ flex-direction: column;
17
+ justify-content: space-between;
18
+ overflow: hidden;
19
+ `
20
+
21
+ export const ErrorMessageContainer = styled.div`
22
+ position: relative;
23
+ display: flex;
24
+ z-index: 1;
25
+ justify-content: center;
26
+ width: 100%;
27
+ `
28
+
29
+ export const ErrorMessage = styled.div`
30
+ position: absolute;
31
+ top: 10px;
32
+ font-size: 14px;
33
+ line-height: 20px;
34
+ padding: 4px 11px;
35
+ display: flex;
36
+ background-color: ${COLORS.ERROR_RED};
37
+ color: ${COLORS.CONCRETE_WHITE};
38
+ border-radius: 5px;
39
+ align-items: center;
40
+ justify-content: center;
41
+ font-family: ${WEBCHAT.DEFAULTS.FONT_FAMILY};
42
+ `
43
+
44
+ export const DarkBackgroundMenu = styled.div`
45
+ background: ${COLORS.SOLID_BLACK};
46
+ opacity: 0.3;
47
+ z-index: 1;
48
+ right: 0;
49
+ bottom: 0;
50
+ border-radius: 10px;
51
+ position: absolute;
52
+ width: 100%;
53
+ height: 100%;
54
+ `