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,52 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import BreadcrumbsBordered from '.';
5
-
6
- const meta = {
7
- title: 'Components/BreadcrumbsBordered',
8
- component: BreadcrumbsBordered,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
- links: {
13
- description: 'An array of objects to be displayed in the component',
14
- control: { type: 'array', default: undefined },
15
- table: {
16
- category: '',
17
- type: { summary: 'array' },
18
- defaultValue: { summary: 'undefined' },
19
- },
20
- },
21
- },
22
- args: {
23
- links: [
24
- {
25
- link: '/',
26
- name: 'link 1',
27
- },
28
- {
29
- link: '/',
30
- name: 'link 2',
31
- },
32
- {
33
- link: '/',
34
- name: 'link 3',
35
- },
36
- {
37
- link: '/',
38
- name: 'link 4',
39
- },
40
- {
41
- link: '/',
42
- name: 'link 5',
43
- },
44
- ],
45
- },
46
- };
47
-
48
- export default meta;
49
-
50
- type Story = StoryObj<typeof meta>;
51
-
52
- export const Default: Story = {};
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
-
3
-
4
- import classNames from 'classnames';
5
- import { BreadcrumbsItem } from 'src';
6
-
7
-
8
-
9
- export interface Props {
10
- id?: string;
11
- className?: string;
12
- links?: any[];
13
- }
14
-
15
- const BreadcrumbsBordered: React.FC<Props> = ({ id, className, links }) => {
16
- const linksLength = links?.length !== undefined ? links.length : 0;
17
- const classList = classNames(className, 'flex theme-local');
18
-
19
- return (
20
- <ul id={id} className={classList}>
21
- {links?.map((link: any, i: number) => {
22
- const margin = i === 0 ? 'mr-3' : 'mx-3';
23
- const first = i === 0;
24
-
25
- let bType = 'standard';
26
- if (linksLength >= 1 && i + 1 < linksLength) {
27
- bType = 'link';
28
- }
29
- return (
30
- <BreadcrumbsItem
31
- key={`breadcrumb_item_${i + 0}`}
32
- className={margin}
33
- name={link.name}
34
- link={link.link}
35
- type={bType}
36
- firstItem={first}
37
- />
38
- );
39
- })}
40
- </ul>
41
- );
42
- };
43
-
44
- export default BreadcrumbsBordered;
@@ -1,40 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import BreadcrumbsItem from '.';
5
-
6
- const meta = {
7
- title: 'Components/Breadcrumbs Item',
8
- component: BreadcrumbsItem,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
-
13
- name: {
14
- description: 'Specifies the name for the key attribute',
15
- table: {
16
- category: '',
17
- type: { summary: 'string' },
18
- defaultValue: { summary: 'undefined' },
19
- },
20
- },
21
- type: {
22
- description: 'Specifies the type of breadcrumbs to display ie link',
23
- table: {
24
- category: '',
25
- type: { summary: 'string' },
26
- defaultValue: { summary: 'undefined' },
27
- },
28
- },
29
- },
30
- args: {
31
- name: 'Link 1',
32
- href: '/',
33
- firstItem: false,
34
- },
35
- };
36
- export default meta;
37
-
38
- type Story = StoryObj<typeof meta>;
39
-
40
- export const Default: Story = {};
@@ -1,149 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- export interface Props {
6
- id?: string;
7
- className?: string;
8
- name: string;
9
- link: string;
10
- type?: string;
11
- firstItem?: boolean;
12
- href?: string;
13
- }
14
-
15
- const BreadcrumbsItem = ({
16
- id,
17
- className,
18
- name,
19
- link,
20
- href,
21
- type,
22
- firstItem,
23
- }: Props): JSX.Element => {
24
- const [isHovering, setIsHovering] = useState(false);
25
-
26
- const classList = classNames(className, 'item theme-local');
27
-
28
- const itemClassList = classNames(
29
- {
30
- 'hover:underline': type === 'link',
31
- 'mb-0': isHovering,
32
- },
33
- 'bc-item relative px-4 h-8',
34
- );
35
-
36
- const frontArrow = (
37
- <span
38
- style={{
39
- borderTop: '17px solid transparent',
40
- borderBottom: '15px solid transparent',
41
- borderLeft: '16px solid',
42
- right: '-16px',
43
- }}
44
- className='absolute top-0 h-0 w-0 border-t'
45
- />
46
- );
47
-
48
- const backArrows = (
49
- <>
50
- <span
51
- style={{
52
- borderTop: '17px solid',
53
- borderBottom: '18px solid transparent',
54
- borderLeft: '17px solid transparent',
55
- left: '-17px',
56
- // '-webkit-transform': 'scaleY(-1)',
57
- transform: 'scaleY(-1)',
58
- }}
59
- className='absolute h-0 w-0 border-l-transparent bg-transparent bottom-0'
60
- />
61
- <span
62
- style={{
63
- borderTop: '18px solid',
64
- borderBottom: '17px solid transparent',
65
- borderLeft: '17px solid transparent',
66
- left: '-17px',
67
- }}
68
- className='top-0 absolute h-0 w-0 border-l-transparent bg-transparent'
69
- />
70
- </>
71
- );
72
-
73
- const renderWithFrontArrow = (
74
- <div className={itemClassList}>
75
- <p className='pt-1 text-center'>
76
- {name}
77
- {frontArrow}
78
- </p>
79
- </div>
80
- );
81
-
82
- const renderWithBackArrows = (
83
- <div className={itemClassList}>
84
- <p className='pt-1 text-center'>
85
- {backArrows}
86
- {name}
87
- {frontArrow}
88
- </p>
89
- </div>
90
- );
91
-
92
- return (
93
- <div id={id} className={classList}>
94
- {type === 'link' ? (
95
- firstItem !== null ? (
96
- <a
97
- onMouseOver={() => {
98
- setIsHovering(true);
99
- }}
100
- onMouseOut={() => {
101
- setIsHovering(false);
102
- }}
103
- href={href}
104
- >
105
- <li className='list-none'>{renderWithFrontArrow}</li>
106
- </a>
107
- ) : (
108
- <a
109
- onMouseOver={() => {
110
- setIsHovering(true);
111
- }}
112
- onMouseOut={() => {
113
- setIsHovering(false);
114
- }}
115
- href={href}
116
- >
117
- <li className='list-none'>{renderWithBackArrows}</li>
118
- </a>
119
- )
120
- ) : firstItem !== null ? (
121
- <li
122
- className='list-none'
123
- onMouseOver={() => {
124
- setIsHovering(true);
125
- }}
126
- onMouseOut={() => {
127
- setIsHovering(false);
128
- }}
129
- >
130
- {renderWithFrontArrow}
131
- </li>
132
- ) : (
133
- <li
134
- className='list-none'
135
- onMouseOver={() => {
136
- setIsHovering(true);
137
- }}
138
- onMouseOut={() => {
139
- setIsHovering(false);
140
- }}
141
- >
142
- {renderWithBackArrows}
143
- </li>
144
- )}
145
- </div>
146
- );
147
- };
148
-
149
- export default BreadcrumbsItem;
@@ -1,150 +0,0 @@
1
- import { action } from '@storybook/addon-actions';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { idAndClassName } from '@utils/controls';
4
-
5
- import Button from '.';
6
-
7
- const meta = {
8
- title: 'Components/Button',
9
- component: Button,
10
- parameters: {
11
- docs: {
12
- description: {
13
- component:
14
- 'A Button which can either be internal, external or social as well as a standard design or a slide design.',
15
- },
16
- },
17
- },
18
- argTypes: {
19
- ...idAndClassName,
20
- onClick: {
21
- type: { name: 'function', required: false },
22
- description: 'The action to perform when clicking on the component',
23
- action: 'onClick',
24
- table: {
25
- type: {
26
- summary: 'function',
27
- },
28
- defaultValue: { summary: 'undefined' },
29
- },
30
- },
31
- hoverText: {
32
- type: {
33
- name: 'string',
34
- required: false,
35
- },
36
- description: 'The text to display when hovering on the component',
37
- table: {
38
- type: {
39
- summary: 'string',
40
- },
41
- defaultValue: {
42
- summary: 'undefined',
43
- },
44
- },
45
- },
46
- variant: {
47
- type: {
48
- name: 'string',
49
- required: false,
50
- },
51
- options: ['primary', 'secondary'],
52
- description: 'The variant of button to render',
53
- table: {
54
- type: {
55
- summary: 'primary',
56
- },
57
- defaultValue: {
58
- summary: 'primary',
59
- },
60
- },
61
- defaultValue: 'primary',
62
- control: {
63
- type: 'radio',
64
- },
65
- },
66
- type: {
67
- type: {
68
- name: 'string',
69
- required: false,
70
- },
71
- options: ['default', 'social', 'icon'],
72
- description: 'The type of button to render',
73
- table: {
74
- type: {
75
- summary: 'default',
76
- },
77
- defaultValue: {
78
- summary: 'default',
79
- },
80
- },
81
- defaultValue: 'default',
82
- control: { type: 'radio' },
83
- },
84
- href: {
85
- type: { name: 'string', required: false },
86
- description: 'The link attached to the component',
87
- table: {
88
- type: {
89
- summary: 'default',
90
- },
91
- defaultValue: {
92
- summary: 'undefined',
93
- },
94
- },
95
- },
96
- rounded: {
97
- type: {
98
- name: 'boolean',
99
- required: false,
100
- },
101
- description: 'rounds the borders when true',
102
- defaultValue: 'true',
103
- },
104
- disabled: {
105
- type: {
106
- name: 'boolean',
107
- required: false,
108
- },
109
- description: 'Can the carousel be dragged or not',
110
- },
111
- isLoading: {
112
- type: {
113
- name: 'boolean',
114
- required: false,
115
- },
116
- table: {
117
- defaultValue: {
118
- summary: 'false',
119
- },
120
- },
121
- description: 'Toggles the loading state of the compnent',
122
- },
123
- openInNewTab: {
124
- type: { name: 'boolean', required: false },
125
- description: 'Opens the link in a new tab when set to true',
126
- defaultValue: 'false',
127
- },
128
- children: {
129
- type: { name: 'other', value: 'string | React.ReactNode' },
130
- description: 'The child elements to show in the component',
131
- table: {
132
- type: {
133
- summary: 'Array',
134
- },
135
- defaultValue: { summary: 'undefined' },
136
- },
137
- },
138
- },
139
- args: {
140
- children: 'This is a button',
141
- rounded: true,
142
- onClick: action('button clicked'),
143
- },
144
- };
145
-
146
- export default meta;
147
-
148
- type Story = StoryObj<typeof meta>;
149
-
150
- export const Default: Story = {};
@@ -1,111 +0,0 @@
1
- import React from 'react';
2
-
3
- import Icon from '@components/Icon';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- interface AnchorAttributes
9
- extends Partial<
10
- Pick<JSX.IntrinsicElements['a'], 'href' | 'title' | 'target'>
11
- > {}
12
-
13
- export interface Props {
14
- id?: string;
15
- className?: string;
16
- onClick?: React.MouseEventHandler;
17
- hoverText?: string;
18
- variant?: 'primary' | 'secondary' | 'tertiary';
19
- type?: 'social' | 'icon' | 'default';
20
- href?: string;
21
- label?: string;
22
- target?: string;
23
- rounded?: boolean;
24
- disabled?: boolean;
25
- isLoading?: boolean;
26
- openInNewTab?: boolean;
27
- children?: any;
28
- }
29
-
30
- const Button = ({
31
- id,
32
- className,
33
- onClick,
34
- variant = 'primary',
35
- type = 'default',
36
- href,
37
- target,
38
- label,
39
- rounded = true,
40
- disabled = false,
41
- isLoading = false,
42
- openInNewTab = false,
43
- children,
44
- }: Props): JSX.Element => {
45
- const padding = classNames(
46
- {
47
- [style.social]: type === 'social',
48
- [style.icon]: type === 'icon',
49
- [style.default]: type === 'default',
50
- },
51
- [style.padding],
52
- );
53
-
54
- const loadingClasses = classNames(
55
- {
56
- invisible: !isLoading,
57
- },
58
- style.loading,
59
- );
60
-
61
- const classList = classNames(
62
- {
63
- [style.primary]: variant === 'primary',
64
- [style.primaryNotDisabled]: !disabled && variant === 'primary',
65
- [style.secondary]: variant === 'secondary',
66
- [style.secondaryNotDisabled]: !disabled && variant === 'secondary',
67
- [style.disabled]: disabled,
68
- [style.rounded]: rounded,
69
- [style.notRounded]: !rounded,
70
- },
71
- style.classList,
72
- className,
73
- padding,
74
- 'theme-local',
75
- );
76
-
77
- const loadingIcon = (
78
- <Icon
79
- size={1}
80
- type="spinner"
81
- animation="pulse"
82
- colour="white"
83
- bgColour="primary"
84
- />
85
- );
86
-
87
- let Tag: keyof Pick<JSX.IntrinsicElements, 'a' | 'button'> = 'button';
88
- let attributes: AnchorAttributes = {};
89
-
90
- if (Boolean(href) || Boolean(target)) {
91
- Tag = 'a';
92
- attributes = { href, target };
93
- }
94
-
95
- return (
96
- <Tag
97
- {...attributes}
98
- id={id}
99
- className={classList}
100
- aria-busy={isLoading}
101
- aria-label={label}
102
- {...(onClick != null && { onClick })}
103
- {...(disabled && { disabled })}
104
- >
105
- <div className={classNames({ invisible: isLoading })}>{children}</div>
106
- {isLoading && <div className={loadingClasses}>{loadingIcon}</div>}
107
- </Tag>
108
- );
109
- };
110
-
111
- export default Button;
@@ -1,76 +0,0 @@
1
- .classList {
2
- @apply transform border-2 text-sm duration-500;
3
- @apply inline-block text-center;
4
- }
5
-
6
- .classList:focus {
7
- @apply outline;
8
- }
9
-
10
- .loading {
11
- @apply absolute left-2/4 top-1/4 -ml-2;
12
- }
13
-
14
- .social {
15
- @apply px-1 py-1;
16
- }
17
-
18
- .icon {
19
- @apply px-3;
20
- }
21
-
22
- .default {
23
- @apply px-8;
24
- }
25
-
26
- .padding {
27
- @apply py-3;
28
- }
29
-
30
- .primary {
31
- @apply border-secondary bg-primary text-secondary outline-primary;
32
- }
33
-
34
- .primaryNotDisabled:hover {
35
- @apply border-primary bg-secondary text-primary;
36
- }
37
-
38
- .primaryNotDisabled:focus:hover {
39
- @apply border-primary bg-secondary text-primary;
40
- }
41
-
42
- .secondary {
43
- @apply border-primary bg-secondary text-primary outline-secondary;
44
- }
45
-
46
- .secondaryNotDisabled:hover {
47
- @apply border-secondary bg-primary text-secondary;
48
- }
49
-
50
- .secondaryNotDisabled:focus:hover {
51
- @apply border-primary bg-primary text-secondary;
52
- }
53
-
54
- .tertiary {
55
- @apply border-secondary bg-secondary text-secondary outline-tertiary;
56
- }
57
-
58
- .tertiaryNotDisabled:hover {
59
- @apply border-tertiary bg-secondary text-tertiary;
60
- }
61
-
62
- .tertiaryNotDisabled:focus:hover {
63
- @apply border-secondary bg-secondary text-tertiary;
64
- }
65
-
66
- .disabled {
67
- @apply opacity-50;
68
- }
69
-
70
- .rounded {
71
- @apply rounded-lg;
72
- }
73
-
74
- .notRounded {
75
- @apply rounded-none;
76
- }
@@ -1,82 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Calendar from '.';
5
-
6
- const meta = {
7
- title: 'Components/Calendar',
8
- component: Calendar,
9
- argTypes: {
10
- ...idAndClassName,
11
-
12
- useRange: {
13
- type: { name: 'boolean', required: false },
14
- description: 'Toggles the ability to select a range of dates',
15
- table: {
16
- defaultValue: { summary: 'false' },
17
- },
18
- defaultValue: 'false',
19
- },
20
- showDoubleView: {
21
- type: { name: 'boolean', required: false },
22
- description: 'Toggles the 2 month mode',
23
- table: {
24
- defaultValue: { summary: 'true' },
25
- },
26
- defaultValue: 'true',
27
- },
28
- showNavigation: {
29
- type: { name: 'boolean', required: false },
30
- description: 'Toggles the navigation at the top of the calendar',
31
- table: {
32
- defaultValue: { summary: 'true' },
33
- },
34
- defaultValue: 'true',
35
- },
36
- minDetail: {
37
- type: { name: 'string', required: false },
38
- description: 'The detail in whuch you with the calendar to show',
39
- table: {
40
- defaultValue: { summary: 'month' },
41
- },
42
- defaultValue: 'month',
43
- },
44
- minDate: {
45
- type: { name: 'date', required: false },
46
- description: 'The minimum date to show as available on the calendar',
47
- table: {
48
- defaultValue: { summary: new Date() },
49
- },
50
- defaultValue: new Date(),
51
- },
52
- maxDate: {
53
- type: { name: 'date', required: false },
54
- description: 'The maximum date to show as available on the calendar',
55
- table: {
56
- defaultValue: {
57
- summary: new Date(
58
- new Date().setFullYear(new Date().getFullYear() + 1),
59
- ),
60
- },
61
- },
62
- defaultValue: new Date(
63
- new Date().setFullYear(new Date().getFullYear() + 1),
64
- ),
65
- },
66
- disabledDates: {
67
- type: { name: 'array', required: false },
68
- description: 'An array of dates as strings to grey out on the component',
69
- table: {
70
- defaultValue: { summary: [] },
71
- },
72
- defaultValue: [],
73
- },
74
- },
75
- args: {},
76
- };
77
-
78
- export default meta;
79
-
80
- type Story = StoryObj<typeof meta>;
81
-
82
- export const Default: Story = {};