@courtneyring/components-library 1.0.30 → 1.0.32

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 (107) hide show
  1. package/dist/{AccordionItem-DuHzStoZ.js → AccordionItem-CDN4L4a7.js} +11 -11
  2. package/dist/ScrollTrigger-6HnikosL.js +1086 -0
  3. package/dist/animations/FadeIn.js +8 -7
  4. package/dist/assets/AccordionItem.css +1 -1
  5. package/dist/assets/Background.css +1 -1
  6. package/dist/assets/Banner.css +1 -1
  7. package/dist/assets/Button.css +1 -1
  8. package/dist/assets/ButtonGroup.css +1 -0
  9. package/dist/assets/Container.css +1 -1
  10. package/dist/assets/Countdown.css +1 -1
  11. package/dist/assets/Fifty.css +1 -1
  12. package/dist/assets/FloatingWordsHero.css +1 -0
  13. package/dist/assets/Footer.css +1 -1
  14. package/dist/assets/GenericOverlay.css +1 -1
  15. package/dist/assets/IconDetail.css +1 -1
  16. package/dist/assets/ImageTextBlock.css +1 -1
  17. package/dist/assets/List.css +1 -1
  18. package/dist/assets/Map.css +1 -0
  19. package/dist/assets/Navbar.css +1 -1
  20. package/dist/assets/Note.css +1 -1
  21. package/dist/assets/OverlayHero.css +1 -1
  22. package/dist/assets/PageContainer.css +1 -1
  23. package/dist/assets/PinnedImage.css +1 -1
  24. package/dist/assets/PromoGroup.css +1 -1
  25. package/dist/assets/RSVPEmbed.css +1 -1
  26. package/dist/assets/Schedule.css +1 -1
  27. package/dist/assets/TextBlock.css +1 -1
  28. package/dist/components/Accordion/Accordion.js +21 -14
  29. package/dist/components/Accordion/AccordionItem.js +2 -2
  30. package/dist/components/Background/Background.js +24 -22
  31. package/dist/components/Banner/Banner.js +18 -16
  32. package/dist/components/BorderedBackground/BorderedBackground.js +1 -1
  33. package/dist/components/Button/Button.js +23 -16
  34. package/dist/components/ButtonGroup/ButtonGroup.js +11 -0
  35. package/dist/components/Container/Container.js +18 -15
  36. package/dist/components/Countdown/Countdown.js +35 -23
  37. package/dist/components/Fifty/Fifty.js +43 -34
  38. package/dist/components/FloatingWordsHero/FloatingWordsHero.js +60 -0
  39. package/dist/components/Footer/Footer.js +7 -7
  40. package/dist/components/GenericOverlay/GenericOverlay.js +7 -7
  41. package/dist/components/GridGallery/GridGallery.js +1 -1
  42. package/dist/components/HorizontalScrollImages/HorizontalScrollImages.js +13 -12
  43. package/dist/components/IconDetail/IconDetail.js +8 -8
  44. package/dist/components/ImageTextBlock/ImageTextBlock.js +27 -24
  45. package/dist/components/List/List.js +8 -8
  46. package/dist/components/Map/Map.js +43 -0
  47. package/dist/components/Map/Map.stories.js +16 -0
  48. package/dist/components/MenuButton/MenuButton.js +1 -1
  49. package/dist/components/Navbar/Navbar.js +61 -54
  50. package/dist/components/Note/Note.js +26 -22
  51. package/dist/components/Overlay/Overlay.js +1 -1
  52. package/dist/components/OverlayHero/OverlayHero.js +63 -21
  53. package/dist/components/PageContainer/PageContainer.js +6 -6
  54. package/dist/components/ParallaxImageGrid/ParallaxImageGrid.js +4 -3
  55. package/dist/components/PinnedImage/PinnedImage.js +34 -33
  56. package/dist/components/PromoGroup/PromoGroup.js +100 -51
  57. package/dist/components/RSVPEmbed/RSVPEmbed.js +9 -8
  58. package/dist/components/Schedule/Schedule.js +6 -6
  59. package/dist/components/Spacer/Spacer.js +6 -0
  60. package/dist/components/TextBlock/TextBlock.js +5 -5
  61. package/dist/components/Timeline/Timeline.js +12 -11
  62. package/dist/components/Toolbar/Toolbar.js +41 -13
  63. package/dist/hooks/useActiveSection 4.js +27 -0
  64. package/dist/hooks/useFadeIn 4.js +52 -0
  65. package/dist/hooks/useFadeIn.js +17 -16
  66. package/dist/hooks/useImageReveal 4.js +55 -0
  67. package/dist/hooks/useImageReveal.js +55 -0
  68. package/dist/hooks/useNavColor 4.js +15 -0
  69. package/dist/hooks/useRepeatable 4.js +32 -0
  70. package/dist/hooks/useResize 4.js +23 -0
  71. package/dist/hooks/useResize.js +11 -7
  72. package/dist/hooks/useResponsive 4.js +15 -0
  73. package/dist/hooks/useReveal 4.js +38 -0
  74. package/dist/hooks/useReveal.js +38 -0
  75. package/dist/hooks/useStagger 4.js +43 -0
  76. package/dist/hooks/useStagger.js +43 -0
  77. package/dist/index 2.js +50 -0
  78. package/dist/{index-BIlioXmW.js → index-B2JRaoNz 4.js } +2 -1
  79. package/dist/index-B2JRaoNz.js +48 -0
  80. package/dist/index-BmTo-IS6 4.js +2018 -0
  81. package/dist/index-BmTo-IS6.js +2018 -0
  82. package/dist/index-DyQs5aC7 4.js +388 -0
  83. package/dist/{index-BlCqcUwj.js → index-K0WrPJ_C 4.js } +1 -1
  84. package/dist/index-K0WrPJ_C.js +29 -0
  85. package/dist/index.js +42 -46
  86. package/dist/index.modern-DPbS1w7M 4.js +1443 -0
  87. package/dist/index.modern-DPbS1w7M.js +1443 -0
  88. package/dist/presets/animations 4.js +24 -0
  89. package/dist/presets/animations.js +24 -0
  90. package/dist/utils/breakpoints 4.js +8 -0
  91. package/dist/utils/gsapSetup 4.js +8 -0
  92. package/dist/utils/gsapSetup.js +4 -3
  93. package/dist/utils/parse 4.js +12 -0
  94. package/dist/utils/parse.js +7 -7
  95. package/package.json +9 -4
  96. package/src/styles/_breakpoints.scss +107 -0
  97. package/src/styles/_colors.scss +50 -0
  98. package/src/styles/_fonts.scss +238 -0
  99. package/src/styles/_mixins.scss +114 -0
  100. package/src/styles/_reveal.scss +93 -0
  101. package/src/styles/_sizes.scss +192 -0
  102. package/src/styles/globals.scss +77 -0
  103. package/src/styles/index.scss +1 -0
  104. package/src/styles/variables.module.scss +20 -0
  105. package/dist/Particles-CKNJUrOc.js +0 -2789
  106. package/dist/ScrollTrigger-DDbij8gI.js +0 -3102
  107. package/dist/components/ParticleBackground/ParticleBackground.js +0 -31
@@ -0,0 +1,24 @@
1
+ const t = {
2
+ from: { opacity: 0, y: 16 },
3
+ to: { opacity: 1, y: 0, duration: 0.85, ease: "power2.out" },
4
+ start: "top 78%"
5
+ }, o = {
6
+ from: { opacity: 0 },
7
+ to: { opacity: 1, duration: 1.5, ease: "power2.out" },
8
+ start: "top 78%"
9
+ }, a = {
10
+ from: { opacity: 0, y: 20 },
11
+ to: { opacity: 1, y: 0, duration: 0.7, ease: "power2.out" },
12
+ stagger: 0.1,
13
+ start: "top 80%"
14
+ }, e = {
15
+ from: { opacity: 0, filter: "brightness(2) saturate(0)" },
16
+ to: { opacity: 1, filter: "brightness(1) saturate(1)", duration: 1.2, ease: "power2.out" },
17
+ start: "top 85%"
18
+ };
19
+ export {
20
+ o as appleFade,
21
+ t as appleReveal,
22
+ a as appleStagger,
23
+ e as imageFadeFromWhite
24
+ };
@@ -0,0 +1,24 @@
1
+ const t = {
2
+ from: { opacity: 0, y: 16 },
3
+ to: { opacity: 1, y: 0, duration: 0.85, ease: "power2.out" },
4
+ start: "top 78%"
5
+ }, o = {
6
+ from: { opacity: 0 },
7
+ to: { opacity: 1, duration: 1.5, ease: "power2.out" },
8
+ start: "top 78%"
9
+ }, a = {
10
+ from: { opacity: 0, y: 20 },
11
+ to: { opacity: 1, y: 0, duration: 0.7, ease: "power2.out" },
12
+ stagger: 0.1,
13
+ start: "top 80%"
14
+ }, e = {
15
+ from: { opacity: 0, filter: "brightness(2) saturate(0)" },
16
+ to: { opacity: 1, filter: "brightness(1) saturate(1)", duration: 1.2, ease: "power2.out" },
17
+ start: "top 85%"
18
+ };
19
+ export {
20
+ o as appleFade,
21
+ t as appleReveal,
22
+ a as appleStagger,
23
+ e as imageFadeFromWhite
24
+ };
@@ -0,0 +1,8 @@
1
+ const t = ({ innerWidth: s }) => s >= 992, e = ({ innerWidth: s }) => s > 1200, o = ({ innerWidth: s }) => s >= 992 && s < 1200, r = ({ innerWidth: s }) => s >= 768 && s < 992, n = ({ innerWidth: s }) => s < 768;
2
+ export {
3
+ t as isDesktop,
4
+ e as isLargeDesktop,
5
+ n as isMobile,
6
+ o as isSmallDesktop,
7
+ r as isTablet
8
+ };
@@ -0,0 +1,8 @@
1
+ import { g as r } from "../index-BmTo-IS6.js";
2
+ import { S as e } from "../ScrollTrigger-6HnikosL.js";
3
+ function o() {
4
+ return r.core.globals().ScrollTrigger || r.registerPlugin(e), r;
5
+ }
6
+ export {
7
+ o as ensureGsapRegistered
8
+ };
@@ -1,7 +1,8 @@
1
- import { g as r, S as e } from "../ScrollTrigger-DDbij8gI.js";
2
- function i() {
1
+ import { g as r } from "../index-BmTo-IS6.js";
2
+ import { S as e } from "../ScrollTrigger-6HnikosL.js";
3
+ function o() {
3
4
  return r.core.globals().ScrollTrigger || r.registerPlugin(e), r;
4
5
  }
5
6
  export {
6
- i as ensureGsapRegistered
7
+ o as ensureGsapRegistered
7
8
  };
@@ -0,0 +1,12 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import l from "react";
3
+ function o(r) {
4
+ return l.isValidElement(r);
5
+ }
6
+ const i = (r) => (Array.isArray(r) ? r : [r]).map(
7
+ (e, a) => o(e) ? /* @__PURE__ */ t(l.Fragment, { children: e }, `seg-${a}`) : /* @__PURE__ */ t("p", { children: e }, `seg-${a}`)
8
+ );
9
+ export {
10
+ i as default,
11
+ o as isReactElement
12
+ };
@@ -1,12 +1,12 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import o from "react";
3
- function c(r) {
4
- return o.isValidElement(r);
2
+ import l from "react";
3
+ function o(r) {
4
+ return l.isValidElement(r);
5
5
  }
6
- const m = (r) => (Array.isArray(r) ? r : [r]).map(
7
- (e, a) => c(e) ? /* @__PURE__ */ t(o.Fragment, { children: e }, `seg-${a}`) : /* @__PURE__ */ t("p", { children: e }, `seg-${a}`)
6
+ const i = (r) => (Array.isArray(r) ? r : [r]).map(
7
+ (e, a) => o(e) ? /* @__PURE__ */ t(l.Fragment, { children: e }, `seg-${a}`) : /* @__PURE__ */ t("p", { children: e }, `seg-${a}`)
8
8
  );
9
9
  export {
10
- m as default,
11
- c as isReactElement
10
+ i as default,
11
+ o as isReactElement
12
12
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@courtneyring/components-library",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -8,14 +8,17 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "default": "./dist/index.js"
11
- }
11
+ },
12
+ "./styles": "./src/styles/index.scss"
12
13
  },
13
14
  "files": [
14
- "dist"
15
+ "dist",
16
+ "src/styles"
15
17
  ],
16
18
  "scripts": {
17
19
  "dev": "vite",
18
- "build": "vite build --watch",
20
+ "build": "vite build",
21
+ "watch": "rm -rf dist && vite build --watch",
19
22
  "lint": "eslint .",
20
23
  "preview": "vite preview",
21
24
  "storybook": "storybook dev -p 6006",
@@ -23,8 +26,10 @@
23
26
  "publish-package": "npm publish --access public"
24
27
  },
25
28
  "dependencies": {
29
+ "@googlemaps/js-api-loader": "^2.0.2",
26
30
  "@gsap/react": "^2.1.2",
27
31
  "@next/third-parties": "^16.1.6",
32
+ "@vis.gl/react-google-maps": "^1.8.3",
28
33
  "classnames": "^2.5.1",
29
34
  "gsap": "^3.13.0",
30
35
  "moment": "^2.30.1",
@@ -0,0 +1,107 @@
1
+ @use "sass:map";
2
+
3
+ $breakpoints: (
4
+ //Small mobile
5
+ "xxs": 0,
6
+ // Standard Mobile
7
+ "xs": 390px,
8
+ // Small Tablet Portrait
9
+ "sm": 625px,
10
+ // Large Tablet Portrait
11
+ "md": 800px,
12
+ // Small Landscape
13
+ "lg": 992px,
14
+ // Large Landscape
15
+ "xl": 1200px,
16
+ // XL Landscape
17
+ "xxl": 1600px
18
+ );
19
+
20
+
21
+
22
+
23
+ @mixin xxs {
24
+ @media (min-width: map.get($breakpoints, "xxs")) {
25
+ @content;
26
+ }
27
+ }
28
+
29
+ @mixin xs {
30
+ @media (min-width: map.get($breakpoints, "xs")) {
31
+ @content;
32
+ }
33
+ }
34
+
35
+ @mixin sm {
36
+ @media (min-width: map.get($breakpoints, "sm")) {
37
+ @content;
38
+ }
39
+ }
40
+
41
+ @mixin md {
42
+ @media (min-width: map.get($breakpoints, "md")) {
43
+ @content;
44
+ }
45
+ }
46
+
47
+ @mixin lg {
48
+ @media (min-width: map.get($breakpoints, "lg")) {
49
+ @content;
50
+ }
51
+ }
52
+
53
+ @mixin xl {
54
+ @media (min-width: map.get($breakpoints, "xl")) {
55
+ @content;
56
+ }
57
+ }
58
+
59
+ @mixin xxl {
60
+ @media (min-width: map.get($breakpoints, "xxl")) {
61
+ @content;
62
+ }
63
+ }
64
+
65
+ @mixin breakpoint($bp: 0) {
66
+ @media (max-width: $bp) {
67
+ @content;
68
+ }
69
+ }
70
+
71
+ @mixin landscape {
72
+ @media (orientation: landscape) {
73
+ @content;
74
+ }
75
+ }
76
+
77
+ @mixin portrait {
78
+ @media (orientation: portrait) {
79
+ @content;
80
+ }
81
+ }
82
+
83
+ @mixin viewport($bp, $orientation) {
84
+ $width: map.get($breakpoints, $bp);
85
+
86
+ @if $width ==null {
87
+ @error "Unknown breakpoint `#{$bp}`.";
88
+ }
89
+
90
+ @if $orientation !=portrait and $orientation !=landscape {
91
+ @error "Orientation must be `portrait` or `landscape`.";
92
+ }
93
+
94
+ @media (min-width: $width) and (orientation: $orientation) {
95
+ @content;
96
+ }
97
+ }
98
+
99
+ @mixin landscape-or($bp-landscape, $bp-any) {
100
+ $width-landscape: map.get($breakpoints, $bp-landscape);
101
+ $width-any: map.get($breakpoints, $bp-any);
102
+
103
+ @media (min-width: $width-landscape) and (orientation: landscape),
104
+ (min-width: $width-any) {
105
+ @content;
106
+ }
107
+ }
@@ -0,0 +1,50 @@
1
+ @use "sass:string";
2
+ @use "sass:meta";
3
+ @use "sass:map";
4
+
5
+ //TEMP
6
+ $color-primary: var(--color-primary-dark);
7
+
8
+ $color-primary-dark: var(--color-primary-dark);
9
+ $color-primary-medium: var(--color-primary-medium);
10
+ $color-primary-light: var(--color-primary-light);
11
+ $color-secondary: var(--color-secondary);
12
+ $color-white: var(--color-white);
13
+ $color-neutral-light: var(--color-neutral-light);
14
+ $color-neutral-medium: var(--color-neutral-medium);
15
+ $color-neutral-dark: var(--color-neutral-dark);
16
+
17
+ $theme-colors: (
18
+ "color-primary-dark": (
19
+ background-color: $color-primary-dark,
20
+ color: $color-white,
21
+ ),
22
+ "color-primary-medium": (
23
+ background-color: $color-primary-medium,
24
+ color: $color-white,
25
+ ),
26
+ "color-primary-light": (
27
+ background-color: $color-primary-light,
28
+ color: $color-neutral-dark,
29
+ ),
30
+ "color-secondary": (
31
+ background-color: $color-secondary,
32
+ color: $color-neutral-dark,
33
+ ),
34
+ "color-neutral-dark": (
35
+ background-color: $color-neutral-dark,
36
+ color: $color-white,
37
+ ),
38
+ "color-neutral-medium": (
39
+ background-color: $color-neutral-medium,
40
+ color: $color-white,
41
+ ),
42
+ "color-neutral-light": (
43
+ background-color: $color-neutral-light,
44
+ color: $color-neutral-dark,
45
+ ),
46
+ "color-white": (
47
+ background-color: $color-white,
48
+ color: $color-neutral-dark,
49
+ ),
50
+ );
@@ -0,0 +1,238 @@
1
+ @use "sass:map";
2
+ @use "breakpoints";
3
+ @use "sass:string";
4
+ @use "sass:list";
5
+
6
+ // Fonts
7
+ $font-primary: var(--font-primary);
8
+ $font-secondary: var(--font-secondary);
9
+
10
+ $type-scale: (
11
+ body: (
12
+ xxs: (
13
+ font-size: 20px,
14
+ line-height: 1.2,
15
+ ),
16
+ xs: (
17
+ font-size: 22px,
18
+ ),
19
+ md-portrait: (
20
+ font-size: 28px,
21
+ ),
22
+ md-landscape: (
23
+ font-size: 18px,
24
+ line-height: 1.3
25
+ ),
26
+ lg-portrait: (
27
+ font-size: 24px,
28
+ line-height: 1.2,
29
+ ),
30
+ lg-landscape: (
31
+ font-size: 24px,
32
+ line-height: 1.3,
33
+ ),
34
+ xl: (
35
+ font-size: 24px,
36
+ // line-height: 1.5,
37
+ ),
38
+ xxl: (
39
+ line-height: 1.7,
40
+ ),
41
+ ),
42
+ header: (
43
+ xxs: (
44
+ font-size: 28px,
45
+ line-height: 1.2,
46
+ ),
47
+ ),
48
+ strong: (
49
+ xxs: (
50
+ font-weight: 500,
51
+ font-size: 24px,
52
+ ),
53
+ md-portrait: (
54
+ font-size: 30px,
55
+ ),
56
+ md-landscape: (
57
+ font-size: 20px,
58
+ ),
59
+ lg: (
60
+ font-size: 28px,
61
+ ),
62
+ ),
63
+ small: (
64
+ xxs: (
65
+ font-size: 18px,
66
+ ),
67
+ md-landscape: (
68
+ font-size: 18px,
69
+ ),
70
+ md-portrait: (
71
+ font-size: 22px,
72
+ ),
73
+ lg-landscape: (
74
+ font-size: 20px,
75
+ line-height: 1,
76
+ ),
77
+ lg-portrait: (
78
+ font-size: 22px,
79
+ line-height: 1,
80
+ ),
81
+ ),
82
+ h2: (
83
+ xxs: (
84
+ font-family: $font-secondary,
85
+ font-size: 38px,
86
+ line-height: 1,
87
+ ),
88
+ xs: (
89
+ font-size: 40px,
90
+ line-height: 1.2,
91
+ ),
92
+ sm: (
93
+ font-size: 46px,
94
+ ),
95
+ md-landscape: (
96
+ font-size: 36px,
97
+ ),
98
+ md-portrait: (
99
+ font-size: 50px,
100
+ ),
101
+ lg-landscape: (
102
+ font-size: 40px,
103
+ ),
104
+ xl: (
105
+ font-size: 55px,
106
+ ),
107
+ ),
108
+ h3: (
109
+ xxs: (
110
+ font-size: 22px,
111
+ line-height: 1,
112
+ text-transform: uppercase,
113
+ letter-spacing: 2px,
114
+ // margin-bottom: 15px,
115
+ ),
116
+ sm: (
117
+ font-size: 26px,
118
+ ),
119
+ md-landscape: (
120
+ font-size: 20px,
121
+ ),
122
+ md-portrait: (
123
+ font-size: 30px,
124
+ ),
125
+ lg: (
126
+ font-size: 24px,
127
+ )
128
+ ),
129
+ h4: (
130
+ xxs: (
131
+ font-weight: 560,
132
+ font-size: 26px,
133
+ line-height: 1,
134
+ margin-bottom: 10px,
135
+ ),
136
+ sm: (
137
+ font-size: 26px,
138
+ ),
139
+ md-landscape: (
140
+ font-size: 20px,
141
+ ),
142
+ md-portrait: (
143
+ font-size: 30px,
144
+ ),
145
+ lg-landscape: (
146
+ font-size: 28px,
147
+ ),
148
+ ),
149
+ h5: (
150
+ xxs: (
151
+ font-size: 24px,
152
+ line-height: 1,
153
+ // margin-bottom: 10px,
154
+ ),
155
+ sm: (
156
+ font-size: 26px,
157
+ ),
158
+ md-landscape: (
159
+ font-size: 20px,
160
+ ),
161
+ md-portrait: (
162
+ font-size: 30px,
163
+ ),
164
+ lg-landscape: (
165
+ font-size: 28px,
166
+ ),
167
+ ),
168
+ );
169
+
170
+ // @mixin type($name) {
171
+ // $style: map.get($type-scale, $name);
172
+
173
+ // // --- Loop through other breakpoints ---
174
+ // @each $bp, $width in breakpoints.$breakpoints {
175
+ // $bp-styles: map.get($style, $bp);
176
+ // @if $bp-styles {
177
+ // @media (min-width: $width) {
178
+ // @each $prop, $value in $bp-styles {
179
+ // #{$prop}: #{$value};
180
+ // }
181
+ // }
182
+ // }
183
+ // }
184
+ // }
185
+ @mixin type($name) {
186
+ $style: map.get($type-scale, $name);
187
+
188
+ @each $key, $styles in $style {
189
+ $parts: string.split($key, "-");
190
+ $bp: list.nth($parts, 1);
191
+ $orientation: if(list.length($parts) > 1, list.nth($parts, 2), null);
192
+ $width: map.get(breakpoints.$breakpoints, $bp);
193
+
194
+ @if $width {
195
+ $media: "(min-width: #{$width})";
196
+
197
+ @if $orientation {
198
+ $media: "#{$media} and (orientation: #{$orientation})";
199
+ }
200
+
201
+ @media #{$media} {
202
+ @each $prop, $value in $styles {
203
+ #{$prop}: #{$value};
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ // Font Sizes
211
+ $size-xlarge: 60px;
212
+ $size-large: 50px;
213
+ $size-medium-large: 40px;
214
+ $size-medium: 32px;
215
+ $size-small-medium: 28px;
216
+ $size-small: 24px;
217
+ $size-xsmall: 20px;
218
+ $size-tiny: 16px;
219
+ $size-xtiny: 13px;
220
+
221
+ $theme-sizes: (
222
+ "xlarge": $size-xlarge,
223
+ "large": $size-large,
224
+ "mediumLarge": $size-medium-large,
225
+ "medium": $size-medium,
226
+ "smallMedium": $size-small-medium,
227
+ "small": $size-small,
228
+ "xsmall": $size-xsmall,
229
+ "tiny": $size-tiny,
230
+ "xtiny": $size-xtiny,
231
+ );
232
+
233
+ @mixin parsedText($selector) {
234
+ #{$selector},
235
+ #{$selector} > * {
236
+ @content;
237
+ }
238
+ }
@@ -0,0 +1,114 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+ @use "colors";
4
+ @use "sizes";
5
+ @use "breakpoints";
6
+ @use "sass:string";
7
+
8
+ @mixin flex-center {
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ }
13
+
14
+ @mixin color($selector: null, $prop: null, $nested...) {
15
+ @each $name, $value in colors.$theme-colors {
16
+ &[data-color="#{$name}"] {
17
+ @if list.length($nested) > 0 and $selector and $prop {
18
+ @each $nest in $nested {
19
+ & #{$nest} {
20
+ #{$selector}: map.get($value, $prop);
21
+ }
22
+ }
23
+ }
24
+ @else if $selector and $prop {
25
+ #{$selector}: map.get($value, $prop);
26
+ } @else {
27
+ @each $property, $val in $value {
28
+ #{$property}: #{$val};
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ @mixin respond($bp, $orientation: null) {
36
+ $width: map.get(breakpoints.$breakpoints, $bp);
37
+
38
+ @if $width {
39
+ $media: "(min-width: #{$width})";
40
+
41
+ @if $orientation {
42
+ $media: "#{$media} and (orientation: #{$orientation})";
43
+ }
44
+
45
+ @media #{$media} {
46
+ @content;
47
+ }
48
+ }
49
+ }
50
+
51
+ @function parse-breakpoint-key($key) {
52
+ $parts: string.split($key, "-");
53
+
54
+ $bp: list.nth($parts, 1);
55
+ $orientation: if(list.length($parts) > 1, list.nth($parts, 2), null);
56
+
57
+ @return (bp: $bp, orientation: $orientation);
58
+ }
59
+
60
+ //TODO: Fix me
61
+ @mixin override-container(
62
+ $selector,
63
+ $vertical: true,
64
+ $horizontal: true,
65
+ $sizes,
66
+ $resets
67
+ ) {
68
+ @each $bp in $sizes {
69
+ $parsed: parse-breakpoint-key($bp);
70
+
71
+ $bp: map.get($parsed, bp);
72
+ $orientation: map.get($parsed, orientation);
73
+
74
+ @include respond($bp, $orientation) {
75
+ @if $vertical {
76
+ $v: map.get(sizes.$container-padding-vals, $bp, v);
77
+ #{$selector} {
78
+ margin-top: -#{$v}px;
79
+ margin-bottom: -#{$v}px;
80
+ }
81
+ }
82
+ @if $horizontal {
83
+ $h: map.get(sizes.$container-padding-vals, $bp, h);
84
+ #{$selector} {
85
+ width: calc(100% + #{$h * 2}px);
86
+ margin-left: -#{$h}px;
87
+ }
88
+ }
89
+ }
90
+ }
91
+
92
+ @each $bp in $resets {
93
+ $parsed: parse-breakpoint-key($bp);
94
+
95
+ $bp: map.get($parsed, bp);
96
+ $orientation: map.get($parsed, orientation);
97
+ @include respond($bp, $orientation) {
98
+ #{$selector} {
99
+ margin-top: 0px;
100
+ margin-bottom: 0px;
101
+ width: 100%;
102
+ margin-left: 0px;
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ @mixin maskedImage {
109
+ & img {
110
+ object-fit: cover;
111
+ width: 100%;
112
+ height: 100%;
113
+ }
114
+ }