@amsterdam/design-system-react 2.0.2 → 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/ImageSliderItem.d.ts +5 -5
- 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 +35 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +61 -1860
- package/dist/index.esm.js +35 -18
- package/dist/index.esm.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -19
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
|
});
|
|
@@ -1856,7 +1863,7 @@ var InvalidFormAlert = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1856
1863
|
});
|
|
1857
1864
|
InvalidFormAlert.displayName = 'InvalidFormAlert';
|
|
1858
1865
|
|
|
1859
|
-
var _excluded$O = ["children", "className", "hint", "optional"];
|
|
1866
|
+
var _excluded$O = ["children", "className", "hint", "isPageHeading", "optional"];
|
|
1860
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; }
|
|
1861
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; }
|
|
1862
1869
|
/**
|
|
@@ -1866,9 +1873,10 @@ var Label = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1866
1873
|
var children = _ref.children,
|
|
1867
1874
|
className = _ref.className,
|
|
1868
1875
|
hint = _ref.hint,
|
|
1876
|
+
isPageHeading = _ref.isPageHeading,
|
|
1869
1877
|
optional = _ref.optional,
|
|
1870
1878
|
restProps = _objectWithoutProperties(_ref, _excluded$O);
|
|
1871
|
-
|
|
1879
|
+
var labelElement = jsxRuntime.jsxs("label", _objectSpread$W(_objectSpread$W({}, restProps), {}, {
|
|
1872
1880
|
className: clsx.clsx('ams-label', className),
|
|
1873
1881
|
ref: ref,
|
|
1874
1882
|
children: [children, " ", jsxRuntime.jsx(Hint, {
|
|
@@ -1876,6 +1884,10 @@ var Label = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
1876
1884
|
optional: optional
|
|
1877
1885
|
})]
|
|
1878
1886
|
}));
|
|
1887
|
+
return isPageHeading ? jsxRuntime.jsx("h1", {
|
|
1888
|
+
className: "ams-label__heading",
|
|
1889
|
+
children: labelElement
|
|
1890
|
+
}) : labelElement;
|
|
1879
1891
|
});
|
|
1880
1892
|
Label.displayName = 'Label';
|
|
1881
1893
|
|
|
@@ -2171,7 +2183,7 @@ var MenuLink = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2171
2183
|
});
|
|
2172
2184
|
MenuLink.displayName = 'Menu.Link';
|
|
2173
2185
|
|
|
2174
|
-
var _excluded$J = ["accessibleName", "children", "className"];
|
|
2186
|
+
var _excluded$J = ["accessibleName", "children", "className", "inWideWindow"];
|
|
2175
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; }
|
|
2176
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; }
|
|
2177
2189
|
var MenuRoot = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
@@ -2179,12 +2191,16 @@ var MenuRoot = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2179
2191
|
accessibleName = _ref$accessibleName === void 0 ? 'Hoofdnavigatie' : _ref$accessibleName,
|
|
2180
2192
|
children = _ref.children,
|
|
2181
2193
|
className = _ref.className,
|
|
2194
|
+
inWideWindow = _ref.inWideWindow,
|
|
2182
2195
|
restProps = _objectWithoutProperties(_ref, _excluded$J);
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
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", {
|
|
2188
2204
|
className: "ams-visually-hidden",
|
|
2189
2205
|
id: "primary-navigation",
|
|
2190
2206
|
children: accessibleName
|
|
@@ -2352,9 +2368,9 @@ var PageFooter = Object.assign(PageFooterRoot, {
|
|
|
2352
2368
|
});
|
|
2353
2369
|
|
|
2354
2370
|
// TODO: we should set the breakpoint in JS somewhere and render this and the sass variables from that
|
|
2355
|
-
var
|
|
2356
|
-
medium: '
|
|
2357
|
-
wide: '
|
|
2371
|
+
var BREAKPOINTS = {
|
|
2372
|
+
medium: '37.5rem',
|
|
2373
|
+
wide: '72.5rem'
|
|
2358
2374
|
};
|
|
2359
2375
|
var useIsAfterBreakpoint = function useIsAfterBreakpoint(breakpoint) {
|
|
2360
2376
|
var _useState = react.useState(false),
|
|
@@ -2364,7 +2380,7 @@ var useIsAfterBreakpoint = function useIsAfterBreakpoint(breakpoint) {
|
|
|
2364
2380
|
react.useLayoutEffect(function () {
|
|
2365
2381
|
// Check for window object to avoid SSR issues
|
|
2366
2382
|
if (typeof window !== 'undefined') {
|
|
2367
|
-
var media = window.matchMedia("(min-width: ".concat(
|
|
2383
|
+
var media = window.matchMedia("(min-width: ".concat(BREAKPOINTS[breakpoint], ")"));
|
|
2368
2384
|
if (media.matches !== matches) {
|
|
2369
2385
|
setMatches(media.matches);
|
|
2370
2386
|
}
|
|
@@ -2874,6 +2890,7 @@ var SearchFieldButton = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2874
2890
|
icon: designSystemReactIcons.SearchIcon,
|
|
2875
2891
|
iconOnly: true,
|
|
2876
2892
|
ref: ref,
|
|
2893
|
+
type: "submit",
|
|
2877
2894
|
children: children
|
|
2878
2895
|
}));
|
|
2879
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|