@kystverket/styrbord 1.15.2 → 1.16.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/src/components/designsystemet/Avatar/Avatar.d.ts +4 -0
- package/dist/src/components/designsystemet/Avatar/Avatar.stories.d.ts +1 -0
- package/dist/src/components/designsystemet/Checkbox/Checkbox.stories.d.ts +9 -9
- package/dist/src/components/designsystemet/TextArea/TextArea.d.ts +1 -1
- package/dist/src/components/designsystemet/TextArea/TextArea.stories.d.ts +1 -1
- package/dist/src/components/kystverket/FileUploader/FileUploader.stories.d.ts +1 -1
- package/dist/src/components/kystverket/SideSheet/Layout/SideSheetLayout.d.ts +2 -2
- package/dist/src/components/kystverket/SideSheet/SideSheet.stories.d.ts +28 -1
- package/dist/src/components/kystverket/SideSheet/SideSheet.types.d.ts +7 -16
- package/dist/src/hooks/useBodyScrollLock.d.ts +1 -0
- package/dist/src/main.d.ts +5 -3
- package/dist/src/utils/idContext.d.ts +2 -2
- package/dist/src/utils/useMediaQuery.d.ts +14 -0
- package/dist/style.css +1 -1
- package/dist/style.js +1968 -1888
- package/dist/style.umd.cjs +9 -9
- package/package.json +1 -1
|
@@ -17,6 +17,10 @@ export type AvatarProps = MergeRight<DsAvatarProps, (AriaLabel | AriaHidden) & {
|
|
|
17
17
|
* Tooltip text to display on hover.
|
|
18
18
|
*/
|
|
19
19
|
tooltip?: string;
|
|
20
|
+
/**
|
|
21
|
+
* When true, overlays a checkmark on the avatar with a subtle dimming effect.
|
|
22
|
+
*/
|
|
23
|
+
checked?: boolean;
|
|
20
24
|
}>;
|
|
21
25
|
export declare const Avatar: FC<AvatarProps>;
|
|
22
26
|
export {};
|
|
@@ -43,14 +43,14 @@ export declare const Disabled: {
|
|
|
43
43
|
disabled: boolean;
|
|
44
44
|
id?: string | undefined | undefined;
|
|
45
45
|
children?: React.ReactNode;
|
|
46
|
-
className?: string | undefined | undefined;
|
|
47
|
-
width?: number | string | undefined | undefined;
|
|
48
46
|
form?: string | undefined | undefined;
|
|
49
|
-
color?: string | undefined | undefined;
|
|
50
47
|
slot?: string | undefined | undefined;
|
|
51
48
|
style?: React.CSSProperties | undefined;
|
|
52
49
|
title?: string | undefined | undefined;
|
|
53
50
|
pattern?: string | undefined | undefined;
|
|
51
|
+
className?: string | undefined | undefined;
|
|
52
|
+
width?: number | string | undefined | undefined;
|
|
53
|
+
color?: string | undefined | undefined;
|
|
54
54
|
'data-color'?: import("@digdir/designsystemet-react/colors").Color | undefined;
|
|
55
55
|
'data-size'?: import("@digdir/designsystemet-react").Size | undefined;
|
|
56
56
|
defaultChecked?: boolean | undefined | undefined;
|
|
@@ -360,14 +360,14 @@ export declare const Disabled: {
|
|
|
360
360
|
disabled: boolean;
|
|
361
361
|
id?: string | undefined | undefined;
|
|
362
362
|
children?: React.ReactNode;
|
|
363
|
-
className?: string | undefined | undefined;
|
|
364
|
-
width?: number | string | undefined | undefined;
|
|
365
363
|
form?: string | undefined | undefined;
|
|
366
|
-
color?: string | undefined | undefined;
|
|
367
364
|
slot?: string | undefined | undefined;
|
|
368
365
|
style?: React.CSSProperties | undefined;
|
|
369
366
|
title?: string | undefined | undefined;
|
|
370
367
|
pattern?: string | undefined | undefined;
|
|
368
|
+
className?: string | undefined | undefined;
|
|
369
|
+
width?: number | string | undefined | undefined;
|
|
370
|
+
color?: string | undefined | undefined;
|
|
371
371
|
'data-color'?: import("@digdir/designsystemet-react/colors").Color | undefined;
|
|
372
372
|
'data-size'?: import("@digdir/designsystemet-react").Size | undefined;
|
|
373
373
|
defaultChecked?: boolean | undefined | undefined;
|
|
@@ -677,14 +677,14 @@ export declare const Disabled: {
|
|
|
677
677
|
disabled: boolean;
|
|
678
678
|
id?: string | undefined | undefined;
|
|
679
679
|
children?: React.ReactNode;
|
|
680
|
-
className?: string | undefined | undefined;
|
|
681
|
-
width?: number | string | undefined | undefined;
|
|
682
680
|
form?: string | undefined | undefined;
|
|
683
|
-
color?: string | undefined | undefined;
|
|
684
681
|
slot?: string | undefined | undefined;
|
|
685
682
|
style?: React.CSSProperties | undefined;
|
|
686
683
|
title?: string | undefined | undefined;
|
|
687
684
|
pattern?: string | undefined | undefined;
|
|
685
|
+
className?: string | undefined | undefined;
|
|
686
|
+
width?: number | string | undefined | undefined;
|
|
687
|
+
color?: string | undefined | undefined;
|
|
688
688
|
'data-color'?: import("@digdir/designsystemet-react/colors").Color | undefined;
|
|
689
689
|
'data-size'?: import("@digdir/designsystemet-react").Size | undefined;
|
|
690
690
|
defaultChecked?: boolean | undefined | undefined;
|
|
@@ -19,4 +19,4 @@ export interface TextAreaProps {
|
|
|
19
19
|
size?: InputSize;
|
|
20
20
|
id?: string;
|
|
21
21
|
}
|
|
22
|
-
export declare const TextArea: ({ size, className, label, required, optional, onChange, value, minHeight, ...props }: TextAreaProps) => React.JSX.Element;
|
|
22
|
+
export declare const TextArea: ({ size, className, label, required, optional, onChange, value, maxLength, minHeight, error, ...props }: TextAreaProps) => React.JSX.Element;
|
|
@@ -2,7 +2,7 @@ import type { StoryObj } from '@storybook/react-vite';
|
|
|
2
2
|
import { TextAreaProps } from './TextArea';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
title: string;
|
|
5
|
-
component: ({ size, className, label, required, optional, onChange, value, minHeight, ...props }: TextAreaProps) => React.JSX.Element;
|
|
5
|
+
component: ({ size, className, label, required, optional, onChange, value, maxLength, minHeight, error, ...props }: TextAreaProps) => React.JSX.Element;
|
|
6
6
|
decorators: ((Story: import("storybook/internal/csf").PartialStoryFn, context: import("storybook/internal/csf").StoryContext) => React.JSX.Element)[];
|
|
7
7
|
tags: string[];
|
|
8
8
|
argTypes: {};
|
|
@@ -6,7 +6,7 @@ declare const meta: {
|
|
|
6
6
|
component: (props: FileUploaderProps) => React.JSX.Element;
|
|
7
7
|
decorators: (((Story: import("storybook/internal/csf").PartialStoryFn, context: import("storybook/internal/csf").StoryContext) => React.JSX.Element) | ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
|
|
8
8
|
label: string;
|
|
9
|
-
description?: React.ReactNode
|
|
9
|
+
description?: string[] | React.ReactNode;
|
|
10
10
|
error?: string | null | undefined;
|
|
11
11
|
multiple?: boolean | undefined;
|
|
12
12
|
files: FileInfo[];
|
|
@@ -3,7 +3,7 @@ import type { SideSheetLayoutProps } from '~/components/kystverket/SideSheet/Sid
|
|
|
3
3
|
export declare const SideSheetLayoutContext: React.Context<boolean>;
|
|
4
4
|
export declare function useSideSheetLayoutContext(): boolean;
|
|
5
5
|
/**
|
|
6
|
-
* Required wrapper when using `pinnable` or `
|
|
6
|
+
* Required wrapper when using `pinnable` or `defaultPinned`.
|
|
7
7
|
*
|
|
8
8
|
* Renders as a flex container so that a pinned SideSheet takes a fixed width
|
|
9
9
|
* and the remaining content fills the rest of the row.
|
|
@@ -15,4 +15,4 @@ export declare function useSideSheetLayoutContext(): boolean;
|
|
|
15
15
|
* </SideSheet.Layout>
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export declare function SideSheetLayout({ children, className, style }: SideSheetLayoutProps): React.JSX.Element;
|
|
18
|
+
export declare function SideSheetLayout({ children, className, style }: Readonly<SideSheetLayoutProps>): React.JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { StoryFn } from '@storybook/react-vite';
|
|
2
|
+
import { SideSheetButtons } from '~/components/kystverket/SideSheet/Buttons/SideSheetButtons';
|
|
2
3
|
import { SideSheet } from '~/main';
|
|
3
4
|
declare const _default: {
|
|
4
5
|
title: string;
|
|
@@ -6,7 +7,7 @@ declare const _default: {
|
|
|
6
7
|
ref?: React.Ref<HTMLElement>;
|
|
7
8
|
}) => React.JSX.Element) & {
|
|
8
9
|
Layout: typeof import("./Layout/SideSheetLayout").SideSheetLayout;
|
|
9
|
-
Buttons: typeof
|
|
10
|
+
Buttons: typeof SideSheetButtons;
|
|
10
11
|
};
|
|
11
12
|
tags: string[];
|
|
12
13
|
parameters: {
|
|
@@ -15,8 +16,33 @@ declare const _default: {
|
|
|
15
16
|
source: {
|
|
16
17
|
type: string;
|
|
17
18
|
};
|
|
19
|
+
description: {
|
|
20
|
+
component: string;
|
|
21
|
+
};
|
|
18
22
|
};
|
|
19
23
|
};
|
|
24
|
+
decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
|
|
25
|
+
open?: boolean | undefined;
|
|
26
|
+
onClose?: (() => void) | undefined;
|
|
27
|
+
placement?: import("~/main").SideSheetPlacement | undefined;
|
|
28
|
+
size?: import("~/main").SideSheetSize | undefined;
|
|
29
|
+
pinnable?: boolean | undefined;
|
|
30
|
+
pinned?: boolean | undefined;
|
|
31
|
+
onPinnedChange?: ((pinned: boolean) => void) | undefined;
|
|
32
|
+
defaultPinned?: boolean | undefined;
|
|
33
|
+
backdrop?: boolean | undefined;
|
|
34
|
+
title?: React.ReactNode;
|
|
35
|
+
showCloseButton?: boolean | undefined;
|
|
36
|
+
showBackButton?: boolean | undefined;
|
|
37
|
+
onBack?: (() => void) | undefined;
|
|
38
|
+
headerAction?: React.ReactNode;
|
|
39
|
+
headerDivider?: boolean | undefined;
|
|
40
|
+
footerDivider?: boolean | undefined;
|
|
41
|
+
children?: React.ReactNode;
|
|
42
|
+
className?: string | undefined;
|
|
43
|
+
style?: React.CSSProperties | undefined;
|
|
44
|
+
ref?: React.Ref<HTMLElement> | undefined;
|
|
45
|
+
}>) => React.JSX.Element)[];
|
|
20
46
|
};
|
|
21
47
|
export default _default;
|
|
22
48
|
export declare const Default: StoryFn<typeof SideSheet>;
|
|
@@ -32,3 +58,4 @@ export declare const PinnedWithContent: StoryFn<typeof SideSheet>;
|
|
|
32
58
|
export declare const NoBackdrop: StoryFn<typeof SideSheet>;
|
|
33
59
|
export declare const TwoSheets: StoryFn<typeof SideSheet>;
|
|
34
60
|
export declare const WithTabs: StoryFn<typeof SideSheet>;
|
|
61
|
+
export declare const WithTopbarAndFooter: StoryFn<typeof SideSheet>;
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
export type SideSheetSize = 'sm' | 'md' | 'lg' | '33%' | '40%' | '50%' | '66%';
|
|
3
3
|
export type SideSheetPlacement = 'left' | 'right';
|
|
4
|
-
/**
|
|
5
|
-
* - `overlay`: sheet slides over content (default). Can be pinned by the user via `pinnable`.
|
|
6
|
-
* - `push`: sheet starts pinned and reflowing content inside `<SideSheet.Layout>`.
|
|
7
|
-
*/
|
|
8
|
-
export type SideSheetMode = 'overlay' | 'push';
|
|
9
|
-
export type SideSheetHeadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
10
4
|
export interface SideSheetProps {
|
|
11
5
|
open?: boolean;
|
|
12
6
|
onClose?: () => void;
|
|
13
7
|
placement?: SideSheetPlacement;
|
|
14
8
|
size?: SideSheetSize;
|
|
15
|
-
/**
|
|
16
|
-
* overlay: sheet floats over content (default).
|
|
17
|
-
* push: sheet starts pinned/expanded, reflowing content inside `<SideSheet.Layout>`.
|
|
18
|
-
*/
|
|
19
|
-
mode?: SideSheetMode;
|
|
20
9
|
/**
|
|
21
10
|
* Show a pin button in the header that lets the user toggle overlay/push.
|
|
22
11
|
* Default: `false`.
|
|
@@ -30,8 +19,9 @@ export interface SideSheetProps {
|
|
|
30
19
|
/** Called when the user toggles the pin button. */
|
|
31
20
|
onPinnedChange?: (pinned: boolean) => void;
|
|
32
21
|
/**
|
|
33
|
-
* Default pinned state for uncontrolled usage.
|
|
34
|
-
* `false`
|
|
22
|
+
* Default pinned state for uncontrolled usage. `true` starts the sheet pinned/expanded,
|
|
23
|
+
* reflowing content inside `<SideSheet.Layout>` (push mode). Default: `false` (overlay).
|
|
24
|
+
* BEWARE: On phone it always starts unpinned regardless of this.
|
|
35
25
|
*/
|
|
36
26
|
defaultPinned?: boolean;
|
|
37
27
|
/**
|
|
@@ -39,10 +29,11 @@ export interface SideSheetProps {
|
|
|
39
29
|
* Default: `true` (only applies in overlay/non-pinned state).
|
|
40
30
|
*/
|
|
41
31
|
backdrop?: boolean;
|
|
42
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Sheet heading. pass a string, or your own `<Heading>` (e.g.
|
|
34
|
+
* `<Heading data-size="xs">Title</Heading>`) to control its size and level.
|
|
35
|
+
*/
|
|
43
36
|
title?: ReactNode;
|
|
44
|
-
/** Font size of the heading. Default: `'xs'`. */
|
|
45
|
-
headingSize?: SideSheetHeadingSize;
|
|
46
37
|
/** Show the close (×) button. Default: `true`. */
|
|
47
38
|
showCloseButton?: boolean;
|
|
48
39
|
/** Show a back (←) button in the header. Default: `false`. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useBodyScrollLock(locked: boolean): void;
|
package/dist/src/main.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import '@material-symbols/font-400/outlined.css';
|
|
|
3
3
|
export type { SupportedLanguage, ScreenSize } from './utils/types';
|
|
4
4
|
export { AIS_SHIP_TYPES, getShipTypeByAisCode, getShipTypeById } from './data/ais/shipTypes';
|
|
5
5
|
export type { AisShipType, AisShipTypeEntry, AisShipTypeId, AisCode } from './data/ais/shipTypes';
|
|
6
|
+
export { useMediaQuery, TABLET_SIZE_BREAKPOINT, PHONE_SIZE_BREAKPOINT } from './utils/useMediaQuery';
|
|
7
|
+
export { convertBytesToReadable } from './utils/convertBytesToReadable';
|
|
8
|
+
export { IdProvider, useIdProvider } from './utils/idContext';
|
|
6
9
|
export { default as DeprecatedErrorLabel, type ErrorLabelProps as DeprecatedErrorLabelProps, } from './components/deprecated/ErrorLabel/errorLabel';
|
|
7
10
|
export { default as DeprecatedInputLabel, type InputLabelProps as DeprecatedInputLabelProps, } from './components/deprecated/InputLabel/inputLabel';
|
|
8
11
|
export { Details as DeprecatedDetails, type DetailsProps as DeprecatedDetailsProps, } from './components/deprecated/Details/Details';
|
|
@@ -83,15 +86,14 @@ export { Avatar } from './components/designsystemet/Avatar/Avatar';
|
|
|
83
86
|
export type { AvatarProps } from './components/designsystemet/Avatar/Avatar';
|
|
84
87
|
export { AvatarStack } from './components/designsystemet/AvatarStack/AvatarStack';
|
|
85
88
|
export type { AvatarStackProps } from './components/designsystemet/AvatarStack/AvatarStack';
|
|
86
|
-
export { IdProvider, useIdProvider } from './utils/idContext';
|
|
87
89
|
export { SlotDialog, type SlotDialogProps } from './components/kystverket/SlotDialog/SlotDialog';
|
|
88
90
|
export { SideSheet, type SideSheetProps } from './components/kystverket/SideSheet/SideSheet';
|
|
89
|
-
export type { SideSheetSize, SideSheetPlacement,
|
|
91
|
+
export type { SideSheetSize, SideSheetPlacement, SideSheetLayoutProps, } from './components/kystverket/SideSheet/SideSheet.types';
|
|
90
92
|
export { Suggestion } from './components/designsystemet/Suggestion/Suggestion';
|
|
91
93
|
export type { SuggestionProps } from './components/designsystemet/Suggestion/Suggestion';
|
|
92
94
|
export type { ChipButtonProps, ChipCheckboxProps, ChipRadioProps, ChipRemovableProps, } from './components/designsystemet/Chip';
|
|
93
95
|
export { Chip, ChipButton, ChipCheckbox, ChipRadio, ChipRemovable } from './components/designsystemet/Chip';
|
|
94
|
-
export { RovingFocusItem, RovingFocusRoot, omit, useCheckboxGroup, useDebounceCallback, useIsomorphicLayoutEffect,
|
|
96
|
+
export { RovingFocusItem, RovingFocusRoot, omit, useCheckboxGroup, useDebounceCallback, useIsomorphicLayoutEffect, usePagination, useRadioGroup, useSynchronizedAnimation, } from '@digdir/designsystemet-react';
|
|
95
97
|
export type { Size, UseRadioGroupProps, UseCheckboxGroupProps, UsePaginationProps, MergeRight, LabelRequired, } from '@digdir/designsystemet-react';
|
|
96
98
|
export type { BadgePositionProps, BadgeProps } from '@digdir/designsystemet-react';
|
|
97
99
|
export { Badge, BadgePosition } from '@digdir/designsystemet-react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare function IdProvider({ id, children }: {
|
|
1
|
+
export declare function IdProvider({ id, children }: Readonly<{
|
|
2
2
|
id: string;
|
|
3
3
|
children: React.ReactNode;
|
|
4
|
-
}): React.JSX.Element;
|
|
4
|
+
}>): React.JSX.Element;
|
|
5
5
|
export declare const useIdProvider: () => {
|
|
6
6
|
getId: (...segments: unknown[]) => string;
|
|
7
7
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Replaces Designsystemets useMediaQuery as it's deprecated https://designsystemet.no/en/components/changelog#117 */
|
|
2
|
+
/** Below this, treat the viewport as phone-sized (40rem = 640px at the default 16px root font size). */
|
|
3
|
+
export declare const PHONE_SIZE_BREAKPOINT = "40rem";
|
|
4
|
+
/** Below this, treat the viewport as tablet-sized (48rem = 768px at the default 16px root font size). */
|
|
5
|
+
export declare const TABLET_SIZE_BREAKPOINT = "48rem";
|
|
6
|
+
/**
|
|
7
|
+
* Lytter på en CSS media query og returnerer om den matcher.
|
|
8
|
+
* Bruker useSyncExternalStore slik at React holder seg synkronisert med
|
|
9
|
+
* nettleserens matchMedia uten ekstra rendering.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const isWide = useMediaQuery('(min-width: 1200px)');
|
|
13
|
+
*/
|
|
14
|
+
export declare function useMediaQuery(query: string): boolean;
|