@amsterdam/design-system-react 2.0.1 → 2.1.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.
- package/dist/Accordion/Accordion.d.ts +3 -3
- package/dist/Accordion/AccordionSection.d.ts +5 -5
- package/dist/App/App.d.ts +12 -0
- package/dist/App/App.js +8 -0
- package/dist/App/App.test.d.ts +5 -0
- package/dist/App/App.test.js +33 -0
- package/dist/App/index.d.ts +6 -0
- package/dist/App/index.js +5 -0
- package/dist/AppNavigation/AppNavigation.d.ts +45 -0
- package/dist/AppNavigation/AppNavigation.js +18 -0
- package/dist/AppNavigation/AppNavigation.test.d.ts +5 -0
- package/dist/AppNavigation/AppNavigation.test.js +33 -0
- package/dist/AppNavigation/AppNavigationButton.d.ts +18 -0
- package/dist/AppNavigation/AppNavigationButton.js +17 -0
- package/dist/AppNavigation/AppNavigationLink.d.ts +19 -0
- package/dist/AppNavigation/AppNavigationLink.js +19 -0
- package/dist/AppNavigation/AppNavigationMenu.d.ts +9 -0
- package/dist/AppNavigation/AppNavigationMenu.js +5 -0
- package/dist/AppNavigation/index.d.ts +6 -0
- package/dist/AppNavigation/index.js +5 -0
- package/dist/Badge/Badge.d.ts +4 -4
- package/dist/Blockquote/Blockquote.d.ts +5 -5
- package/dist/Breakout/BreakoutCell.d.ts +2 -2
- package/dist/Button/Button.d.ts +7 -5
- package/dist/Button/Button.js +1 -0
- package/dist/Card/Card.d.ts +9 -9
- package/dist/Card/CardHeading.d.ts +4 -4
- package/dist/Card/CardHeadingGroup.d.ts +5 -5
- package/dist/Card/CardImage.d.ts +2 -2
- package/dist/Checkbox/Checkbox.d.ts +5 -5
- package/dist/Column/Column.d.ts +5 -5
- package/dist/DateInput/DateInput.d.ts +4 -4
- package/dist/DescriptionList/DescriptionList.d.ts +5 -5
- package/dist/Dialog/Dialog.d.ts +6 -7
- package/dist/Field/Field.d.ts +5 -5
- package/dist/FieldSet/FieldSet.d.ts +20 -10
- package/dist/FieldSet/FieldSet.js +4 -3
- package/dist/FieldSet/FieldSet.test.js +7 -0
- package/dist/Figure/Figure.d.ts +3 -3
- package/dist/Figure/FigureCaption.d.ts +5 -5
- package/dist/FileList/FileList.d.ts +2 -2
- package/dist/FileList/FileListItem.d.ts +4 -4
- package/dist/Grid/Grid.d.ts +2 -2
- package/dist/Grid/GridCell.d.ts +2 -2
- package/dist/Heading/Heading.d.ts +10 -11
- package/dist/Heading/Heading.js +1 -0
- package/dist/Icon/Icon.d.ts +0 -4
- package/dist/IconButton/IconButton.d.ts +4 -2
- package/dist/IconButton/IconButton.js +1 -0
- package/dist/Image/Image.d.ts +5 -5
- package/dist/ImageSlider/ImageSlider.d.ts +4 -4
- package/dist/ImageSlider/ImageSlider.js +1 -1
- package/dist/ImageSlider/ImageSliderItem.d.ts +5 -5
- package/dist/ImageSlider/ImageSliderItem.js +1 -1
- package/dist/ImageSlider/ImageSliderThumbnails.d.ts +5 -5
- package/dist/InvalidFormAlert/InvalidFormAlertWithErrors.d.ts +2 -2
- package/dist/Label/Label.d.ts +14 -6
- package/dist/Label/Label.js +3 -2
- package/dist/Label/Label.test.js +5 -0
- package/dist/Link/Link.d.ts +4 -4
- package/dist/LinkList/LinkListLink.d.ts +9 -4
- package/dist/LinkList/LinkListLink.js +2 -0
- package/dist/Logo/Logo.d.ts +2 -2
- package/dist/Menu/Menu.d.ts +31 -10
- package/dist/Menu/Menu.js +6 -1
- package/dist/Menu/Menu.test.js +28 -11
- package/dist/Menu/MenuLink.d.ts +8 -2
- package/dist/Menu/MenuLink.test.js +1 -1
- package/dist/OrderedList/OrderedList.d.ts +5 -5
- package/dist/PageHeader/PageHeader.d.ts +7 -7
- package/dist/PageHeader/PageHeader.test.js +0 -4
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.d.ts +1 -1
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.js +0 -4
- package/dist/PageHeader/PageHeaderMenuLink.d.ts +6 -6
- package/dist/PageHeader/PageHeaderMenuLink.js +0 -4
- package/dist/PageHeading/PageHeading.d.ts +5 -5
- package/dist/Pagination/LinkItem.d.ts +3 -3
- package/dist/Pagination/Pagination.d.ts +4 -4
- package/dist/Paragraph/Paragraph.d.ts +5 -9
- package/dist/PasswordInput/PasswordInput.d.ts +4 -4
- package/dist/Radio/Radio.d.ts +5 -5
- package/dist/Row/Row.d.ts +5 -5
- package/dist/SearchField/SearchField.d.ts +3 -3
- package/dist/SearchField/SearchField.test.js +2 -19
- package/dist/SearchField/SearchFieldButton.js +1 -1
- package/dist/SearchField/SearchFieldButton.test.d.ts +5 -0
- package/dist/SearchField/SearchFieldButton.test.js +47 -0
- package/dist/SearchField/SearchFieldInput.d.ts +2 -2
- package/dist/Select/Select.d.ts +5 -5
- package/dist/Spotlight/Spotlight.d.ts +6 -6
- package/dist/Spotlight/Spotlight.js +0 -4
- package/dist/StandaloneLink/StandaloneLink.d.ts +4 -4
- package/dist/Table/TableCaption.d.ts +0 -4
- package/dist/TableOfContents/TableOfContents.d.ts +7 -7
- package/dist/TableOfContents/TableOfContentsLink.d.ts +4 -4
- package/dist/Tabs/Tabs.d.ts +11 -11
- package/dist/Tabs/TabsButton.d.ts +5 -5
- package/dist/Tabs/TabsPanel.d.ts +5 -5
- package/dist/TextArea/TextArea.d.ts +12 -6
- package/dist/TextInput/TextInput.d.ts +4 -4
- package/dist/TimeInput/TimeInput.d.ts +4 -4
- package/dist/UnorderedList/UnorderedList.d.ts +5 -5
- package/dist/common/useIsAfterBreakpoint.d.ts +4 -0
- package/dist/common/useIsAfterBreakpoint.js +4 -4
- package/dist/index.cjs.js +39 -24
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +61 -1860
- package/dist/index.esm.js +39 -24
- package/dist/index.esm.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -20
package/dist/Select/Select.d.ts
CHANGED
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { PropsWithChildren, SelectHTMLAttributes } from 'react';
|
|
6
|
-
export type SelectProps =
|
|
6
|
+
export type SelectProps = {
|
|
7
7
|
/** Whether the value fails a validation rule. */
|
|
8
8
|
invalid?: boolean;
|
|
9
|
-
}
|
|
9
|
+
} & PropsWithChildren<Omit<SelectHTMLAttributes<HTMLSelectElement>, 'aria-invalid'>>;
|
|
10
10
|
/**
|
|
11
11
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-forms-select--docs Select docs at Amsterdam Design System}
|
|
12
12
|
*/
|
|
13
|
-
export declare const Select: import("react").ForwardRefExoticComponent<
|
|
14
|
-
children?: import("react").ReactNode | undefined;
|
|
15
|
-
} & {
|
|
13
|
+
export declare const Select: import("react").ForwardRefExoticComponent<{
|
|
16
14
|
/** Whether the value fails a validation rule. */
|
|
17
15
|
invalid?: boolean;
|
|
16
|
+
} & Omit<SelectHTMLAttributes<HTMLSelectElement>, "aria-invalid"> & {
|
|
17
|
+
children?: import("react").ReactNode | undefined;
|
|
18
18
|
} & import("react").RefAttributes<HTMLSelectElement>> & {
|
|
19
19
|
Group: import("react").ForwardRefExoticComponent<import("./SelectOptionGroup").SelectOptionGroupProps & {
|
|
20
20
|
children?: import("react").ReactNode | undefined;
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
|
-
import { HTMLAttributes, PropsWithChildren } from 'react';
|
|
5
|
+
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
6
|
export declare const spotlightTags: readonly ["article", "aside", "div", "footer", "section"];
|
|
7
7
|
type SpotlightTag = (typeof spotlightTags)[number];
|
|
8
8
|
export declare const spotlightColors: readonly ["azure", "green", "lime", "magenta", "orange", "yellow"];
|
|
9
9
|
type SpotlightColor = (typeof spotlightColors)[number];
|
|
10
|
-
export type SpotlightProps =
|
|
10
|
+
export type SpotlightProps = {
|
|
11
11
|
/** The HTML element to use. */
|
|
12
12
|
as?: SpotlightTag;
|
|
13
13
|
/** The background colour. */
|
|
14
14
|
color?: SpotlightColor;
|
|
15
|
-
}
|
|
15
|
+
} & PropsWithChildren<HTMLAttributes<HTMLElement>>;
|
|
16
16
|
/**
|
|
17
17
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-containers-spotlight--docs Spotlight docs at Amsterdam Design System}
|
|
18
18
|
*/
|
|
19
|
-
export declare const Spotlight: import("react").ForwardRefExoticComponent<
|
|
20
|
-
children?: import("react").ReactNode | undefined;
|
|
21
|
-
} & {
|
|
19
|
+
export declare const Spotlight: import("react").ForwardRefExoticComponent<{
|
|
22
20
|
/** The HTML element to use. */
|
|
23
21
|
as?: SpotlightTag;
|
|
24
22
|
/** The background colour. */
|
|
25
23
|
color?: SpotlightColor;
|
|
24
|
+
} & HTMLAttributes<HTMLElement> & {
|
|
25
|
+
children?: import("react").ReactNode | undefined;
|
|
26
26
|
} & import("react").RefAttributes<unknown>>;
|
|
27
27
|
export {};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { AnchorHTMLAttributes } from 'react';
|
|
6
6
|
import type { IconProps } from '../Icon';
|
|
7
|
-
export type StandaloneLinkProps =
|
|
7
|
+
export type StandaloneLinkProps = {
|
|
8
8
|
/** Changes the text colour for readability on a light or dark background. */
|
|
9
9
|
color?: 'contrast' | 'inverse';
|
|
10
10
|
/**
|
|
@@ -12,11 +12,11 @@ export type StandaloneLinkProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
12
12
|
* @default ChevronForwardIcon
|
|
13
13
|
*/
|
|
14
14
|
icon?: IconProps['svg'];
|
|
15
|
-
}
|
|
15
|
+
} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'placeholder'>;
|
|
16
16
|
/**
|
|
17
17
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-navigation-standalone-link--docs Standalone Link docs at Amsterdam Design System}
|
|
18
18
|
*/
|
|
19
|
-
export declare const StandaloneLink: import("react").ForwardRefExoticComponent<
|
|
19
|
+
export declare const StandaloneLink: import("react").ForwardRefExoticComponent<{
|
|
20
20
|
/** Changes the text colour for readability on a light or dark background. */
|
|
21
21
|
color?: "contrast" | "inverse";
|
|
22
22
|
/**
|
|
@@ -24,4 +24,4 @@ export declare const StandaloneLink: import("react").ForwardRefExoticComponent<O
|
|
|
24
24
|
* @default ChevronForwardIcon
|
|
25
25
|
*/
|
|
26
26
|
icon?: IconProps["svg"];
|
|
27
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
27
|
+
} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "placeholder"> & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
6
|
import type { HeadingProps } from '../Heading';
|
|
7
|
-
export type TableOfContentsProps =
|
|
7
|
+
export type TableOfContentsProps = {
|
|
8
8
|
/** The text for the Heading. */
|
|
9
9
|
heading?: string;
|
|
10
10
|
/**
|
|
@@ -12,13 +12,11 @@ export type TableOfContentsProps = PropsWithChildren<HTMLAttributes<HTMLElement>
|
|
|
12
12
|
* Visually, it always has the size of a level 3 Heading.
|
|
13
13
|
*/
|
|
14
14
|
headingLevel?: HeadingProps['level'];
|
|
15
|
-
}
|
|
15
|
+
} & PropsWithChildren<HTMLAttributes<HTMLElement>>;
|
|
16
16
|
/**
|
|
17
17
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-navigation-table-of-contents--docs Table Of Contents docs at Amsterdam Design System}
|
|
18
18
|
*/
|
|
19
|
-
export declare const TableOfContents: import("react").ForwardRefExoticComponent<
|
|
20
|
-
children?: import("react").ReactNode | undefined;
|
|
21
|
-
} & {
|
|
19
|
+
export declare const TableOfContents: import("react").ForwardRefExoticComponent<{
|
|
22
20
|
/** The text for the Heading. */
|
|
23
21
|
heading?: string;
|
|
24
22
|
/**
|
|
@@ -26,10 +24,12 @@ export declare const TableOfContents: import("react").ForwardRefExoticComponent<
|
|
|
26
24
|
* Visually, it always has the size of a level 3 Heading.
|
|
27
25
|
*/
|
|
28
26
|
headingLevel?: HeadingProps["level"];
|
|
27
|
+
} & HTMLAttributes<HTMLElement> & {
|
|
28
|
+
children?: import("react").ReactNode | undefined;
|
|
29
29
|
} & import("react").RefAttributes<HTMLElement>> & {
|
|
30
|
-
Link: import("react").ForwardRefExoticComponent<
|
|
30
|
+
Link: import("react").ForwardRefExoticComponent<{
|
|
31
31
|
label: string;
|
|
32
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
32
|
+
} & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
33
33
|
List: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
|
|
34
34
|
children?: import("react").ReactNode | undefined;
|
|
35
35
|
} & import("react").RefAttributes<HTMLUListElement>>;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { AnchorHTMLAttributes } from 'react';
|
|
6
|
-
export type TableOfContentsLinkProps =
|
|
6
|
+
export type TableOfContentsLinkProps = {
|
|
7
7
|
/** The text for the link. */
|
|
8
8
|
label: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const TableOfContentsLink: import("react").ForwardRefExoticComponent<
|
|
9
|
+
} & AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
10
|
+
export declare const TableOfContentsLink: import("react").ForwardRefExoticComponent<{
|
|
11
11
|
/** The text for the link. */
|
|
12
12
|
label: string;
|
|
13
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
13
|
+
} & AnchorHTMLAttributes<HTMLAnchorElement> & import("react").RefAttributes<HTMLAnchorElement>>;
|
package/dist/Tabs/Tabs.d.ts
CHANGED
|
@@ -3,32 +3,32 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type TabsProps =
|
|
6
|
+
export type TabsProps = {
|
|
7
7
|
/** The identifier of the initially active Tab. Corresponds to its Panel `id` value. */
|
|
8
8
|
activeTab?: string;
|
|
9
9
|
onTabChange?: (panelId: string) => void;
|
|
10
|
-
}
|
|
10
|
+
} & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
|
|
11
11
|
/**
|
|
12
12
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-containers-tabs--docs Tabs docs at Amsterdam Design System}
|
|
13
13
|
*/
|
|
14
|
-
export declare const Tabs: import("react").ForwardRefExoticComponent<
|
|
15
|
-
children?: import("react").ReactNode | undefined;
|
|
16
|
-
} & {
|
|
14
|
+
export declare const Tabs: import("react").ForwardRefExoticComponent<{
|
|
17
15
|
/** The identifier of the initially active Tab. Corresponds to its Panel `id` value. */
|
|
18
16
|
activeTab?: string;
|
|
19
17
|
onTabChange?: (panelId: string) => void;
|
|
18
|
+
} & HTMLAttributes<HTMLDivElement> & {
|
|
19
|
+
children?: import("react").ReactNode | undefined;
|
|
20
20
|
} & import("react").RefAttributes<HTMLDivElement>> & {
|
|
21
|
-
Button: import("react").ForwardRefExoticComponent<
|
|
22
|
-
children?: import("react").ReactNode | undefined;
|
|
23
|
-
} & {
|
|
21
|
+
Button: import("react").ForwardRefExoticComponent<{
|
|
24
22
|
'aria-controls': string;
|
|
23
|
+
} & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
24
|
+
children?: import("react").ReactNode | undefined;
|
|
25
25
|
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
26
26
|
List: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
27
27
|
children?: import("react").ReactNode | undefined;
|
|
28
28
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
29
|
-
Panel: import("react").ForwardRefExoticComponent<
|
|
30
|
-
children?: import("react").ReactNode | undefined;
|
|
31
|
-
} & {
|
|
29
|
+
Panel: import("react").ForwardRefExoticComponent<{
|
|
32
30
|
id: string;
|
|
31
|
+
} & HTMLAttributes<HTMLDivElement> & {
|
|
32
|
+
children?: import("react").ReactNode | undefined;
|
|
33
33
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
34
34
|
};
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { ButtonHTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type TabsButtonProps =
|
|
6
|
+
export type TabsButtonProps = {
|
|
7
7
|
/** The identifier of the corresponding tab panel. */
|
|
8
8
|
'aria-controls': string;
|
|
9
|
-
}
|
|
10
|
-
export declare const TabsButton: import("react").ForwardRefExoticComponent<
|
|
11
|
-
children?: import("react").ReactNode | undefined;
|
|
12
|
-
} & {
|
|
9
|
+
} & PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>;
|
|
10
|
+
export declare const TabsButton: import("react").ForwardRefExoticComponent<{
|
|
13
11
|
/** The identifier of the corresponding tab panel. */
|
|
14
12
|
'aria-controls': string;
|
|
13
|
+
} & ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
14
|
+
children?: import("react").ReactNode | undefined;
|
|
15
15
|
} & import("react").RefAttributes<HTMLButtonElement>>;
|
package/dist/Tabs/TabsPanel.d.ts
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type TabsPanelProps =
|
|
6
|
+
export type TabsPanelProps = {
|
|
7
7
|
/** The identifier of the Tab Panel. */
|
|
8
8
|
id: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const TabsPanel: import("react").ForwardRefExoticComponent<
|
|
11
|
-
children?: import("react").ReactNode | undefined;
|
|
12
|
-
} & {
|
|
9
|
+
} & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const TabsPanel: import("react").ForwardRefExoticComponent<{
|
|
13
11
|
/** The identifier of the Tab Panel. */
|
|
14
12
|
id: string;
|
|
13
|
+
} & HTMLAttributes<HTMLDivElement> & {
|
|
14
|
+
children?: import("react").ReactNode | undefined;
|
|
15
15
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -3,18 +3,24 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { TextareaHTMLAttributes } from 'react';
|
|
6
|
-
export type TextAreaProps =
|
|
6
|
+
export type TextAreaProps = {
|
|
7
7
|
/** Whether the value fails a validation rule. */
|
|
8
8
|
invalid?: boolean;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Allows the user to resize the text box. The default is resizing in both directions.
|
|
11
|
+
* Note: this feature is not fully supported in Safari on iOS.
|
|
12
|
+
*/
|
|
10
13
|
resize?: 'none' | 'horizontal' | 'vertical';
|
|
11
|
-
}
|
|
14
|
+
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'aria-invalid'>;
|
|
12
15
|
/**
|
|
13
16
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-forms-text-area--docs Text Area docs at Amsterdam Design System}
|
|
14
17
|
*/
|
|
15
|
-
export declare const TextArea: import("react").ForwardRefExoticComponent<
|
|
18
|
+
export declare const TextArea: import("react").ForwardRefExoticComponent<{
|
|
16
19
|
/** Whether the value fails a validation rule. */
|
|
17
20
|
invalid?: boolean;
|
|
18
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Allows the user to resize the text box. The default is resizing in both directions.
|
|
23
|
+
* Note: this feature is not fully supported in Safari on iOS.
|
|
24
|
+
*/
|
|
19
25
|
resize?: "none" | "horizontal" | "vertical";
|
|
20
|
-
} & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
26
|
+
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "aria-invalid"> & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
import type { InputHTMLAttributes } from 'react';
|
|
6
6
|
export declare const textInputTypes: readonly ["email", "tel", "text", "url"];
|
|
7
7
|
type TextInputType = (typeof textInputTypes)[number];
|
|
8
|
-
export type TextInputProps =
|
|
8
|
+
export type TextInputProps = {
|
|
9
9
|
/** Whether the value fails a validation rule. */
|
|
10
10
|
invalid?: boolean;
|
|
11
11
|
/** The kind of data that the user should provide. */
|
|
12
12
|
type?: TextInputType;
|
|
13
|
-
}
|
|
13
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid'>;
|
|
14
14
|
/**
|
|
15
15
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-forms-text-input--docs Text Input docs at Amsterdam Design System}
|
|
16
16
|
*/
|
|
17
|
-
export declare const TextInput: import("react").ForwardRefExoticComponent<
|
|
17
|
+
export declare const TextInput: import("react").ForwardRefExoticComponent<{
|
|
18
18
|
/** Whether the value fails a validation rule. */
|
|
19
19
|
invalid?: boolean;
|
|
20
20
|
/** The kind of data that the user should provide. */
|
|
21
21
|
type?: TextInputType;
|
|
22
|
-
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
22
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
23
23
|
export {};
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { InputHTMLAttributes } from 'react';
|
|
6
|
-
export type TimeInputProps =
|
|
6
|
+
export type TimeInputProps = {
|
|
7
7
|
/** Whether the value fails a validation rule. */
|
|
8
8
|
invalid?: boolean;
|
|
9
|
-
}
|
|
9
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>;
|
|
10
10
|
/**
|
|
11
11
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-forms-time-input--docs Time Input docs at Amsterdam Design System}
|
|
12
12
|
*/
|
|
13
|
-
export declare const TimeInput: import("react").ForwardRefExoticComponent<
|
|
13
|
+
export declare const TimeInput: import("react").ForwardRefExoticComponent<{
|
|
14
14
|
/** Whether the value fails a validation rule. */
|
|
15
15
|
invalid?: boolean;
|
|
16
|
-
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
16
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "aria-invalid"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -3,26 +3,26 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type UnorderedListProps =
|
|
6
|
+
export type UnorderedListProps = {
|
|
7
7
|
/** Changes the text colour for readability on a dark background. */
|
|
8
8
|
color?: 'inverse';
|
|
9
9
|
/** Whether the list items show a marker. */
|
|
10
10
|
markers?: boolean;
|
|
11
11
|
/** The size of the text. */
|
|
12
12
|
size?: 'small';
|
|
13
|
-
}
|
|
13
|
+
} & PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
|
|
14
14
|
/**
|
|
15
15
|
* @see {@link https://designsystem.amsterdam/?path=/docs/components-text-unordered-list--docs Unordered List docs at Amsterdam Design System}
|
|
16
16
|
*/
|
|
17
|
-
export declare const UnorderedList: import("react").ForwardRefExoticComponent<
|
|
18
|
-
children?: import("react").ReactNode | undefined;
|
|
19
|
-
} & {
|
|
17
|
+
export declare const UnorderedList: import("react").ForwardRefExoticComponent<{
|
|
20
18
|
/** Changes the text colour for readability on a dark background. */
|
|
21
19
|
color?: "inverse";
|
|
22
20
|
/** Whether the list items show a marker. */
|
|
23
21
|
markers?: boolean;
|
|
24
22
|
/** The size of the text. */
|
|
25
23
|
size?: "small";
|
|
24
|
+
} & HTMLAttributes<HTMLUListElement> & {
|
|
25
|
+
children?: import("react").ReactNode | undefined;
|
|
26
26
|
} & import("react").RefAttributes<HTMLUListElement>> & {
|
|
27
27
|
Item: import("react").ForwardRefExoticComponent<import("react").LiHTMLAttributes<HTMLLIElement> & {
|
|
28
28
|
children?: import("react").ReactNode | undefined;
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
|
+
export declare const BREAKPOINTS: {
|
|
6
|
+
medium: string;
|
|
7
|
+
wide: string;
|
|
8
|
+
};
|
|
5
9
|
type useIsAfterBreakpointProps = 'medium' | 'wide';
|
|
6
10
|
declare const useIsAfterBreakpoint: (breakpoint: useIsAfterBreakpointProps) => boolean;
|
|
7
11
|
export default useIsAfterBreakpoint;
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useLayoutEffect, useState } from 'react';
|
|
6
6
|
// TODO: we should set the breakpoint in JS somewhere and render this and the sass variables from that
|
|
7
|
-
const
|
|
8
|
-
medium: '
|
|
9
|
-
wide: '
|
|
7
|
+
export const BREAKPOINTS = {
|
|
8
|
+
medium: '37.5rem',
|
|
9
|
+
wide: '72.5rem',
|
|
10
10
|
};
|
|
11
11
|
const useIsAfterBreakpoint = (breakpoint) => {
|
|
12
12
|
const [matches, setMatches] = useState(false);
|
|
13
13
|
useLayoutEffect(() => {
|
|
14
14
|
// Check for window object to avoid SSR issues
|
|
15
15
|
if (breakpoint && typeof window !== 'undefined') {
|
|
16
|
-
const media = window.matchMedia(`(min-width: ${
|
|
16
|
+
const media = window.matchMedia(`(min-width: ${BREAKPOINTS[breakpoint]})`);
|
|
17
17
|
if (media.matches !== matches) {
|
|
18
18
|
setMatches(media.matches);
|
|
19
19
|
}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1136,7 +1136,7 @@ var Hint = /*#__PURE__*/react.forwardRef(function (_ref2, ref) {
|
|
|
1136
1136
|
});
|
|
1137
1137
|
Hint.displayName = 'Hint';
|
|
1138
1138
|
|
|
1139
|
-
var _excluded$13 = ["children", "className", "hint", "invalid", "legend", "optional"];
|
|
1139
|
+
var _excluded$13 = ["children", "className", "hint", "invalid", "legend", "legendIsPageHeading", "optional"];
|
|
1140
1140
|
function ownKeys$1b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1141
1141
|
function _objectSpread$1b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1b(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1142
1142
|
/**
|
|
@@ -1148,17 +1148,24 @@ var FieldSet = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1148
1148
|
hint = _ref.hint,
|
|
1149
1149
|
invalid = _ref.invalid,
|
|
1150
1150
|
legend = _ref.legend,
|
|
1151
|
+
legendIsPageHeading = _ref.legendIsPageHeading,
|
|
1151
1152
|
optional = _ref.optional,
|
|
1152
1153
|
restProps = _objectWithoutProperties(_ref, _excluded$13);
|
|
1154
|
+
var legendContent = jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1155
|
+
children: [legend, " ", jsxRuntime.jsx(Hint, {
|
|
1156
|
+
hint: hint,
|
|
1157
|
+
optional: optional
|
|
1158
|
+
})]
|
|
1159
|
+
});
|
|
1153
1160
|
return jsxRuntime.jsxs("fieldset", _objectSpread$1b(_objectSpread$1b({}, restProps), {}, {
|
|
1154
1161
|
className: clsx.clsx('ams-field-set', invalid && 'ams-field-set--invalid', className),
|
|
1155
1162
|
ref: ref,
|
|
1156
|
-
children: [jsxRuntime.
|
|
1163
|
+
children: [jsxRuntime.jsx("legend", {
|
|
1157
1164
|
className: "ams-field-set__legend",
|
|
1158
|
-
children:
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
})
|
|
1165
|
+
children: legendIsPageHeading ? jsxRuntime.jsx("h1", {
|
|
1166
|
+
className: "ams-field-set__heading",
|
|
1167
|
+
children: legendContent
|
|
1168
|
+
}) : legendContent
|
|
1162
1169
|
}), children]
|
|
1163
1170
|
}));
|
|
1164
1171
|
});
|
|
@@ -1451,12 +1458,10 @@ var ImageSliderItem = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1451
1458
|
var itemClassName = react.useMemo(function () {
|
|
1452
1459
|
return clsx.clsx('ams-image-slider__item', isInView && 'ams-image-slider__item--in-view', className);
|
|
1453
1460
|
}, [isInView, className]);
|
|
1454
|
-
return jsxRuntime.jsx("div", _objectSpread$12(_objectSpread$12(
|
|
1461
|
+
return jsxRuntime.jsx("div", _objectSpread$12(_objectSpread$12({}, restProps), {}, {
|
|
1462
|
+
"aria-hidden": !isInView ? true : undefined,
|
|
1455
1463
|
className: itemClassName,
|
|
1456
|
-
ref: ref
|
|
1457
|
-
}, !isInView && {
|
|
1458
|
-
inert: ''
|
|
1459
|
-
}), {}, {
|
|
1464
|
+
ref: ref,
|
|
1460
1465
|
children: children
|
|
1461
1466
|
}));
|
|
1462
1467
|
});
|
|
@@ -1618,7 +1623,7 @@ var ImageSliderRoot = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1618
1623
|
var sliderScrollerElement = targetRef.current;
|
|
1619
1624
|
if (!sliderScrollerElement || !element) return;
|
|
1620
1625
|
sliderScrollerElement.scrollTo({
|
|
1621
|
-
left:
|
|
1626
|
+
left: element.offsetLeft
|
|
1622
1627
|
});
|
|
1623
1628
|
}, []);
|
|
1624
1629
|
var goToSlideId = react.useCallback(function (id) {
|
|
@@ -1858,7 +1863,7 @@ var InvalidFormAlert = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1858
1863
|
});
|
|
1859
1864
|
InvalidFormAlert.displayName = 'InvalidFormAlert';
|
|
1860
1865
|
|
|
1861
|
-
var _excluded$O = ["children", "className", "hint", "optional"];
|
|
1866
|
+
var _excluded$O = ["children", "className", "hint", "isPageHeading", "optional"];
|
|
1862
1867
|
function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1863
1868
|
function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1864
1869
|
/**
|
|
@@ -1868,9 +1873,10 @@ var Label = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1868
1873
|
var children = _ref.children,
|
|
1869
1874
|
className = _ref.className,
|
|
1870
1875
|
hint = _ref.hint,
|
|
1876
|
+
isPageHeading = _ref.isPageHeading,
|
|
1871
1877
|
optional = _ref.optional,
|
|
1872
1878
|
restProps = _objectWithoutProperties(_ref, _excluded$O);
|
|
1873
|
-
|
|
1879
|
+
var labelElement = jsxRuntime.jsxs("label", _objectSpread$W(_objectSpread$W({}, restProps), {}, {
|
|
1874
1880
|
className: clsx.clsx('ams-label', className),
|
|
1875
1881
|
ref: ref,
|
|
1876
1882
|
children: [children, " ", jsxRuntime.jsx(Hint, {
|
|
@@ -1878,6 +1884,10 @@ var Label = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1878
1884
|
optional: optional
|
|
1879
1885
|
})]
|
|
1880
1886
|
}));
|
|
1887
|
+
return isPageHeading ? jsxRuntime.jsx("h1", {
|
|
1888
|
+
className: "ams-label__heading",
|
|
1889
|
+
children: labelElement
|
|
1890
|
+
}) : labelElement;
|
|
1881
1891
|
});
|
|
1882
1892
|
Label.displayName = 'Label';
|
|
1883
1893
|
|
|
@@ -2173,7 +2183,7 @@ var MenuLink = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2173
2183
|
});
|
|
2174
2184
|
MenuLink.displayName = 'Menu.Link';
|
|
2175
2185
|
|
|
2176
|
-
var _excluded$J = ["accessibleName", "children", "className"];
|
|
2186
|
+
var _excluded$J = ["accessibleName", "children", "className", "inWideWindow"];
|
|
2177
2187
|
function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2178
2188
|
function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2179
2189
|
var MenuRoot = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
@@ -2181,12 +2191,16 @@ var MenuRoot = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2181
2191
|
accessibleName = _ref$accessibleName === void 0 ? 'Hoofdnavigatie' : _ref$accessibleName,
|
|
2182
2192
|
children = _ref.children,
|
|
2183
2193
|
className = _ref.className,
|
|
2194
|
+
inWideWindow = _ref.inWideWindow,
|
|
2184
2195
|
restProps = _objectWithoutProperties(_ref, _excluded$J);
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2196
|
+
// In a medium or narrow window, the Menu is a child of the `nav` of Page Header.
|
|
2197
|
+
// In a wide window, we render a `nav` element and the related accessibility features.
|
|
2198
|
+
var Tag = inWideWindow ? 'nav' : 'div';
|
|
2199
|
+
return jsxRuntime.jsxs(Tag, _objectSpread$L(_objectSpread$L({}, restProps), {}, {
|
|
2200
|
+
"aria-labelledby": inWideWindow ? 'primary-navigation' : undefined,
|
|
2201
|
+
className: clsx.clsx('ams-menu', inWideWindow && "ams-menu--in-wide-window", className),
|
|
2202
|
+
ref: ref,
|
|
2203
|
+
children: [inWideWindow && jsxRuntime.jsx("h2", {
|
|
2190
2204
|
className: "ams-visually-hidden",
|
|
2191
2205
|
id: "primary-navigation",
|
|
2192
2206
|
children: accessibleName
|
|
@@ -2354,9 +2368,9 @@ var PageFooter = Object.assign(PageFooterRoot, {
|
|
|
2354
2368
|
});
|
|
2355
2369
|
|
|
2356
2370
|
// TODO: we should set the breakpoint in JS somewhere and render this and the sass variables from that
|
|
2357
|
-
var
|
|
2358
|
-
medium: '
|
|
2359
|
-
wide: '
|
|
2371
|
+
var BREAKPOINTS = {
|
|
2372
|
+
medium: '37.5rem',
|
|
2373
|
+
wide: '72.5rem'
|
|
2360
2374
|
};
|
|
2361
2375
|
var useIsAfterBreakpoint = function useIsAfterBreakpoint(breakpoint) {
|
|
2362
2376
|
var _useState = react.useState(false),
|
|
@@ -2366,7 +2380,7 @@ var useIsAfterBreakpoint = function useIsAfterBreakpoint(breakpoint) {
|
|
|
2366
2380
|
react.useLayoutEffect(function () {
|
|
2367
2381
|
// Check for window object to avoid SSR issues
|
|
2368
2382
|
if (typeof window !== 'undefined') {
|
|
2369
|
-
var media = window.matchMedia("(min-width: ".concat(
|
|
2383
|
+
var media = window.matchMedia("(min-width: ".concat(BREAKPOINTS[breakpoint], ")"));
|
|
2370
2384
|
if (media.matches !== matches) {
|
|
2371
2385
|
setMatches(media.matches);
|
|
2372
2386
|
}
|
|
@@ -2876,6 +2890,7 @@ var SearchFieldButton = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2876
2890
|
icon: designSystemReactIcons.SearchIcon,
|
|
2877
2891
|
iconOnly: true,
|
|
2878
2892
|
ref: ref,
|
|
2893
|
+
type: "submit",
|
|
2879
2894
|
children: children
|
|
2880
2895
|
}));
|
|
2881
2896
|
});
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|