@digigov/ui 1.0.2 → 1.1.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.
- package/CHANGELOG.md +25 -1
- package/api/APIErrors/index.js +5 -7
- package/app/BannerContainer/BannerContainer.stories.d.ts +5 -5
- package/app/Footer/Footer.stories/index.js +1 -0
- package/app/Footer/Footer.stories.d.ts +7 -6
- package/app/Footer/__stories__/FooterAllInclusive/index.js +5 -1
- package/app/Footer/__stories__/FooterWithText/index.js +29 -0
- package/app/Footer/__stories__/FooterWithText/package.json +6 -0
- package/app/Footer/__stories__/FooterWithText.d.ts +3 -0
- package/app/Header/Header.stories.d.ts +7 -7
- package/app/Loader/Loader.stories.d.ts +3 -3
- package/app/Masthead/Masthead.stories.d.ts +6 -6
- package/app/Modal/Modal.stories.d.ts +5 -5
- package/app/Modal/index.js +3 -3
- package/app/NotFound/NotFound.stories.d.ts +3 -3
- package/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck/index.js +4 -3
- package/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck.d.ts +1 -1
- package/app/Panel/Panel.stories.d.ts +5 -5
- package/app/PhaseBannerHeader/PhaseBannerHeader.stories.d.ts +3 -3
- package/app/QrCodeScanner/QrCodeScanner.stories.d.ts +3 -3
- package/app/QrCodeViewer/QRCode.stories.d.ts +2 -2
- package/app/QrCodeViewer/qrcodegen/index.js +13 -13
- package/cjs/api/APIErrors/index.js +5 -7
- package/cjs/app/Footer/Footer.stories/index.js +12 -0
- package/cjs/app/Footer/__stories__/FooterAllInclusive/index.js +5 -1
- package/cjs/app/Footer/__stories__/FooterWithText/index.js +36 -0
- package/cjs/app/Modal/index.js +3 -3
- package/cjs/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck/index.js +4 -3
- package/cjs/app/QrCodeViewer/qrcodegen/index.js +13 -13
- package/cjs/content/Table/TableFloatingScroll/index.js +4 -3
- package/cjs/form/AutoComplete/Status/index.js +4 -5
- package/cjs/form/AutoComplete/index.js +5 -6
- package/cjs/layouts/Screen/Screen.stories/index.js +50 -0
- package/cjs/layouts/Screen/__stories__/Default/index.js +25 -0
- package/cjs/layouts/Screen/__stories__/ScreenDown/index.js +16 -0
- package/cjs/layouts/Screen/__stories__/SpecificScreenSize/index.js +16 -0
- package/cjs/layouts/Screen/index.js +34 -0
- package/cjs/registry/index.js +10 -0
- package/cjs/typography/Code/index.js +23 -0
- package/cjs/typography/CodeBlock/index.js +23 -0
- package/cjs/utils/hooks/useScreen/index.js +60 -0
- package/cjs/utils/withDeprecation/index.js +4 -5
- package/content/Accordion/Accordion.stories.d.ts +6 -6
- package/content/Blockquote/Blockquote.stories.d.ts +5 -5
- package/content/Card/Card.stories.d.ts +6 -6
- package/content/Chip/Chip.stories.d.ts +3 -3
- package/content/Details/Details.stories.d.ts +5 -5
- package/content/List/List.stories.d.ts +5 -5
- package/content/StepNav/StepNav.stories.d.ts +4 -4
- package/content/SummaryList/SummaryList.stories.d.ts +5 -5
- package/content/Table/Table.stories.d.ts +5 -5
- package/content/Table/TableFloatingScroll/index.js +4 -3
- package/content/TaskList/TaskList.stories.d.ts +4 -4
- package/content/Timeline/Timeline.stories.d.ts +4 -4
- package/feedback/CopyToClipboard/CopyToClipboard.stories.d.ts +3 -3
- package/feedback/ErrorSummary/ErrorSummary.stories.d.ts +5 -5
- package/feedback/NotificationBanner/NotificationBanner.stories.d.ts +6 -6
- package/feedback/PhaseBanner/PhaseBanner.stories.d.ts +5 -5
- package/feedback/WarningText/WarningText.stories.d.ts +5 -5
- package/form/AutoComplete/AutoComplete.stories.d.ts +3 -3
- package/form/AutoComplete/Status/index.js +4 -5
- package/form/AutoComplete/index.js +5 -6
- package/form/Button/Button.stories.d.ts +5 -5
- package/form/Checkbox/Checkbox.stories.d.ts +5 -5
- package/form/DateInputContainer/DateInputContainer.stories.d.ts +5 -5
- package/form/ErrorMessage/ErrorMessage.stories.d.ts +5 -5
- package/form/FileUpload/FileUpload.stories.d.ts +4 -4
- package/form/RadioContainer/RadioContainer.stories.d.ts +5 -5
- package/form/SelectContainer/SelectContainer.stories.d.ts +5 -5
- package/form/SingleCharacterInputs/SingleCharacterInput.stories.d.ts +5 -5
- package/form/TextArea/TextArea.stories.d.ts +5 -5
- package/form/TextInput/TextInput.stories.d.ts +5 -5
- package/index.js +1 -1
- package/layouts/Basic/Basic.stories.d.ts +4 -4
- package/layouts/Grid/Grid.stories.d.ts +3 -3
- package/layouts/Screen/Screen.stories/index.js +9 -0
- package/layouts/Screen/Screen.stories/package.json +6 -0
- package/layouts/Screen/Screen.stories.d.ts +10 -0
- package/layouts/Screen/__stories__/Default/index.js +18 -0
- package/layouts/Screen/__stories__/Default/package.json +6 -0
- package/layouts/Screen/__stories__/Default.d.ts +3 -0
- package/layouts/Screen/__stories__/ScreenDown/index.js +9 -0
- package/layouts/Screen/__stories__/ScreenDown/package.json +6 -0
- package/layouts/Screen/__stories__/ScreenDown.d.ts +3 -0
- package/layouts/Screen/__stories__/SpecificScreenSize/index.js +9 -0
- package/layouts/Screen/__stories__/SpecificScreenSize/package.json +6 -0
- package/layouts/Screen/__stories__/SpecificScreenSize.d.ts +3 -0
- package/layouts/Screen/index.d.ts +6 -0
- package/layouts/Screen/index.js +27 -0
- package/layouts/Screen/package.json +6 -0
- package/layouts/Stack/Stack.stories.d.ts +3 -3
- package/navigation/BackLink/BackLink.stories.d.ts +3 -3
- package/navigation/BackToTopLink/BackToTopLink.stories.d.ts +3 -3
- package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +5 -5
- package/navigation/Drawer/Drawer.stories.d.ts +5 -5
- package/navigation/Dropdown/Dropdown.stories.d.ts +5 -5
- package/navigation/Link/Link.stories.d.ts +4 -4
- package/navigation/NavList/NavList.stories.d.ts +5 -5
- package/navigation/Pagination/Pagination.stories.d.ts +5 -5
- package/navigation/SkipLink/SkipLink.stories.d.ts +4 -4
- package/navigation/Tabs/Tabs.stories.d.ts +6 -6
- package/package.json +4 -3
- package/registry/index.js +10 -0
- package/registry.d.ts +63 -57
- package/src/app/Footer/Footer.stories.js +1 -0
- package/src/app/Footer/__stories__/FooterAllInclusive.tsx +2 -2
- package/src/app/Footer/__stories__/FooterWithText.tsx +67 -0
- package/src/app/Modal/index.tsx +3 -3
- package/src/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck.ts +5 -4
- package/src/content/Table/TableFloatingScroll.tsx +4 -3
- package/src/layouts/Screen/Screen.stories.js +9 -0
- package/src/layouts/Screen/__stories__/Default.tsx +22 -0
- package/src/layouts/Screen/__stories__/ScreenDown.tsx +11 -0
- package/src/layouts/Screen/__stories__/SpecificScreenSize.tsx +11 -0
- package/src/layouts/Screen/index.tsx +29 -0
- package/src/registry.js +124 -309
- package/src/typography/Code/index.tsx +4 -0
- package/src/typography/CodeBlock/index.tsx +4 -0
- package/src/utils/hooks/useScreen.ts +46 -0
- package/typography/Code/index.d.ts +3 -0
- package/typography/Code/index.js +3 -0
- package/typography/Code/package.json +6 -0
- package/typography/CodeBlock/index.d.ts +3 -0
- package/typography/CodeBlock/index.js +3 -0
- package/typography/CodeBlock/package.json +6 -0
- package/typography/Heading/Heading.stories.d.ts +3 -3
- package/typography/HeadingCaption/HeadingCaption.stories.d.ts +3 -3
- package/typography/Hint/Hint.stories.d.ts +3 -3
- package/typography/NormalText/NormalText.stories.d.ts +3 -3
- package/typography/Paragraph/Paragraph.stories.d.ts +3 -3
- package/utils/VisuallyHidden/VisuallyHidden.stories.d.ts +3 -3
- package/utils/hooks/useScreen/index.js +53 -0
- package/utils/hooks/useScreen/package.json +6 -0
- package/utils/hooks/useScreen.d.ts +7 -0
- package/utils/withDeprecation/index.js +4 -5
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Footer,
|
|
4
|
+
FooterContainer,
|
|
5
|
+
FooterInfo,
|
|
6
|
+
FooterInfoSection,
|
|
7
|
+
FooterContent,
|
|
8
|
+
FooterList,
|
|
9
|
+
FooterListItem,
|
|
10
|
+
} from '@digigov/ui/app/Footer';
|
|
11
|
+
import Copyright from '@digigov/ui/govgr/Footer/Copyright';
|
|
12
|
+
import HellenicRepublicLogo from '@digigov/ui/govgr/Footer/HellenicRepublicLogo';
|
|
13
|
+
import Link from '@digigov/ui/navigation/Link';
|
|
14
|
+
import VisuallyHidden from '@digigov/ui/utils/VisuallyHidden';
|
|
15
|
+
|
|
16
|
+
export const FooterWithText = () => {
|
|
17
|
+
return (
|
|
18
|
+
<Footer>
|
|
19
|
+
<FooterContainer>
|
|
20
|
+
<FooterInfo>
|
|
21
|
+
<FooterInfoSection grow aria-label="footer info section">
|
|
22
|
+
<FooterContent>
|
|
23
|
+
<VisuallyHidden>Περισσότερες επιλογές</VisuallyHidden>
|
|
24
|
+
<FooterList>
|
|
25
|
+
<FooterListItem>
|
|
26
|
+
<Link href="#">Ενημέρωση σχετικά με την επεξεργασία προσωπικών δεδομένων</Link>
|
|
27
|
+
</FooterListItem>
|
|
28
|
+
</FooterList>
|
|
29
|
+
<Copyright>
|
|
30
|
+
Η άντληση των απαραίτητων στοιχείων πραγματοποιείται μέσω του {' '}
|
|
31
|
+
<Link href="https://gsis.gr/dimosia-dioikisi/ked">
|
|
32
|
+
Κέντρου Διαλειτουργικότητας
|
|
33
|
+
</Link>
|
|
34
|
+
{' '}της {' '}
|
|
35
|
+
<Link href="https://www.gsis.gr/">
|
|
36
|
+
Γενικής Γραμματείας Πληροφοριακών Συστημάτων Δημόσιας Διοίκησης
|
|
37
|
+
</Link>
|
|
38
|
+
.
|
|
39
|
+
</Copyright>
|
|
40
|
+
<Copyright>
|
|
41
|
+
{`Υλοποίηση από το `}
|
|
42
|
+
<Link href="https://grnet.gr/" target="_blank">
|
|
43
|
+
ΕΔΥΤΕ
|
|
44
|
+
<VisuallyHidden>
|
|
45
|
+
{` (ανοίγει σε καινούρια καρτέλα)`}
|
|
46
|
+
</VisuallyHidden>
|
|
47
|
+
</Link>
|
|
48
|
+
{` για το `}
|
|
49
|
+
<Link href="https://mindigital.gr/" target="_blank">
|
|
50
|
+
Υπουργείο Ψηφιακής Διακυβέρνησης
|
|
51
|
+
<VisuallyHidden>
|
|
52
|
+
{` (ανοίγει σε καινούρια καρτέλα)`}
|
|
53
|
+
</VisuallyHidden>
|
|
54
|
+
</Link>
|
|
55
|
+
</Copyright>
|
|
56
|
+
</FooterContent>
|
|
57
|
+
</FooterInfoSection>
|
|
58
|
+
<FooterInfoSection>
|
|
59
|
+
<HellenicRepublicLogo></HellenicRepublicLogo>
|
|
60
|
+
</FooterInfoSection>
|
|
61
|
+
</FooterInfo>
|
|
62
|
+
</FooterContainer>
|
|
63
|
+
</Footer>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default FooterWithText;
|
package/src/app/Modal/index.tsx
CHANGED
|
@@ -39,13 +39,13 @@ export const ModalBase = React.forwardRef<HTMLDivElement, ModalProps>(
|
|
|
39
39
|
}, []);
|
|
40
40
|
useKeypress('Escape', onEscape);
|
|
41
41
|
useEffect(() => {
|
|
42
|
+
const lastModalElementInstance = lastModalElement.current;
|
|
42
43
|
handleFocus();
|
|
43
|
-
|
|
44
|
+
lastModalElementInstance.addEventListener('focus', handleFocus);
|
|
44
45
|
return () => {
|
|
45
|
-
|
|
46
|
+
lastModalElementInstance.removeEventListener('focus', handleFocus);
|
|
46
47
|
};
|
|
47
48
|
}, [open]);
|
|
48
|
-
console.log(ref);
|
|
49
49
|
return (
|
|
50
50
|
<ModalContainer
|
|
51
51
|
open={open}
|
|
@@ -7,7 +7,7 @@ const DEFAULT_BROWSER_SUPPORT = {
|
|
|
7
7
|
'Mobile Safari': 10,
|
|
8
8
|
Firefox: 50,
|
|
9
9
|
Opera: 50,
|
|
10
|
-
IE:
|
|
10
|
+
IE: 0,
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
const browserUpdateLinks = {
|
|
@@ -22,7 +22,7 @@ const browserUpdateLinks = {
|
|
|
22
22
|
const browserNames = Object.keys(DEFAULT_BROWSER_SUPPORT);
|
|
23
23
|
|
|
24
24
|
export function useOutdatedBrowserCheck(
|
|
25
|
-
browserSupport: Record<string, number
|
|
25
|
+
browserSupport: Record<string, number> = DEFAULT_BROWSER_SUPPORT
|
|
26
26
|
): [boolean, string] {
|
|
27
27
|
const currentBrowser = evaluateBrowserVersion();
|
|
28
28
|
if (!currentBrowser.version || !currentBrowser.name) {
|
|
@@ -31,11 +31,12 @@ export function useOutdatedBrowserCheck(
|
|
|
31
31
|
const currentBrowserVersion = parseInt(currentBrowser.version);
|
|
32
32
|
const currentBrowserName = currentBrowser.name;
|
|
33
33
|
if (browserNames.indexOf(currentBrowser.name) > -1) {
|
|
34
|
-
if
|
|
34
|
+
// this checks if browser is IE
|
|
35
|
+
if (browserSupport[currentBrowserName] === 0) {
|
|
35
36
|
return [true, browserUpdateLinks.Chrome];
|
|
36
37
|
} else {
|
|
37
38
|
if (currentBrowserVersion >= browserSupport[currentBrowserName]) {
|
|
38
|
-
//TODO: check if number
|
|
39
|
+
// TODO: check if number
|
|
39
40
|
return [false, ''];
|
|
40
41
|
} else {
|
|
41
42
|
return [true, browserUpdateLinks[currentBrowserName]];
|
|
@@ -8,6 +8,7 @@ export function TableFloatingScroll(props) {
|
|
|
8
8
|
const [containerWidth, setContainerWidth] = useState(0);
|
|
9
9
|
const [position, setPosition] = useState<'relative' | 'fixed'>('relative');
|
|
10
10
|
useEffect(() => {
|
|
11
|
+
const scrollBlockRefInstance = scrollBlockRef.current;
|
|
11
12
|
contentRef.current = ref.current?.firstChild as HTMLElement;
|
|
12
13
|
// @ts-ignore
|
|
13
14
|
setContainerWidth(ref.current.offsetWidth);
|
|
@@ -32,10 +33,10 @@ export function TableFloatingScroll(props) {
|
|
|
32
33
|
}
|
|
33
34
|
function onBlockScroll() {
|
|
34
35
|
// @ts-ignore
|
|
35
|
-
ref.current.scrollLeft =
|
|
36
|
+
ref.current.scrollLeft = scrollBlockRefInstance.scrollLeft;
|
|
36
37
|
}
|
|
37
38
|
// @ts-ignore
|
|
38
|
-
|
|
39
|
+
scrollBlockRefInstance.addEventListener('scroll', onBlockScroll);
|
|
39
40
|
document.addEventListener('scroll', onBodyScroll);
|
|
40
41
|
window.addEventListener('resize', () => {
|
|
41
42
|
// @ts-ignore
|
|
@@ -45,7 +46,7 @@ export function TableFloatingScroll(props) {
|
|
|
45
46
|
});
|
|
46
47
|
return () => {
|
|
47
48
|
// @ts-ignore
|
|
48
|
-
|
|
49
|
+
scrollBlockRefInstance.removeEventListener('scroll', onBlockScroll);
|
|
49
50
|
document.removeEventListener('scroll', onBodyScroll);
|
|
50
51
|
};
|
|
51
52
|
}, []);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Screen from '@digigov/ui/layouts/Screen';
|
|
2
|
+
export default {
|
|
3
|
+
title: 'Digigov UI/layouts/Screen',
|
|
4
|
+
component: Screen,
|
|
5
|
+
displayName: 'Screen',
|
|
6
|
+
};
|
|
7
|
+
export * from '@digigov/ui/layouts/Screen/__stories__/Default';
|
|
8
|
+
export * from '@digigov/ui/layouts/Screen/__stories__/SpecificScreenSize';
|
|
9
|
+
export * from '@digigov/ui/layouts/Screen/__stories__/ScreenDown';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Screen } from '@digigov/ui/layouts/Screen';
|
|
3
|
+
|
|
4
|
+
export const Default = () => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Screen size='mdUp'>
|
|
8
|
+
<div>This is a mdUp screen</div>
|
|
9
|
+
</Screen>
|
|
10
|
+
<Screen size='mdDown'>
|
|
11
|
+
<div>This is a mdDown screen</div>
|
|
12
|
+
</Screen>
|
|
13
|
+
<Screen size='xs'>
|
|
14
|
+
<div>This is a xs screen</div>
|
|
15
|
+
</Screen>
|
|
16
|
+
<Screen size='sm'>
|
|
17
|
+
<div>This is a sm screen</div>
|
|
18
|
+
</Screen>
|
|
19
|
+
</>
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
export default Default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useScreenSize, breakpointKeys, Breakpoints } from "@digigov/ui/utils/hooks/useScreen"
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface ScreenProps {
|
|
4
|
+
size: "xs" | "sm" | "md" | "lg" | "xl" | 'xsUp' | 'smUp' | 'mdUp' | 'lgUp' | 'xlUp' | 'xsDown' | 'smDown' | 'mdDown' | 'lgDown' | 'xlDown';
|
|
5
|
+
}
|
|
6
|
+
export const Screen: React.FC<ScreenProps> = ({ size, children }) => {
|
|
7
|
+
const { screenSize } = useScreenSize();
|
|
8
|
+
if (size?.endsWith('Up')) {
|
|
9
|
+
const breakpoint = size.replace('Up', '') as Breakpoints;
|
|
10
|
+
if (breakpointKeys.indexOf(breakpoint) <= breakpointKeys.indexOf(screenSize)) {
|
|
11
|
+
return <>{children}</>
|
|
12
|
+
} else {
|
|
13
|
+
return null
|
|
14
|
+
}
|
|
15
|
+
} else if (size.endsWith('Down')) {
|
|
16
|
+
const breakpoint = size.replace('Down', '') as Breakpoints;
|
|
17
|
+
if (breakpointKeys.indexOf(breakpoint) > breakpointKeys.indexOf(screenSize)) {
|
|
18
|
+
return <>{children}</>
|
|
19
|
+
}else{
|
|
20
|
+
return null
|
|
21
|
+
}
|
|
22
|
+
}else if (size && size !== screenSize) {
|
|
23
|
+
return null
|
|
24
|
+
}
|
|
25
|
+
return <>{children}</>
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default Screen;
|