@veracity/vui 2.5.0-beta.0 → 2.5.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.
Files changed (271) hide show
  1. package/dist/cjs/checkbox/checkbox.d.ts.map +1 -1
  2. package/dist/cjs/checkbox/checkbox.js +5 -5
  3. package/dist/cjs/checkbox/checkbox.types.d.ts +1 -1
  4. package/dist/cjs/checkbox/checkbox.types.d.ts.map +1 -1
  5. package/dist/cjs/checkbox/checkboxGroup.d.ts.map +1 -1
  6. package/dist/cjs/checkbox/checkboxGroup.js +2 -2
  7. package/dist/cjs/checkbox/checkboxGroup.types.d.ts +1 -1
  8. package/dist/cjs/checkbox/checkboxGroup.types.d.ts.map +1 -1
  9. package/dist/cjs/checkbox/consts.d.ts +6 -0
  10. package/dist/cjs/checkbox/consts.d.ts.map +1 -0
  11. package/dist/cjs/checkbox/consts.js +8 -0
  12. package/dist/cjs/checkbox/theme.d.ts +7 -13
  13. package/dist/cjs/checkbox/theme.d.ts.map +1 -1
  14. package/dist/cjs/checkbox/theme.js +8 -19
  15. package/dist/cjs/core/consts.d.ts +1 -0
  16. package/dist/cjs/core/consts.d.ts.map +1 -1
  17. package/dist/cjs/core/consts.js +2 -1
  18. package/dist/cjs/core/vuiProvider/fontFaces.d.ts.map +1 -1
  19. package/dist/cjs/core/vuiProvider/fontFaces.js +44 -4
  20. package/dist/cjs/core/vuiProvider/globalStyle.d.ts.map +1 -1
  21. package/dist/cjs/core/vuiProvider/globalStyle.js +5 -2
  22. package/dist/cjs/icons/baseIcons/fal/falClockRotateLeft.d.ts +4 -0
  23. package/dist/cjs/icons/baseIcons/fal/falClockRotateLeft.d.ts.map +1 -0
  24. package/dist/cjs/icons/baseIcons/fal/falClockRotateLeft.js +7 -0
  25. package/dist/cjs/icons/baseIcons/icons.d.ts +1 -0
  26. package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
  27. package/dist/cjs/icons/baseIcons/icons.js +7 -5
  28. package/dist/cjs/icons/baseIcons/types.d.ts +1 -1
  29. package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
  30. package/dist/cjs/index.d.ts +1 -0
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +1 -0
  33. package/dist/cjs/input/inputInput.d.ts.map +1 -1
  34. package/dist/cjs/input/inputInput.js +0 -5
  35. package/dist/cjs/panel/theme.js +1 -1
  36. package/dist/cjs/progress/progress.d.ts +1 -1
  37. package/dist/cjs/progress/progress.d.ts.map +1 -1
  38. package/dist/cjs/progress/progress.js +10 -7
  39. package/dist/cjs/progress/progress.types.d.ts +0 -1
  40. package/dist/cjs/progress/progress.types.d.ts.map +1 -1
  41. package/dist/cjs/progress/theme.d.ts +15 -1
  42. package/dist/cjs/progress/theme.d.ts.map +1 -1
  43. package/dist/cjs/progress/theme.js +16 -2
  44. package/dist/cjs/progressCircular/consts.d.ts +12 -0
  45. package/dist/cjs/progressCircular/consts.d.ts.map +1 -0
  46. package/dist/cjs/progressCircular/consts.js +14 -0
  47. package/dist/cjs/progressCircular/index.d.ts +4 -0
  48. package/dist/cjs/progressCircular/index.d.ts.map +1 -0
  49. package/dist/cjs/progressCircular/index.js +24 -0
  50. package/dist/cjs/progressCircular/progressCircular.d.ts +6 -0
  51. package/dist/cjs/progressCircular/progressCircular.d.ts.map +1 -0
  52. package/dist/cjs/progressCircular/progressCircular.js +82 -0
  53. package/dist/cjs/progressCircular/progressCircular.types.d.ts +8 -0
  54. package/dist/cjs/progressCircular/progressCircular.types.d.ts.map +1 -0
  55. package/dist/cjs/progressCircular/progressCircular.types.js +2 -0
  56. package/dist/cjs/progressCircular/theme.d.ts +57 -0
  57. package/dist/cjs/progressCircular/theme.d.ts.map +1 -0
  58. package/dist/cjs/progressCircular/theme.js +47 -0
  59. package/dist/cjs/radio/consts.d.ts +6 -0
  60. package/dist/cjs/radio/consts.d.ts.map +1 -0
  61. package/dist/cjs/radio/consts.js +8 -0
  62. package/dist/cjs/radio/radio.d.ts.map +1 -1
  63. package/dist/cjs/radio/radio.js +5 -4
  64. package/dist/cjs/radio/radio.types.d.ts +1 -1
  65. package/dist/cjs/radio/radio.types.d.ts.map +1 -1
  66. package/dist/cjs/radio/radioGroup.d.ts.map +1 -1
  67. package/dist/cjs/radio/radioGroup.js +2 -3
  68. package/dist/cjs/radio/radioGroup.types.d.ts +1 -1
  69. package/dist/cjs/radio/radioGroup.types.d.ts.map +1 -1
  70. package/dist/cjs/radio/theme.d.ts +7 -13
  71. package/dist/cjs/radio/theme.d.ts.map +1 -1
  72. package/dist/cjs/radio/theme.js +8 -19
  73. package/dist/cjs/switch/consts.d.ts +9 -0
  74. package/dist/cjs/switch/consts.d.ts.map +1 -0
  75. package/dist/cjs/switch/consts.js +11 -0
  76. package/dist/cjs/switch/switch.types.d.ts +2 -2
  77. package/dist/cjs/switch/switch.types.d.ts.map +1 -1
  78. package/dist/cjs/switch/switchButton.d.ts.map +1 -1
  79. package/dist/cjs/switch/switchButton.js +19 -21
  80. package/dist/cjs/switch/switchMain.d.ts.map +1 -1
  81. package/dist/cjs/switch/switchMain.js +2 -3
  82. package/dist/cjs/switch/theme.d.ts +30 -14
  83. package/dist/cjs/switch/theme.d.ts.map +1 -1
  84. package/dist/cjs/switch/theme.js +33 -17
  85. package/dist/cjs/textarea/textarea.d.ts.map +1 -1
  86. package/dist/cjs/textarea/textarea.js +8 -17
  87. package/dist/cjs/textarea/textarea.types.d.ts +2 -2
  88. package/dist/cjs/textarea/textarea.types.d.ts.map +1 -1
  89. package/dist/cjs/textarea/theme.d.ts +29 -12
  90. package/dist/cjs/textarea/theme.d.ts.map +1 -1
  91. package/dist/cjs/textarea/theme.js +28 -17
  92. package/dist/cjs/theme/components.d.ts +132 -34
  93. package/dist/cjs/theme/components.d.ts.map +1 -1
  94. package/dist/cjs/theme/components.js +26 -24
  95. package/dist/cjs/theme/defaultTheme.d.ts +132 -34
  96. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  97. package/dist/cjs/tutorial/consts.d.ts +6 -0
  98. package/dist/cjs/tutorial/consts.d.ts.map +1 -0
  99. package/dist/cjs/tutorial/consts.js +8 -0
  100. package/dist/cjs/tutorial/tutorial.d.ts +1 -1
  101. package/dist/cjs/tutorial/tutorial.d.ts.map +1 -1
  102. package/dist/cjs/tutorial/tutorial.js +2 -2
  103. package/dist/cjs/tutorial/tutorial.types.d.ts +20 -12
  104. package/dist/cjs/tutorial/tutorial.types.d.ts.map +1 -1
  105. package/dist/cjs/tutorial/tutorialCard.d.ts +1 -1
  106. package/dist/cjs/tutorial/tutorialCard.d.ts.map +1 -1
  107. package/dist/cjs/tutorial/tutorialCard.js +19 -18
  108. package/dist/cjs/tutorial/tutorialStep.d.ts +1 -1
  109. package/dist/cjs/tutorial/tutorialStep.d.ts.map +1 -1
  110. package/dist/cjs/tutorial/tutorialStep.js +4 -5
  111. package/dist/esm/checkbox/checkbox.d.ts.map +1 -1
  112. package/dist/esm/checkbox/checkbox.js +5 -5
  113. package/dist/esm/checkbox/checkbox.types.d.ts +1 -1
  114. package/dist/esm/checkbox/checkbox.types.d.ts.map +1 -1
  115. package/dist/esm/checkbox/checkboxGroup.d.ts.map +1 -1
  116. package/dist/esm/checkbox/checkboxGroup.js +2 -2
  117. package/dist/esm/checkbox/checkboxGroup.types.d.ts +1 -1
  118. package/dist/esm/checkbox/checkboxGroup.types.d.ts.map +1 -1
  119. package/dist/esm/checkbox/consts.d.ts +6 -0
  120. package/dist/esm/checkbox/consts.d.ts.map +1 -0
  121. package/dist/esm/checkbox/consts.js +5 -0
  122. package/dist/esm/checkbox/theme.d.ts +7 -13
  123. package/dist/esm/checkbox/theme.d.ts.map +1 -1
  124. package/dist/esm/checkbox/theme.js +8 -19
  125. package/dist/esm/core/consts.d.ts +1 -0
  126. package/dist/esm/core/consts.d.ts.map +1 -1
  127. package/dist/esm/core/consts.js +1 -0
  128. package/dist/esm/core/vuiProvider/fontFaces.d.ts.map +1 -1
  129. package/dist/esm/core/vuiProvider/fontFaces.js +45 -5
  130. package/dist/esm/core/vuiProvider/globalStyle.d.ts.map +1 -1
  131. package/dist/esm/core/vuiProvider/globalStyle.js +5 -2
  132. package/dist/esm/icons/baseIcons/fal/falClockRotateLeft.d.ts +4 -0
  133. package/dist/esm/icons/baseIcons/fal/falClockRotateLeft.d.ts.map +1 -0
  134. package/dist/esm/icons/baseIcons/fal/falClockRotateLeft.js +5 -0
  135. package/dist/esm/icons/baseIcons/icons.d.ts +1 -0
  136. package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
  137. package/dist/esm/icons/baseIcons/icons.js +1 -0
  138. package/dist/esm/icons/baseIcons/types.d.ts +1 -1
  139. package/dist/esm/icons/baseIcons/types.d.ts.map +1 -1
  140. package/dist/esm/index.d.ts +1 -0
  141. package/dist/esm/index.d.ts.map +1 -1
  142. package/dist/esm/index.js +1 -0
  143. package/dist/esm/input/inputInput.d.ts.map +1 -1
  144. package/dist/esm/input/inputInput.js +0 -5
  145. package/dist/esm/panel/theme.js +1 -1
  146. package/dist/esm/progress/progress.d.ts +1 -1
  147. package/dist/esm/progress/progress.d.ts.map +1 -1
  148. package/dist/esm/progress/progress.js +10 -7
  149. package/dist/esm/progress/progress.types.d.ts +0 -1
  150. package/dist/esm/progress/progress.types.d.ts.map +1 -1
  151. package/dist/esm/progress/theme.d.ts +15 -1
  152. package/dist/esm/progress/theme.d.ts.map +1 -1
  153. package/dist/esm/progress/theme.js +16 -2
  154. package/dist/esm/progressCircular/consts.d.ts +12 -0
  155. package/dist/esm/progressCircular/consts.d.ts.map +1 -0
  156. package/dist/esm/progressCircular/consts.js +11 -0
  157. package/dist/esm/progressCircular/index.d.ts +4 -0
  158. package/dist/esm/progressCircular/index.d.ts.map +1 -0
  159. package/dist/esm/progressCircular/index.js +3 -0
  160. package/dist/esm/progressCircular/progressCircular.d.ts +6 -0
  161. package/dist/esm/progressCircular/progressCircular.d.ts.map +1 -0
  162. package/dist/esm/progressCircular/progressCircular.js +45 -0
  163. package/dist/esm/progressCircular/progressCircular.types.d.ts +8 -0
  164. package/dist/esm/progressCircular/progressCircular.types.d.ts.map +1 -0
  165. package/dist/esm/progressCircular/progressCircular.types.js +1 -0
  166. package/dist/esm/progressCircular/theme.d.ts +57 -0
  167. package/dist/esm/progressCircular/theme.d.ts.map +1 -0
  168. package/dist/esm/progressCircular/theme.js +45 -0
  169. package/dist/esm/radio/consts.d.ts +6 -0
  170. package/dist/esm/radio/consts.d.ts.map +1 -0
  171. package/dist/esm/radio/consts.js +5 -0
  172. package/dist/esm/radio/radio.d.ts.map +1 -1
  173. package/dist/esm/radio/radio.js +5 -4
  174. package/dist/esm/radio/radio.types.d.ts +1 -1
  175. package/dist/esm/radio/radio.types.d.ts.map +1 -1
  176. package/dist/esm/radio/radioGroup.d.ts.map +1 -1
  177. package/dist/esm/radio/radioGroup.js +2 -3
  178. package/dist/esm/radio/radioGroup.types.d.ts +1 -1
  179. package/dist/esm/radio/radioGroup.types.d.ts.map +1 -1
  180. package/dist/esm/radio/theme.d.ts +7 -13
  181. package/dist/esm/radio/theme.d.ts.map +1 -1
  182. package/dist/esm/radio/theme.js +8 -19
  183. package/dist/esm/switch/consts.d.ts +9 -0
  184. package/dist/esm/switch/consts.d.ts.map +1 -0
  185. package/dist/esm/switch/consts.js +8 -0
  186. package/dist/esm/switch/switch.types.d.ts +2 -2
  187. package/dist/esm/switch/switch.types.d.ts.map +1 -1
  188. package/dist/esm/switch/switchButton.d.ts.map +1 -1
  189. package/dist/esm/switch/switchButton.js +19 -21
  190. package/dist/esm/switch/switchMain.d.ts.map +1 -1
  191. package/dist/esm/switch/switchMain.js +2 -3
  192. package/dist/esm/switch/theme.d.ts +30 -14
  193. package/dist/esm/switch/theme.d.ts.map +1 -1
  194. package/dist/esm/switch/theme.js +33 -17
  195. package/dist/esm/textarea/textarea.d.ts.map +1 -1
  196. package/dist/esm/textarea/textarea.js +8 -17
  197. package/dist/esm/textarea/textarea.types.d.ts +2 -2
  198. package/dist/esm/textarea/textarea.types.d.ts.map +1 -1
  199. package/dist/esm/textarea/theme.d.ts +29 -12
  200. package/dist/esm/textarea/theme.d.ts.map +1 -1
  201. package/dist/esm/textarea/theme.js +28 -17
  202. package/dist/esm/theme/components.d.ts +132 -34
  203. package/dist/esm/theme/components.d.ts.map +1 -1
  204. package/dist/esm/theme/components.js +2 -0
  205. package/dist/esm/theme/defaultTheme.d.ts +132 -34
  206. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  207. package/dist/esm/tutorial/consts.d.ts +6 -0
  208. package/dist/esm/tutorial/consts.d.ts.map +1 -0
  209. package/dist/esm/tutorial/consts.js +5 -0
  210. package/dist/esm/tutorial/tutorial.d.ts +1 -1
  211. package/dist/esm/tutorial/tutorial.d.ts.map +1 -1
  212. package/dist/esm/tutorial/tutorial.js +2 -2
  213. package/dist/esm/tutorial/tutorial.types.d.ts +20 -12
  214. package/dist/esm/tutorial/tutorial.types.d.ts.map +1 -1
  215. package/dist/esm/tutorial/tutorialCard.d.ts +1 -1
  216. package/dist/esm/tutorial/tutorialCard.d.ts.map +1 -1
  217. package/dist/esm/tutorial/tutorialCard.js +20 -19
  218. package/dist/esm/tutorial/tutorialStep.d.ts +1 -1
  219. package/dist/esm/tutorial/tutorialStep.d.ts.map +1 -1
  220. package/dist/esm/tutorial/tutorialStep.js +5 -6
  221. package/package.json +1 -1
  222. package/src/checkbox/checkbox.tsx +5 -5
  223. package/src/checkbox/checkbox.types.ts +1 -1
  224. package/src/checkbox/checkboxGroup.tsx +3 -16
  225. package/src/checkbox/checkboxGroup.types.ts +1 -1
  226. package/src/checkbox/consts.ts +5 -0
  227. package/src/checkbox/theme.ts +7 -23
  228. package/src/core/consts.ts +1 -0
  229. package/src/core/vuiProvider/fontFaces.ts +46 -5
  230. package/src/core/vuiProvider/globalStyle.tsx +5 -2
  231. package/src/icons/baseIcons/fal/falClockRotateLeft.ts +8 -0
  232. package/src/icons/baseIcons/icons.ts +1 -0
  233. package/src/icons/baseIcons/types.ts +1 -0
  234. package/src/index.ts +1 -0
  235. package/src/input/inputInput.tsx +0 -5
  236. package/src/panel/theme.ts +1 -1
  237. package/src/progress/progress.tsx +11 -7
  238. package/src/progress/progress.types.ts +0 -1
  239. package/src/progress/theme.ts +16 -2
  240. package/src/progressCircular/consts.ts +13 -0
  241. package/src/progressCircular/index.ts +3 -0
  242. package/src/progressCircular/progressCircular.tsx +89 -0
  243. package/src/progressCircular/progressCircular.types.ts +9 -0
  244. package/src/progressCircular/theme.ts +50 -0
  245. package/src/radio/consts.ts +5 -0
  246. package/src/radio/radio.tsx +5 -5
  247. package/src/radio/radio.types.ts +1 -1
  248. package/src/radio/radioGroup.tsx +3 -17
  249. package/src/radio/radioGroup.types.ts +1 -1
  250. package/src/radio/theme.ts +7 -23
  251. package/src/switch/consts.ts +8 -0
  252. package/src/switch/switch.types.ts +2 -2
  253. package/src/switch/switchButton.tsx +20 -20
  254. package/src/switch/switchMain.tsx +1 -3
  255. package/src/switch/theme.ts +34 -22
  256. package/src/textarea/textarea.tsx +7 -17
  257. package/src/textarea/textarea.types.ts +2 -2
  258. package/src/textarea/theme.ts +28 -23
  259. package/src/theme/components.ts +2 -0
  260. package/src/tutorial/consts.ts +5 -0
  261. package/src/tutorial/tutorial.tsx +7 -5
  262. package/src/tutorial/tutorial.types.ts +20 -12
  263. package/src/tutorial/tutorialCard.tsx +71 -80
  264. package/src/tutorial/tutorialStep.tsx +5 -11
  265. package/dist/cjs/textarea/consts.d.ts +0 -4
  266. package/dist/cjs/textarea/consts.d.ts.map +0 -1
  267. package/dist/cjs/textarea/consts.js +0 -6
  268. package/dist/esm/textarea/consts.d.ts +0 -4
  269. package/dist/esm/textarea/consts.d.ts.map +0 -1
  270. package/dist/esm/textarea/consts.js +0 -3
  271. package/src/textarea/consts.ts +0 -3
@@ -28,6 +28,7 @@ import Pagination from '../pagination/theme'
28
28
  import Panel from '../panel/theme'
29
29
  import Popover from '../popover/theme'
30
30
  import Progress from '../progress/theme'
31
+ import ProgressCircular from '../progressCircular/theme'
31
32
  import Radio from '../radio/theme'
32
33
  import Select from '../select/theme'
33
34
  import Sidemenu from '../sidemenu/theme'
@@ -78,6 +79,7 @@ export default {
78
79
  Pagination,
79
80
  Panel,
80
81
  Progress,
82
+ ProgressCircular,
81
83
  Popover,
82
84
  Radio,
83
85
  Select,
@@ -0,0 +1,5 @@
1
+ export const tutorialColors = {
2
+ bg: 'darkBlue.main',
3
+ buttonColor: 'digiGreen.main',
4
+ color: 'white'
5
+ }
@@ -8,16 +8,17 @@ import { useTutorial } from './useTutorial'
8
8
 
9
9
  /** [Beta] Popover Tutorial is used to display information about a new, or existing feature. */
10
10
  export function Tutorial({
11
+ actionLabel,
11
12
  children,
12
13
  className,
13
- description,
14
+ onAction,
14
15
  onDismiss,
15
16
  onFinish,
16
- readMoreLink,
17
17
  steps,
18
18
  title,
19
19
  id,
20
- placement = 'right'
20
+ placement = 'right',
21
+ showSkipButton
21
22
  }: TutorialProps) {
22
23
  const { isVisible, setIsVisible, saveDisplayed } = useTutorial(id)
23
24
 
@@ -32,11 +33,12 @@ export function Tutorial({
32
33
  <Tippy
33
34
  content={
34
35
  <TutorialCard
36
+ actionLabel={actionLabel}
35
37
  className={cs('vui-tutorial', className)}
36
- description={description}
38
+ onAction={onAction}
37
39
  onDismiss={() => onClose('dismissed')}
38
40
  onFinish={() => onClose('finished')}
39
- readMoreLink={readMoreLink}
41
+ showSkipButton={showSkipButton}
40
42
  steps={steps}
41
43
  title={title}
42
44
  />
@@ -4,50 +4,58 @@ import { Placement } from 'tippy.js'
4
4
  export type TutorialDataStep = {
5
5
  /** title of step */
6
6
  title: string
7
- /** description of step */
8
- description: string
9
- /** Read more link */
7
+ /** Content */
8
+ content?: string
9
+ /** Link to page where they can read more */
10
10
  readMoreLink?: string
11
11
  }
12
12
 
13
13
  export type TutorialProps = {
14
+ /** Label for the action button @default `Action` */
15
+ actionLabel?: string
14
16
  /** Target element for the tutorial */
15
17
  children: React.ReactNode
16
18
  /** Custom class name */
17
19
  className?: string
18
20
  /** An id for further handling with localStorage */
19
21
  id: string
20
- /** A general tutorial description */
21
- description?: string
22
+ /** Invoked once the action button clicked. */
23
+ onAction?: () => void
22
24
  /** Invoked once the dismiss button clicked. */
23
25
  onDismiss?: () => void
24
26
  /** Invoked once the finish button clicked. */
25
27
  onFinish?: () => void
26
28
  /** Popover placement */
27
29
  placement?: Placement
28
- /** Link to page where user can read more */
29
- readMoreLink?: string
30
30
  /** An array of steps */
31
31
  steps: TutorialDataStep[]
32
- /** A general tutorial title */
32
+ /** Show the Skip button */
33
+ showSkipButton?: boolean
34
+ /** General tutorial title */
33
35
  title: string
36
+ /** Link to page where they can read more */
37
+ readMoreLink?: string
34
38
  }
35
39
 
36
40
  export type TutorialCardProps = {
41
+ /** Label for the action button @default `Action` */
42
+ actionLabel?: string
37
43
  /** Custom class name */
38
44
  className?: string
39
45
  /** The card title */
40
46
  title: string
41
47
  /** Steps of the card */
42
48
  steps: TutorialDataStep[]
49
+ /** Invoked once the action button clicked. */
50
+ onAction?: () => void
43
51
  /** Callback for the dismiss button click. */
44
52
  onDismiss?: () => void
45
53
  /** Callback for the finish button click. */
46
54
  onFinish?: () => void
47
- /** Description of feature */
48
- description?: string
49
55
  /** Link to page where they can read more */
50
56
  readMoreLink?: string
57
+ /** Show the Skip button */
58
+ showSkipButton?: boolean
51
59
  }
52
60
 
53
61
  export type TutorialStepProps = {
@@ -55,8 +63,8 @@ export type TutorialStepProps = {
55
63
  active: boolean
56
64
  /** Title of step */
57
65
  title: string
58
- /** Description of step */
59
- description: string
66
+ /** Step content */
67
+ content?: string
60
68
  /** Link to page where user can read more */
61
69
  readMoreLink?: string
62
70
  }
@@ -1,19 +1,21 @@
1
1
  import React, { useEffect, useState } from 'react'
2
2
 
3
- import { Box, Button, Card, H3, Icon, T } from '../index'
3
+ import { Box, Button, Card, H4, Icon } from '../index'
4
+ import { tutorialColors } from './consts'
4
5
  import { TutorialCardProps, TutorialDataStep, TutorialStepWrapper } from './tutorial.types'
5
6
  import { TutorialStep } from './tutorialStep'
6
7
 
7
8
  export function TutorialCard({
9
+ actionLabel = 'Action',
8
10
  className,
9
- description,
10
11
  title,
11
12
  readMoreLink,
12
13
  steps: propsSteps = [],
14
+ showSkipButton,
15
+ onAction,
13
16
  onDismiss,
14
17
  onFinish
15
18
  }: TutorialCardProps) {
16
- const [started, setStarted] = useState<boolean>(false)
17
19
  const [steps, setSteps] = useState<TutorialStepWrapper[]>([])
18
20
  const [activeStep, setActiveStep] = useState<number>(0)
19
21
 
@@ -23,7 +25,7 @@ export function TutorialCard({
23
25
 
24
26
  const finalStep: TutorialDataStep = {
25
27
  title: `Completed!`,
26
- description: `${readMoreLink ? 'To learn more, please visit:' : 'Thank you!'}`
28
+ content: `${readMoreLink ? 'To learn more, please visit:' : 'Thank you!'}`
27
29
  }
28
30
 
29
31
  if (readMoreLink) finalStep.readMoreLink = readMoreLink
@@ -34,109 +36,98 @@ export function TutorialCard({
34
36
 
35
37
  const isStartStep = activeStep === 0
36
38
  const isFinalStep = activeStep === propsSteps.length
37
- const decrementStep = () => setActiveStep(activeStep - 1)
38
- const incrementStep = () => setActiveStep(activeStep + 1)
39
39
 
40
40
  return (
41
- <Card bg="blue.100" className={className} color="white" column justifyContent="space-between" minH={200} w={450}>
41
+ <Card
42
+ bg={tutorialColors.bg}
43
+ className={className}
44
+ color={tutorialColors.color}
45
+ column
46
+ justifyContent="space-between"
47
+ minH={400}
48
+ p={2}
49
+ pt={1}
50
+ w={580}
51
+ >
42
52
  <Box
43
53
  alignContent="center"
44
54
  alignItems="center"
45
- display="flex"
46
55
  flex={0}
47
56
  flexDirection="row"
48
57
  flexGrow={0}
49
58
  justifyContent="space-between"
50
- m={2}
51
- mb={1}
52
- minH="48px"
59
+ minH={48}
53
60
  row
54
61
  style={{ WebkitFlexGrow: '0' }}
55
62
  >
56
- <H3>{title}</H3>
57
- {!isFinalStep && (
58
- <Button
59
- color="white"
60
- hoverColor="prussian.80"
61
- icon="falTimes"
62
- onClick={onDismiss}
63
- scale={2}
64
- variant="tertiaryDark"
65
- />
66
- )}
67
- </Box>
68
- <Box column flex={5} hidden={started} mx={2}>
69
- <T flexGrow={1}>{description}</T>
70
- <Box alignItems="center" flexDirection="row-reverse" row>
71
- <Button bg="white" color="prussian.80" float="right" mb={0} onClick={() => setStarted(true)} pb={0}>
72
- Let&apos;s get started!
73
- </Button>
74
- </Box>
63
+ <H4 color={tutorialColors.color}>{title}</H4>
64
+ {!isFinalStep && <Button icon="falTimes" onClick={onDismiss} scale={2} variant="tertiaryLight" />}
75
65
  </Box>
76
- <Box flex={5} hidden={!started} mx={2} row>
66
+ <Box flex={5} row>
77
67
  {steps?.map?.(s => (
78
68
  <TutorialStep
79
69
  active={s.key === activeStep}
80
- description={s.step.description}
70
+ content={s.step.content}
81
71
  key={s.step.title}
82
72
  readMoreLink={s.step.readMoreLink}
83
73
  title={s.step.title}
84
74
  />
85
75
  ))}
86
76
  </Box>
87
- <Box
88
- alignItems="center"
89
- flex={0}
90
- flexGrow={0}
91
- hidden={!started}
92
- justifyContent="space-between"
93
- m={2}
94
- mt={0}
95
- row
96
- style={{ WebkitFlexGrow: '0' }}
97
- >
98
- <Button
99
- color="white"
100
- disabled={isStartStep}
101
- disabledBg="blue.100"
102
- disabledBorderColor="blue.100"
103
- disabledColor="prussian.80"
104
- focusBorderColor="none"
105
- hoverBg="none"
106
- hoverBorder="none"
107
- hoverBorderColor="blue.100"
108
- icon="falArrowLeft"
109
- onClick={decrementStep}
110
- scale={2}
111
- transition="none"
112
- variant="tertiaryDark"
113
- w="80"
114
- />
115
-
116
- <Box className="vuiTutorialStepDots">
117
- {steps?.map?.(s => (
118
- <Icon color={s.key === activeStep ? 'white' : 'grey.70'} key={s.key} name="cusDotFull" />
119
- ))}
120
- </Box>
121
-
122
- {isFinalStep ? (
123
- <Button bg="white" color="prussian.80" hoverBg="blue.30" hoverColor="prussian.80" onClick={onFinish}>
124
- Finish
125
- </Button>
126
- ) : (
77
+ <Box alignItems="center" justifyContent="space-between" mt={0}>
78
+ <Box alignItems="center" justifyContent="space-between" w="-webkit-fill-available">
127
79
  <Button
128
- color="white"
129
- focusBorderColor="none"
130
- hoverBg="none"
131
- hoverBorder="none"
132
- hoverBorderColor="blue.100"
80
+ color={tutorialColors.buttonColor}
81
+ disabled={isStartStep}
82
+ icon="falArrowLeft"
83
+ onClick={() => setActiveStep(activeStep - 1)}
84
+ scale={2}
85
+ transition="none"
86
+ variant="tertiaryLight"
87
+ w="34"
88
+ />
89
+ <Box className="vuiTutorialStepDots">
90
+ {steps?.map?.(s => (
91
+ <Icon
92
+ color={s.key === activeStep ? tutorialColors.color : 'darkBlue.30'}
93
+ cursor="pointer"
94
+ hoverColor={tutorialColors.buttonColor}
95
+ key={s.key}
96
+ name="cusDotFull"
97
+ onClick={() => setActiveStep(s.key)}
98
+ />
99
+ ))}
100
+ </Box>
101
+ <Button
102
+ color={tutorialColors.buttonColor}
103
+ disabled={isFinalStep}
133
104
  icon="falArrowRight"
134
- onClick={incrementStep}
105
+ onClick={() => setActiveStep(activeStep + 1)}
135
106
  scale={2}
136
107
  transition="none"
137
- variant="tertiaryDark"
138
- w="80"
108
+ variant="tertiaryLight"
109
+ w="34"
139
110
  />
111
+ </Box>
112
+ {(showSkipButton || isFinalStep || !!onAction) && (
113
+ <Box alignItems="center" justifyContent="space-between">
114
+ {showSkipButton && !isFinalStep && (
115
+ <Button mr={2} onClick={onDismiss} variant="primaryLight">
116
+ Skip
117
+ </Button>
118
+ )}
119
+ {isFinalStep && (
120
+ <Button mr={2} onClick={onFinish} variant="primaryLight">
121
+ Finish
122
+ </Button>
123
+ )}
124
+ {!!onAction && (
125
+ <Button mr={6} onClick={onAction} variant="primaryLight">
126
+ {actionLabel}
127
+ {onAction}
128
+ </Button>
129
+ )}
130
+ </Box>
140
131
  )}
141
132
  </Box>
142
133
  </Card>
@@ -1,20 +1,14 @@
1
1
  import React from 'react'
2
2
 
3
- import { H5, P, v } from '../index'
3
+ import { Box, H5, v } from '../index'
4
+ import { tutorialColors } from './consts'
4
5
  import { TutorialStepProps } from './tutorial.types'
5
6
 
6
- export const TutorialStep = ({ active, description, readMoreLink, title }: TutorialStepProps) => (
7
+ export const TutorialStep = ({ active, content, title }: TutorialStepProps) => (
7
8
  <v.div className="vui-tutorialStep" hidden={!active} pb={2}>
8
- <H5 fontWeight="medium" mb={1}>
9
+ <H5 color={tutorialColors.color} fontWeight="medium" mb={1}>
9
10
  {title}
10
11
  </H5>
11
- <P>{description}</P>
12
- {!!readMoreLink && (
13
- <P>
14
- <v.a href={readMoreLink} textDecoration="underline">
15
- {readMoreLink}
16
- </v.a>
17
- </P>
18
- )}
12
+ <Box>{content}</Box>
19
13
  </v.div>
20
14
  )
@@ -1,4 +0,0 @@
1
- export declare const greyLightColor = "grey.10";
2
- export declare const greyColor = "grey.80";
3
- export declare const redColor = "red.80";
4
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/textarea/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,YAAY,CAAA;AACvC,eAAO,MAAM,SAAS,YAAY,CAAA;AAClC,eAAO,MAAM,QAAQ,WAAW,CAAA"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.redColor = exports.greyColor = exports.greyLightColor = void 0;
4
- exports.greyLightColor = 'grey.10';
5
- exports.greyColor = 'grey.80';
6
- exports.redColor = 'red.80';
@@ -1,4 +0,0 @@
1
- export declare const greyLightColor = "grey.10";
2
- export declare const greyColor = "grey.80";
3
- export declare const redColor = "red.80";
4
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/textarea/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,YAAY,CAAA;AACvC,eAAO,MAAM,SAAS,YAAY,CAAA;AAClC,eAAO,MAAM,QAAQ,WAAW,CAAA"}
@@ -1,3 +0,0 @@
1
- export const greyLightColor = 'grey.10';
2
- export const greyColor = 'grey.80';
3
- export const redColor = 'red.80';
@@ -1,3 +0,0 @@
1
- export const greyLightColor = 'grey.10'
2
- export const greyColor = 'grey.80'
3
- export const redColor = 'red.80'