@apolitical/component-library 0.0.5 → 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 (136) 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/form/components/email-helper-text-box/email-helper-text-box.d.ts +14 -0
  19. package/form/components/email-helper-text-box/index.d.ts +1 -0
  20. package/form/components/index.d.ts +3 -0
  21. package/form/components/password-rules/index.d.ts +1 -0
  22. package/form/components/password-rules/password-rules.d.ts +16 -0
  23. package/form/components/rating/index.d.ts +1 -0
  24. package/form/components/rating/rating.d.ts +31 -0
  25. package/form/index.d.ts +2 -0
  26. package/form/types/index.d.ts +1 -0
  27. package/form/types/search-form/index.d.ts +1 -0
  28. package/form/types/search-form/search-form.d.ts +21 -0
  29. package/general/button/button.d.ts +52 -0
  30. package/general/button/index.d.ts +2 -0
  31. package/general/index.d.ts +3 -0
  32. package/general/link/index.d.ts +1 -0
  33. package/general/link/link.d.ts +21 -0
  34. package/general/responsive-image/index.d.ts +2 -0
  35. package/general/responsive-image/responsive-image.helpers.d.ts +68 -0
  36. package/general/responsive-image/responsive-image.mock.d.ts +9 -0
  37. package/helpers/basic-reducer.d.ts +2 -0
  38. package/helpers/breakpoints.d.ts +5 -0
  39. package/helpers/index.d.ts +5 -0
  40. package/helpers/intl-wrapper.d.ts +6 -0
  41. package/helpers/pass-props-to-children.d.ts +3 -0
  42. package/hooks/index.d.ts +3 -0
  43. package/hooks/use-effect-after-mount.d.ts +2 -0
  44. package/hooks/use-screen-width.d.ts +2 -0
  45. package/hooks/use-scroll-listener.d.ts +15 -0
  46. package/index.d.ts +11 -1
  47. package/index.js +160 -1
  48. package/index.mjs +20511 -29
  49. package/layout/download-section/download-section.d.ts +21 -0
  50. package/layout/download-section/index.d.ts +1 -0
  51. package/layout/index.d.ts +3 -1
  52. package/layout/logos/index.d.ts +1 -0
  53. package/layout/logos/logos.d.ts +24 -0
  54. package/layout/logos/logos.mock.d.ts +3 -0
  55. package/layout/page-layout/components/cookie-banner/cookie-banner.d.ts +6 -0
  56. package/layout/page-layout/components/cookie-banner/index.d.ts +1 -0
  57. package/layout/page-layout/components/footer/footer.d.ts +6 -0
  58. package/layout/page-layout/components/footer/footer.data.d.ts +6 -0
  59. package/layout/page-layout/components/footer/index.d.ts +1 -0
  60. package/layout/page-layout/components/header/__mocks__/header.data.d.ts +83 -0
  61. package/layout/page-layout/components/header/components/header-link/header-link.d.ts +13 -0
  62. package/layout/page-layout/components/header/components/header-link/index.d.ts +1 -0
  63. package/layout/page-layout/components/header/components/index.d.ts +1 -0
  64. package/layout/page-layout/components/header/header.d.ts +6 -0
  65. package/layout/page-layout/components/header/header.data.d.ts +112 -0
  66. package/layout/page-layout/components/header/header.helpers.d.ts +39 -0
  67. package/layout/page-layout/components/header/header.mock.d.ts +29 -0
  68. package/layout/page-layout/components/header/index.d.ts +2 -0
  69. package/layout/page-layout/components/index.d.ts +3 -0
  70. package/layout/page-layout/index.d.ts +2 -0
  71. package/layout/page-layout/page-layout.d.ts +16 -0
  72. package/loaders/index.d.ts +4 -0
  73. package/loaders/loading-block/index.d.ts +1 -0
  74. package/loaders/loading-block/loading-block.d.ts +18 -0
  75. package/loaders/loading-placeholder/index.d.ts +1 -0
  76. package/loaders/loading-placeholder/loading-placeholder.d.ts +11 -0
  77. package/loaders/loading-state/index.d.ts +1 -0
  78. package/loaders/loading-state/loading-state.d.ts +5 -0
  79. package/loaders/progress-bar/index.d.ts +1 -0
  80. package/loaders/progress-bar/progress-bar.d.ts +13 -0
  81. package/modals/modal/index.d.ts +1 -0
  82. package/modals/modal/modal.d.ts +9 -0
  83. package/navigation/filters/filters.d.ts +28 -0
  84. package/navigation/filters/index.d.ts +1 -0
  85. package/navigation/index.d.ts +4 -0
  86. package/navigation/load-more/index.d.ts +1 -0
  87. package/navigation/load-more/load-more.d.ts +28 -0
  88. package/navigation/logo/index.d.ts +1 -0
  89. package/navigation/logo/logo.d.ts +12 -0
  90. package/navigation/tags/index.d.ts +1 -0
  91. package/navigation/tags/tags.d.ts +20 -0
  92. package/navigation/tags/tags.helpers.d.ts +34 -0
  93. package/package.json +1 -1
  94. package/style.css +1 -1
  95. package/styles/base/_fonts.scss +1 -1
  96. package/styles/base/_hr.scss +1 -0
  97. package/styles/base/_index.scss +2 -0
  98. package/styles/base/_overlays.scss +26 -0
  99. package/styles/base/_text.scss +5 -1
  100. package/styles/base/_titles.scss +133 -87
  101. package/styles/base/buttons/_buttons.scss +40 -24
  102. package/styles/base/buttons/_sizes.scss +12 -0
  103. package/styles/base/form/_fields.scss +60 -0
  104. package/styles/base/form/_index.scss +2 -0
  105. package/styles/base/form/_search-button.scss +32 -0
  106. package/styles/functions/_size-conversions.scss +3 -1
  107. package/styles/mixins/_backgrounds.scss +1 -5
  108. package/styles/mixins/_breakpoints.scss +4 -1
  109. package/styles/mixins/_browsers.scss +3 -0
  110. package/styles/mixins/_index.scss +3 -0
  111. package/styles/mixins/_selectors.scss +5 -0
  112. package/styles/mixins/_styles.scss +31 -0
  113. package/styles/variables/colors/_colors.scss +5 -0
  114. package/styles/variables/colors/_theme.scss +159 -1
  115. package/styles/variables/sizes/_common.scss +2 -1
  116. package/text/collapsible-section/collapsible-section.d.ts +13 -0
  117. package/text/collapsible-section/index.d.ts +1 -0
  118. package/text/empty-state-box/empty-state-box.d.ts +21 -0
  119. package/text/empty-state-box/index.d.ts +1 -0
  120. package/text/helper-text-box/helper-text-box.d.ts +14 -0
  121. package/text/helper-text-box/index.d.ts +1 -0
  122. package/text/hide-show-text-box/hide-show-text-box.d.ts +16 -0
  123. package/text/hide-show-text-box/hide-show-text-box.mock.d.ts +4 -0
  124. package/text/hide-show-text-box/index.d.ts +1 -0
  125. package/text/highlighted-text-box/highlighted-text-box.d.ts +13 -0
  126. package/text/highlighted-text-box/index.d.ts +1 -0
  127. package/text/index.d.ts +6 -0
  128. package/text/pill/index.d.ts +1 -0
  129. package/text/pill/pill.d.ts +9 -0
  130. package/user/index.d.ts +1 -0
  131. package/user/profile-picture/index.d.ts +1 -0
  132. package/user/profile-picture/profile-picture.d.ts +12 -0
  133. package/user/profile-picture/profile-picture.helpers.d.ts +3 -0
  134. package/demo/demo.d.ts +0 -4
  135. package/demo/index.d.ts +0 -1
  136. package/layout/layout.d.ts +0 -6
@@ -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,6 +0,0 @@
1
- /// <reference types="react" />
2
- interface Props {
3
- children: React.ReactNode;
4
- }
5
- export declare function Layout({ children }: Props): import("react/jsx-runtime").JSX.Element;
6
- export default Layout;