@apolitical/component-library 0.0.4-beta.6 → 1.1.0-beta.1

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 (159) hide show
  1. package/accessibility/hidden-from-screen-readers/hidden-from-screen-readers.d.ts +19 -0
  2. package/accessibility/hidden-from-screen-readers/index.d.ts +1 -0
  3. package/accessibility/index.d.ts +2 -0
  4. package/accessibility/visually-hidden/index.d.ts +1 -0
  5. package/accessibility/visually-hidden/visually-hidden.d.ts +21 -0
  6. package/banners/banner-section/banner-section.d.ts +33 -0
  7. package/banners/banner-section/index.d.ts +1 -0
  8. package/banners/index.d.ts +2 -0
  9. package/banners/marketing-block/index.d.ts +1 -0
  10. package/banners/marketing-block/marketing-block.d.ts +17 -0
  11. package/constants/assets.d.ts +1 -0
  12. package/constants/index.d.ts +2 -0
  13. package/constants/number-of-users.d.ts +1 -0
  14. package/context/index.d.ts +1 -0
  15. package/context/user/index.d.ts +3 -0
  16. package/context/user/user.context.d.ts +14 -0
  17. package/context/user/user.provider.d.ts +8 -0
  18. package/fonts/Moderat-Black-Italic.woff2 +0 -0
  19. package/fonts/Moderat-Black.woff2 +0 -0
  20. package/fonts/Moderat-Bold-Italic.woff2 +0 -0
  21. package/fonts/Moderat-Bold.woff2 +0 -0
  22. package/fonts/Moderat-Medium-Italic.woff2 +0 -0
  23. package/fonts/Moderat-Medium.woff2 +0 -0
  24. package/form/components/email-helper-text-box/email-helper-text-box.d.ts +14 -0
  25. package/form/components/email-helper-text-box/index.d.ts +1 -0
  26. package/form/components/index.d.ts +3 -0
  27. package/form/components/password-rules/index.d.ts +1 -0
  28. package/form/components/password-rules/password-rules.d.ts +16 -0
  29. package/form/components/rating/index.d.ts +1 -0
  30. package/form/components/rating/rating.d.ts +31 -0
  31. package/form/index.d.ts +2 -0
  32. package/form/types/index.d.ts +1 -0
  33. package/form/types/search-form/index.d.ts +1 -0
  34. package/form/types/search-form/search-form.d.ts +21 -0
  35. package/general/button/button.d.ts +52 -0
  36. package/general/button/index.d.ts +2 -0
  37. package/general/index.d.ts +3 -0
  38. package/general/link/index.d.ts +1 -0
  39. package/general/link/link.d.ts +21 -0
  40. package/general/responsive-image/index.d.ts +2 -0
  41. package/general/responsive-image/responsive-image.helpers.d.ts +68 -0
  42. package/general/responsive-image/responsive-image.mock.d.ts +9 -0
  43. package/helpers/basic-reducer.d.ts +2 -0
  44. package/helpers/breakpoints.d.ts +5 -0
  45. package/helpers/index.d.ts +5 -0
  46. package/helpers/intl-wrapper.d.ts +6 -0
  47. package/helpers/pass-props-to-children.d.ts +3 -0
  48. package/hooks/index.d.ts +3 -0
  49. package/hooks/use-effect-after-mount.d.ts +2 -0
  50. package/hooks/use-screen-width.d.ts +2 -0
  51. package/hooks/use-scroll-listener.d.ts +15 -0
  52. package/index.d.ts +12 -1
  53. package/index.js +160 -1
  54. package/index.mjs +20514 -6
  55. package/layout/download-section/download-section.d.ts +21 -0
  56. package/layout/download-section/index.d.ts +1 -0
  57. package/layout/index.d.ts +3 -0
  58. package/layout/logos/index.d.ts +1 -0
  59. package/layout/logos/logos.d.ts +24 -0
  60. package/layout/logos/logos.mock.d.ts +3 -0
  61. package/layout/page-layout/components/cookie-banner/cookie-banner.d.ts +6 -0
  62. package/layout/page-layout/components/cookie-banner/index.d.ts +1 -0
  63. package/layout/page-layout/components/footer/footer.d.ts +6 -0
  64. package/layout/page-layout/components/footer/footer.data.d.ts +6 -0
  65. package/layout/page-layout/components/footer/index.d.ts +1 -0
  66. package/layout/page-layout/components/header/__mocks__/header.data.d.ts +83 -0
  67. package/layout/page-layout/components/header/components/header-link/header-link.d.ts +13 -0
  68. package/layout/page-layout/components/header/components/header-link/index.d.ts +1 -0
  69. package/layout/page-layout/components/header/components/index.d.ts +1 -0
  70. package/layout/page-layout/components/header/header.d.ts +6 -0
  71. package/layout/page-layout/components/header/header.data.d.ts +112 -0
  72. package/layout/page-layout/components/header/header.helpers.d.ts +39 -0
  73. package/layout/page-layout/components/header/header.mock.d.ts +29 -0
  74. package/layout/page-layout/components/header/index.d.ts +2 -0
  75. package/layout/page-layout/components/index.d.ts +3 -0
  76. package/layout/page-layout/index.d.ts +2 -0
  77. package/layout/page-layout/page-layout.d.ts +16 -0
  78. package/loaders/index.d.ts +4 -0
  79. package/loaders/loading-block/index.d.ts +1 -0
  80. package/loaders/loading-block/loading-block.d.ts +18 -0
  81. package/loaders/loading-placeholder/index.d.ts +1 -0
  82. package/loaders/loading-placeholder/loading-placeholder.d.ts +11 -0
  83. package/loaders/loading-state/index.d.ts +1 -0
  84. package/loaders/loading-state/loading-state.d.ts +5 -0
  85. package/loaders/progress-bar/index.d.ts +1 -0
  86. package/loaders/progress-bar/progress-bar.d.ts +13 -0
  87. package/modals/modal/index.d.ts +1 -0
  88. package/modals/modal/modal.d.ts +9 -0
  89. package/navigation/filters/filters.d.ts +28 -0
  90. package/navigation/filters/index.d.ts +1 -0
  91. package/navigation/index.d.ts +4 -0
  92. package/navigation/load-more/index.d.ts +1 -0
  93. package/navigation/load-more/load-more.d.ts +28 -0
  94. package/navigation/logo/index.d.ts +1 -0
  95. package/navigation/logo/logo.d.ts +12 -0
  96. package/navigation/tags/index.d.ts +1 -0
  97. package/navigation/tags/tags.d.ts +20 -0
  98. package/navigation/tags/tags.helpers.d.ts +34 -0
  99. package/package.json +1 -1
  100. package/style.css +1 -1
  101. package/styles/README.md +2 -20
  102. package/styles/base/_accessibility.scss +26 -0
  103. package/styles/base/_blockquotes.scss +29 -0
  104. package/styles/base/_fonts.scss +41 -0
  105. package/styles/base/_hr.scss +16 -0
  106. package/styles/{base-styles → base}/_index.scss +5 -1
  107. package/styles/base/_links.scss +16 -0
  108. package/styles/base/_lists.scss +27 -0
  109. package/styles/base/_overlays.scss +26 -0
  110. package/styles/base/_text.scss +84 -0
  111. package/styles/base/_titles.scss +176 -0
  112. package/styles/base/buttons/_buttons.scss +250 -0
  113. package/styles/base/buttons/_sizes.scss +12 -0
  114. package/styles/base/form/_fields.scss +60 -0
  115. package/styles/base/form/_index.scss +2 -0
  116. package/styles/base/form/_search-button.scss +32 -0
  117. package/styles/functions/_size-conversions.scss +3 -1
  118. package/styles/index.scss +4 -2
  119. package/styles/mixins/_backgrounds.scss +1 -5
  120. package/styles/mixins/_breakpoints.scss +4 -1
  121. package/styles/mixins/_browsers.scss +3 -0
  122. package/styles/mixins/_index.scss +2 -0
  123. package/styles/mixins/_selectors.scss +2 -5
  124. package/styles/mixins/_styles.scss +31 -0
  125. package/styles/variables/assets/_assets.scss +1 -3
  126. package/styles/variables/colors/_colors.scss +5 -0
  127. package/styles/variables/colors/_theme.scss +159 -1
  128. package/styles/variables/sizes/_common.scss +2 -1
  129. package/text/collapsible-section/collapsible-section.d.ts +13 -0
  130. package/text/collapsible-section/index.d.ts +1 -0
  131. package/text/empty-state-box/empty-state-box.d.ts +21 -0
  132. package/text/empty-state-box/index.d.ts +1 -0
  133. package/text/helper-text-box/helper-text-box.d.ts +14 -0
  134. package/text/helper-text-box/index.d.ts +1 -0
  135. package/text/hide-show-text-box/hide-show-text-box.d.ts +16 -0
  136. package/text/hide-show-text-box/hide-show-text-box.mock.d.ts +4 -0
  137. package/text/hide-show-text-box/index.d.ts +1 -0
  138. package/text/highlighted-text-box/highlighted-text-box.d.ts +13 -0
  139. package/text/highlighted-text-box/index.d.ts +1 -0
  140. package/text/index.d.ts +6 -0
  141. package/text/pill/index.d.ts +1 -0
  142. package/text/pill/pill.d.ts +9 -0
  143. package/user/index.d.ts +1 -0
  144. package/user/profile-picture/index.d.ts +1 -0
  145. package/user/profile-picture/profile-picture.d.ts +12 -0
  146. package/user/profile-picture/profile-picture.helpers.d.ts +3 -0
  147. package/demo/demo.d.ts +0 -4
  148. package/demo/index.d.ts +0 -1
  149. package/styles/base-styles/_accessibility.scss +0 -31
  150. package/styles/base-styles/_blockquotes.scss +0 -31
  151. package/styles/base-styles/_hr.scss +0 -17
  152. package/styles/base-styles/_links.scss +0 -18
  153. package/styles/base-styles/_lists.scss +0 -30
  154. package/styles/base-styles/_text.scss +0 -83
  155. package/styles/base-styles/_titles.scss +0 -132
  156. package/styles/base-styles/buttons/_buttons.scss +0 -236
  157. /package/styles/{base-styles → base}/buttons/_icons.scss +0 -0
  158. /package/styles/{base-styles → base}/buttons/_index.scss +0 -0
  159. /package/styles/{base-styles → base}/buttons/_mixins.scss +0 -0
@@ -1,8 +1,5 @@
1
- // We need to scope everything to #root, but that stops us adding a parent before the
2
- // current selector. This mixin puts the selector path in the expected order. See the README for
3
- // more details.
4
- @mixin selector-after-root($selector) {
5
- @at-root #root #{selector-replace(&, '#root', $selector)} {
1
+ @mixin amend-selector-path($old, $new) {
2
+ @at-root #{selector-replace(&, $old, $new)} {
6
3
  @content;
7
4
  }
8
5
  }
@@ -0,0 +1,31 @@
1
+ @use 'sass:map';
2
+ @use 'sass:math';
3
+ @import './../variables',
4
+ './../functions';
5
+
6
+ @mixin dashed-border($color: map.get($theme, 'divider')) {
7
+ background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='8' ry='8' stroke='#{$color}' stroke-width='1' stroke-dasharray='6%2c 8' stroke-dashoffset='2' stroke-linecap='round'/%3e%3c/svg%3e");
8
+ }
9
+
10
+ @mixin line-under-text($color: 'light', $width: 60, $height: 4, $gap: 16, $border-radius: 2.5) {
11
+ position: relative;
12
+ padding-bottom: px-to-rem($height + $gap);
13
+
14
+ &::after {
15
+ content: '';
16
+ background: map.get($theme, 'text_line');
17
+ width: px-to-rem($width);
18
+ height: px-to-rem($height);
19
+ position: absolute;
20
+ bottom: 0;
21
+ left: 50%;
22
+ margin-left: -(px-to-rem(math.div($width, 2)));
23
+ border-radius: px-to-rem($border-radius);
24
+
25
+ @if $color == 'dark' {
26
+ background: map.get($theme, 'text_line_dark');
27
+ }
28
+ }
29
+
30
+
31
+ }
@@ -1,4 +1,2 @@
1
- $storage: 'https://storage.googleapis.com/';
2
- $image-bucket: $storage + 'apolitical-images/assets/';
3
- $assets-bucket: $storage + 'apolitical-assets/';
1
+ $assets-bucket: 'https://storage.googleapis.com/apolitical-assets/';
4
2
 
@@ -20,11 +20,13 @@ $default-colors: (
20
20
 
21
21
  'g50': rgb(235 250 246 / 100%),
22
22
  'g100': rgb(195 240 228 / 100%),
23
+ 'g200': rgb(153 219 201),
23
24
  'g300': rgb(124 220 197 / 100%),
24
25
  'g600': rgb(43 137 117 / 100%),
25
26
  'g700': rgb(28 104 88 / 100%),
26
27
  'g900': rgb(10 38 33 / 100%),
27
28
 
29
+ 'n10': rgb(222 226 232 / 100%),
28
30
  'n50': rgb(240 245 255 / 100%),
29
31
  'n100': rgb(215 224 239 / 100%),
30
32
  'n200': rgb(192 203 223 / 100%),
@@ -38,6 +40,7 @@ $default-colors: (
38
40
  'p100': rgb(238 200 237 / 100%),
39
41
  'p300': rgb(203 130 197 / 100%),
40
42
  'p500': rgb(166 55 152 / 100%),
43
+ 'p600': rgb(136 90 189 / 100%),
41
44
  'p900': rgb(66 1 55 / 100%),
42
45
 
43
46
  'y50': rgb(255 248 232 / 100%),
@@ -61,4 +64,6 @@ $default-colors: (
61
64
  'warning50': rgb(255 242 230 / 100%),
62
65
  'warning500': rgb(220 121 29 / 100%),
63
66
  'warning700': rgb(137 71 11 / 100%),
67
+
68
+
64
69
  );
@@ -4,6 +4,7 @@
4
4
 
5
5
  $c: $default-colors;
6
6
  $theme: (
7
+ // Base styles
7
8
  default_focus: map.get($c, 'b100'),
8
9
 
9
10
  background: map.get($c, 'white'),
@@ -11,6 +12,9 @@ $theme: (
11
12
  title: map.get($c, 'n900'),
12
13
  subtitle: map.get($c, 'n800'),
13
14
  text: map.get($c, 'n900'),
15
+ text_error: map.get($c, 'error600'),
16
+ text_line: map.get($c, 'g50'),
17
+ text_line_dark: map.get($c, 'b700'),
14
18
 
15
19
  link: map.get($c, 'b700'),
16
20
  link_hover: map.get($c, 'b800'),
@@ -53,10 +57,164 @@ $theme: (
53
57
  button_tertiary_text-decoration: transparent,
54
58
  button_tertiary_disabled_text-decoration: transparent,
55
59
 
56
-
57
60
  blockquote: map.get($c, 'n900'),
58
61
  'blockquote_border': map.get($c, 'g300'),
59
62
 
60
63
  divider: map.get($c, 'n100'),
64
+
65
+ form_input: map.get($c, 'n900'),
66
+ form_input_placeholder: map.get($c, 'n600'),
67
+ form_input_bg: map.get($c, 'white'),
68
+ form_input_border: map.get($c, 'n200'),
69
+ form_input_focus_border: map.get($c, 'b500'),
70
+ form_input_error_border: map.get($c, 'error600'),
71
+ form_input_focus_box-shadow: map.get($c, 'b100'),
72
+ form_search-button_bg: map.get($c, 'n900'),
73
+
74
+ overlay: rgb(21 25 33 / 25%),
75
+
76
+ // Banners
77
+ banner-section: map.get($c, 'white'),
78
+ banner-section_light: map.get($c, 'n700'),
79
+ banner-section_bg: map.get($c, 'b700'),
80
+ banner-section_light_bg: map.get($c, 'white'),
81
+ banner-section_overlay: map.get($c, 'n900'),
82
+ banner-section_eyebrow: map.get($c, 'y300'),
83
+ banner-section_light_eyebrow: map.get($c, 'b700'),
84
+ banner-section_light_title: map.get($c, 'n900'),
85
+
86
+ marketing-block_title: map.get($c, 'n900'),
87
+ marketing-block_tertiary_title: map.get($c, 'white'),
88
+ marketing-block_text: map.get($c, 'n700'),
89
+ marketing-block_tertiary_text: map.get($c, 'b100'),
90
+ marketing-block_circle: map.get($c, 'b700'),
91
+ marketing-block_tertiary_circle: map.get($c, 'g300'),
92
+
93
+ marketing-block_primary_bg_1: map.get($c, 'g100'),
94
+ marketing-block_secondary_bg_1: map.get($c, 'p100'),
95
+ marketing-block_tertiary_bg_1: map.get($c, 'b700'),
96
+
97
+ marketing-block_primary_bg_2: map.get($c, 'y300'),
98
+ marketing-block_secondary_bg_2: map.get($c, 'g100'),
99
+ marketing-block_tertiary_bg_2: map.get($c, 'p600'),
100
+
101
+ // Form
102
+ password-rules: map.get($c, 'error600'),
103
+ password-rules_matches: map.get($c, 'success500'),
104
+ password-rules_small: map.get($c, 'n600'),
105
+
106
+ rating: map.get($c, 'n600'),
107
+ rating_hover_button: map.get($c, 'n500'),
108
+ rating_selected_button: map.get($c, 'b700'),
109
+ rating_shadow: map.get($c, 'b500'),
110
+
111
+ search_button_hover_bg: map.get($c, 'b700'),
112
+ search_clear-button_bg: map.get($c, 'n500'),
113
+ search_search-button_bg: map.get($c, 'n600'),
114
+ search_search-button_active_bg: map.get($c, 'white'),
115
+
116
+ // Layout
117
+ cookie-banner_bg: map.get($c, 'n50'),
118
+ cookie-banner_shadow: rgb(107 91 82 / 40%),
119
+ cookie-banner_title_border: map.get($c, 'n100'),
120
+
121
+ download-section_bg: map.get($c, 'g300'),
122
+
123
+ footer: map.get($c, 'g300'),
124
+ footer_bg: map.get($c, 'b800'),
125
+ footer_before_bg: linear-gradient(90deg, map.get($c, 'b700') 0%, map.get($c, 'g300') 100%),
126
+ footer_title: map.get($c, 'y300'),
127
+ footer_link: map.get($c, 'g300'),
128
+ footer_dt: map.get($c, 'white'),
129
+ footer_dd: map.get($c, 'g300'),
130
+ footer_hr: map.get($c, 'y300'),
131
+ footer_small: map.get($c, 'b200'),
132
+
133
+ header: map.get($c, 'n900'),
134
+ header_bg: map.get($c, 'white'),
135
+ header_link: map.get($c, 'n900'),
136
+ header_link_hover: map.get($c, 'b500'),
137
+ header_link_active: map.get($c, 'b700'),
138
+ header_button_hover_bg: map.get($c, 'b700'),
139
+ header_account-button_bg: map.get($c, 'n700'),
140
+ header_account-button_border: map.get($c, 'n700'),
141
+ header_menu-button_bg: map.get($c, 'n900'),
142
+
143
+ header_parent_hover: map.get($c, 'b700'),
144
+ header_child: map.get($c, 'n700'),
145
+ header_child_divider: map.get($c, 'n100'),
146
+ header_border: map.get($c, 'n100'),
147
+
148
+
149
+ logos_title: map.get($c, 'n700'),
150
+ logos_small: map.get($c, 'n600'),
151
+
152
+ page-layout_gradient_bg_1: map.get($c, 'n50'),
153
+ page-layout_gradient_bg_2: rgb(240 245 255 / 0%),
154
+
155
+ // Loaders
156
+ loading-block_icon_bg: map.get($c, 'n600'),
157
+
158
+ loading-placeholder_bg: map.get($c, 'n10'),
159
+ loading-placeholder_after_bg: linear-gradient(90deg, transparent, rgba(255 255 255 / 20%), transparent),
160
+
161
+ progress-bar_bg: map.get($c, 'n50'),
162
+ progress-bar_before_bg: map.get($c, 'n200'),
163
+ progress-bar_25_bg_1: map.get($c, 'p100'),
164
+ progress-bar_25_bg_2: map.get($c, 'g100'),
165
+ progress-bar_50_bg_1: map.get($c, 'g100'),
166
+ progress-bar_50_bg_2: map.get($c, 'y300'),
167
+ progress-bar_75_bg_1: map.get($c, 'y300'),
168
+ progress-bar_75_bg_2: map.get($c, 'b200'),
169
+ progress-bar_100_bg_1: map.get($c, 'b200'),
170
+ progress-bar_100_bg_2: map.get($c, 'g100'),
171
+
172
+ // Modals
173
+ modal_bg: map.get($c, 'white'),
174
+ modal_shadow: rgba(42 49 65 / 30%),
175
+
176
+ // Navigation
177
+ filters: map.get($c, 'n700'),
178
+ filters_selected: map.get($c, 'g700'),
179
+ filters_active: map.get($c, 'n700'),
180
+ filters_bg: map.get($c, 'n50'),
181
+ filters_selected_bg: map.get($c, 'g100'),
182
+ filters_hover_bg: map.get($c, 'n100'),
183
+ filters_active_bg: map.get($c, 'g300'),
184
+ filters_outline: map.get($c, 'n200'),
185
+ filters_selected_outline: map.get($c, 'g200'),
186
+
187
+ tags: map.get($c, 'b700'),
188
+ tags_light: map.get($c, 'p500'),
189
+
190
+
191
+ // Text
192
+ collapsible-section_bg: map.get($c, 'white'),
193
+ collapsible-section_border: map.get($c, 'n500'),
194
+ collapsible-section_icon: map.get($c, 'n900'),
195
+ collapsible-section_icon_hover: map.get($c, 'b100'),
196
+ collapsible-section_discrete-links_link_hover: map.get($c, 'b700'),
197
+
198
+ empty-state-box: map.get($c, 'n700'),
199
+ empty-state-box_error_border: map.get($c, 'error600'),
200
+
201
+ helper-text-box: map.get($c, 'n700'),
202
+ helper-text-box_bg: map.get($c, 'info50'),
203
+ helper-text-box_warning_bg: map.get($c, 'warning50'),
204
+ helper-text-box_error_bg: map.get($c, 'error50'),
205
+ helper-text-box_success_bg: map.get($c, 'success50'),
206
+
207
+ highlighted-text-box_bg: map.get($c, 'n50'),
208
+ highlighted-text-box_secondary_bg: map.get($c, 'y50'),
209
+ highlighted-text-box_tertiary_bg: map.get($c, 'error50'),
210
+ highlighted-text-box_subtle_bg: map.get($c, 'white'),
211
+ highlighted-text-box_bold_bg: linear-gradient(135deg, map.get($c, 'b100'), map.get($c, 'g50')),
212
+ highlighted-text-box_subtle_gradient: linear-gradient(rgba(255 255 255 / 0%), rgba(255 255 255 / 100%)),
213
+ highlighted-text-box_bold_icon: map.get($c, 'b500'),
214
+
215
+ highlighted-text-box_subtle_border: map.get($c, 'n100'),
216
+
217
+ pill: map.get($c, 'n700'),
218
+ pill_bg: map.get($c, 'y300'),
61
219
  );
62
220
 
@@ -1,3 +1,4 @@
1
1
  @import './../../functions';
2
2
 
3
- $outline: 0 0 0 px-to-rem(4);
3
+ $outline-width: px-to-rem(4);
4
+ $outline: 0 0 0 $outline-width;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ /** The text to show when the section is collapsed */
4
+ label?: string | false;
5
+ /** Additional classes to add to the `details` */
6
+ className?: string;
7
+ /** The content to show when the section is expanded */
8
+ children?: React.ReactNode;
9
+ /** The language to use for the text */
10
+ locale?: string;
11
+ }
12
+ declare const CollapsibleSectionWrapper: ({ locale, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ export default CollapsibleSectionWrapper;
@@ -0,0 +1 @@
1
+ export { default as CollapsibleSection } from './collapsible-section';
@@ -0,0 +1,21 @@
1
+ import { ButtonVariantType } from '../../general';
2
+ interface Props {
3
+ /** Box styling */
4
+ variant?: 'empty' | 'error';
5
+ /** Optional text */
6
+ text?: false | string;
7
+ /** Optional button. The button can also show depending on the viewport size */
8
+ button?: false | {
9
+ url: string;
10
+ text: string;
11
+ variant?: ButtonVariantType;
12
+ gtmContext: string;
13
+ breakpoints?: {
14
+ [key: string]: boolean;
15
+ };
16
+ };
17
+ /** Additional classes */
18
+ className?: string;
19
+ }
20
+ declare const EmptyStateBox: ({ variant, text, button, className }: Props) => import("react/jsx-runtime").JSX.Element;
21
+ export default EmptyStateBox;
@@ -0,0 +1 @@
1
+ export { default as EmptyStateBox } from './empty-state-box';
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export type HelperTextBoxTypes = 'default' | 'warning' | 'error' | 'success';
3
+ interface Props {
4
+ /** The style of box being rendered */
5
+ type?: HelperTextBoxTypes;
6
+ /** Additional classes to add to the box */
7
+ className?: string;
8
+ /** The heading to display at the top of the box */
9
+ heading?: string | false;
10
+ /** The content to display in the box */
11
+ children: React.ReactNode;
12
+ }
13
+ declare const HelperTextBox: ({ type, className, heading, children }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export default HelperTextBox;
@@ -0,0 +1 @@
1
+ export { default as HelperTextBox } from './helper-text-box';
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ /** The language for the box text */
4
+ locale?: string;
5
+ /** Additional classes to add to the box */
6
+ className?: string;
7
+ /** The text to show when the section is collapsed */
8
+ show?: string | false;
9
+ /** The text to show when the section is expanded */
10
+ hide?: string | false;
11
+ /** The content to show when the section is expanded */
12
+ text: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ declare const HideShowTextBoxWrapper: ({ locale, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
16
+ export default HideShowTextBoxWrapper;
@@ -0,0 +1,4 @@
1
+ export default data;
2
+ declare namespace data {
3
+ let children: import("react/jsx-runtime").JSX.Element;
4
+ }
@@ -0,0 +1 @@
1
+ export { default as HideShowTextBox } from './hide-show-text-box';
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ /** The style of box being rendered */
4
+ variant?: 'primary' | 'secondary' | 'tertiary' | 'subtle' | 'bold';
5
+ /** Additional classes to add to the box */
6
+ className?: string;
7
+ /** The content to display */
8
+ children: React.ReactNode;
9
+ /** Additional props to pass to the box */
10
+ style?: React.CSSProperties;
11
+ }
12
+ declare const HighlightedTextBoxWrapper: ({ variant, className, children, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ export default HighlightedTextBoxWrapper;
@@ -0,0 +1 @@
1
+ export { default as HighlightedTextBox } from './highlighted-text-box';
@@ -0,0 +1,6 @@
1
+ export * from './collapsible-section';
2
+ export * from './empty-state-box';
3
+ export * from './helper-text-box';
4
+ export * from './hide-show-text-box';
5
+ export * from './highlighted-text-box';
6
+ export * from './pill';
@@ -0,0 +1 @@
1
+ export { default as Pill } from './pill';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ /** Additional classes to add to the pill */
4
+ className?: 'margin-left' | 'margin-right' | '';
5
+ /** The pill text */
6
+ children: React.ReactNode;
7
+ }
8
+ declare const Pill: ({ className, children }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export default Pill;
@@ -0,0 +1 @@
1
+ export * from './profile-picture';
@@ -0,0 +1 @@
1
+ export { default as ProfilePicture } from './profile-picture';
@@ -0,0 +1,12 @@
1
+ interface Props {
2
+ /** The user's name, to create initials */
3
+ name: string;
4
+ /** The user's image */
5
+ src?: string;
6
+ /** Alternative text for the image */
7
+ alt?: string | undefined;
8
+ /** Additional classes */
9
+ className?: string;
10
+ }
11
+ declare const ProfilePicture: ({ className, src, name, alt, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
12
+ export default ProfilePicture;
@@ -0,0 +1,3 @@
1
+ export declare const getInitials: (name: string) => string;
2
+ export declare const colors: string[];
3
+ export declare const getBackground: (name: string) => string | undefined;
package/demo/demo.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export interface ComponentLibraryProps {
2
- }
3
- export declare function Demo(props: ComponentLibraryProps): import("react/jsx-runtime").JSX.Element;
4
- export default Demo;
package/demo/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export { default as Demo } from './demo';
@@ -1,31 +0,0 @@
1
- @use 'sass:map';
2
- @import './../functions',
3
- './../mixins',
4
- './../variables';
5
-
6
- @layer base {
7
- #root {
8
-
9
- /* stylelint-disable no-descending-specificity */
10
- a, button, input, textarea, [role="menu"], li[tabindex] {
11
- &:focus, &:focus-visible {
12
- outline: none;
13
- box-shadow: $outline map.get($theme, 'default_focus');
14
- }
15
- &:active { box-shadow: none; }
16
- }
17
-
18
- [role="menu"], [role="menu"] a, li[tabindex] {
19
- &:focus, &:focus-visible { box-shadow: $outline map.get($theme, 'default_focus') inset; }
20
- }
21
- /* stylelint-enable no-descending-specificity */
22
-
23
- .hidden {
24
- width: 0;
25
- height: 0;
26
- display: block;
27
- overflow: hidden;
28
- }
29
- }
30
- }
31
-
@@ -1,31 +0,0 @@
1
- @use 'sass:map';
2
- @import './../functions',
3
- './../mixins',
4
- './../variables';
5
-
6
- $blockquote: ('margin-top': 20, 'margin-top_md': 30, 'margin-bottom': 10, 'margin-bottom_md': 20, 'padding-vertical': 4, 'padding-left': 24, 'font-size': 18, 'font-size_md': 20, 'line-height': 28, 'border-width': 6);
7
-
8
- @layer base {
9
- #root {
10
- blockquote {
11
- margin: px-to-rem(map.get($blockquote, 'margin-top')) 0 px-to-rem(map.get($blockquote, 'margin-bottom')) 0;
12
- padding: px-to-rem(map.get($blockquote, 'padding-vertical')) 0 0 px-to-rem(map.get($blockquote, 'padding-left'));
13
- font-size: px-to-rem(map.get($blockquote, 'font-size'));
14
- color: map.get($theme, 'blockquote');
15
- font-weight: 700;
16
- font-style: italic;
17
- line-height: px-to-rem(map.get($blockquote, 'line-height'));
18
- border-left: px-to-rem(map.get($blockquote, 'border-width')) solid map.get($theme, 'blockquote_border');
19
-
20
- p:last-of-type {
21
- margin-bottom: 0;
22
- }
23
-
24
- @include breakpoint('min-width', 'md') {
25
- margin-top: px-to-rem(map.get($blockquote, 'margin-top_md'));
26
- margin-bottom: px-to-rem(map.get($blockquote, 'margin-bottom_md'));
27
- font-size: px-to-rem(map.get($blockquote, 'font-size_md'));
28
- }
29
- }
30
- }
31
- }
@@ -1,17 +0,0 @@
1
- @use 'sass:map';
2
- @import './../functions',
3
- './../variables';
4
-
5
- $hr: ('height': 1, 'margin-vertical': 40);
6
-
7
- @layer base {
8
- #root {
9
- hr {
10
- width: 100%;
11
- height: px-to-rem(map.get($hr, 'height'));
12
- background: map.get($theme, 'divider');
13
- margin: px-to-rem(map.get($hr, 'margin-vertical')) auto;
14
- border: none;
15
- }
16
- }
17
- }
@@ -1,18 +0,0 @@
1
- @use 'sass:map';
2
- @import './../variables';
3
-
4
- @layer base {
5
- #root {
6
- a {
7
- color: map.get($theme, 'link');
8
- text-decoration: underline;
9
- font-weight: 900;
10
-
11
- &:hover,
12
- &:focus,
13
- &:active {
14
- color: map.get($theme, 'link_hover');
15
- }
16
- }
17
- }
18
- }
@@ -1,30 +0,0 @@
1
- @use 'sass:map';
2
- @import './../functions',
3
- './../mixins';
4
-
5
- $ul: ('margin-bottom': 16, 'padding-left': 40);
6
- $li: ('margin-bottom': 18, 'margin-bottom_sm': 12, 'margin-bottom_md': 16);
7
-
8
- @layer base {
9
- #root {
10
- ol, ul {
11
- margin: 0 0 px-to-rem(map.get($ul, 'margin-bottom')) 0;
12
- padding-left: px-to-rem(map.get($ul, 'padding-left'));
13
- display: block;
14
- }
15
-
16
- li {
17
- margin-bottom: px-to-rem(map.get($li, 'margin-bottom'));
18
-
19
- @include selector-after-root('.text-small') { margin-bottom: px-to-rem(map.get($li, 'margin-bottom_sm')); }
20
-
21
- @include selector-after-root('.text-medium') { margin-bottom: px-to-rem(map.get($li, 'margin-bottom_md')); }
22
-
23
- &:last-child {
24
- margin-bottom: 0;
25
-
26
- p:last-child { margin-bottom: 0; }
27
- }
28
- }
29
- }
30
- }
@@ -1,83 +0,0 @@
1
- @use 'sass:map';
2
- @import './../functions',
3
- './../mixins',
4
- './../variables';
5
-
6
- $default: ('font-size': 16, 'font-size_md': 18, 'line-height': 24, 'line-height_md': 28, 'margin-bottom': 20); // The default size is the 'large paragraph' in Figma
7
- $small: ('font-size': 12, 'font-size_md': 14, 'letter-spacing': 0.16, 'line-height': 16, 'margin-bottom': 16);
8
- $medium: ('font-size': 14, 'font-size_md': 16, 'line-height': 16, 'line-height_md': 20, 'margin-bottom': 18);
9
- $sup: ('font-size': 10);
10
-
11
- @layer base {
12
- #root {
13
- p, li, small {
14
- color: map.get($theme, 'text');
15
- font-weight: 500;
16
- }
17
-
18
- p, li {
19
- font-size: px-to-rem(map.get($default, 'font-size'));
20
- line-height: px-to-rem(map.get($default, 'line-height'));
21
-
22
- @include selector-after-root('.text-small') {
23
- font-size: px-to-rem(map.get($small, 'font-size'));
24
- line-height: px-to-rem(map.get($small, 'line-height'));
25
- letter-spacing: px-to-rem(map.get($small, 'letter-spacing'));
26
- }
27
-
28
- @include selector-after-root('.text-medium') {
29
- font-size: px-to-rem(map.get($medium, 'font-size'));
30
- line-height: px-to-rem(map.get($medium, 'line-height'));
31
- }
32
-
33
- @include breakpoint('min-width', 'md') {
34
- font-size: px-to-rem(map.get($default, 'font-size_md'));
35
- line-height: px-to-rem(map.get($default, 'line-height_md'));
36
-
37
- @include selector-after-root('.text-small') {
38
- font-size: px-to-rem(map.get($small, 'font-size_md'));
39
- }
40
-
41
- @include selector-after-root('.text-medium') {
42
- font-size: px-to-rem(map.get($medium, 'font-size_md'));
43
- line-height: px-to-rem(map.get($medium, 'line-height_md'));
44
- }
45
- }
46
- }
47
-
48
- p {
49
- margin-bottom: px-to-rem(map.get($default, 'margin-bottom'));
50
-
51
- @include selector-after-root('.text-small') { margin-bottom: px-to-rem(map.get($small, 'margin-bottom')); }
52
-
53
- @include selector-after-root('.text-medium') { margin-bottom: px-to-rem(map.get($medium, 'margin-bottom')); }
54
- }
55
-
56
- small {
57
- font-size: px-to-rem(map.get($small, 'font-size'));
58
- line-height: px-to-rem(map.get($small, 'line-height'));
59
-
60
- @include breakpoint('min-width', 'md') {
61
- font-size: px-to-rem(map.get($small, 'font-size_md'));
62
- }
63
- }
64
-
65
- strong { font-weight: 900; }
66
- em, i { font-style: italic; }
67
-
68
- sup, sub {
69
- font-size: px-to-rem(map.get($sup, 'font-size'));
70
- line-height: normal;
71
- }
72
-
73
- sup {
74
- vertical-align: super;
75
- }
76
-
77
- sub {
78
- vertical-align: sub;
79
- }
80
-
81
- }
82
-
83
- }