@norges-domstoler/dds-components 10.2.1 → 10.3.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/dist/_virtual/_rollupPluginBabelHelpers.js +104 -76
- package/dist/cjs/components/Breadcrumbs/Breadcrumb.d.ts +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/cjs/components/Button/Button.styles.d.ts +3 -3
- package/dist/cjs/components/Button/Button.types.d.ts +6 -6
- package/dist/cjs/components/Card/Card.d.ts +7 -7
- package/dist/cjs/components/Card/CardAccordion/CardAccordion.d.ts +1 -1
- package/dist/cjs/components/Card/CardAccordion/CardAccordionBody.d.ts +1 -1
- package/dist/cjs/components/Card/CardAccordion/CardAccordionHeader.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/cjs/components/Checkbox/CheckboxGroup.d.ts +1 -1
- package/dist/cjs/components/Chip/Chip.d.ts +1 -1
- package/dist/cjs/components/Chip/ChipGroup.d.ts +1 -1
- package/dist/cjs/components/Datepicker/Datepicker.d.ts +2 -2
- package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +2 -2
- package/dist/cjs/components/DescriptionList/DescriptionListDesc.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/DescriptionListTerm.d.ts +1 -1
- package/dist/cjs/components/Divider/Divider.d.ts +2 -2
- package/dist/cjs/components/Drawer/Drawer.d.ts +4 -4
- package/dist/cjs/components/Drawer/DrawerGroup.d.ts +1 -1
- package/dist/cjs/components/FileUploader/ErrorList.d.ts +1 -1
- package/dist/cjs/components/FileUploader/File.d.ts +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.d.ts +2 -2
- package/dist/cjs/components/FileUploader/FileUploader.stories.d.ts +1 -1
- package/dist/cjs/components/FileUploader/fileUploaderReducer.d.ts +8 -5
- package/dist/cjs/components/FileUploader/types.d.ts +9 -9
- package/dist/cjs/components/FileUploader/useFileUploader.d.ts +8 -6
- package/dist/cjs/components/FormGenerator/FormGenerator.types.d.ts +33 -33
- package/dist/cjs/components/GlobalMessage/GlobalMessage.d.ts +2 -2
- package/dist/cjs/components/Grid/Grid.context.d.ts +1 -1
- package/dist/cjs/components/Grid/Grid.d.ts +6 -6
- package/dist/cjs/components/Grid/Grid.utils.d.ts +2 -2
- package/dist/cjs/components/Grid/GridChild.d.ts +4 -4
- package/dist/cjs/components/Icon/Icon.d.ts +2 -2
- package/dist/cjs/components/InlineEdit/InlineEdit.styles.d.ts +1 -1
- package/dist/cjs/components/InlineEdit/InlineEdit.types.d.ts +5 -5
- package/dist/cjs/components/InlineEdit/InlineInput.d.ts +1 -1
- package/dist/cjs/components/InlineEdit/InlineTextArea.d.ts +1 -1
- package/dist/cjs/components/InputMessage/InputMessage.d.ts +2 -2
- package/dist/cjs/components/InternalHeader/InternalHeader.styles.d.ts +2 -2
- package/dist/cjs/components/InternalHeader/InternalHeader.types.d.ts +4 -4
- package/dist/cjs/components/InternalHeader/InternalHeaderListItem.d.ts +1 -1
- package/dist/cjs/components/InternalHeader/NavigationItem.d.ts +2 -2
- package/dist/cjs/components/List/List.d.ts +3 -3
- package/dist/cjs/components/List/List.stories.d.ts +3 -3
- package/dist/cjs/components/List/ListItem.d.ts +1 -1
- package/dist/cjs/components/LocalMessage/LocalMessage.d.ts +3 -3
- package/dist/cjs/components/Modal/Modal.d.ts +1 -1
- package/dist/cjs/components/Modal/ModalActions.d.ts +1 -1
- package/dist/cjs/components/Modal/ModalBody.d.ts +1 -1
- package/dist/cjs/components/OverflowMenu/OverflowMenu.d.ts +1 -1
- package/dist/cjs/components/OverflowMenu/OverflowMenu.types.d.ts +7 -7
- package/dist/cjs/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
- package/dist/cjs/components/OverflowMenu/OverflowMenuItem.d.ts +5 -5
- package/dist/cjs/components/Pagination/Pagination.d.ts +2 -2
- package/dist/cjs/components/Popover/Popover.d.ts +2 -2
- package/dist/cjs/components/Popover/PopoverGroup.d.ts +1 -1
- package/dist/cjs/components/ProgressTracker/ProgressTracker.context.d.ts +1 -1
- package/dist/cjs/components/ProgressTracker/ProgressTracker.d.ts +2 -2
- package/dist/cjs/components/ProgressTracker/ProgressTrackerItem.d.ts +2 -2
- package/dist/cjs/components/RadioButton/RadioButton.types.d.ts +2 -2
- package/dist/cjs/components/RadioButton/RadioButtonGroup.d.ts +1 -1
- package/dist/cjs/components/ScrollableContainer/ScrollableContainer.d.ts +1 -1
- package/dist/cjs/components/ScrollableContainer/Scrollbar.d.ts +1 -1
- package/dist/cjs/components/Search/AutocompleteSearch.context.d.ts +1 -1
- package/dist/cjs/components/Search/Search.d.ts +3 -3
- package/dist/cjs/components/Search/SearchAutocompleteWrapper.d.ts +4 -4
- package/dist/cjs/components/Search/SearchSuggestions.d.ts +1 -1
- package/dist/cjs/components/Search/index.d.ts +1 -1
- package/dist/cjs/components/Select/CustomSelect.stories.d.ts +1 -1
- package/dist/cjs/components/Select/MultiSelect.stories.d.ts +2 -2
- package/dist/cjs/components/Select/Select.d.ts +4 -4
- package/dist/cjs/components/Select/Select.stories.d.ts +1 -1
- package/dist/cjs/components/Select/Select.styles.d.ts +1 -1
- package/dist/cjs/components/SkipToContent/SkipToContent.d.ts +1 -1
- package/dist/cjs/components/Spinner/Spinner.d.ts +1 -1
- package/dist/cjs/components/SplitButton/SplitButton.d.ts +2 -2
- package/dist/cjs/components/Stack/Stack.d.ts +3 -3
- package/dist/cjs/components/Table/Body.d.ts +1 -1
- package/dist/cjs/components/Table/Cell.d.ts +4 -4
- package/dist/cjs/components/Table/Foot.d.ts +1 -1
- package/dist/cjs/components/Table/Head.d.ts +1 -1
- package/dist/cjs/components/Table/SortCell.d.ts +2 -2
- package/dist/cjs/components/Table/Table.styles.d.ts +1 -1
- package/dist/cjs/components/Table/Table.types.d.ts +7 -7
- package/dist/cjs/components/Table/TableWrapper.d.ts +1 -1
- package/dist/cjs/components/Table/collapsible/Table.context.d.ts +1 -1
- package/dist/cjs/components/Table/index.d.ts +2 -2
- package/dist/cjs/components/Table/tableData.d.ts +2 -2
- package/dist/cjs/components/Tabs/Tab.d.ts +1 -1
- package/dist/cjs/components/Tabs/TabList.d.ts +1 -1
- package/dist/cjs/components/Tabs/TabPanel.d.ts +1 -1
- package/dist/cjs/components/Tabs/TabPanels.d.ts +1 -1
- package/dist/cjs/components/Tabs/Tabs.context.d.ts +1 -1
- package/dist/cjs/components/Tabs/Tabs.d.ts +1 -1
- package/dist/cjs/components/Tag/Tag.d.ts +2 -2
- package/dist/cjs/components/TextArea/TextArea.d.ts +1 -1
- package/dist/cjs/components/TextInput/CharCounter.d.ts +1 -1
- package/dist/cjs/components/TextInput/TextInput.styles.d.ts +2 -2
- package/dist/cjs/components/TextInput/TextInput.types.d.ts +1 -1
- package/dist/cjs/components/ToggleBar/ToggleBar.context.d.ts +1 -1
- package/dist/cjs/components/ToggleBar/ToggleBar.types.d.ts +3 -3
- package/dist/cjs/components/ToggleBar/ToggleRadio.d.ts +2 -2
- package/dist/cjs/components/ToggleBar/ToggleRadio.styles.d.ts +2 -2
- package/dist/cjs/components/ToggleButton/ToggleButton.types.d.ts +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButtonGroup.d.ts +2 -2
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +3 -3
- package/dist/cjs/components/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Heading/Heading.d.ts +2 -2
- package/dist/cjs/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Label/Label.d.ts +3 -3
- package/dist/cjs/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Legend/Legend.d.ts +1 -1
- package/dist/cjs/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Link/Link.d.ts +2 -2
- package/dist/cjs/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Typography/Typography.d.ts +4 -4
- package/dist/cjs/components/Typography/Typography/Typography.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Typography/Typography.types.d.ts +14 -14
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +3 -3
- package/dist/cjs/helpers/Backdrop/Backdrop.d.ts +1 -1
- package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.d.ts +1 -1
- package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.styles.d.ts +1 -1
- package/dist/cjs/helpers/Input/Input.styles.d.ts +1 -1
- package/dist/cjs/helpers/Input/Input.types.d.ts +6 -6
- package/dist/cjs/helpers/Paper/Paper.d.ts +3 -3
- package/dist/cjs/helpers/SelectionControl/SelectionControl.styles.d.ts +3 -3
- package/dist/cjs/hooks/useFloatPosition.d.ts +1 -1
- package/dist/cjs/icons/utils/StyledSvg.d.ts +1 -1
- package/dist/cjs/icons/utils/propTypes.d.ts +2 -2
- package/dist/cjs/index.js +318 -280
- package/dist/cjs/types/BaseComponentProps.d.ts +3 -3
- package/dist/cjs/types/CheckboxPickedHTMLAttributes.d.ts +1 -1
- package/dist/cjs/types/Direction.d.ts +1 -1
- package/dist/cjs/types/utils.d.ts +2 -2
- package/dist/cjs/utils/color.d.ts +3 -3
- package/dist/components/Breadcrumbs/Breadcrumb.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/Button/Button.styles.d.ts +3 -3
- package/dist/components/Button/Button.types.d.ts +6 -6
- package/dist/components/Card/Card.d.ts +7 -7
- package/dist/components/Card/CardAccordion/CardAccordion.d.ts +1 -1
- package/dist/components/Card/CardAccordion/CardAccordionBody.d.ts +1 -1
- package/dist/components/Card/CardAccordion/CardAccordionHeader.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/components/Checkbox/CheckboxGroup.d.ts +1 -1
- package/dist/components/Chip/Chip.d.ts +1 -1
- package/dist/components/Chip/ChipGroup.d.ts +1 -1
- package/dist/components/Datepicker/Datepicker.d.ts +2 -2
- package/dist/components/DescriptionList/DescriptionList.d.ts +2 -2
- package/dist/components/DescriptionList/DescriptionListDesc.d.ts +1 -1
- package/dist/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
- package/dist/components/DescriptionList/DescriptionListTerm.d.ts +1 -1
- package/dist/components/Divider/Divider.d.ts +2 -2
- package/dist/components/Drawer/Drawer.d.ts +4 -4
- package/dist/components/Drawer/DrawerGroup.d.ts +1 -1
- package/dist/components/FileUploader/ErrorList.d.ts +1 -1
- package/dist/components/FileUploader/File.d.ts +1 -1
- package/dist/components/FileUploader/FileUploader.d.ts +2 -2
- package/dist/components/FileUploader/FileUploader.js +5 -3
- package/dist/components/FileUploader/FileUploader.stories.d.ts +1 -1
- package/dist/components/FileUploader/fileUploaderReducer.d.ts +8 -5
- package/dist/components/FileUploader/fileUploaderReducer.js +4 -0
- package/dist/components/FileUploader/types.d.ts +9 -9
- package/dist/components/FileUploader/useFileUploader.d.ts +8 -6
- package/dist/components/FileUploader/useFileUploader.js +27 -14
- package/dist/components/FormGenerator/FormGenerator.types.d.ts +33 -33
- package/dist/components/GlobalMessage/GlobalMessage.d.ts +2 -2
- package/dist/components/Grid/Grid.context.d.ts +1 -1
- package/dist/components/Grid/Grid.d.ts +6 -6
- package/dist/components/Grid/Grid.utils.d.ts +2 -2
- package/dist/components/Grid/GridChild.d.ts +4 -4
- package/dist/components/Icon/Icon.d.ts +2 -2
- package/dist/components/InlineEdit/InlineEdit.styles.d.ts +1 -1
- package/dist/components/InlineEdit/InlineEdit.types.d.ts +5 -5
- package/dist/components/InlineEdit/InlineInput.d.ts +1 -1
- package/dist/components/InlineEdit/InlineTextArea.d.ts +1 -1
- package/dist/components/InputMessage/InputMessage.d.ts +2 -2
- package/dist/components/InternalHeader/InternalHeader.styles.d.ts +2 -2
- package/dist/components/InternalHeader/InternalHeader.types.d.ts +4 -4
- package/dist/components/InternalHeader/InternalHeaderListItem.d.ts +1 -1
- package/dist/components/InternalHeader/NavigationItem.d.ts +2 -2
- package/dist/components/List/List.d.ts +3 -3
- package/dist/components/List/List.stories.d.ts +3 -3
- package/dist/components/List/ListItem.d.ts +1 -1
- package/dist/components/LocalMessage/LocalMessage.d.ts +3 -3
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/ModalActions.d.ts +1 -1
- package/dist/components/Modal/ModalBody.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenu.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenu.types.d.ts +7 -7
- package/dist/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenuItem.d.ts +5 -5
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/Popover/Popover.d.ts +2 -2
- package/dist/components/Popover/PopoverGroup.d.ts +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.context.d.ts +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.d.ts +2 -2
- package/dist/components/ProgressTracker/ProgressTrackerItem.d.ts +2 -2
- package/dist/components/RadioButton/RadioButton.types.d.ts +2 -2
- package/dist/components/RadioButton/RadioButtonGroup.d.ts +1 -1
- package/dist/components/ScrollableContainer/ScrollableContainer.d.ts +1 -1
- package/dist/components/ScrollableContainer/Scrollbar.d.ts +1 -1
- package/dist/components/Search/AutocompleteSearch.context.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +3 -3
- package/dist/components/Search/SearchAutocompleteWrapper.d.ts +4 -4
- package/dist/components/Search/SearchSuggestions.d.ts +1 -1
- package/dist/components/Search/index.d.ts +1 -1
- package/dist/components/Select/CustomSelect.stories.d.ts +1 -1
- package/dist/components/Select/MultiSelect.stories.d.ts +2 -2
- package/dist/components/Select/Select.d.ts +4 -4
- package/dist/components/Select/Select.stories.d.ts +1 -1
- package/dist/components/Select/Select.styles.d.ts +1 -1
- package/dist/components/SkipToContent/SkipToContent.d.ts +1 -1
- package/dist/components/Spinner/Spinner.d.ts +1 -1
- package/dist/components/SplitButton/SplitButton.d.ts +2 -2
- package/dist/components/Stack/Stack.d.ts +3 -3
- package/dist/components/Table/Body.d.ts +1 -1
- package/dist/components/Table/Cell.d.ts +4 -4
- package/dist/components/Table/Foot.d.ts +1 -1
- package/dist/components/Table/Head.d.ts +1 -1
- package/dist/components/Table/SortCell.d.ts +2 -2
- package/dist/components/Table/Table.styles.d.ts +1 -1
- package/dist/components/Table/Table.types.d.ts +7 -7
- package/dist/components/Table/TableWrapper.d.ts +1 -1
- package/dist/components/Table/collapsible/Table.context.d.ts +1 -1
- package/dist/components/Table/index.d.ts +2 -2
- package/dist/components/Table/tableData.d.ts +2 -2
- package/dist/components/Tabs/Tab.d.ts +1 -1
- package/dist/components/Tabs/TabList.d.ts +1 -1
- package/dist/components/Tabs/TabPanel.d.ts +1 -1
- package/dist/components/Tabs/TabPanels.d.ts +1 -1
- package/dist/components/Tabs/Tabs.context.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +2 -2
- package/dist/components/TextArea/TextArea.d.ts +1 -1
- package/dist/components/TextInput/CharCounter.d.ts +1 -1
- package/dist/components/TextInput/TextInput.styles.d.ts +2 -2
- package/dist/components/TextInput/TextInput.types.d.ts +1 -1
- package/dist/components/ToggleBar/ToggleBar.context.d.ts +1 -1
- package/dist/components/ToggleBar/ToggleBar.types.d.ts +3 -3
- package/dist/components/ToggleBar/ToggleRadio.d.ts +2 -2
- package/dist/components/ToggleBar/ToggleRadio.styles.d.ts +2 -2
- package/dist/components/ToggleButton/ToggleButton.types.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts +2 -2
- package/dist/components/Tooltip/Tooltip.d.ts +3 -3
- package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +1 -1
- package/dist/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/components/Typography/Heading/Heading.d.ts +2 -2
- package/dist/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/components/Typography/Label/Label.d.ts +3 -3
- package/dist/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/components/Typography/Legend/Legend.d.ts +1 -1
- package/dist/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/components/Typography/Link/Link.d.ts +2 -2
- package/dist/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/components/Typography/Typography/Typography.d.ts +4 -4
- package/dist/components/Typography/Typography/Typography.stories.d.ts +1 -1
- package/dist/components/Typography/Typography/Typography.types.d.ts +14 -14
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +3 -3
- package/dist/helpers/Backdrop/Backdrop.d.ts +1 -1
- package/dist/helpers/Chevron/AnimatedChevronUpDown.d.ts +1 -1
- package/dist/helpers/Chevron/AnimatedChevronUpDown.styles.d.ts +1 -1
- package/dist/helpers/Input/Input.styles.d.ts +1 -1
- package/dist/helpers/Input/Input.types.d.ts +6 -6
- package/dist/helpers/Paper/Paper.d.ts +3 -3
- package/dist/helpers/SelectionControl/SelectionControl.styles.d.ts +3 -3
- package/dist/hooks/useFloatPosition.d.ts +1 -1
- package/dist/icons/utils/StyledSvg.d.ts +1 -1
- package/dist/icons/utils/propTypes.d.ts +2 -2
- package/dist/types/BaseComponentProps.d.ts +3 -3
- package/dist/types/CheckboxPickedHTMLAttributes.d.ts +1 -1
- package/dist/types/Direction.d.ts +1 -1
- package/dist/types/utils.d.ts +2 -2
- package/dist/utils/color.d.ts +3 -3
- package/package.json +19 -17
|
@@ -10,7 +10,7 @@ import { HTMLAttributes, PropsWithChildren } from 'react';
|
|
|
10
10
|
* @template TOtherProps Andre props komponenten skal eksponere til konsumenter.
|
|
11
11
|
* @template THTMLAttributesProps Standard `HTMLAttributes<T>` men kan overstyres for f.eks knapper hvis man trenger en annen basetype for `htmlProps`.
|
|
12
12
|
*/
|
|
13
|
-
export
|
|
13
|
+
export type BaseComponentProps<TElement extends Element, TOtherProps extends Record<string, unknown> = Record<string, unknown>, THTMLAttributesProps extends HTMLAttributes<TElement> = HTMLAttributes<TElement>> = Pick<THTMLAttributesProps, 'id' | 'className'> & TOtherProps & {
|
|
14
14
|
/**Ekstra HTML-attributter som vil settes på elementet som genereres. Untatt `id` og `className` som settes på toppnivå. */
|
|
15
15
|
htmlProps?: THTMLAttributesProps;
|
|
16
16
|
};
|
|
@@ -19,9 +19,9 @@ export declare type BaseComponentProps<TElement extends Element, TOtherProps ext
|
|
|
19
19
|
*
|
|
20
20
|
* {@link BaseComponentProps}
|
|
21
21
|
*/
|
|
22
|
-
export
|
|
22
|
+
export type BaseComponentPropsWithChildren<T extends Element, TProps extends Record<string, unknown> = Record<string, unknown>, THTMLProps extends HTMLAttributes<T> = HTMLAttributes<T>> = BaseComponentProps<T, PropsWithChildren<TProps>, THTMLProps>;
|
|
23
23
|
export declare const joinClassNames: (...classNames: (string | undefined)[]) => string;
|
|
24
|
-
|
|
24
|
+
type GetBaseHTMLProps = {
|
|
25
25
|
<T extends Element>(id: HTMLAttributes<T>['id'], className: HTMLAttributes<T>['className'], htmlProps: HTMLAttributes<T> | undefined, unknownProps: object): HTMLAttributes<T> & object;
|
|
26
26
|
<T extends Element>(id: HTMLAttributes<T>['id'], htmlProps: HTMLAttributes<T> | undefined, unknownProps: object): HTMLAttributes<T> & object;
|
|
27
27
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export type CheckboxPickedHTMLAttributes = Pick<InputHTMLAttributes<HTMLInputElement>, 'aria-describedby' | 'name' | 'checked' | 'defaultChecked' | 'value' | 'defaultValue' | 'onChange' | 'onBlur'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Direction = 'row' | 'column';
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* @template T
|
|
6
6
|
* @template K
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export type WithRequiredIf<Condition extends boolean, T, K extends keyof T> = Omit<T, K> & Pick<true extends Condition ? Required<T> : T, K>;
|
|
9
9
|
/**
|
|
10
10
|
* Gir tilbake typer fra `T` som matcher `U`
|
|
11
11
|
*
|
|
12
12
|
* @template T en union type
|
|
13
13
|
* @template U delmengde av `T`
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export type ExtractStrict<T, U extends T> = U;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Property } from 'csstype';
|
|
2
|
-
export
|
|
2
|
+
export type ColorAlphaFormat = 'hex8' | 'decimal';
|
|
3
3
|
export declare const convertAlpha: (value: number | string, typeFrom: ColorAlphaFormat, typeTo: ColorAlphaFormat) => string | number | undefined;
|
|
4
4
|
export declare const hexToRGBA: (hex: string) => string;
|
|
5
5
|
export declare const addAlphaToRGB: (rgb: string, alpha: number | string) => string;
|
|
@@ -23,8 +23,8 @@ export declare const textColors: {
|
|
|
23
23
|
gray8: string;
|
|
24
24
|
gray9: string;
|
|
25
25
|
};
|
|
26
|
-
export
|
|
26
|
+
export type DDSTextColor = 'interactive' | 'primary' | 'danger' | 'warning' | 'success' | 'onLight' | 'onDark' | 'gray1' | 'gray2' | 'gray3' | 'gray4' | 'gray5' | 'gray6' | 'gray7' | 'gray8' | 'gray9';
|
|
27
27
|
export declare const textColorsArray: string[];
|
|
28
|
-
export
|
|
28
|
+
export type TextColor = DDSTextColor | Property.Color;
|
|
29
29
|
export declare function isTextColor(color: string): color is DDSTextColor;
|
|
30
30
|
export declare const getTextColor: (color: TextColor) => TextColor;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AnchorHTMLAttributes, HTMLAttributes } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export type BreadcrumbProps = HTMLAttributes<HTMLSpanElement> | AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
3
3
|
export declare const Breadcrumb: import("react").ForwardRefExoticComponent<BreadcrumbProps & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
2
|
-
export
|
|
2
|
+
export type BreadcrumbsProps = BaseComponentPropsWithChildren<HTMLElement, {
|
|
3
3
|
/** Spesifiserer om versjonen for små skjermer skal vises; den viser `<Breadcrumb />` kun til den forrige siden. */
|
|
4
4
|
smallScreen?: boolean;
|
|
5
5
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonAppearance, ButtonPurpose, ButtonSize, IconPosition } from './Button.types';
|
|
2
|
-
|
|
2
|
+
type ButtonWrapperProps = {
|
|
3
3
|
appearance: ButtonAppearance;
|
|
4
4
|
purpose: ButtonPurpose;
|
|
5
5
|
size: ButtonSize;
|
|
@@ -10,7 +10,7 @@ declare type ButtonWrapperProps = {
|
|
|
10
10
|
iconPosition?: IconPosition;
|
|
11
11
|
};
|
|
12
12
|
export declare const ButtonWrapper: import("styled-components").StyledComponent<"button", any, ButtonWrapperProps, never>;
|
|
13
|
-
|
|
13
|
+
type StyledIconWrapperSpanProps = {
|
|
14
14
|
iconPosition?: IconPosition;
|
|
15
15
|
size: ButtonSize;
|
|
16
16
|
absolutePosition?: boolean;
|
|
@@ -18,7 +18,7 @@ declare type StyledIconWrapperSpanProps = {
|
|
|
18
18
|
justIcon?: boolean;
|
|
19
19
|
};
|
|
20
20
|
export declare const StyledIconWrapperSpan: import("styled-components").StyledComponent<"span", any, StyledIconWrapperSpanProps, never>;
|
|
21
|
-
|
|
21
|
+
type LabelProps = {
|
|
22
22
|
isHidden?: boolean;
|
|
23
23
|
};
|
|
24
24
|
export declare const Label: import("styled-components").StyledComponent<"span", any, LabelProps, never>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
2
|
import { SvgIcon } from '../../icons/utils/propTypes';
|
|
3
3
|
import { BaseComponentProps } from '../../types';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
export
|
|
4
|
+
export type ButtonPurpose = 'primary' | 'secondary' | 'danger';
|
|
5
|
+
export type ButtonSize = 'tiny' | 'small' | 'medium' | 'large';
|
|
6
|
+
export type ButtonAppearance = 'filled' | 'ghost' | 'rounded' | 'borderless';
|
|
7
|
+
export type IconPosition = 'left' | 'right';
|
|
8
|
+
type PickedHTMLAttributes = Pick<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onFocus' | 'onBlur' | 'type'>;
|
|
9
|
+
export type ButtonProps = BaseComponentProps<HTMLButtonElement, {
|
|
10
10
|
/**Størrelsen på knappen. */
|
|
11
11
|
size?: ButtonSize;
|
|
12
12
|
/**Tekst i knappen. */
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { AnchorHTMLAttributes, RefObject } from 'react';
|
|
2
2
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
|
|
3
|
+
export type CardColor = 'filledDark' | 'filledLight' | 'strokeDark' | 'strokeLight';
|
|
4
|
+
export type CardType = 'info' | 'navigation' | 'expandable';
|
|
5
|
+
type BaseCardProps<T extends HTMLElement> = BaseComponentPropsWithChildren<T, {
|
|
6
6
|
/** Fargepalett i komponenten. */
|
|
7
7
|
color?: CardColor;
|
|
8
8
|
/** Referanse til komponenten. */
|
|
9
9
|
cardRef?: RefObject<T>;
|
|
10
10
|
}>;
|
|
11
|
-
export
|
|
11
|
+
export type InfoCardProps = BaseCardProps<HTMLDivElement> & {
|
|
12
12
|
/** Spesifiserer funksjonalitet og formål med komponenten. **OBS!** ved `'navigation'` må `href` oppgis. Ved `'expandable'` må alle `<Card />` grupperte sammen ligge egen `<div>` container. */
|
|
13
13
|
cardType: 'info';
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type NavigationCardProps = BaseCardProps<HTMLAnchorElement> & {
|
|
16
16
|
cardType: 'navigation';
|
|
17
17
|
} & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'target'>;
|
|
18
|
-
export
|
|
18
|
+
export type ExpandableCardProps = BaseCardProps<HTMLDivElement> & {
|
|
19
19
|
cardType: 'expandable';
|
|
20
20
|
};
|
|
21
|
-
export
|
|
21
|
+
export type CardProps = InfoCardProps | NavigationCardProps | ExpandableCardProps;
|
|
22
22
|
export declare const Card: (props: CardProps) => JSX.Element;
|
|
23
23
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentPropsWithChildren } from '../../../types';
|
|
2
|
-
export
|
|
2
|
+
export type CardAccordionProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
3
3
|
/**Spesifiserer om body skal være utvidet ved innlastning. */
|
|
4
4
|
isExpanded?: boolean;
|
|
5
5
|
/**For å lytte til endringer i expanded-state. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Property } from 'csstype';
|
|
2
2
|
import { BaseComponentPropsWithChildren } from '../../../types';
|
|
3
|
-
export
|
|
3
|
+
export type CardAccordionBodyProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
4
4
|
/** **OBS!** denne propen blir satt automatisk av forelder. Forteller komponenten om den skal utvides. */
|
|
5
5
|
isExpanded?: boolean;
|
|
6
6
|
/** **OBS!** denne propen blir satt automatisk av forelder. Forteller `id` til `<CardAccordionHeader />`. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
2
|
import { BaseComponentPropsWithChildren } from '../../../types';
|
|
3
|
-
export
|
|
3
|
+
export type CardAccordionHeaderProps = BaseComponentPropsWithChildren<HTMLButtonElement, {
|
|
4
4
|
/** **OBS!** denne propen blir satt automatisk av forelder. Forteller body er utvidet. */
|
|
5
5
|
isExpanded?: boolean;
|
|
6
6
|
/** **OBS!** denne propen blir satt automatisk av forelder. Callback for å styre utvidelse og sammentrukking. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
2
|
import { BaseComponentProps } from '../../types';
|
|
3
3
|
import { CheckboxPickedHTMLAttributes } from '../../types/CheckboxPickedHTMLAttributes';
|
|
4
|
-
export
|
|
4
|
+
export type CheckboxProps = BaseComponentProps<HTMLInputElement, {
|
|
5
5
|
/** Ledetekst for inputelementet. */
|
|
6
6
|
label?: string;
|
|
7
7
|
/**Indikererr ugyldig input, endrer styling. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentPropsWithChildren, Direction } from '../../types';
|
|
2
|
-
export
|
|
2
|
+
export type CheckboxGroupProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
3
3
|
/**Ledetekst for gruppen. */
|
|
4
4
|
label?: string;
|
|
5
5
|
/**Retningen barna gjengis i. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentProps } from '../../types';
|
|
2
|
-
export
|
|
2
|
+
export type ChipProps = BaseComponentProps<HTMLDivElement, {
|
|
3
3
|
/** Teksten som vises i komponenten. */
|
|
4
4
|
text?: string;
|
|
5
5
|
/** Ekstra logikk når `<Chip />` lukkes. */
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export type ChipGroupProps = HTMLAttributes<HTMLUListElement>;
|
|
3
3
|
export declare const ChipGroup: import("react").ForwardRefExoticComponent<ChipGroupProps & import("react").RefAttributes<HTMLUListElement>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InputProps } from '../../helpers';
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
type DatepickerType = 'date' | 'datetime-local';
|
|
3
|
+
export type DatepickerProps = Omit<InputProps, 'type'> & {
|
|
4
4
|
/** Angi dato-input med eller uten klokkeslett. */
|
|
5
5
|
type?: DatepickerType;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type DescriptionListAppearance = 'small' | 'bold';
|
|
3
|
+
export type DescriptionListProps = BaseComponentPropsWithChildren<HTMLDListElement, {
|
|
4
4
|
/**Påvirker tekst styling. */
|
|
5
5
|
appearance?: DescriptionListAppearance;
|
|
6
6
|
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
2
2
|
import { SvgIcon } from '../../icons/utils';
|
|
3
|
-
export
|
|
3
|
+
export type DescriptionListDescProps = BaseComponentPropsWithChildren<HTMLElement, {
|
|
4
4
|
/**Ikon som vises ved siden av teksten. */
|
|
5
5
|
icon?: SvgIcon;
|
|
6
6
|
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Property } from 'csstype';
|
|
2
2
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
3
|
-
export
|
|
3
|
+
export type DescriptionListGroupProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
4
4
|
/**Custom margin. */
|
|
5
5
|
margin?: Property.Margin<string>;
|
|
6
6
|
}>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export type DescriptionListTermProps = HTMLAttributes<HTMLElement>;
|
|
3
3
|
export declare const DescriptionListTerm: import("react").ForwardRefExoticComponent<DescriptionListTermProps & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseComponentProps } from '../../types';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type DividerColor = 'primary' | 'primaryLighter';
|
|
3
|
+
export type DividerProps = BaseComponentProps<HTMLHRElement, {
|
|
4
4
|
/** Farge på horisontal linje. */
|
|
5
5
|
color?: DividerColor;
|
|
6
6
|
}>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ReactNode, RefObject } from 'react';
|
|
2
2
|
import { Property } from 'csstype';
|
|
3
3
|
import { BaseComponentPropsWithChildren } from '../../types';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
4
|
+
export type DrawerSize = 'small' | 'large';
|
|
5
|
+
export type DrawerPlacement = 'left' | 'right';
|
|
6
|
+
export type WidthProps = {
|
|
7
7
|
minWidth?: Property.MinWidth<string>;
|
|
8
8
|
maxWidth?: Property.MaxWidth<string>;
|
|
9
9
|
width?: Property.Width<string>;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type DrawerProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
12
12
|
/**Størrelsen på `<Drawer />`. */
|
|
13
13
|
size?: DrawerSize;
|
|
14
14
|
/** Plasseringen til `<Drawer />`. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FileList } from './types';
|
|
2
2
|
import { FileUploaderHookProps } from './useFileUploader';
|
|
3
3
|
import { Property } from 'csstype';
|
|
4
|
-
|
|
4
|
+
type FileUploaderProps = {
|
|
5
5
|
/**Id til filopplasteren. */
|
|
6
6
|
id?: string;
|
|
7
7
|
/**Ledetekst for filopplaster. */
|
|
@@ -14,6 +14,6 @@ declare type FileUploaderProps = {
|
|
|
14
14
|
onChange: (newFiles: FileList) => void;
|
|
15
15
|
/**Bredde for filopplasteren. */
|
|
16
16
|
width?: Property.Width<string>;
|
|
17
|
-
} &
|
|
17
|
+
} & Partial<FileUploaderHookProps>;
|
|
18
18
|
export declare const FileUploader: (props: FileUploaderProps) => JSX.Element;
|
|
19
19
|
export {};
|
|
@@ -62,7 +62,8 @@ var FileUploader = function FileUploader(props) {
|
|
|
62
62
|
maxFiles = props.maxFiles,
|
|
63
63
|
disabled = props.disabled,
|
|
64
64
|
onChange = props.onChange,
|
|
65
|
-
width = props.width
|
|
65
|
+
width = props.width,
|
|
66
|
+
errorMessage = props.errorMessage;
|
|
66
67
|
var generatedId = useId();
|
|
67
68
|
var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-fileUploader");
|
|
68
69
|
var _useFileUploader = useFileUploader({
|
|
@@ -70,7 +71,8 @@ var FileUploader = function FileUploader(props) {
|
|
|
70
71
|
initialFiles: initialFiles,
|
|
71
72
|
accept: accept,
|
|
72
73
|
disabled: disabled,
|
|
73
|
-
maxFiles: maxFiles
|
|
74
|
+
maxFiles: maxFiles,
|
|
75
|
+
errorMessage: errorMessage
|
|
74
76
|
}),
|
|
75
77
|
_useFileUploader$stat = _useFileUploader.state,
|
|
76
78
|
stateFiles = _useFileUploader$stat.files,
|
|
@@ -121,7 +123,7 @@ var FileUploader = function FileUploader(props) {
|
|
|
121
123
|
messageType: "tip"
|
|
122
124
|
}), jsxs(Root, Object.assign({}, getRootProps(), {
|
|
123
125
|
isDragActive: isDragActive,
|
|
124
|
-
hasRootErrors:
|
|
126
|
+
hasRootErrors: hasRootErrors
|
|
125
127
|
}, {
|
|
126
128
|
children: [jsx(FileUploaderInput, Object.assign({}, getInputProps())), "Dra og slipp filer her eller", ' ', jsx(VisuallyHidden, Object.assign({
|
|
127
129
|
as: "span"
|
|
@@ -7,7 +7,7 @@ declare const _default: {
|
|
|
7
7
|
required?: boolean | undefined;
|
|
8
8
|
onChange: (newFiles: import("./types").FileList) => void;
|
|
9
9
|
width?: import("csstype").Property.Width<string> | undefined;
|
|
10
|
-
} &
|
|
10
|
+
} & Partial<import("./useFileUploader").FileUploaderHookProps>) => JSX.Element;
|
|
11
11
|
argTypes: {
|
|
12
12
|
color: {
|
|
13
13
|
control: {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { FileWithPath } from 'file-selector';
|
|
2
2
|
import { Reducer } from 'react';
|
|
3
|
-
export
|
|
3
|
+
export type FileUploaderFile = {
|
|
4
4
|
file: FileWithPath;
|
|
5
5
|
errors: string[];
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
type FileChangePayload = {
|
|
8
8
|
rootErrors: RootErrorList;
|
|
9
9
|
files: FileUploaderFile[];
|
|
10
10
|
};
|
|
11
|
-
export
|
|
12
|
-
export
|
|
11
|
+
export type RootErrorList = string[];
|
|
12
|
+
export type FileUploaderAction = {
|
|
13
13
|
type: 'focus';
|
|
14
14
|
} | {
|
|
15
15
|
type: 'blur';
|
|
@@ -23,8 +23,11 @@ export declare type FileUploaderAction = {
|
|
|
23
23
|
} | {
|
|
24
24
|
type: 'onRemoveFile';
|
|
25
25
|
payload: FileChangePayload;
|
|
26
|
+
} | {
|
|
27
|
+
type: 'setRootErrors';
|
|
28
|
+
payload: RootErrorList;
|
|
26
29
|
};
|
|
27
|
-
export
|
|
30
|
+
export type FileUploaderState = {
|
|
28
31
|
files: FileUploaderFile[];
|
|
29
32
|
isFocused: boolean;
|
|
30
33
|
isFileDialogActive: boolean;
|
|
@@ -27,6 +27,10 @@ var fileUploaderReducer = function fileUploaderReducer(state, action) {
|
|
|
27
27
|
rootErrors: action.payload.rootErrors,
|
|
28
28
|
files: action.payload.files
|
|
29
29
|
});
|
|
30
|
+
case 'setRootErrors':
|
|
31
|
+
return Object.assign(Object.assign({}, state), {
|
|
32
|
+
rootErrors: action.payload
|
|
33
|
+
});
|
|
30
34
|
default:
|
|
31
35
|
return state;
|
|
32
36
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
export
|
|
1
|
+
type FileExtensionAccept = `.${string}`;
|
|
2
|
+
type AnyMimeType = '*';
|
|
3
|
+
type ImageMimeType = 'png' | 'jpeg' | 'bmp' | 'gif' | 'svg+xml' | 'tiff' | 'webp';
|
|
4
|
+
type VideoMimeType = 'x-msvideo' | 'mp4' | 'mpeg' | 'ogg' | 'mp2t' | 'webm' | '3gpp' | '3gpp2';
|
|
5
|
+
type AudioMimeType = 'aac' | 'midi' | 'x-midi' | 'mpeg' | 'ogg' | 'opus' | 'wav' | 'webm' | '3gpp' | '3gpp2';
|
|
6
|
+
type ApplicationMimeType = 'octet-stream' | 'msword' | 'vnd.openxmlformats-officedocument.wordprocessingml.document' | 'epub+zip' | 'gzip' | 'java-archive' | 'json' | 'vnd.oasis.opendocument.presentation' | 'vnd.oasis.opendocument.spreadsheet' | 'vnd.oasis.opendocument.text' | 'pdf' | 'vnd.ms-powerpoint' | 'vnd.openxmlformats-officedocument.presentationml.presentation' | 'rtf' | 'x-sh' | 'x-tar' | 'vnd.visio' | 'xhtml+xml' | 'vnd.ms-excel' | 'vnd.openxmlformats-officedocument.spreadsheetml.sheet' | 'xml' | 'vnd.mozilla.xul+xml' | 'zip';
|
|
7
|
+
type MimeType = `image/${ImageMimeType | AnyMimeType}` | `video/${VideoMimeType | AnyMimeType}` | `audio/${AudioMimeType | AnyMimeType}` | `application/${ApplicationMimeType}`;
|
|
8
|
+
export type Accept = MimeType | FileExtensionAccept;
|
|
9
|
+
export type FileList = File[];
|
|
10
10
|
export {};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import React, { ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, Ref } from 'react';
|
|
2
2
|
import { FileUploaderFile } from './fileUploaderReducer';
|
|
3
3
|
import { Accept, FileList } from './types';
|
|
4
|
-
export
|
|
5
|
-
id
|
|
4
|
+
export type FileUploaderHookProps = {
|
|
5
|
+
id: string | undefined;
|
|
6
6
|
/**Dersom komponenten styres utenfra. En liste over filer som skal være med ved første render. */
|
|
7
|
-
initialFiles
|
|
7
|
+
initialFiles: FileList | undefined;
|
|
8
8
|
/**Hvilke filendelser eller mime-typer som filopplasteren skal akseptere. */
|
|
9
|
-
accept
|
|
9
|
+
accept: Accept[] | undefined;
|
|
10
10
|
/**Om filopplasteren er avslått eller ikke */
|
|
11
|
-
disabled
|
|
11
|
+
disabled: boolean | undefined;
|
|
12
12
|
/**Maks antall filer som tillates. */
|
|
13
|
-
maxFiles
|
|
13
|
+
maxFiles: number | undefined;
|
|
14
|
+
/**Feilmelding. Setter også error state. */
|
|
15
|
+
errorMessage: string | undefined;
|
|
14
16
|
};
|
|
15
17
|
export declare const useFileUploader: <TRootElement extends HTMLElement>(props: FileUploaderHookProps) => {
|
|
16
18
|
state: import("./fileUploaderReducer").FileUploaderState;
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { slicedToArray as _slicedToArray, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { __awaiter } from 'tslib';
|
|
3
|
-
import { useRef, useReducer, useCallback } from 'react';
|
|
3
|
+
import { useRef, useMemo, useReducer, useEffect, useCallback } from 'react';
|
|
4
4
|
import { fileUploaderReducer } from './fileUploaderReducer.js';
|
|
5
5
|
import { fromEvent } from 'file-selector';
|
|
6
6
|
import { preventDefaults, isEventWithFiles, isFileAccepted, getInvalidFileTypeErrorMessage, getTooManyFilesErrorMessage } from './utils.js';
|
|
7
7
|
|
|
8
|
-
var calcRootErrors = function calcRootErrors(files, maxFiles) {
|
|
8
|
+
var calcRootErrors = function calcRootErrors(files, maxFiles, errorMessage) {
|
|
9
9
|
var errors = [];
|
|
10
10
|
if (maxFiles && maxFiles >= 1 && files.length > maxFiles) {
|
|
11
11
|
errors.push(getTooManyFilesErrorMessage(maxFiles));
|
|
12
12
|
}
|
|
13
|
+
if (errorMessage) {
|
|
14
|
+
errors.push(errorMessage);
|
|
15
|
+
}
|
|
13
16
|
return errors;
|
|
14
17
|
};
|
|
15
18
|
var useFileUploader = function useFileUploader(props) {
|
|
@@ -17,25 +20,35 @@ var useFileUploader = function useFileUploader(props) {
|
|
|
17
20
|
initialFiles = _props$initialFiles === void 0 ? [] : _props$initialFiles,
|
|
18
21
|
accept = props.accept,
|
|
19
22
|
maxFiles = props.maxFiles,
|
|
20
|
-
disabled = props.disabled
|
|
23
|
+
disabled = props.disabled,
|
|
24
|
+
errorMessage = props.errorMessage;
|
|
21
25
|
var rootRef = useRef(null);
|
|
22
26
|
var inputRef = useRef(null);
|
|
23
27
|
var buttonRef = useRef(null);
|
|
28
|
+
var initialFileUploaderFiles = useMemo(function () {
|
|
29
|
+
return initialFiles.map(function (f) {
|
|
30
|
+
return {
|
|
31
|
+
file: f,
|
|
32
|
+
errors: []
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}, [initialFiles]);
|
|
24
36
|
var _useReducer = useReducer(fileUploaderReducer, {
|
|
25
|
-
files:
|
|
26
|
-
return {
|
|
27
|
-
file: f,
|
|
28
|
-
errors: []
|
|
29
|
-
};
|
|
30
|
-
}),
|
|
37
|
+
files: initialFileUploaderFiles,
|
|
31
38
|
isFocused: false,
|
|
32
39
|
isFileDialogActive: false,
|
|
33
40
|
isDragActive: false,
|
|
34
|
-
rootErrors:
|
|
41
|
+
rootErrors: calcRootErrors(initialFileUploaderFiles, maxFiles, errorMessage)
|
|
35
42
|
}),
|
|
36
43
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
37
44
|
state = _useReducer2[0],
|
|
38
45
|
dispatch = _useReducer2[1];
|
|
46
|
+
useEffect(function () {
|
|
47
|
+
dispatch({
|
|
48
|
+
type: 'setRootErrors',
|
|
49
|
+
payload: calcRootErrors(initialFileUploaderFiles, maxFiles, errorMessage)
|
|
50
|
+
});
|
|
51
|
+
}, [dispatch, initialFileUploaderFiles, maxFiles, errorMessage]);
|
|
39
52
|
var stateFiles = state.files;
|
|
40
53
|
var onRootFocus = useCallback(function () {
|
|
41
54
|
return dispatch({
|
|
@@ -125,7 +138,7 @@ var useFileUploader = function useFileUploader(props) {
|
|
|
125
138
|
errors: accepted ? [] : [getInvalidFileTypeErrorMessage()]
|
|
126
139
|
};
|
|
127
140
|
}).concat(stateFiles);
|
|
128
|
-
rootErrors = calcRootErrors(newFiles, maxFiles);
|
|
141
|
+
rootErrors = calcRootErrors(newFiles, maxFiles, errorMessage);
|
|
129
142
|
dispatch({
|
|
130
143
|
type: 'onSetFiles',
|
|
131
144
|
payload: {
|
|
@@ -140,7 +153,7 @@ var useFileUploader = function useFileUploader(props) {
|
|
|
140
153
|
}
|
|
141
154
|
}, _callee2);
|
|
142
155
|
}));
|
|
143
|
-
}, [stateFiles, maxFiles, accept, dispatch]);
|
|
156
|
+
}, [stateFiles, maxFiles, accept, errorMessage, dispatch]);
|
|
144
157
|
var openFileDialog = useCallback(function () {
|
|
145
158
|
if (inputRef.current) {
|
|
146
159
|
inputRef.current.value = '';
|
|
@@ -150,7 +163,7 @@ var useFileUploader = function useFileUploader(props) {
|
|
|
150
163
|
var removeFile = useCallback(function (file) {
|
|
151
164
|
var newFiles = _toConsumableArray(stateFiles);
|
|
152
165
|
newFiles.splice(stateFiles.indexOf(file), 1);
|
|
153
|
-
var rootErrors = calcRootErrors(newFiles, maxFiles);
|
|
166
|
+
var rootErrors = calcRootErrors(newFiles, maxFiles, errorMessage);
|
|
154
167
|
dispatch({
|
|
155
168
|
type: 'onRemoveFile',
|
|
156
169
|
payload: {
|
|
@@ -158,7 +171,7 @@ var useFileUploader = function useFileUploader(props) {
|
|
|
158
171
|
files: newFiles
|
|
159
172
|
}
|
|
160
173
|
});
|
|
161
|
-
}, [stateFiles, maxFiles]);
|
|
174
|
+
}, [stateFiles, maxFiles, errorMessage]);
|
|
162
175
|
var getRootProps = useCallback(function () {
|
|
163
176
|
return {
|
|
164
177
|
onBlur: onRootBlur,
|