@indico-data/design-system 2.19.0 → 2.21.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 (40) hide show
  1. package/lib/index.css +58 -3
  2. package/lib/index.d.ts +18 -1
  3. package/lib/index.esm.css +58 -3
  4. package/lib/index.esm.js +1567 -8
  5. package/lib/index.esm.js.map +1 -1
  6. package/lib/index.js +1567 -6
  7. package/lib/index.js.map +1 -1
  8. package/lib/src/components/index.d.ts +2 -0
  9. package/lib/src/components/menu/Menu.d.ts +5 -0
  10. package/lib/src/components/menu/Menu.stories.d.ts +6 -0
  11. package/lib/src/components/menu/Menu.test.d.ts +1 -0
  12. package/lib/src/components/menu/index.d.ts +1 -0
  13. package/lib/src/components/popper/Popper.d.ts +12 -0
  14. package/lib/src/components/popper/Popper.stories.d.ts +6 -0
  15. package/lib/src/components/popper/Popper.test.d.ts +1 -0
  16. package/lib/src/components/popper/index.d.ts +1 -0
  17. package/lib/src/hooks/useClickOutside.d.ts +2 -0
  18. package/lib/src/index.d.ts +2 -0
  19. package/package.json +2 -1
  20. package/src/components/index.ts +2 -0
  21. package/src/components/menu/Menu.mdx +15 -0
  22. package/src/components/menu/Menu.stories.tsx +56 -0
  23. package/src/components/menu/Menu.test.tsx +88 -0
  24. package/src/components/menu/Menu.tsx +20 -0
  25. package/src/components/menu/index.ts +1 -0
  26. package/src/components/menu/styles/Menu.scss +19 -0
  27. package/src/components/menu/styles/_variables.scss +15 -0
  28. package/src/components/popper/Popper.mdx +79 -0
  29. package/src/components/popper/Popper.stories.tsx +161 -0
  30. package/src/components/popper/Popper.test.tsx +68 -0
  31. package/src/components/popper/Popper.tsx +57 -0
  32. package/src/components/popper/index.ts +1 -0
  33. package/src/components/popper/styles/Popper.scss +11 -0
  34. package/src/components/popper/styles/_variables.scss +15 -0
  35. package/src/hooks/useClickOutside.tsx +22 -0
  36. package/src/index.ts +2 -0
  37. package/src/legacy/components/buttons/commonStyles.ts +0 -4
  38. package/src/styles/_typography.scss +1 -1
  39. package/src/styles/index.scss +2 -0
  40. package/src/styles/variables/_typography.scss +2 -4
@@ -0,0 +1,11 @@
1
+ @import './variables.scss';
2
+
3
+ .popper-container {
4
+ z-index: 99;
5
+ }
6
+
7
+ .popper-content {
8
+ border-radius: var(--pf-popper-border-radius);
9
+ border: 1px solid var(--pf-popper-border-color);
10
+ background: var(--pf-popper-background-color);
11
+ }
@@ -0,0 +1,15 @@
1
+ // Common Variables
2
+ :root,
3
+ :root [data-theme='light'],
4
+ :root [data-theme='dark'] {
5
+ --pf-popper-background-color: var(--pf-white-color);
6
+ --pf-popper-border-color: var(--pf-gray-color-900);
7
+ --pf-popper-border-radius: var(--pf-rounded);
8
+ --pf-popper-padding: var(--pf-padding-2);
9
+ }
10
+
11
+ // Dark Theme Specific Variables
12
+ :root [data-theme='dark'] {
13
+ --pf-popper-background-color: var(--pf-primary-color-600);
14
+ --pf-popper-border-color: var(--pf-gray-color);
15
+ }
@@ -0,0 +1,22 @@
1
+ import React, { useEffect } from 'react';
2
+
3
+ export const useClickOutside = (
4
+ ref: React.MutableRefObject<HTMLElement>,
5
+ handler: (e: MouseEvent | TouchEvent) => void,
6
+ ) => {
7
+ useEffect(() => {
8
+ const listener = (e: MouseEvent | TouchEvent) => {
9
+ if (!ref.current || ref.current.contains(e.target as Node)) {
10
+ return;
11
+ }
12
+ handler(e);
13
+ };
14
+ document.addEventListener('mousedown', listener);
15
+ document.addEventListener('touchstart', listener);
16
+
17
+ return () => {
18
+ document.removeEventListener('mousedown', listener);
19
+ document.removeEventListener('touchstart', listener);
20
+ };
21
+ }, [ref, handler]);
22
+ };
package/src/index.ts CHANGED
@@ -71,3 +71,5 @@ export { Select as SelectInput } from './components/forms/select';
71
71
  export { Form } from './components/forms/form';
72
72
  export { Skeleton } from './components/skeleton';
73
73
  export { Card } from './components/card';
74
+ export { Popper } from './components/popper';
75
+ export { Menu } from './components/menu';
@@ -42,10 +42,6 @@ export const defaults = css`
42
42
  font-family: ${TYPOGRAPHY.fontFamily.base};
43
43
 
44
44
  padding: 0 1em !important;
45
-
46
- & + button {
47
- margin-left: 14px;
48
- }
49
45
  `;
50
46
 
51
47
  export const sizeLarge = css`
@@ -45,7 +45,7 @@ html {
45
45
  font-size: var(--pf-font-size-caption);
46
46
  }
47
47
  .text-overline {
48
- font-size: var(--pf-font-size-overine);
48
+ font-size: var(--pf-font-size-overline);
49
49
  }
50
50
 
51
51
  // Transform
@@ -16,6 +16,8 @@
16
16
  @import '../components/forms/toggle/styles/Toggle.scss';
17
17
  @import '../components/skeleton/styles/Skeleton.scss';
18
18
  @import '../components/card/styles/Card.scss';
19
+ @import '../components/menu/styles/Menu.scss';
20
+ @import '../components/popper/styles/Popper.scss';
19
21
  @import '../legacy/components/inputs/NoInputDatePicker/NoInputDatePicker.scss';
20
22
  @import 'typography';
21
23
  @import 'colors';
@@ -4,7 +4,6 @@
4
4
  // Family
5
5
  --pf-font-family-base: 'Mulish', sans-serif;
6
6
 
7
-
8
7
  // Sizes
9
8
  --pf-font-size-base: 1rem;
10
9
  --pf-font-size-h1: calc(1.5 * var(--pf-font-size-base));
@@ -18,7 +17,7 @@
18
17
  --pf-font-size-subtitle: var(--pf-font-size-base);
19
18
  --pf-font-size-subtitle2: calc(0.875 * var(--pf-font-size-base));
20
19
  --pf-font-size-button: var(--pf-font-size-base);
21
- --pf-font-size-overine: calc(0.75 * var(--pf-font-size-base));
20
+ --pf-font-size-overline: calc(0.75 * var(--pf-font-size-base));
22
21
 
23
22
  // Weights
24
23
  --pf-font-weight-thin: 100;
@@ -27,5 +26,4 @@
27
26
  --pf-font-weight-medium: 500;
28
27
  --pf-font-weight-bold: 700;
29
28
  --pf-font-weight-heavy: 900;
30
-
31
- }
29
+ }