@growth-angels/ds-core 0.0.4 → 1.0.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 (129) hide show
  1. package/dist/atoms/Button/Button.stories.d.ts +2 -2
  2. package/dist/atoms/Button/Button.stories.js +15 -15
  3. package/dist/atoms/Button/Button.types.d.ts +2 -2
  4. package/dist/atoms/Icon/Icon.d.ts +1 -1
  5. package/dist/atoms/Icon/Icon.js +3 -3
  6. package/dist/atoms/Icon/Icon.types.d.ts +2 -1
  7. package/dist/atoms/Text/Text.d.ts +1 -0
  8. package/dist/atoms/Text/Text.js +4 -3
  9. package/dist/atoms/Text/Text.types.d.ts +5 -1
  10. package/dist/atoms/atoms.d.ts +3 -0
  11. package/dist/atoms/atoms.js +3 -0
  12. package/dist/context/SpoilerContext.d.ts +9 -0
  13. package/dist/context/SpoilerContext.js +15 -0
  14. package/dist/global.types.d.ts +4 -0
  15. package/dist/hooks/useReactAdaptater.d.ts +10 -2
  16. package/dist/hooks/useReactAdaptater.js +6 -3
  17. package/dist/hooks/useSpoilerContext.d.ts +4 -0
  18. package/dist/hooks/useSpoilerContext.js +12 -0
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +1 -0
  21. package/dist/layout/Container/Container.d.ts +2 -3
  22. package/dist/layout/Container/Container.js +10 -3
  23. package/dist/layout/Container/Container.types.d.ts +3 -0
  24. package/dist/layout/FlexBlock/FlexBlock.d.ts +2 -0
  25. package/dist/layout/FlexBlock/FlexBlock.js +21 -0
  26. package/dist/layout/FlexBlock/FlexBlock.types.d.ts +10 -0
  27. package/dist/layout/FlexBlock/FlexBlock.types.js +1 -0
  28. package/dist/layout/FlexCol/FlexCol.d.ts +5 -0
  29. package/dist/layout/FlexCol/FlexCol.js +4 -0
  30. package/dist/layout/FlexCol/FlexCol.types.d.ts +3 -0
  31. package/dist/layout/FlexCol/FlexCol.types.js +1 -0
  32. package/dist/layout/Grid/Grid.d.ts +1 -2
  33. package/dist/layout/Grid/Grid.js +3 -3
  34. package/dist/layout/Grid/Grid.types.d.ts +4 -4
  35. package/dist/layout/Grid/GridItem/GridItem.d.ts +2 -2
  36. package/dist/layout/Grid/GridItem/GridItem.js +10 -3
  37. package/dist/layout/Grid/GridItem/GridItem.types.d.ts +3 -2
  38. package/dist/layout/layout.d.ts +7 -0
  39. package/dist/layout/layout.js +7 -0
  40. package/dist/molecules/ButtonGroup/ButtonGroup.d.ts +2 -0
  41. package/dist/molecules/ButtonGroup/ButtonGroup.js +16 -0
  42. package/dist/molecules/ButtonGroup/ButtonGroup.types.d.ts +5 -0
  43. package/dist/molecules/ButtonGroup/ButtonGroup.types.js +1 -0
  44. package/dist/molecules/Spoiler/Spoiler.d.ts +2 -0
  45. package/dist/molecules/Spoiler/Spoiler.js +13 -0
  46. package/dist/molecules/Spoiler/Spoiler.stories.d.ts +7 -0
  47. package/dist/molecules/Spoiler/Spoiler.stories.js +25 -0
  48. package/dist/molecules/Spoiler/Spoiler.types.d.ts +6 -0
  49. package/dist/molecules/Spoiler/Spoiler.types.js +1 -0
  50. package/dist/molecules/molecules.d.ts +2 -0
  51. package/dist/molecules/molecules.js +2 -0
  52. package/dist/organisms/Card/Card.d.ts +3 -3
  53. package/dist/organisms/Card/Card.js +4 -4
  54. package/dist/organisms/Card/Card.types.d.ts +12 -3
  55. package/dist/organisms/Card/CardDefault.stories.d.ts +2 -2
  56. package/dist/organisms/Card/CardDefault.stories.js +17 -17
  57. package/dist/organisms/Carousel/Carousel.js +5 -1
  58. package/dist/organisms/Carousel/Carousel.types.d.ts +2 -1
  59. package/dist/organisms/SpoilerList/SpoilerList.d.ts +2 -0
  60. package/dist/organisms/SpoilerList/SpoilerList.js +11 -0
  61. package/dist/organisms/SpoilerList/SpoilerList.types.d.ts +4 -0
  62. package/dist/organisms/SpoilerList/SpoilerList.types.js +1 -0
  63. package/dist/organisms/organisms.d.ts +2 -0
  64. package/dist/organisms/organisms.js +2 -0
  65. package/dist/styles.d.ts +1 -0
  66. package/dist/styles.js +1 -0
  67. package/package.json +10 -9
  68. package/src/atoms/Button/Button.scss +18 -19
  69. package/src/atoms/Button/Button.stories.tsx +17 -17
  70. package/src/atoms/Button/Button.types.ts +2 -2
  71. package/src/atoms/Icon/Icon.scss +9 -9
  72. package/src/atoms/Icon/Icon.tsx +10 -8
  73. package/src/atoms/Icon/Icon.types.ts +3 -1
  74. package/src/atoms/Text/Text.scss +33 -2
  75. package/src/atoms/Text/Text.tsx +13 -8
  76. package/src/atoms/Text/Text.types.ts +5 -1
  77. package/src/atoms/atoms.scss +3 -3
  78. package/src/atoms/atoms.ts +3 -0
  79. package/src/context/SpoilerContext.tsx +24 -0
  80. package/src/global.types.ts +4 -0
  81. package/src/hooks/useReactAdaptater.ts +20 -4
  82. package/src/hooks/useSpoilerContext.ts +17 -0
  83. package/src/index.scss +2 -0
  84. package/src/index.ts +1 -0
  85. package/src/layout/Container/Container.scss +55 -13
  86. package/src/layout/Container/Container.tsx +17 -9
  87. package/src/layout/Container/Container.types.ts +3 -1
  88. package/src/layout/FlexBlock/FlexBlock.scss +4 -0
  89. package/src/layout/FlexBlock/FlexBlock.tsx +31 -0
  90. package/src/layout/FlexBlock/FlexBlock.types.ts +12 -0
  91. package/src/layout/FlexCol/FlexCol.scss +5 -0
  92. package/src/layout/FlexCol/FlexCol.tsx +12 -0
  93. package/src/layout/FlexCol/FlexCol.types.ts +3 -0
  94. package/src/layout/Grid/Grid.scss +8 -4
  95. package/src/layout/Grid/Grid.tsx +12 -8
  96. package/src/layout/Grid/Grid.types.ts +4 -4
  97. package/src/layout/Grid/GridItem/GridItem.scss +18 -5
  98. package/src/layout/Grid/GridItem/GridItem.tsx +28 -13
  99. package/src/layout/Grid/GridItem/GridItem.types.ts +3 -2
  100. package/src/layout/layout.scss +5 -3
  101. package/src/layout/layout.ts +8 -1
  102. package/src/molecules/ButtonGroup/ButtonGroup.scss +5 -0
  103. package/src/molecules/ButtonGroup/ButtonGroup.tsx +23 -0
  104. package/src/molecules/ButtonGroup/ButtonGroup.types.ts +6 -0
  105. package/src/molecules/Spoiler/Spoiler.scss +47 -0
  106. package/src/molecules/Spoiler/Spoiler.stories.tsx +44 -0
  107. package/src/molecules/Spoiler/Spoiler.tsx +30 -0
  108. package/src/molecules/Spoiler/Spoiler.types.ts +6 -0
  109. package/src/molecules/molecules.scss +2 -0
  110. package/src/molecules/molecules.ts +2 -0
  111. package/src/organisms/Card/Card.scss +50 -10
  112. package/src/organisms/Card/Card.tsx +17 -6
  113. package/src/organisms/Card/Card.types.ts +12 -3
  114. package/src/organisms/Card/CardDefault.stories.tsx +40 -37
  115. package/src/organisms/Carousel/Carousel.scss +4 -1
  116. package/src/organisms/Carousel/Carousel.tsx +7 -1
  117. package/src/organisms/Carousel/Carousel.types.ts +3 -1
  118. package/src/organisms/SpoilerList/SpoilerList.scss +5 -0
  119. package/src/organisms/SpoilerList/SpoilerList.tsx +19 -0
  120. package/src/organisms/SpoilerList/SpoilerList.types.ts +5 -0
  121. package/src/organisms/organisms.scss +3 -2
  122. package/src/organisms/organisms.ts +3 -1
  123. package/src/scss.d.ts +4 -0
  124. package/src/styles.ts +1 -0
  125. package/src/utils/_spacings.scss +17 -0
  126. package/src/utils/utils.scss +1 -0
  127. package/dist/utils.d.ts +0 -0
  128. package/dist/utils.js +0 -1
  129. package/src/utils.ts +0 -0
@@ -1,55 +1,58 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
- import { Card } from './Card'
3
- import { Button } from '../../atoms/atoms';
4
- import CardDefaultHeader600x400 from '../../../assets/600x400.svg'
5
- import CardDefaultHeader50x50 from '../../../assets/50x50.svg'
1
+ import type { Meta, StoryObj } from "@storybook/react-vite"
2
+ import { Card } from "./Card"
3
+ import { Button } from "../../atoms/atoms"
4
+ import CardDefaultHeader600x400 from "../../../assets/600x400.svg"
5
+ import CardDefaultHeader50x50 from "../../../assets/50x50.svg"
6
6
 
7
7
  const meta: Meta<typeof Card> = {
8
- title: 'Organisms/Card/Default',
8
+ title: "Organisms/Card/Default",
9
9
  component: Card,
10
- tags: ['autodocs'],
10
+ tags: ["autodocs"],
11
11
  }
12
12
 
13
13
  export default meta
14
14
  type Story = StoryObj<typeof Card>
15
15
 
16
- const CardChildren = ({ image } : {
17
- image: string
18
- }) => {
16
+ const CardChildren = ({ image }: { image: string }) => {
19
17
  const images = {
20
- '400x600': CardDefaultHeader600x400,
21
- '50x50': CardDefaultHeader50x50
18
+ "400x600": CardDefaultHeader600x400,
19
+ "50x50": CardDefaultHeader50x50,
22
20
  }
23
- return <>
24
- <div className="ga-ds-card__header">
25
- <img src={images[image as keyof typeof images]} alt="Card header" />
26
- </div>
27
- <div className="ga-ds-card__title">
28
- <h2>Card title</h2>
29
- </div>
30
- <div className='ga-ds-card__content'>
31
- <p>
32
- Lorem ipsum dolor sit amet consectetur, adipisicing elit. Porro temporibus quam ex consequatur est laboriosam nam quisquam doloremque perferendis quo ut, tempora error neque modi delectus assumenda! A, doloremque nulla.
33
- </p>
34
- </div>
35
- <div className="ga-ds-card__footer">
36
- <Button as="a" variant='primary'>Read more</Button>
37
- </div>
38
- </>
21
+ return (
22
+ <>
23
+ <div className="ga-ds-card__header">
24
+ <img src={images[image as keyof typeof images]} alt="Card header" />
25
+ </div>
26
+ <div className="ga-ds-card__title">
27
+ <h2>Card title</h2>
28
+ </div>
29
+ <div className="ga-ds-card__content">
30
+ <p>
31
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Porro temporibus quam ex consequatur est laboriosam nam
32
+ quisquam doloremque perferendis quo ut, tempora error neque modi delectus assumenda! A, doloremque nulla.
33
+ </p>
34
+ </div>
35
+ <div className="ga-ds-card__footer">
36
+ <Button as="a" variant="primary">
37
+ Read more
38
+ </Button>
39
+ </div>
40
+ </>
41
+ )
39
42
  }
40
43
 
41
44
  export const Primary: Story = {
42
45
  args: {
43
- variant: 'primary',
44
- type: 'default',
45
- children: <CardChildren image={'400x600'} />
46
- }
46
+ variant: "primary",
47
+ type: "image",
48
+ children: <CardChildren image={"400x600"} />,
49
+ },
47
50
  }
48
51
 
49
52
  export const Secondary: Story = {
50
53
  args: {
51
- variant: 'secondary',
52
- type: 'default',
53
- children: <CardChildren image={'400x600'} />
54
- }
55
- }
54
+ variant: "secondary",
55
+ type: "image",
56
+ children: <CardChildren image={"400x600"} />,
57
+ },
58
+ }
@@ -1,4 +1,4 @@
1
- @use "@ga/foundation/config" as *;
1
+ @use "@growth-angels/foundation/config" as *;
2
2
 
3
3
  .ga-ds-carousel {
4
4
  overflow: hidden;
@@ -36,6 +36,9 @@
36
36
  @include bp-up(md) {
37
37
  --ga-ds-slides-per-view: var(--ga-ds-slides-per-view-lg);
38
38
  }
39
+ @include bp-up(lg) {
40
+ --ga-ds-slides-per-view: var(--ga-ds-slides-per-view-xl);
41
+ }
39
42
  }
40
43
 
41
44
  &__slide {
@@ -84,8 +84,14 @@ export const Carousel = (props: CarouselProps) => {
84
84
  setActiveSlideIndex(nextIndex)
85
85
  }
86
86
 
87
+ const classes = ["ga-ds-carousel"]
88
+
89
+ if (props.extraClassNames) {
90
+ classes.push(...props.extraClassNames)
91
+ }
92
+
87
93
  return (
88
- <div className="ga-ds-carousel" style={style}>
94
+ <div className={classes.join(" ")} style={style}>
89
95
  {navigation?.positionY === "top" && hasNavigation && (
90
96
  <CarouselNavigation goPrev={goPrev} goNext={goNext} isAtStart={isAtStart} isAtEnd={isAtEnd} />
91
97
  )}
@@ -1,3 +1,5 @@
1
+ import { WordpressDefault } from "../../global.types"
2
+
1
3
  export type Attributes = {
2
4
  context?: 'wp-editor'
3
5
  slidesPerView?: {
@@ -15,6 +17,6 @@ export type Attributes = {
15
17
  positionY: 'bottom' | 'top';
16
18
  }
17
19
  }
18
- export interface CarouselProps extends Attributes {
20
+ export interface CarouselProps extends Attributes, WordpressDefault {
19
21
  children: React.ReactNode | React.ReactNode[]
20
22
  }
@@ -0,0 +1,5 @@
1
+ .ga-ds-spoiler-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--list--gap, 1.6rem);
5
+ }
@@ -0,0 +1,19 @@
1
+ import { SpoilerProvider } from "../../context/SpoilerContext"
2
+ import { useReactAdapter } from "../../hooks/useReactAdaptater"
3
+ import { SpoilerListProps } from "./SpoilerList.types"
4
+
5
+ export const SpoilerList = ({ children, extraClassNames }: SpoilerListProps) => {
6
+ const { Children, cloneElement } = useReactAdapter()
7
+
8
+ const classes = ["ga-ds-spoiler-list"]
9
+ if (extraClassNames) {
10
+ classes.push(...extraClassNames)
11
+ }
12
+ return (
13
+ <div className={classes.join(" ")}>
14
+ <SpoilerProvider>
15
+ {Children.toArray(children).map((child, index) => cloneElement(child as React.ReactElement, { index }))}
16
+ </SpoilerProvider>
17
+ </div>
18
+ )
19
+ }
@@ -0,0 +1,5 @@
1
+ import { WordpressDefault } from "../../global.types";
2
+
3
+ export interface SpoilerListProps extends WordpressDefault {
4
+ children?: React.ReactNode
5
+ }
@@ -1,2 +1,3 @@
1
- @use './Card/Card.scss';
2
- @use './Carousel/Carousel.scss';
1
+ @use "./Card/Card.scss";
2
+ @use "./Carousel/Carousel.scss";
3
+ @use "./SpoilerList/SpoilerList.scss";
@@ -1,2 +1,4 @@
1
1
  export * from './Card/Card'
2
- export * from './Carousel/Carousel'
2
+ export * from './Card/Card.types'
3
+ export * from './Carousel/Carousel'
4
+ export * from './SpoilerList/SpoilerList'
package/src/scss.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ declare module "*.scss" {
2
+ const content: Record<string, string>;
3
+ export default content;
4
+ }
package/src/styles.ts ADDED
@@ -0,0 +1 @@
1
+ import './index.scss'
@@ -0,0 +1,17 @@
1
+ $spacingsMap: ("xsmall", "small", "medium", "large", "xlarge");
2
+
3
+ @each $value in $spacingsMap {
4
+ .ga-ds-util-padding--#{$value} {
5
+ padding-top: var(--ga-spacings-padding-#{$value});
6
+ padding-bottom: var(--ga-spacings-padding-#{$value});
7
+ }
8
+ }
9
+
10
+ $marginsMap: ("small", "medium", "large");
11
+
12
+ @each $value in $marginsMap {
13
+ .ga-ds-util-margin--#{$value} {
14
+ margin-top: var(--ga-spacings-margin-#{$value});
15
+ margin-bottom: var(--ga-spacings-margin-#{$value});
16
+ }
17
+ }
@@ -0,0 +1 @@
1
+ @use "spacings";
package/dist/utils.d.ts DELETED
File without changes
package/dist/utils.js DELETED
@@ -1 +0,0 @@
1
- "use strict";
package/src/utils.ts DELETED
File without changes