trepur_components 2.3.7 → 2.3.9

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 (335) hide show
  1. package/.eslintrc.cjs +33 -4
  2. package/.prettierignore +10 -0
  3. package/README.md +1 -1
  4. package/package.json +9 -5
  5. package/src/components/Accordion/Accordion.stories.tsx +21 -98
  6. package/src/components/Accordion/const.tsx +34 -0
  7. package/src/components/Accordion/index.tsx +19 -25
  8. package/src/components/AlertBar/AlertBar.stories.tsx +78 -84
  9. package/src/components/AlertBar/index.tsx +69 -100
  10. package/src/components/Avatar/Avatar.stories.tsx +2 -7
  11. package/src/components/Avatar/index.tsx +4 -7
  12. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +29 -0
  13. package/src/components/Breadcrumbs/index.tsx +89 -0
  14. package/src/components/Button/Button.stories.tsx +24 -0
  15. package/src/components/Button/index.tsx +59 -0
  16. package/src/components/Calendar/Calendar.stories.tsx +21 -0
  17. package/src/components/Calendar/index.tsx +92 -0
  18. package/src/components/Card/Card.stories.tsx +14 -0
  19. package/src/components/Card/index.tsx +39 -0
  20. package/src/components/Carousel/Carousel.stories.tsx +44 -0
  21. package/src/components/Carousel/index.tsx +301 -0
  22. package/src/components/Carousel/utils.ts +53 -0
  23. package/src/components/CarouselThumbnail/CarouselThumbnail.stories.tsx +29 -0
  24. package/src/components/CarouselThumbnail/const.ts +17 -0
  25. package/src/components/CarouselThumbnail/index.tsx +169 -0
  26. package/src/components/CarouselThumbnail/utils.ts +87 -0
  27. package/src/components/Checkbox/Checkbox.stories.tsx +27 -0
  28. package/src/components/Checkbox/index.tsx +44 -0
  29. package/src/components/Collapsible/Collapsible.stories.tsx +67 -0
  30. package/src/components/Collapsible/index.tsx +169 -0
  31. package/src/components/Counter/Counter.stories.tsx +20 -0
  32. package/src/components/Counter/index.tsx +98 -0
  33. package/src/components/DetailUpdater/DetailUpdater.stories.tsx +37 -0
  34. package/{archive → src/components}/DetailUpdater/index.tsx +20 -25
  35. package/src/components/Dialog/Dialog.stories.tsx +65 -0
  36. package/src/components/Dialog/index.tsx +29 -0
  37. package/src/components/Dropdown/Dropdown.stories.tsx +22 -0
  38. package/src/components/Dropdown/index.tsx +117 -0
  39. package/src/components/Dropdown/utils.ts +15 -0
  40. package/{archive → src/components}/FileUploader/FilePreview.tsx +11 -14
  41. package/src/components/FileUploader/FileUploader.stories.tsx +28 -0
  42. package/src/components/FileUploader/index.tsx +177 -0
  43. package/src/components/Footer/Footer.stories.tsx +47 -0
  44. package/src/components/Footer/index.tsx +96 -0
  45. package/src/components/FooterNav/FooterNav.stories.tsx +32 -0
  46. package/src/components/FooterNav/index.tsx +75 -0
  47. package/{archive → src/components}/Form/Form.stories.tsx +2 -2
  48. package/src/components/Form/index.tsx +41 -0
  49. package/src/components/Gallery/Gallery.stories.tsx +39 -0
  50. package/src/components/Gallery/index.tsx +31 -0
  51. package/src/components/Greeting/Greeting.stories.tsx +16 -0
  52. package/src/components/Greeting/index.tsx +49 -0
  53. package/src/components/HamburgerIcon/HamburgerIcon.stories.tsx +14 -0
  54. package/src/components/HamburgerIcon/index.tsx +75 -0
  55. package/src/components/Icon/Icon.stories.tsx +41 -0
  56. package/src/components/Icon/index.tsx +33 -0
  57. package/src/components/Image/Image.stories.tsx +17 -0
  58. package/src/components/Image/index.tsx +25 -0
  59. package/src/components/ImageCard/ImageCard.stories.tsx +29 -0
  60. package/src/components/ImageCard/index.tsx +75 -0
  61. package/src/components/Input/Input.stories.tsx +25 -0
  62. package/src/components/Input/index.tsx +139 -0
  63. package/{archive → src/components}/MenuButton/MenuButton.stories.tsx +2 -2
  64. package/src/components/MenuButton/index.tsx +66 -0
  65. package/{archive → src/components}/Modal/Modal.stories.tsx +4 -8
  66. package/{archive → src/components}/Modal/index.tsx +9 -12
  67. package/src/components/Nav/Nav.stories.tsx +80 -0
  68. package/src/components/Nav/index.tsx +171 -0
  69. package/src/components/NavItem/NavItem.stories.tsx +17 -0
  70. package/src/components/NavItem/index.tsx +39 -0
  71. package/src/components/Pill/Pill.stories.tsx +51 -0
  72. package/src/components/Pill/index.tsx +69 -0
  73. package/{archive → src/components}/Search/Search.stories.tsx +2 -2
  74. package/{archive → src/components}/Search/index.tsx +12 -16
  75. package/{archive → src/components}/Select/Select.stories.tsx +2 -3
  76. package/{archive → src/components}/Select/index.tsx +21 -30
  77. package/{archive → src/components}/Showcase/Showcase.stories.tsx +4 -3
  78. package/src/components/Showcase/index.tsx +62 -0
  79. package/{archive → src/components}/SideNav/SideNav.stories.tsx +2 -2
  80. package/{archive → src/components}/SideNav/index.tsx +8 -15
  81. package/{archive → src/components}/SocialButton/SocialButton.stories.tsx +2 -2
  82. package/{archive → src/components}/SocialButton/index.tsx +14 -22
  83. package/src/components/SplitCard/SplitCard.stories.tsx +34 -0
  84. package/src/components/SplitCard/index.tsx +132 -0
  85. package/src/components/Stars/Star.stories.tsx +18 -0
  86. package/src/components/Stars/index.tsx +38 -0
  87. package/src/components/Testimonial/Testimonial.stories.tsx +37 -0
  88. package/src/components/Testimonial/index.tsx +123 -0
  89. package/src/components/TextArea/TextArea.stories.tsx +24 -0
  90. package/src/components/TextArea/index.tsx +133 -0
  91. package/src/components/Timeline/Timeline.stories.tsx +45 -0
  92. package/src/components/Timeline/index.tsx +65 -0
  93. package/src/components/Tubestops/Tubestops.stories.tsx +22 -0
  94. package/src/components/Tubestops/index.tsx +132 -0
  95. package/src/components/Video/Video.stories.tsx +58 -0
  96. package/src/components/Video/assets/example.mp4 +0 -0
  97. package/src/components/Video/assets/example.ogv +0 -0
  98. package/src/components/Video/assets/example.webm +0 -0
  99. package/src/components/Video/index.tsx +92 -0
  100. package/src/components/index.ts +66 -112
  101. package/src/custom.d.ts +14 -0
  102. package/src/documentation/Colours.mdx +34 -34
  103. package/src/documentation/Introduction.mdx +9 -5
  104. package/src/documentation/assets/index.ts +3 -0
  105. package/src/documentation/assets/trepurComponentsLogo.svg +32 -0
  106. package/src/documentation/typography/Fonts/Fonts.stories.tsx +14 -0
  107. package/src/documentation/typography/Fonts/Fonts.tsx +73 -0
  108. package/src/styles/global.css +1 -1
  109. package/src/styles/themes/local.css +91 -39
  110. package/src/styles/themes/test.css +28 -0
  111. package/src/utils/screens.ts +1 -1
  112. package/tailwind/colors.ts +53 -385
  113. package/tailwind/preset.ts +4 -0
  114. package/tailwind.config.ts +12 -80
  115. package/tsconfig.json +8 -2
  116. package/archive/Breadcrumbs/Breadcrumbs.stories.tsx +0 -46
  117. package/archive/Breadcrumbs/index.tsx +0 -42
  118. package/archive/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +0 -52
  119. package/archive/BreadcrumbsBordered/index.tsx +0 -44
  120. package/archive/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +0 -40
  121. package/archive/BreadcrumbsItem/index.tsx +0 -149
  122. package/archive/Button/Button.stories.tsx +0 -150
  123. package/archive/Button/index.tsx +0 -111
  124. package/archive/Button/style.module.css +0 -76
  125. package/archive/Calendar/Calendar.stories.tsx +0 -82
  126. package/archive/Calendar/index.tsx +0 -76
  127. package/archive/Card/Card.stories.tsx +0 -75
  128. package/archive/Card/index.tsx +0 -102
  129. package/archive/Card/style.module.css +0 -75
  130. package/archive/CardWithTopImage/CardWithTopImage.stories.tsx +0 -50
  131. package/archive/CardWithTopImage/index.tsx +0 -39
  132. package/archive/CardWithTopImage/style.module.css +0 -11
  133. package/archive/Carousel/Carousel.stories.tsx +0 -451
  134. package/archive/Carousel/index.tsx +0 -388
  135. package/archive/Carousel/style.module.css +0 -99
  136. package/archive/CarouselThumbnail/CarouselThumbnail.stories.tsx +0 -350
  137. package/archive/CarouselThumbnail/index.tsx +0 -302
  138. package/archive/CarouselThumbnail/style.module.css +0 -67
  139. package/archive/Checkbox/Checkbox.stories.tsx +0 -34
  140. package/archive/Checkbox/index.tsx +0 -51
  141. package/archive/Checkbox/style.module.css +0 -15
  142. package/archive/Collapsible/Collapsible.stories.tsx +0 -67
  143. package/archive/Collapsible/index.tsx +0 -116
  144. package/archive/Collapsible/style.module.css +0 -47
  145. package/archive/Column/Column.stories.tsx +0 -89
  146. package/archive/Column/index.tsx +0 -119
  147. package/archive/Column/style.module.css +0 -151
  148. package/archive/ComponentWrapper/ComponentWrapper.stories.tsx +0 -40
  149. package/archive/ComponentWrapper/index.tsx +0 -55
  150. package/archive/ComponentWrapper/style.module.css +0 -40
  151. package/archive/Container/Container.stories.tsx +0 -40
  152. package/archive/Container/index.tsx +0 -24
  153. package/archive/Container/style.module.css +0 -4
  154. package/archive/Counter/Counter.stories.tsx +0 -19
  155. package/archive/Counter/index.tsx +0 -66
  156. package/archive/Counter/style.module.css +0 -19
  157. package/archive/DetailUpdater/DetailUpdater.stories.tsx +0 -96
  158. package/archive/DetailUpdater/style.module.css +0 -31
  159. package/archive/Dialog/Dialog.stories.tsx +0 -131
  160. package/archive/Dialog/index.tsx +0 -91
  161. package/archive/Dialog/style.module.css +0 -44
  162. package/archive/DropdownMenu/DropdownMenu.stories.tsx +0 -59
  163. package/archive/DropdownMenu/index.tsx +0 -51
  164. package/archive/DropdownMenu/style.module.css +0 -38
  165. package/archive/DynamicTextSection/DynamicTextSection.stories.tsx +0 -74
  166. package/archive/DynamicTextSection/index.tsx +0 -36
  167. package/archive/DynamicTextSection/style.module.css +0 -0
  168. package/archive/FileUploader/FileUploader.stories.tsx +0 -28
  169. package/archive/FileUploader/index.tsx +0 -135
  170. package/archive/FileUploader/style.module.css +0 -54
  171. package/archive/FilterItem/FilterItem.stories.tsx +0 -33
  172. package/archive/FilterItem/index.tsx +0 -101
  173. package/archive/FilterItem/style.module.css +0 -27
  174. package/archive/Footer/Footer.stories.tsx +0 -59
  175. package/archive/Footer/index.tsx +0 -50
  176. package/archive/Footer/style.module.css +0 -19
  177. package/archive/FooterNav/FooterNav.stories.tsx +0 -125
  178. package/archive/FooterNav/index.tsx +0 -57
  179. package/archive/FooterNav/style.module.css +0 -32
  180. package/archive/FooterNavItem/FooterNavItem.stories.tsx +0 -53
  181. package/archive/FooterNavItem/index.tsx +0 -80
  182. package/archive/FooterNavItem/style.module.css +0 -139
  183. package/archive/Form/index.tsx +0 -61
  184. package/archive/Form/style.module.css +0 -0
  185. package/archive/FyreCard/FyreCard.stories.tsx +0 -31
  186. package/archive/FyreCard/index.tsx +0 -52
  187. package/archive/FyreCard/style.module.css +0 -19
  188. package/archive/Greeting/Greeting.stories.tsx +0 -41
  189. package/archive/Greeting/index.tsx +0 -32
  190. package/archive/HamburgerIcon/HamburgerIcon.stories.tsx +0 -32
  191. package/archive/HamburgerIcon/index.tsx +0 -103
  192. package/archive/HamburgerIcon/style.module.css +0 -85
  193. package/archive/HorizontalLine/HorizontalLine.stories.tsx +0 -54
  194. package/archive/HorizontalLine/index.tsx +0 -40
  195. package/archive/HorizontalLine/style.module.css +0 -55
  196. package/archive/Icon/Icon.stories.tsx +0 -164
  197. package/archive/Icon/index.tsx +0 -115
  198. package/archive/Icon/style.module.css +0 -253
  199. package/archive/IconCard/IconCard.stories.tsx +0 -46
  200. package/archive/IconCard/index.tsx +0 -57
  201. package/archive/IconCard/style.module.css +0 -18
  202. package/archive/Image/Image.stories.tsx +0 -87
  203. package/archive/Image/index.tsx +0 -132
  204. package/archive/Image/style.module.css +0 -109
  205. package/archive/ImageInfo/ImageInfo.stories.tsx +0 -39
  206. package/archive/ImageInfo/index.tsx +0 -95
  207. package/archive/ImageInfo/style.module.css +0 -47
  208. package/archive/ImageLink/ImageLink.stories.tsx +0 -37
  209. package/archive/ImageLink/index.tsx +0 -49
  210. package/archive/ImageLink/style.module.css +0 -23
  211. package/archive/ImageLinkList/ImageLinkList.stories.tsx +0 -34
  212. package/archive/ImageLinkList/index.tsx +0 -33
  213. package/archive/ImageLinkList/style.module.css +0 -3
  214. package/archive/InformationIcon/InformationIcon.stories.tsx +0 -83
  215. package/archive/InformationIcon/index.tsx +0 -128
  216. package/archive/InformationIcon/style.module.css +0 -71
  217. package/archive/InformationIconBlock/InformationIconBlock.stories.tsx +0 -32
  218. package/archive/InformationIconBlock/index.tsx +0 -63
  219. package/archive/InformationIconBlock/style.module.css +0 -7
  220. package/archive/Input/Input.stories.tsx +0 -84
  221. package/archive/Input/index.tsx +0 -131
  222. package/archive/Input/style.module.css +0 -60
  223. package/archive/Jumbotron/Jumbotron.stories.tsx +0 -21
  224. package/archive/Jumbotron/index.tsx +0 -31
  225. package/archive/Jumbotron/style.module.css +0 -8
  226. package/archive/MenuButton/index.tsx +0 -82
  227. package/archive/MenuButton/style.module.css +0 -45
  228. package/archive/Modal/style.module.css +0 -35
  229. package/archive/NavItem/NavItem.stories.tsx +0 -90
  230. package/archive/NavItem/index.tsx +0 -65
  231. package/archive/NavItem/style.module.css +0 -71
  232. package/archive/NavOld/NavOld.stories.tsx +0 -193
  233. package/archive/NavOld/StickyNav.tsx +0 -191
  234. package/archive/NavOld/index.tsx +0 -273
  235. package/archive/NavOld/style.module.css +0 -156
  236. package/archive/NavTwo/Dropdown.tsx +0 -35
  237. package/archive/NavTwo/Nav.stories.tsx +0 -38
  238. package/archive/NavTwo/Sidebar.tsx +0 -34
  239. package/archive/NavTwo/StickyNav.tsx +0 -34
  240. package/archive/NavTwo/index.tsx +0 -45
  241. package/archive/NavTwo/style.module.css +0 -35
  242. package/archive/NewsCard/NewsCard.stories.tsx +0 -72
  243. package/archive/NewsCard/index.tsx +0 -57
  244. package/archive/NewsCard/style.module.css +0 -15
  245. package/archive/Pill/Pill.stories.tsx +0 -44
  246. package/archive/Pill/index.tsx +0 -64
  247. package/archive/Pill/style.module.css +0 -32
  248. package/archive/ProductCard/ProductCard.stories.tsx +0 -61
  249. package/archive/ProductCard/index.tsx +0 -111
  250. package/archive/ProductCard/style.module.css +0 -53
  251. package/archive/ProductCardV2/ProductCardV2.stories.tsx +0 -50
  252. package/archive/ProductCardV2/index.tsx +0 -119
  253. package/archive/ProductCardV2/style.module.css +0 -59
  254. package/archive/Proficiencies/Proficiencies.stories.tsx +0 -50
  255. package/archive/Proficiencies/index.tsx +0 -63
  256. package/archive/Proficiencies/style.module.css +0 -31
  257. package/archive/Profile/Profile.stories.tsx +0 -49
  258. package/archive/Profile/index.tsx +0 -103
  259. package/archive/Profile/style.module.css +0 -47
  260. package/archive/Row/Row.stories.tsx +0 -53
  261. package/archive/Row/index.tsx +0 -23
  262. package/archive/Row/style.module.css +0 -3
  263. package/archive/Search/style.module.css +0 -23
  264. package/archive/Select/style.module.css +0 -52
  265. package/archive/Showcase/index.tsx +0 -75
  266. package/archive/Showcase/style.module.css +0 -47
  267. package/archive/SideNav/style.module.css +0 -43
  268. package/archive/SocialBlock/SocialBlock.stories.tsx +0 -58
  269. package/archive/SocialBlock/index.tsx +0 -63
  270. package/archive/SocialButton/style.module.css +0 -77
  271. package/archive/StarRating/StarRating.stories.tsx +0 -23
  272. package/archive/StarRating/index.tsx +0 -71
  273. package/archive/Testimonial/Testimonial.stories.tsx +0 -110
  274. package/archive/Testimonial/index.tsx +0 -61
  275. package/archive/Testimonial/style.module.css +0 -27
  276. package/archive/TextAndTitle/TextAndTitle.stories.tsx +0 -70
  277. package/archive/TextAndTitle/index.tsx +0 -123
  278. package/archive/TextAndTitle/style.module.css +0 -75
  279. package/archive/TextArea/TextArea.stories.tsx +0 -55
  280. package/archive/TextArea/index.tsx +0 -125
  281. package/archive/TextArea/style.module.css +0 -60
  282. package/archive/Timeline/Timeline.stories.tsx +0 -92
  283. package/archive/Timeline/index.tsx +0 -254
  284. package/archive/Timeline/style.module.css +0 -134
  285. package/archive/TimelineV2/TimelineV2.stories.tsx +0 -95
  286. package/archive/TimelineV2/index.tsx +0 -70
  287. package/archive/TimelineV2/style.module.css +0 -28
  288. package/archive/Tubestops/Tubestops.stories.tsx +0 -42
  289. package/archive/Tubestops/index.tsx +0 -58
  290. package/archive/Tubestops/style.module.css +0 -54
  291. package/archive/UserIcon/UserIcon.stories.tsx +0 -52
  292. package/archive/UserIcon/index.tsx +0 -46
  293. package/archive/UserIcon/style.module.css +0 -19
  294. package/archive/Video/Video.stories.tsx +0 -23
  295. package/archive/Video/index.tsx +0 -47
  296. package/archive/theme.ts +0 -39
  297. package/archive/typography/Fonts/Fonts.stories.tsx +0 -14
  298. package/archive/typography/Fonts/Fonts.tsx +0 -181
  299. package/lib/components/Accordion/Accordion.stories.d.ts +0 -94
  300. package/lib/components/Accordion/index.d.ts +0 -8
  301. package/lib/components/Accordion/index.js +0 -15
  302. package/lib/components/AlertBar/AlertBar.stories.d.ts +0 -162
  303. package/lib/components/AlertBar/index.d.ts +0 -12
  304. package/lib/components/AlertBar/index.js +0 -49
  305. package/lib/components/Avatar/Avatar.stories.d.ts +0 -44
  306. package/lib/components/Avatar/index.d.ts +0 -4
  307. package/lib/components/index.d.ts +0 -4
  308. package/lib/index.d.ts +0 -1
  309. package/lib/index.js +0 -6
  310. package/lib/styles/global.css +0 -75
  311. package/lib/styles/themes/local.css +0 -40
  312. package/lib/styles/themes/palette.css +0 -131
  313. package/lib/tailwind/boxShadow.ts +0 -9
  314. package/lib/tailwind/colors.ts +0 -410
  315. package/lib/tailwind/container.ts +0 -11
  316. package/lib/tailwind/preset.ts +0 -88
  317. package/lib/tailwind/spacing.ts +0 -14
  318. package/lib/utils/controls.d.ts +0 -36
  319. package/lib/utils/matchMedia.d.ts +0 -2
  320. package/lib/utils/screens.d.ts +0 -7
  321. package/src/styles/themes/palette.css +0 -131
  322. package/svg.d.ts +0 -4
  323. /package/{archive → src/components}/Calendar/style.css +0 -0
  324. /package/{archive → src/components}/Checkbox/Checkbox.mdx +0 -0
  325. /package/{archive → src}/fonts/Sora/OFL.txt +0 -0
  326. /package/{archive → src}/fonts/Sora/README.txt +0 -0
  327. /package/{archive → src}/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
  328. /package/{archive → src}/fonts/Sora/static/Sora-Bold.ttf +0 -0
  329. /package/{archive → src}/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
  330. /package/{archive → src}/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
  331. /package/{archive → src}/fonts/Sora/static/Sora-Light.ttf +0 -0
  332. /package/{archive → src}/fonts/Sora/static/Sora-Medium.ttf +0 -0
  333. /package/{archive → src}/fonts/Sora/static/Sora-Regular.ttf +0 -0
  334. /package/{archive → src}/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
  335. /package/{archive → src}/fonts/Sora/static/Sora-Thin.ttf +0 -0
@@ -1,350 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import CarouselThumbnail from '.';
5
-
6
- const slides = [
7
- <img
8
- key={1}
9
- className="keen-slider__slide number-slide1"
10
- src="https://picsum.photos/500/300"
11
- />,
12
- <img
13
- key={2}
14
- className="keen-slider__slide number-slide2"
15
- src="https://picsum.photos/500/301"
16
- />,
17
- <img
18
- key={3}
19
- className="keen-slider__slide number-slide3"
20
- src="https://picsum.photos/500/302"
21
- />,
22
- <img
23
- key={4}
24
- className="keen-slider__slide number-slide4"
25
- src="https://picsum.photos/500/303"
26
- />,
27
- <img
28
- key={5}
29
- className="keen-slider__slide number-slide5"
30
- src="https://picsum.photos/500/304"
31
- />,
32
- <img
33
- key={6}
34
- className="keen-slider__slide number-slide6"
35
- src="https://picsum.photos/500/30"
36
- />,
37
- ];
38
-
39
- const meta = {
40
- title: 'Components/CarouselThumbnail',
41
- component: CarouselThumbnail,
42
- parameters: {},
43
- argTypes: {
44
- ...idAndClassName,
45
- breakpoints: {
46
- type: { name: 'number', required: false },
47
- description: 'The slide to begin on',
48
- table: {
49
- category: '',
50
- subcategory: '',
51
- type: { summary: 'number' },
52
- defaultValue: { summary: 'undefined' },
53
- },
54
- },
55
- defaultAnimation: {
56
- type: { name: 'number', required: false },
57
- description: 'The slide to begin on',
58
- table: {
59
- category: '',
60
- subcategory: '',
61
- type: { summary: 'number' },
62
- defaultValue: { summary: 'undefined' },
63
- },
64
- },
65
- drag: {
66
- type: { name: 'boolean', required: false },
67
- description: 'Can the carousel be dragged or not',
68
- table: {
69
- category: '',
70
- subcategory: '',
71
- type: { summary: 'boolean' },
72
- defaultValue: { summary: 'undefined' },
73
- },
74
- },
75
- dragSpeed: {
76
- type: { name: 'number', required: false },
77
- description: 'The slide to begin on',
78
- table: {
79
- category: '',
80
- subcategory: '',
81
- type: { summary: 'number' },
82
- defaultValue: { summary: 'undefined' },
83
- },
84
- },
85
- initial: {
86
- type: { name: 'number', required: false },
87
- description: 'The slide to begin on',
88
- table: {
89
- category: '',
90
- subcategory: '',
91
- type: { summary: 'number' },
92
- defaultValue: { summary: 'undefined' },
93
- },
94
- },
95
- loop: {
96
- type: { name: 'boolean', required: false },
97
- description: 'loop the end back to the start',
98
- table: {
99
- category: '',
100
- subcategory: '',
101
- type: { summary: 'boolean' },
102
- defaultValue: { summary: 'undefined' },
103
- },
104
- },
105
- mode: {
106
- type: { name: 'string', required: false },
107
- description: 'snap, free or snap-free',
108
- table: {
109
- category: '',
110
- subcategory: '',
111
- type: { summary: 'string' },
112
- defaultValue: { summary: 'undefined' },
113
- },
114
- },
115
- range: {
116
- type: { name: 'number', required: false },
117
- description: '',
118
- table: {
119
- category: '',
120
- subcategory: '',
121
- type: { summary: 'number' },
122
- defaultValue: { summary: 'undefined' },
123
- },
124
- },
125
- renderMode: {
126
- type: { name: 'number', required: false },
127
- description: '',
128
- table: {
129
- category: '',
130
- subcategory: '',
131
- type: { summary: 'number' },
132
- defaultValue: { summary: 'undefined' },
133
- },
134
- },
135
- rtl: {
136
- type: { name: 'boolean', required: false },
137
- description: 'to display right to left',
138
- table: {
139
- category: '',
140
- subcategory: '',
141
- type: { summary: 'boolean' },
142
- defaultValue: { summary: 'undefined' },
143
- },
144
- },
145
- rubberband: {
146
- type: { name: 'boolean', required: false },
147
- description: '',
148
- table: {
149
- category: '',
150
- subcategory: '',
151
- type: { summary: 'boolean' },
152
- defaultValue: { summary: 'undefined' },
153
- },
154
- },
155
- slides: {
156
- type: { name: 'boolean', required: false },
157
- description: '',
158
- table: {
159
- category: '',
160
- subcategory: '',
161
- type: { summary: 'boolean' },
162
- defaultValue: { summary: 'undefined' },
163
- },
164
- },
165
- vertical: {
166
- type: { name: 'boolean', required: false },
167
- description: 'displays the slider vertically',
168
- table: {
169
- category: '',
170
- subcategory: '',
171
- type: { summary: 'boolean' },
172
- defaultValue: { summary: 'undefined' },
173
- },
174
- },
175
- animationStarted: {
176
- type: { name: 'boolean', required: false },
177
- description: '',
178
- table: {
179
- category: '',
180
- subcategory: '',
181
- type: { summary: 'boolean' },
182
- defaultValue: { summary: 'undefined' },
183
- },
184
- },
185
- animationStopped: {
186
- type: { name: 'boolean', required: false },
187
- description: '',
188
- table: {
189
- category: '',
190
- subcategory: '',
191
- type: { summary: 'boolean' },
192
- defaultValue: { summary: 'undefined' },
193
- },
194
- },
195
- animationEnded: {
196
- type: { name: 'boolean', required: false },
197
- description: '',
198
- table: {
199
- category: '',
200
- subcategory: '',
201
- type: { summary: 'boolean' },
202
- defaultValue: { summary: 'undefined' },
203
- },
204
- },
205
- destroyed: {
206
- type: { name: 'boolean', required: false },
207
- description: '',
208
- table: {
209
- category: '',
210
- subcategory: '',
211
- type: { summary: 'boolean' },
212
- defaultValue: { summary: 'undefined' },
213
- },
214
- },
215
- detailsChanged: {
216
- type: { name: 'boolean', required: false },
217
- description: '',
218
- table: {
219
- category: '',
220
- subcategory: '',
221
- type: { summary: 'boolean' },
222
- defaultValue: { summary: 'undefined' },
223
- },
224
- },
225
- dragged: {
226
- type: { name: 'boolean', required: false },
227
- description: '',
228
- table: {
229
- category: '',
230
- subcategory: '',
231
- type: { summary: 'boolean' },
232
- defaultValue: { summary: 'undefined' },
233
- },
234
- },
235
- dragStarted: {
236
- type: { name: 'boolean', required: false },
237
- description: '',
238
- table: {
239
- category: '',
240
- subcategory: '',
241
- type: { summary: 'boolean' },
242
- defaultValue: { summary: 'undefined' },
243
- },
244
- },
245
- dragChecked: {
246
- type: { name: 'boolean', required: false },
247
- description: '',
248
- table: {
249
- category: '',
250
- subcategory: '',
251
- type: { summary: 'boolean' },
252
- defaultValue: { summary: 'undefined' },
253
- },
254
- },
255
- dragEnded: {
256
- type: { name: 'boolean', required: false },
257
- description: '',
258
- table: {
259
- category: '',
260
- subcategory: '',
261
- type: { summary: 'boolean' },
262
- defaultValue: { summary: 'undefined' },
263
- },
264
- },
265
- beforeOptionsChanged: {
266
- type: { name: 'boolean', required: false },
267
- description: '',
268
- table: {
269
- category: '',
270
- subcategory: '',
271
- type: { summary: 'boolean' },
272
- defaultValue: { summary: 'undefined' },
273
- },
274
- },
275
- optionsChanged: {
276
- type: { name: 'boolean', required: false },
277
- description: '',
278
- table: {
279
- category: '',
280
- subcategory: '',
281
- type: { summary: 'boolean' },
282
- defaultValue: { summary: 'undefined' },
283
- },
284
- },
285
- updated: {
286
- type: { name: 'boolean', required: false },
287
- description: '',
288
- table: {
289
- category: '',
290
- subcategory: '',
291
- type: { summary: 'boolean' },
292
- defaultValue: { summary: 'undefined' },
293
- },
294
- },
295
- perView: {
296
- type: { name: 'number', required: false },
297
- description: 'The number of slides to show at a time',
298
- table: {
299
- category: '',
300
- subcategory: '',
301
- type: { summary: 'number' },
302
- defaultValue: { summary: 'undefined' },
303
- },
304
- },
305
- spacing: {
306
- type: { name: 'number', required: false },
307
- description: 'The spacing left and right of each slide',
308
- table: {
309
- category: '',
310
- subcategory: '',
311
- type: { summary: 'number' },
312
- defaultValue: { summary: 'undefined' },
313
- },
314
- },
315
- number: {
316
- type: { name: 'number', required: false },
317
- description: '',
318
- table: {
319
- category: '',
320
- subcategory: '',
321
- type: { summary: 'number' },
322
- defaultValue: { summary: 'undefined' },
323
- },
324
- },
325
- origin: {
326
- type: { name: 'boolean', required: false },
327
- description: '',
328
- table: {
329
- category: '',
330
- subcategory: '',
331
- type: { summary: 'boolean' },
332
- defaultValue: { summary: 'undefined' },
333
- },
334
- },
335
- },
336
- args: {
337
- title: 'Card Carousel',
338
- description: 'what do you think to this?',
339
- loop: true,
340
- drag: true,
341
- slides,
342
- spacing: 16,
343
- },
344
- };
345
-
346
- export default meta;
347
-
348
- type Story = StoryObj<typeof meta>;
349
-
350
- export const Default: Story = {};
@@ -1,302 +0,0 @@
1
- import React from 'react';
2
-
3
- import ComponentWrapper from '@components/ComponentWrapper';
4
- import { type Colours } from '@utils/controls';
5
- import classNames from 'classnames';
6
- import 'keen-slider/keen-slider.min.css';
7
- import {
8
- useKeenSlider,
9
- type KeenSliderInstance,
10
- type KeenSliderHooks,
11
- type KeenSliderOptions,
12
- } from 'keen-slider/react';
13
-
14
-
15
-
16
- export interface Props {
17
- id?: string;
18
- className?: string;
19
- slideWrapperClassName?: string;
20
- title?: string;
21
- description?: string;
22
- bgColour?: Colours;
23
- breakpoints?: Record<
24
- string,
25
- Omit<KeenSliderOptions<{}, {}, KeenSliderHooks>, 'breakpoints'>
26
- >;
27
- defaultAnimation?: { duration?: number; easing?: (t: number) => number };
28
- disabled: boolean;
29
- drag?: boolean;
30
- dragSpeed?: number;
31
- initial?: number;
32
- loop?: boolean;
33
- mode?: 'snap' | 'free' | 'free-snap';
34
- range?: { align?: boolean; min?: number; max?: number };
35
- renderMode?: 'precision' | 'performance' | 'custom';
36
- rtl?: boolean;
37
- rubberband?: boolean;
38
- slides?: any[];
39
- vertical?: boolean;
40
- animationStarted?: (
41
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
42
- ) => void;
43
- animationStopped?: (
44
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
45
- ) => void;
46
- animationEnded?: (
47
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
48
- ) => void;
49
- created?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
50
- destroyed?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
51
- detailsChanged?: (
52
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
53
- ) => void;
54
- dragged?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
55
- dragStarted?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
56
- dragChecked?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
57
- dragEnded?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
58
- beforeOptionsChanged?: (
59
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
60
- ) => void;
61
- optionsChanged?: (
62
- slider: KeenSliderInstance<{}, {}, KeenSliderHooks>,
63
- ) => void;
64
- slideChanged?: boolean;
65
- updated?: (slider: KeenSliderInstance<{}, {}, KeenSliderHooks>) => void;
66
- spacing?: number;
67
- number?: number;
68
- origin?: number | 'auto' | 'center';
69
- }
70
-
71
- const CarouselThumbnail: React.FC<Props> = ({
72
- id,
73
- className,
74
- slideWrapperClassName,
75
- title,
76
- description,
77
- bgColour,
78
- breakpoints,
79
- defaultAnimation,
80
- disabled,
81
- drag,
82
- dragSpeed,
83
- initial,
84
- loop = true,
85
- mode = 'snap',
86
- range,
87
- renderMode,
88
- rtl,
89
- rubberband,
90
- slides,
91
- vertical,
92
- animationStarted,
93
- animationStopped,
94
- animationEnded,
95
- created,
96
- destroyed,
97
- detailsChanged,
98
- dragged,
99
- dragStarted,
100
- dragChecked,
101
- dragEnded,
102
- beforeOptionsChanged,
103
- optionsChanged,
104
- slideChanged,
105
- updated,
106
- spacing,
107
- number,
108
- origin,
109
- }) => {
110
- const classList = classNames(className, 'theme-local');
111
-
112
- function WheelControls(slider: any): void {
113
- let touchTimeout: any;
114
- let position: any;
115
- let wheelActive: boolean;
116
-
117
- function dispatch(e: any, name: string): void {
118
- position.x -= e.deltaX;
119
- position.y -= e.deltaY;
120
- slider.container.dispatchEvent(
121
- new CustomEvent(name, {
122
- detail: {
123
- x: position.x,
124
- y: position.y,
125
- },
126
- }),
127
- );
128
- }
129
-
130
- function wheelStart(e: any): void {
131
- position = {
132
- x: e.pageX,
133
- y: e.pageY,
134
- };
135
- dispatch(e, 'ksDragStart');
136
- }
137
-
138
- function wheel(e: any): void {
139
- dispatch(e, 'ksDrag');
140
- }
141
-
142
- function wheelEnd(e: any): void {
143
- dispatch(e, 'ksDragEnd');
144
- }
145
-
146
- function eventWheel(e: any): void {
147
- if (!wheelActive) {
148
- wheelStart(e);
149
- wheelActive = true;
150
- }
151
- wheel(e);
152
- clearTimeout(touchTimeout);
153
- touchTimeout = setTimeout(() => {
154
- wheelActive = false;
155
- wheelEnd(e);
156
- }, 50);
157
- }
158
-
159
- slider.on('created', () => {
160
- slider.container.addEventListener('wheel', eventWheel, {
161
- passive: true,
162
- });
163
- });
164
- }
165
-
166
- function ThumbnailPlugin(mainRef: any) {
167
- return (slider: any) => {
168
- function removeActive(): void {
169
- slider.slides.forEach((slide: any) => {
170
- slide.classList.remove('active');
171
- });
172
- }
173
-
174
- function addActive(idx: number): void {
175
- slider.slides[idx].classList.add('active');
176
- }
177
-
178
- function addClickEvents(): void {
179
- slider.slides.forEach((slide: any, idx: number) => {
180
- slide.addEventListener('click', () => {
181
- if (mainRef.current) mainRef.current.moveToIdx(idx);
182
- });
183
- });
184
- }
185
-
186
- slider.on('created', () => {
187
- if (!mainRef.current) return;
188
- addActive(slider.track.details.rel);
189
- addClickEvents();
190
- mainRef.current.on('animationStarted', (main: any) => {
191
- removeActive();
192
- const next = main.animator.targetIdx || 0;
193
- addActive(main.track.absToRel(next));
194
- slider.moveToIdx(Math.min(slider.track.details.maxIdx, next));
195
- });
196
- });
197
- };
198
- }
199
-
200
- const breakpointsToRender: any = {
201
- '(min-width: 320px)': {
202
- slides: { perView: 1, spacing: 25 },
203
- },
204
- '(max-width: 500px)': {
205
- slides: { perView: 1, spacing: 25 },
206
- },
207
- '(min-width: 768px)': {
208
- slides: { perView: 1, spacing: 25 },
209
- },
210
- '(min-width: 1024px)': {
211
- slides: { perView: 2, spacing: 20 },
212
- },
213
- '(min-width: 1280px)': {
214
- slides: { perView: 2, spacing: 10 },
215
- },
216
- };
217
-
218
- const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(
219
- {
220
- initial,
221
- breakpoints: breakpointsToRender,
222
- defaultAnimation,
223
- disabled,
224
- drag,
225
- dragSpeed,
226
- loop,
227
- mode,
228
- range,
229
- renderMode,
230
- rtl,
231
- rubberband,
232
- vertical,
233
- slideChanged() {},
234
- // slideChanged: slideChanged,
235
- // created: created,
236
- animationStarted,
237
- animationStopped,
238
- animationEnded,
239
- destroyed,
240
- detailsChanged,
241
- dragged,
242
- dragStarted,
243
- dragChecked,
244
- dragEnded,
245
- beforeOptionsChanged,
246
- optionsChanged,
247
- updated,
248
- slides: {
249
- spacing,
250
- origin,
251
- number,
252
- },
253
- },
254
- [WheelControls],
255
- );
256
-
257
- const [thumbnailRef] = useKeenSlider(
258
- {
259
- initial: 0,
260
- slides: {
261
- perView: 4,
262
- spacing: 10,
263
- },
264
- },
265
- [ThumbnailPlugin(instanceRef)],
266
- );
267
-
268
- return (
269
- <ComponentWrapper
270
- id={id}
271
- className={classList}
272
- title={title}
273
- description={description}
274
- bgColour={bgColour}
275
- >
276
- <div
277
- className={classNames(classList, style.classList, 'navigation-wrapper')}
278
- >
279
- <div
280
- ref={sliderRef}
281
- className={classNames(
282
- style.slideWrapper,
283
- slideWrapperClassName,
284
- 'keen-slider',
285
- )}
286
- >
287
- {slides != null && slides}
288
- </div>
289
- <div className={style.thumbnailWrapper}>
290
- <div
291
- ref={thumbnailRef}
292
- className={`keen-slider thumbnail ${style.thumbnail}`}
293
- >
294
- {slides != null && slides}
295
- </div>
296
- </div>
297
- </div>
298
- </ComponentWrapper>
299
- );
300
- };
301
-
302
- export default CarouselThumbnail;
@@ -1,67 +0,0 @@
1
- .classList {
2
- @apply w-full;
3
- }
4
-
5
- .slideWrapper {
6
- @apply h-96 w-full rounded-t-2xl pb-4;
7
- }
8
-
9
- .thumbnail {
10
- @apply h-24 w-16 rounded-b-2xl;
11
- }
12
-
13
- .primary {
14
- @apply border-white;
15
- }
16
-
17
- .white {
18
- @apply border-primary;
19
- }
20
-
21
- .grey {
22
- @apply border-primary;
23
- }
24
-
25
- .gold {
26
- @apply border-primary;
27
- }
28
-
29
- .facebook {
30
- @apply border-white;
31
- }
32
-
33
- .linkedin {
34
- @apply border-white;
35
- }
36
-
37
- .email {
38
- @apply border-white;
39
- }
40
-
41
- .instagram {
42
- @apply border-primary;
43
- }
44
-
45
- .github {
46
- @apply border-white;
47
- }
48
-
49
- .interactive-facebook {
50
- @apply border-primary;
51
- }
52
-
53
- .interactive-email {
54
- @apply border-primary;
55
- }
56
-
57
- .interactive-linkedin {
58
- @apply border-primary;
59
- }
60
-
61
- .interactive-instagram {
62
- @apply border-primary;
63
- }
64
-
65
- .interactive-github {
66
- @apply border-primary;
67
- }