@navikt/ds-react 0.15.0-rc.30 → 0.15.0-rc.51
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/cjs/accordion/AccordionHeader.js +3 -3
- package/cjs/alert/Alert.js +5 -5
- package/cjs/form/Fieldset/Fieldset.js +3 -3
- package/cjs/form/Select.js +2 -2
- package/cjs/form/Switch.js +6 -5
- package/cjs/form/TextField.js +5 -3
- package/cjs/form/Textarea.js +3 -3
- package/cjs/form/checkbox/Checkbox.js +13 -2
- package/cjs/form/checkbox/CheckboxGroup.js +4 -4
- package/cjs/form/checkbox/useCheckbox.js +5 -4
- package/cjs/form/search-field/SearchField.js +2 -2
- package/cjs/help-text/HelpText.js +4 -4
- package/cjs/index.js +2 -1
- package/cjs/{accordion-menu/AccordionMenu.js → menu/Menu.js} +7 -7
- package/cjs/{accordion-menu/AccordionMenuCollapsable.js → menu/MenuCollapse.js} +18 -8
- package/cjs/{accordion-menu/AccordionMenuItem.js → menu/MenuItem.js} +2 -2
- package/cjs/menu/MenuItems.js +23 -0
- package/cjs/menu/index.js +8 -0
- package/cjs/menu/package.json +6 -0
- package/cjs/modal/Modal.js +6 -2
- package/cjs/page-header/PageHeader.js +1 -1
- package/cjs/pagination/Pagination.js +55 -28
- package/cjs/table/ColumnHeader.js +3 -3
- package/cjs/table/DataCell.js +4 -2
- package/cjs/table/HeaderCell.js +4 -2
- package/cjs/table/Table.js +1 -12
- package/cjs/toggle-group/ToggleGroup.js +71 -0
- package/cjs/toggle-group/ToggleItem.js +47 -0
- package/cjs/toggle-group/index.js +8 -0
- package/cjs/toggle-group/package.json +6 -0
- package/esm/accordion/AccordionHeader.js +3 -3
- package/esm/accordion/AccordionHeader.js.map +1 -1
- package/esm/alert/Alert.js +5 -5
- package/esm/alert/Alert.js.map +1 -1
- package/esm/form/Fieldset/Fieldset.js +3 -3
- package/esm/form/Fieldset/Fieldset.js.map +1 -1
- package/esm/form/Select.js +2 -2
- package/esm/form/Select.js.map +1 -1
- package/esm/form/Switch.js +6 -5
- package/esm/form/Switch.js.map +1 -1
- package/esm/form/TextField.js +5 -3
- package/esm/form/TextField.js.map +1 -1
- package/esm/form/Textarea.js +3 -3
- package/esm/form/Textarea.js.map +1 -1
- package/esm/form/checkbox/Checkbox.d.ts +7 -2
- package/esm/form/checkbox/Checkbox.js +13 -2
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/checkbox/CheckboxGroup.d.ts +7 -7
- package/esm/form/checkbox/CheckboxGroup.js +4 -4
- package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
- package/esm/form/checkbox/useCheckbox.d.ts +0 -1
- package/esm/form/checkbox/useCheckbox.js +5 -4
- package/esm/form/checkbox/useCheckbox.js.map +1 -1
- package/esm/form/radio/Radio.d.ts +2 -2
- package/esm/form/radio/RadioGroup.d.ts +7 -7
- package/esm/form/radio/RadioGroup.js.map +1 -1
- package/esm/form/search-field/SearchField.js +2 -2
- package/esm/form/search-field/SearchField.js.map +1 -1
- package/esm/help-text/HelpText.js +4 -4
- package/esm/help-text/HelpText.js.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/menu/Menu.d.ts +12 -0
- package/esm/{accordion-menu/AccordionMenu.js → menu/Menu.js} +8 -8
- package/esm/menu/Menu.js.map +1 -0
- package/esm/menu/MenuCollapse.d.ts +12 -0
- package/esm/menu/MenuCollapse.js +37 -0
- package/esm/menu/MenuCollapse.js.map +1 -0
- package/esm/menu/MenuItem.d.ts +13 -0
- package/esm/{accordion-menu/AccordionMenuItem.js → menu/MenuItem.js} +3 -3
- package/esm/menu/MenuItem.js.map +1 -0
- package/esm/{accordion-menu → menu}/MenuItems.d.ts +2 -1
- package/esm/menu/MenuItems.js +19 -0
- package/esm/menu/MenuItems.js.map +1 -0
- package/esm/menu/index.d.ts +3 -0
- package/esm/menu/index.js +2 -0
- package/esm/menu/index.js.map +1 -0
- package/esm/modal/Modal.d.ts +3 -0
- package/esm/modal/Modal.js +6 -2
- package/esm/modal/Modal.js.map +1 -1
- package/esm/page-header/PageHeader.js +1 -1
- package/esm/page-header/PageHeader.js.map +1 -1
- package/esm/pagination/Pagination.d.ts +27 -5
- package/esm/pagination/Pagination.js +55 -28
- package/esm/pagination/Pagination.js.map +1 -1
- package/esm/table/ColumnHeader.d.ts +6 -5
- package/esm/table/ColumnHeader.js +3 -3
- package/esm/table/ColumnHeader.js.map +1 -1
- package/esm/table/DataCell.d.ts +6 -1
- package/esm/table/DataCell.js +4 -2
- package/esm/table/DataCell.js.map +1 -1
- package/esm/table/HeaderCell.d.ts +6 -1
- package/esm/table/HeaderCell.js +4 -2
- package/esm/table/HeaderCell.js.map +1 -1
- package/esm/table/Table.d.ts +3 -3
- package/esm/table/Table.js +1 -12
- package/esm/table/Table.js.map +1 -1
- package/esm/toggle-group/ToggleGroup.d.ts +38 -0
- package/esm/toggle-group/ToggleGroup.js +47 -0
- package/esm/toggle-group/ToggleGroup.js.map +1 -0
- package/esm/toggle-group/ToggleItem.d.ts +14 -0
- package/esm/toggle-group/ToggleItem.js +24 -0
- package/esm/toggle-group/ToggleItem.js.map +1 -0
- package/esm/toggle-group/index.d.ts +2 -0
- package/esm/toggle-group/index.js +2 -0
- package/esm/toggle-group/index.js.map +1 -0
- package/esm/typography/Heading.d.ts +1 -1
- package/package.json +4 -3
- package/src/accordion/accordion.stories.tsx +90 -0
- package/src/alert/Alert.tsx +5 -9
- package/src/alert/{stories/alert.stories.tsx → alert.stories.tsx} +2 -2
- package/src/button/{stories/button.stories.tsx → button.stories.tsx} +4 -1
- package/src/form/checkbox/Checkbox.tsx +20 -3
- package/src/form/checkbox/CheckboxGroup.tsx +16 -11
- package/src/form/checkbox/stories/checkbox.stories.tsx +45 -5
- package/src/form/checkbox/useCheckbox.ts +5 -4
- package/src/form/radio/Radio.tsx +2 -2
- package/src/form/radio/RadioGroup.tsx +10 -7
- package/src/form/radio/stories/radio.stories.tsx +6 -8
- package/src/help-text/HelpText.tsx +4 -5
- package/src/index.ts +2 -1
- package/src/menu/Menu.tsx +36 -0
- package/src/menu/MenuCollapse.tsx +80 -0
- package/src/{accordion-menu/AccordionMenuItem.tsx → menu/MenuItem.tsx} +6 -6
- package/src/menu/MenuItems.tsx +21 -0
- package/src/menu/index.ts +3 -0
- package/src/menu/stories/menu.stories.mdx +93 -0
- package/src/menu/stories/menu.stories.tsx +139 -0
- package/src/modal/Modal.tsx +11 -0
- package/src/page-header/PageHeader.tsx +1 -5
- package/src/pagination/Pagination.tsx +157 -59
- package/src/pagination/pagination.stories.tsx +37 -0
- package/src/pagination/steps.test.ts +115 -7
- package/src/table/ColumnHeader.tsx +13 -9
- package/src/table/DataCell.tsx +11 -3
- package/src/table/HeaderCell.tsx +11 -3
- package/src/table/Table.tsx +5 -21
- package/src/table/stories/table-async.stories.tsx +20 -4
- package/src/table/stories/table-hot.stories.tsx +376 -0
- package/src/toggle-group/ToggleGroup.stories.tsx +111 -0
- package/src/toggle-group/ToggleGroup.tsx +136 -0
- package/src/toggle-group/ToggleItem.tsx +45 -0
- package/src/toggle-group/index.ts +2 -0
- package/src/typography/Heading.tsx +1 -1
- package/src/typography/{stories/typography.stories.tsx → typography.stories.tsx} +4 -5
- package/cjs/accordion-menu/MenuItems.js +0 -8
- package/cjs/accordion-menu/index.js +0 -8
- package/cjs/accordion-menu/package.json +0 -6
- package/esm/accordion-menu/AccordionMenu.d.ts +0 -12
- package/esm/accordion-menu/AccordionMenu.js.map +0 -1
- package/esm/accordion-menu/AccordionMenuCollapsable.d.ts +0 -9
- package/esm/accordion-menu/AccordionMenuCollapsable.js +0 -28
- package/esm/accordion-menu/AccordionMenuCollapsable.js.map +0 -1
- package/esm/accordion-menu/AccordionMenuItem.d.ts +0 -13
- package/esm/accordion-menu/AccordionMenuItem.js.map +0 -1
- package/esm/accordion-menu/MenuItems.js +0 -4
- package/esm/accordion-menu/MenuItems.js.map +0 -1
- package/esm/accordion-menu/index.d.ts +0 -3
- package/esm/accordion-menu/index.js +0 -2
- package/esm/accordion-menu/index.js.map +0 -1
- package/src/accordion/stories/accordion.stories.mdx +0 -72
- package/src/accordion/stories/accordion.stories.tsx +0 -92
- package/src/accordion-menu/AccordionMenu.tsx +0 -39
- package/src/accordion-menu/AccordionMenuCollapsable.tsx +0 -45
- package/src/accordion-menu/MenuItems.tsx +0 -13
- package/src/accordion-menu/index.ts +0 -3
- package/src/accordion-menu/stories/accordion-menu.stories.mdx +0 -66
- package/src/accordion-menu/stories/accordion-menu.stories.tsx +0 -141
- package/src/alert/stories/alert.stories.mdx +0 -96
- package/src/button/stories/button.stories.mdx +0 -76
- package/src/pagination/stories/pagination.stories.tsx +0 -15
- package/src/typography/stories/index.css +0 -3
- package/src/typography/stories/typography.stories.mdx +0 -83
|
@@ -54,12 +54,12 @@ const AccordionHeader = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
54
54
|
context.toggleOpen();
|
|
55
55
|
onClick && onClick(e);
|
|
56
56
|
};
|
|
57
|
-
return (react_1.default.createElement("button", Object.assign({ ref: ref, id: context.buttonId, className: (0, classnames_1.default)("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick }
|
|
57
|
+
return (react_1.default.createElement("button", Object.assign({}, rest, { ref: ref, id: context.buttonId, className: (0, classnames_1.default)("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick, "aria-expanded": context.open }),
|
|
58
58
|
children,
|
|
59
|
-
react_1.default.createElement(ds_icons_1.Expand, {
|
|
59
|
+
react_1.default.createElement(ds_icons_1.Expand, { "aria-hidden": true, className: (0, classnames_1.default)("navds-accordion__expand-icon", {
|
|
60
60
|
"navds-accordion__expand-icon--flip": context.open,
|
|
61
61
|
}) }),
|
|
62
|
-
react_1.default.createElement(ds_icons_1.ExpandFilled, {
|
|
62
|
+
react_1.default.createElement(ds_icons_1.ExpandFilled, { "aria-hidden": true, className: (0, classnames_1.default)("navds-accordion__expand-icon", "navds-accordion__expand-icon--filled", {
|
|
63
63
|
"navds-accordion__expand-icon--flip": context.open,
|
|
64
64
|
}) })));
|
|
65
65
|
});
|
package/cjs/alert/Alert.js
CHANGED
|
@@ -41,13 +41,13 @@ const Icon = (_a) => {
|
|
|
41
41
|
var { variant } = _a, props = __rest(_a, ["variant"]);
|
|
42
42
|
switch (variant) {
|
|
43
43
|
case "error":
|
|
44
|
-
return react_1.default.createElement(ds_icons_1.ErrorFilled, Object.assign({}, props));
|
|
44
|
+
return react_1.default.createElement(ds_icons_1.ErrorFilled, Object.assign({ title: "Feil" }, props));
|
|
45
45
|
case "warning":
|
|
46
|
-
return react_1.default.createElement(ds_icons_1.WarningFilled, Object.assign({}, props));
|
|
46
|
+
return react_1.default.createElement(ds_icons_1.WarningFilled, Object.assign({ title: "Advarsel" }, props));
|
|
47
47
|
case "info":
|
|
48
|
-
return react_1.default.createElement(ds_icons_1.InformationFilled, Object.assign({}, props));
|
|
48
|
+
return react_1.default.createElement(ds_icons_1.InformationFilled, Object.assign({ title: "Informasjon" }, props));
|
|
49
49
|
case "success":
|
|
50
|
-
return react_1.default.createElement(ds_icons_1.SuccessFilled, Object.assign({}, props));
|
|
50
|
+
return react_1.default.createElement(ds_icons_1.SuccessFilled, Object.assign({ title: "Suksess" }, props));
|
|
51
51
|
default:
|
|
52
52
|
return null;
|
|
53
53
|
}
|
|
@@ -55,7 +55,7 @@ const Icon = (_a) => {
|
|
|
55
55
|
const Alert = (0, react_1.forwardRef)((_a, ref) => {
|
|
56
56
|
var { children, className, variant, size = "medium", fullWidth = false, inline = false } = _a, rest = __rest(_a, ["children", "className", "variant", "size", "fullWidth", "inline"]);
|
|
57
57
|
return (react_1.default.createElement("div", Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)(className, "navds-alert", `navds-alert--${variant}`, `navds-alert--${size}`, { "navds-alert--full-width": fullWidth, "navds-alert--inline": inline }) }),
|
|
58
|
-
react_1.default.createElement(Icon, {
|
|
58
|
+
react_1.default.createElement(Icon, { variant: variant, className: "navds-alert__icon" }),
|
|
59
59
|
react_1.default.createElement(__1.BodyLong, { as: "div", size: size, className: "navds-alert__wrapper" }, children)));
|
|
60
60
|
});
|
|
61
61
|
exports.default = Alert;
|
|
@@ -56,13 +56,13 @@ const Fieldset = (0, react_1.forwardRef)((props, ref) => {
|
|
|
56
56
|
} },
|
|
57
57
|
react_1.default.createElement("fieldset", Object.assign({}, (0, __1.omit)(rest, ["errorId", "error", "size"]), inputProps, { ref: ref, className: (0, classnames_1.default)(className, "navds-fieldset", `navds-fieldset--${size}`, { "navds-fieldset--error": hasError }) }),
|
|
58
58
|
react_1.default.createElement(__1.Label, { size: size, as: "legend", className: (0, classnames_1.default)("navds-fieldset__legend", {
|
|
59
|
-
"sr-only": !!hideLegend,
|
|
59
|
+
"navds-sr-only": !!hideLegend,
|
|
60
60
|
}) }, legend),
|
|
61
61
|
!!description &&
|
|
62
62
|
(size === "medium" ? (react_1.default.createElement(__1.BodyShort, { className: (0, classnames_1.default)("navds-fieldset__description", {
|
|
63
|
-
"sr-only": !!hideLegend,
|
|
63
|
+
"navds-sr-only": !!hideLegend,
|
|
64
64
|
}), id: inputDescriptionId, size: "small", as: "div" }, props.description)) : (react_1.default.createElement(__1.Detail, { className: (0, classnames_1.default)("navds-fieldset__description", {
|
|
65
|
-
"sr-only": !!hideLegend,
|
|
65
|
+
"navds-sr-only": !!hideLegend,
|
|
66
66
|
}), id: inputDescriptionId, size: "small", as: "div" }, props.description))),
|
|
67
67
|
children,
|
|
68
68
|
react_1.default.createElement("div", { id: errorId, "aria-relevant": "additions removals", "aria-live": "polite", className: "navds-fieldset__error" }, showErrorMsg && (react_1.default.createElement(ErrorMessage_1.default, { size: size }, props.error))))));
|
package/cjs/form/Select.js
CHANGED
|
@@ -47,10 +47,10 @@ const Select = (0, react_1.forwardRef)((props, ref) => {
|
|
|
47
47
|
"navds-select--disabled": !!inputProps.disabled,
|
|
48
48
|
}) },
|
|
49
49
|
react_1.default.createElement(__1.Label, { htmlFor: inputProps.id, size: size, as: "label", className: (0, classnames_1.default)("navds-select__label", {
|
|
50
|
-
"sr-only": hideLabel,
|
|
50
|
+
"navds-sr-only": hideLabel,
|
|
51
51
|
}) }, label),
|
|
52
52
|
!!description && (react_1.default.createElement(__1.BodyShort, { as: "div", className: (0, classnames_1.default)("navds-select__description", {
|
|
53
|
-
"sr-only": hideLabel,
|
|
53
|
+
"navds-sr-only": hideLabel,
|
|
54
54
|
}), id: inputDescriptionId, size: size }, description)),
|
|
55
55
|
react_1.default.createElement("div", { className: "navds-select__container" },
|
|
56
56
|
react_1.default.createElement("select", Object.assign({}, (0, __1.omit)(rest, ["error", "errorId", "size"]), inputProps, { ref: ref, className: (0, classnames_1.default)("navds-select__input", "navds-body-short", `navds-body--${size !== null && size !== void 0 ? size : "medium"}`), size: props.htmlSize }), children),
|
package/cjs/form/Switch.js
CHANGED
|
@@ -40,7 +40,7 @@ const useFormField_1 = require("./useFormField");
|
|
|
40
40
|
const SelectedIcon = () => (react_1.default.createElement("svg", { width: "12px", height: "12px", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", focusable: false, role: "img", "aria-hidden": true, "aria-label": "Deaktiver valg" },
|
|
41
41
|
react_1.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.01386 8L10.25 2L11 2.75L4.01386 9.5L1 6.5L1.75 5.75L4.01386 8Z", fill: "currentColor", stroke: "currentColor" })));
|
|
42
42
|
const Switch = (0, react_1.forwardRef)((props, ref) => {
|
|
43
|
-
var _a;
|
|
43
|
+
var _a, _b, _c;
|
|
44
44
|
const { inputProps, size } = (0, useFormField_1.useFormField)(props, "switch");
|
|
45
45
|
const { children, className, description, hideLabel = false, loading, checked: checkedProp, defaultChecked, position = "left" } = props, rest = __rest(props, ["children", "className", "description", "hideLabel", "loading", "checked", "defaultChecked", "position"]);
|
|
46
46
|
const Description = size === "medium" ? __1.BodyShort : __1.Detail;
|
|
@@ -53,14 +53,15 @@ const Switch = (0, react_1.forwardRef)((props, ref) => {
|
|
|
53
53
|
props.onChange && props.onChange(e);
|
|
54
54
|
};
|
|
55
55
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-switch", props.className, `navds-switch--${size}`, `navds-switch--${position}`, {
|
|
56
|
-
"navds-switch--
|
|
56
|
+
"navds-switch--loading": loading,
|
|
57
|
+
"navds-switch--disabled": (_b = inputProps.disabled) !== null && _b !== void 0 ? _b : loading,
|
|
57
58
|
}) },
|
|
58
|
-
react_1.default.createElement("input", Object.assign({}, (0, __1.omit)(rest, ["size"]), (0, __1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { checked: checkedProp, defaultChecked: defaultChecked, ref: ref, type: "checkbox", onChange: (e) => handleChange(e), className: (0, classnames_1.default)(className, "navds-switch__input") })),
|
|
59
|
+
react_1.default.createElement("input", Object.assign({}, (0, __1.omit)(rest, ["size"]), (0, __1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { disabled: (_c = inputProps.disabled) !== null && _c !== void 0 ? _c : loading, checked: checkedProp, defaultChecked: defaultChecked, ref: ref, type: "checkbox", onChange: (e) => handleChange(e), className: (0, classnames_1.default)(className, "navds-switch__input") })),
|
|
59
60
|
react_1.default.createElement("span", { className: "navds-switch__track" },
|
|
60
|
-
react_1.default.createElement("span", { className: "navds-switch__thumb" }, loading ? (react_1.default.createElement(__1.Loader, { size: "xsmall" })) : checked ? (react_1.default.createElement(SelectedIcon, null)) : null)),
|
|
61
|
+
react_1.default.createElement("span", { className: "navds-switch__thumb" }, loading ? (react_1.default.createElement(__1.Loader, { size: "xsmall", "aria-live": "polite" })) : checked ? (react_1.default.createElement(SelectedIcon, null)) : null)),
|
|
61
62
|
react_1.default.createElement("label", { htmlFor: inputProps.id, className: "navds-switch__label-wrapper" },
|
|
62
63
|
react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-switch__content", {
|
|
63
|
-
"sr-only": hideLabel,
|
|
64
|
+
"navds-sr-only": hideLabel,
|
|
64
65
|
"navds-switch--with-description": !!description && !hideLabel,
|
|
65
66
|
}) },
|
|
66
67
|
react_1.default.createElement(__1.BodyShort, { as: "div", size: size, className: "navds-switch__label" }, children),
|
package/cjs/form/TextField.js
CHANGED
|
@@ -45,11 +45,13 @@ const TextField = (0, react_1.forwardRef)((props, ref) => {
|
|
|
45
45
|
"navds-text-field--error": hasError,
|
|
46
46
|
"navds-text-field--disabled": !!inputProps.disabled,
|
|
47
47
|
}) },
|
|
48
|
-
react_1.default.createElement(__1.Label, { htmlFor: inputProps.id, size: size, as: "label", className: (0, classnames_1.default)("navds-text-field__label", {
|
|
48
|
+
react_1.default.createElement(__1.Label, { htmlFor: inputProps.id, size: size, as: "label", className: (0, classnames_1.default)("navds-text-field__label", {
|
|
49
|
+
"navds-sr-only": hideLabel,
|
|
50
|
+
}) }, label),
|
|
49
51
|
!!description && (react_1.default.createElement(react_1.default.Fragment, null, size === "medium" ? (react_1.default.createElement(__1.BodyShort, { className: (0, classnames_1.default)("navds-text-field__description", {
|
|
50
|
-
"sr-only": hideLabel,
|
|
52
|
+
"navds-sr-only": hideLabel,
|
|
51
53
|
}), id: inputDescriptionId, size: "small", as: "div" }, description)) : (react_1.default.createElement(__1.Detail, { className: (0, classnames_1.default)("navds-text-field__description", {
|
|
52
|
-
"sr-only": hideLabel,
|
|
54
|
+
"navds-sr-only": hideLabel,
|
|
53
55
|
}), id: inputDescriptionId, size: "small", as: "div" }, description)))),
|
|
54
56
|
react_1.default.createElement("input", Object.assign({}, (0, __1.omit)(rest, ["error", "errorId", "size"]), inputProps, { ref: ref, type: type, className: (0, classnames_1.default)("navds-text-field__input", "navds-body-short", `navds-body-${size !== null && size !== void 0 ? size : "medium"}`), size: htmlSize })),
|
|
55
57
|
react_1.default.createElement("div", { id: errorId, "aria-relevant": "additions removals", "aria-live": "polite" }, showErrorMsg && react_1.default.createElement(ErrorMessage_1.default, { size: size }, props.error))));
|
package/cjs/form/Textarea.js
CHANGED
|
@@ -51,10 +51,10 @@ const Textarea = (0, react_1.forwardRef)((props, ref) => {
|
|
|
51
51
|
"navds-textarea--disabled": !!inputProps.disabled,
|
|
52
52
|
}) },
|
|
53
53
|
react_1.default.createElement(__1.Label, { htmlFor: inputProps.id, size: size, as: "label", className: (0, classnames_1.default)("navds-textarea__label", {
|
|
54
|
-
"sr-only": hideLabel,
|
|
54
|
+
"navds-sr-only": hideLabel,
|
|
55
55
|
}) }, label),
|
|
56
56
|
!!description && (react_1.default.createElement(__1.BodyShort, { as: "div", className: (0, classnames_1.default)("navds-textarea__description", {
|
|
57
|
-
"sr-only": hideLabel,
|
|
57
|
+
"navds-sr-only": hideLabel,
|
|
58
58
|
}), id: inputDescriptionId, size: size }, description)),
|
|
59
59
|
react_1.default.createElement("div", { className: "navds-textarea__wrapper" },
|
|
60
60
|
react_1.default.createElement(TextareaAutosize_1.default, Object.assign({}, (0, __1.omit)(rest, ["error", "errorId", "size"]), inputProps, { ref: ref, className: (0, classnames_1.default)("navds-textarea__input", "navds-body-short", `navds-body-${size !== null && size !== void 0 ? size : "medium"}`, {
|
|
@@ -63,7 +63,7 @@ const Textarea = (0, react_1.forwardRef)((props, ref) => {
|
|
|
63
63
|
[maxLengthId]: hasMaxLength,
|
|
64
64
|
}) })),
|
|
65
65
|
hasMaxLength && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
66
|
-
react_1.default.createElement("span", { id: maxLengthId, className: "sr-only" },
|
|
66
|
+
react_1.default.createElement("span", { id: maxLengthId, className: "navds-sr-only" },
|
|
67
67
|
"Tekstomr\u00E5de med plass til ",
|
|
68
68
|
maxLength,
|
|
69
69
|
" tegn., Textarea can have",
|
|
@@ -39,10 +39,21 @@ const Checkbox = (0, react_1.forwardRef)((props, ref) => {
|
|
|
39
39
|
"error",
|
|
40
40
|
"description",
|
|
41
41
|
"hideLabel",
|
|
42
|
-
]), inputProps, { className: "navds-checkbox__input",
|
|
42
|
+
]), inputProps, { type: "checkbox", className: "navds-checkbox__input", "aria-checked": props.indeterminate ? "mixed" : inputProps.checked, ref: (el) => {
|
|
43
|
+
var _a;
|
|
44
|
+
if (el) {
|
|
45
|
+
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
46
|
+
}
|
|
47
|
+
if (typeof ref === "function") {
|
|
48
|
+
ref(el);
|
|
49
|
+
}
|
|
50
|
+
else if (ref != null) {
|
|
51
|
+
ref.current = el;
|
|
52
|
+
}
|
|
53
|
+
} })),
|
|
43
54
|
react_1.default.createElement("label", { htmlFor: inputProps.id, className: "navds-checkbox__label" },
|
|
44
55
|
react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-checkbox__content", {
|
|
45
|
-
"sr-only": props.hideLabel,
|
|
56
|
+
"navds-sr-only": props.hideLabel,
|
|
46
57
|
}) },
|
|
47
58
|
react_1.default.createElement(__1.BodyShort, { as: "div", size: size }, props.children),
|
|
48
59
|
props.description && (react_1.default.createElement(Description, { as: "div", size: "small", className: "navds-checkbox__description" }, props.description))))));
|
|
@@ -42,9 +42,9 @@ const CheckboxGroup = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
42
42
|
var _b, _c;
|
|
43
43
|
var { value, defaultValue, onChange = () => { }, children, className } = _a, rest = __rest(_a, ["value", "defaultValue", "onChange", "children", "className"]);
|
|
44
44
|
const fieldset = (0, react_1.useContext)(__1.FieldsetContext);
|
|
45
|
-
const [state, setState] = (0, react_1.useState)([]);
|
|
46
|
-
const
|
|
47
|
-
const newValue = value ? value : state;
|
|
45
|
+
const [state, setState] = (0, react_1.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : []);
|
|
46
|
+
const toggleValue = (v) => {
|
|
47
|
+
const newValue = value !== null && value !== void 0 ? value : state;
|
|
48
48
|
const newState = newValue.includes(v)
|
|
49
49
|
? newValue.filter((x) => x !== v)
|
|
50
50
|
: [...newValue, v];
|
|
@@ -55,7 +55,7 @@ const CheckboxGroup = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
55
55
|
react_1.default.createElement(exports.CheckboxGroupContext.Provider, { value: {
|
|
56
56
|
value,
|
|
57
57
|
defaultValue,
|
|
58
|
-
toggleValue
|
|
58
|
+
toggleValue,
|
|
59
59
|
} },
|
|
60
60
|
react_1.default.createElement("div", { className: "navds-checkboxes" }, children))));
|
|
61
61
|
});
|
|
@@ -30,13 +30,14 @@ const useCheckbox = (_a) => {
|
|
|
30
30
|
console.warn("A <Checkbox> element within a <CheckboxGroup> requires a `value` property.");
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const value = props.value;
|
|
34
|
+
return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), { checked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.value)
|
|
35
|
+
? checkboxGroup.value.includes(value)
|
|
35
36
|
: props.checked, defaultChecked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.defaultValue)
|
|
36
|
-
? checkboxGroup.defaultValue.includes(
|
|
37
|
+
? checkboxGroup.defaultValue.includes(value)
|
|
37
38
|
: props.defaultChecked, onChange: (e) => {
|
|
38
39
|
props.onChange && props.onChange(e);
|
|
39
|
-
checkboxGroup && checkboxGroup.toggleValue(
|
|
40
|
+
checkboxGroup && checkboxGroup.toggleValue(value);
|
|
40
41
|
} }) });
|
|
41
42
|
};
|
|
42
43
|
exports.default = useCheckbox;
|
|
@@ -51,10 +51,10 @@ const SearchField = (0, react_1.forwardRef)((props, ref) => {
|
|
|
51
51
|
"navds-search-field--disabled": !!inputProps.disabled,
|
|
52
52
|
}) }),
|
|
53
53
|
react_1.default.createElement(__1.Label, { htmlFor: inputProps.id, size: size, as: "label", className: (0, classnames_1.default)("navds-text-field__label", {
|
|
54
|
-
"sr-only": hideLabel,
|
|
54
|
+
"navds-sr-only": hideLabel,
|
|
55
55
|
}) }, label),
|
|
56
56
|
!!description && (react_1.default.createElement(__1.BodyShort, { as: "div", className: (0, classnames_1.default)("navds-text-field__description", {
|
|
57
|
-
"sr-only": hideLabel,
|
|
57
|
+
"navds-sr-only": hideLabel,
|
|
58
58
|
}), id: inputDescriptionId, size: size }, description)),
|
|
59
59
|
react_1.default.createElement("div", { className: "navds-search-field__input-wrapper" },
|
|
60
60
|
react_1.default.createElement(exports.SearchFieldContext.Provider, { value: {
|
|
@@ -42,13 +42,13 @@ const HelpText = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
42
42
|
var { className, children, placement = "top", strategy = "absolute", title = "hjelp" } = _a, rest = __rest(_a, ["className", "children", "placement", "strategy", "title"]);
|
|
43
43
|
const buttonRef = (0, react_1.useRef)(null);
|
|
44
44
|
const mergedRef = (0, react_merge_refs_1.default)([buttonRef, ref]);
|
|
45
|
-
const popoverRef = (0, react_1.
|
|
45
|
+
const [popoverRef, setPopoverRef] = (0, react_1.useState)(null);
|
|
46
46
|
const wrapperRef = (0, react_1.useRef)(null);
|
|
47
47
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
48
48
|
(0, react_1.useEffect)(() => {
|
|
49
49
|
var _a;
|
|
50
|
-
open && ((_a = popoverRef.
|
|
51
|
-
}, [open]);
|
|
50
|
+
open && ((_a = popoverRef === null || popoverRef === void 0 ? void 0 : popoverRef.focus) === null || _a === void 0 ? void 0 : _a.call(popoverRef));
|
|
51
|
+
}, [open, popoverRef]);
|
|
52
52
|
const handleClick = (e) => {
|
|
53
53
|
setOpen((x) => !x);
|
|
54
54
|
rest.onClick && rest.onClick(e);
|
|
@@ -57,7 +57,7 @@ const HelpText = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
57
57
|
react_1.default.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => handleClick(e), className: (0, classnames_1.default)(className, "navds-help-text__button"), type: "button", "aria-expanded": open, "aria-haspopup": "dialog", title: title }),
|
|
58
58
|
react_1.default.createElement(ds_icons_1.Helptext, { className: "navds-help-text__icon" }),
|
|
59
59
|
react_1.default.createElement("span", { className: "navds-sr-only" }, title)),
|
|
60
|
-
react_1.default.createElement(__1.Popover, { ref:
|
|
60
|
+
react_1.default.createElement(__1.Popover, { ref: setPopoverRef, onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, role: "tooltip", anchorEl: buttonRef.current, placement: placement, strategy: strategy },
|
|
61
61
|
react_1.default.createElement(__1.Popover.Content, null, children))));
|
|
62
62
|
});
|
|
63
63
|
exports.default = HelpText;
|
package/cjs/index.js
CHANGED
|
@@ -11,7 +11,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./accordion"), exports);
|
|
14
|
-
__exportStar(require("./accordion-menu"), exports);
|
|
15
14
|
__exportStar(require("./alert"), exports);
|
|
16
15
|
__exportStar(require("./button"), exports);
|
|
17
16
|
__exportStar(require("./form"), exports);
|
|
@@ -21,6 +20,7 @@ __exportStar(require("./guide-panel"), exports);
|
|
|
21
20
|
__exportStar(require("./link"), exports);
|
|
22
21
|
__exportStar(require("./link-panel"), exports);
|
|
23
22
|
__exportStar(require("./loader"), exports);
|
|
23
|
+
__exportStar(require("./menu"), exports);
|
|
24
24
|
__exportStar(require("./modal"), exports);
|
|
25
25
|
__exportStar(require("./pagination"), exports);
|
|
26
26
|
__exportStar(require("./panel"), exports);
|
|
@@ -28,6 +28,7 @@ __exportStar(require("./popover"), exports);
|
|
|
28
28
|
__exportStar(require("./speech-bubble"), exports);
|
|
29
29
|
__exportStar(require("./step-indicator"), exports);
|
|
30
30
|
__exportStar(require("./tag"), exports);
|
|
31
|
+
__exportStar(require("./toggle-group"), exports);
|
|
31
32
|
__exportStar(require("./table"), exports);
|
|
32
33
|
__exportStar(require("./typography"), exports);
|
|
33
34
|
__exportStar(require("./util"), exports);
|
|
@@ -36,13 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
const react_1 = __importStar(require("react"));
|
|
37
37
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
38
|
const MenuItems_1 = __importDefault(require("./MenuItems"));
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
39
|
+
const MenuItem_1 = __importDefault(require("./MenuItem"));
|
|
40
|
+
const MenuCollapse_1 = __importDefault(require("./MenuCollapse"));
|
|
41
|
+
const Menu = (0, react_1.forwardRef)((_a, ref) => {
|
|
42
42
|
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
43
|
-
return (react_1.default.createElement("nav", Object.assign({ role: "navigation", ref: ref, className: (0, classnames_1.default)("navds-
|
|
43
|
+
return (react_1.default.createElement("nav", Object.assign({}, rest, { role: "navigation", ref: ref, className: (0, classnames_1.default)("navds-menu", className) }),
|
|
44
44
|
react_1.default.createElement(MenuItems_1.default, null, children)));
|
|
45
45
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
exports.default =
|
|
46
|
+
Menu.Collapse = MenuCollapse_1.default;
|
|
47
|
+
Menu.Item = MenuItem_1.default;
|
|
48
|
+
exports.default = Menu;
|
|
@@ -33,19 +33,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
33
33
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.NestingContext = void 0;
|
|
36
37
|
const react_1 = __importStar(require("react"));
|
|
37
38
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
39
|
const ds_icons_1 = require("@navikt/ds-icons");
|
|
39
40
|
const MenuItems_1 = __importDefault(require("./MenuItems"));
|
|
40
|
-
|
|
41
|
+
exports.NestingContext = (0, react_1.createContext)({ depth: 1 });
|
|
42
|
+
const NestingProvider = ({ children }) => {
|
|
43
|
+
const context = (0, react_1.useContext)(exports.NestingContext);
|
|
44
|
+
return (react_1.default.createElement(exports.NestingContext.Provider, { value: {
|
|
45
|
+
depth: context.depth + 1,
|
|
46
|
+
} }, children));
|
|
47
|
+
};
|
|
48
|
+
const Collapse = (0, react_1.forwardRef)((_a, ref) => {
|
|
41
49
|
var { children, defaultOpen = false, title, className } = _a, rest = __rest(_a, ["children", "defaultOpen", "title", "className"]);
|
|
42
50
|
const [isOpen, setIsOpen] = (0, react_1.useState)(defaultOpen);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
const context = (0, react_1.useContext)(exports.NestingContext);
|
|
52
|
+
return (react_1.default.createElement("div", Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-menu-collapse", className, {
|
|
53
|
+
"navds-menu-collapse--open": isOpen,
|
|
54
|
+
}) }),
|
|
55
|
+
react_1.default.createElement("button", { onClick: () => setIsOpen(!isOpen), className: "navds-menu-collapse__button" },
|
|
47
56
|
title,
|
|
48
|
-
react_1.default.createElement(ds_icons_1.Expand, { title: isOpen ? "
|
|
49
|
-
|
|
57
|
+
react_1.default.createElement(ds_icons_1.Expand, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon" }),
|
|
58
|
+
react_1.default.createElement(ds_icons_1.ExpandFilled, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon navds-menu-collapse__expand-icon--filled" })),
|
|
59
|
+
react_1.default.createElement(NestingProvider, null, isOpen && (react_1.default.createElement(MenuItems_1.default, { "data-depth": context.depth, className: "navds-menu__list--inner" }, children)))));
|
|
50
60
|
});
|
|
51
|
-
exports.default =
|
|
61
|
+
exports.default = Collapse;
|
|
@@ -37,8 +37,8 @@ const react_1 = __importStar(require("react"));
|
|
|
37
37
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
38
|
const Item = (0, react_1.forwardRef)((_a, ref) => {
|
|
39
39
|
var { children, as: Component = "a", active = false, className } = _a, rest = __rest(_a, ["children", "as", "active", "className"]);
|
|
40
|
-
return (react_1.default.createElement(Component, Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-
|
|
41
|
-
"navds-
|
|
40
|
+
return (react_1.default.createElement(Component, Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-menu-item", className, {
|
|
41
|
+
"navds-menu-item--active": active,
|
|
42
42
|
}) }, rest), children));
|
|
43
43
|
});
|
|
44
44
|
exports.default = Item;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const MenuItems = (_a) => {
|
|
20
|
+
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
21
|
+
return (react_1.default.createElement("ul", Object.assign({}, rest, { className: (0, classnames_1.default)("navds-menu__list", className) }), react_1.default.Children.toArray(children).map((child, i) => (react_1.default.createElement("li", { key: i, className: "navds-menu__list-item" }, child)))));
|
|
22
|
+
};
|
|
23
|
+
exports.default = MenuItems;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Menu = void 0;
|
|
7
|
+
var Menu_1 = require("./Menu");
|
|
8
|
+
Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });
|
package/cjs/modal/Modal.js
CHANGED
|
@@ -41,7 +41,7 @@ const ds_icons_1 = require("@navikt/ds-icons");
|
|
|
41
41
|
const __1 = require("..");
|
|
42
42
|
const ModalContent_1 = __importDefault(require("./ModalContent"));
|
|
43
43
|
const Modal = (0, react_1.forwardRef)((_a, ref) => {
|
|
44
|
-
var { children, open, onClose, className, shouldCloseOnOverlayClick = true, closeButton = true } = _a, rest = __rest(_a, ["children", "open", "onClose", "className", "shouldCloseOnOverlayClick", "closeButton"]);
|
|
44
|
+
var { children, open, onClose, className, shouldCloseOnOverlayClick = true, closeButton = true, "aria-describedby": ariaDescribedBy, "aria-labelledby": ariaLabelledBy, "aria-modal": ariaModal } = _a, rest = __rest(_a, ["children", "open", "onClose", "className", "shouldCloseOnOverlayClick", "closeButton", "aria-describedby", "aria-labelledby", "aria-modal"]);
|
|
45
45
|
const modalRef = (0, react_1.useRef)(null);
|
|
46
46
|
const mergedRef = (0, react_merge_refs_1.default)([modalRef, ref]);
|
|
47
47
|
const buttonRef = (0, react_1.useRef)(null);
|
|
@@ -53,7 +53,11 @@ const Modal = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
53
53
|
buttonRef.current.focus();
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
-
return (react_1.default.createElement(react_modal_1.default, Object.assign({}, rest, { isOpen: open, ref: mergedRef, className: (0, classnames_1.default)("navds-modal", className), overlayClassName: "navds-modal__overlay", shouldCloseOnOverlayClick: shouldCloseOnOverlayClick, onRequestClose: (e) => onModalCloseRequest(e)
|
|
56
|
+
return (react_1.default.createElement(react_modal_1.default, Object.assign({}, rest, { isOpen: open, ref: mergedRef, className: (0, classnames_1.default)("navds-modal", className), overlayClassName: "navds-modal__overlay", shouldCloseOnOverlayClick: shouldCloseOnOverlayClick, onRequestClose: (e) => onModalCloseRequest(e), aria: {
|
|
57
|
+
describedby: ariaDescribedBy,
|
|
58
|
+
labelledby: ariaLabelledBy,
|
|
59
|
+
modal: ariaModal,
|
|
60
|
+
} }),
|
|
57
61
|
children,
|
|
58
62
|
closeButton && (react_1.default.createElement(__1.Button, { className: (0, classnames_1.default)("navds-modal__button", {
|
|
59
63
|
"navds-modal__button--shake": shouldCloseOnOverlayClick,
|
|
@@ -41,7 +41,7 @@ const PageHeader = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
41
41
|
return (react_1.default.createElement("div", Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-page-header", className, `navds-page-header--${variant}`, `navds-page-header--${align}`) }, rest),
|
|
42
42
|
illustration && (react_1.default.createElement("div", { className: "navds-page-header__illustration" }, illustration)),
|
|
43
43
|
react_1.default.createElement("div", { className: "navds-page-header__wrapper" },
|
|
44
|
-
react_1.default.createElement(__1.Heading, { className: "navds-page-header__title", size: "
|
|
44
|
+
react_1.default.createElement(__1.Heading, { className: "navds-page-header__title", size: "xlarge", level: "1" }, children),
|
|
45
45
|
description && (react_1.default.createElement(__1.BodyShort, { className: "navds-page-header__description" }, description)))));
|
|
46
46
|
});
|
|
47
47
|
exports.default = PageHeader;
|
|
@@ -8,37 +8,64 @@ const react_1 = __importDefault(require("react"));
|
|
|
8
8
|
const classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
const ds_icons_1 = require("@navikt/ds-icons");
|
|
10
10
|
const __1 = require("..");
|
|
11
|
-
const getSteps = ({
|
|
12
|
-
|
|
13
|
-
.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
const getSteps = ({ page, count, boundaryCount = 1, siblingCount = 1, }) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const range = (start, end) => Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
14
|
+
if (count <= (boundaryCount + siblingCount) * 2 + 3)
|
|
15
|
+
return range(1, count);
|
|
16
|
+
const startPages = range(1, boundaryCount);
|
|
17
|
+
const endPages = range(count - boundaryCount + 1, count);
|
|
18
|
+
const siblingsStart = Math.max(Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1), boundaryCount + 2);
|
|
19
|
+
const siblingsEnd = siblingsStart + siblingCount * 2;
|
|
20
|
+
return [
|
|
21
|
+
...startPages,
|
|
22
|
+
siblingsStart - ((_a = startPages[startPages.length - 1]) !== null && _a !== void 0 ? _a : 0) === 2
|
|
23
|
+
? siblingsStart - 1
|
|
24
|
+
: "ellipsis",
|
|
25
|
+
...range(siblingsStart, siblingsEnd),
|
|
26
|
+
((_b = endPages[0]) !== null && _b !== void 0 ? _b : count + 1) - siblingsEnd === 2
|
|
27
|
+
? siblingsEnd + 1
|
|
28
|
+
: "ellipsis",
|
|
29
|
+
...endPages,
|
|
30
|
+
];
|
|
31
|
+
};
|
|
32
|
+
exports.getSteps = getSteps;
|
|
33
|
+
const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount = 1, className, size = "medium", prevNextTexts = false, }) => {
|
|
34
|
+
if (page < 1) {
|
|
35
|
+
console.error("page cannot be less than 1");
|
|
36
|
+
return null;
|
|
20
37
|
}
|
|
21
|
-
if (
|
|
22
|
-
|
|
38
|
+
if (count < 1) {
|
|
39
|
+
console.error("count cannot be less than 1");
|
|
40
|
+
return null;
|
|
23
41
|
}
|
|
24
|
-
if (
|
|
25
|
-
|
|
42
|
+
if (boundaryCount < 0) {
|
|
43
|
+
console.error("boundaryCount cannot be less than 0");
|
|
44
|
+
return null;
|
|
26
45
|
}
|
|
27
|
-
if (
|
|
28
|
-
|
|
46
|
+
if (siblingCount < 0) {
|
|
47
|
+
console.error("siblingCount cannot be less than 0");
|
|
48
|
+
return null;
|
|
29
49
|
}
|
|
30
|
-
return
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
50
|
+
return (react_1.default.createElement("nav", { className: (0, classnames_1.default)("navds-pagination", `navds-pagination--${size}`, className) },
|
|
51
|
+
prevNextTexts && page !== 1 && (react_1.default.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page - 1) },
|
|
52
|
+
react_1.default.createElement(ds_icons_1.Back, { className: "navds-pagination__prev-next-icon", role: "presentation" }),
|
|
53
|
+
react_1.default.createElement(__1.BodyShort, { size: size, className: "navds-pagination__prev-text" }, "Forrige"))),
|
|
54
|
+
react_1.default.createElement("ul", { className: "navds-pagination__list" },
|
|
55
|
+
!prevNextTexts && page !== 1 && (react_1.default.createElement("li", null,
|
|
56
|
+
react_1.default.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page - 1) },
|
|
57
|
+
react_1.default.createElement(ds_icons_1.Back, { className: "navds-pagination__prev-next-icon", title: "Forrige" })))),
|
|
58
|
+
(0, exports.getSteps)({ page, count, siblingCount, boundaryCount }).map((step, i) => {
|
|
59
|
+
const n = Number(step);
|
|
60
|
+
return isNaN(n) ? (react_1.default.createElement("li", { className: "navds-pagination__ellipsis", key: `${step}${i}` },
|
|
61
|
+
react_1.default.createElement(__1.BodyShort, { size: size }, "..."))) : (react_1.default.createElement("li", { key: step },
|
|
62
|
+
react_1.default.createElement(__1.BodyShort, { size: size, as: "button", className: "navds-pagination__item", onClick: () => onPageChange(n), "aria-current": page === n ? true : undefined }, n)));
|
|
63
|
+
}),
|
|
64
|
+
!prevNextTexts && page !== count && (react_1.default.createElement("li", null,
|
|
65
|
+
react_1.default.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page + 1) },
|
|
66
|
+
react_1.default.createElement(ds_icons_1.Next, { className: "navds-pagination__prev-next-icon", title: "Neste" }))))),
|
|
67
|
+
prevNextTexts && page !== count && (react_1.default.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page + 1) },
|
|
68
|
+
react_1.default.createElement(__1.BodyShort, { size: size, className: "navds-pagination__next-text" }, "Neste"),
|
|
69
|
+
react_1.default.createElement(ds_icons_1.Next, { className: "navds-pagination__prev-next-icon", role: "presentation" })))));
|
|
43
70
|
};
|
|
44
71
|
exports.default = Pagination;
|
|
@@ -34,8 +34,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const react_1 = __importStar(require("react"));
|
|
37
|
-
const __1 = require("..");
|
|
38
37
|
const ds_icons_1 = require("@navikt/ds-icons");
|
|
38
|
+
const __1 = require("..");
|
|
39
39
|
const HeaderCell_1 = __importDefault(require("./HeaderCell"));
|
|
40
40
|
const ColumnHeader = (0, react_1.forwardRef)((_a, ref) => {
|
|
41
41
|
var _b, _c, _d, _e;
|
|
@@ -49,10 +49,10 @@ const ColumnHeader = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
49
49
|
? (_c = context === null || context === void 0 ? void 0 : context.sort) === null || _c === void 0 ? void 0 : _c.direction
|
|
50
50
|
: "none"
|
|
51
51
|
: undefined }, rest), sortable ? (react_1.default.createElement("button", { className: "navds-table__sort-button", onClick: sortable && sortKey
|
|
52
|
-
? () => { var _a; return (_a = context === null || context === void 0 ? void 0 : context.
|
|
52
|
+
? () => { var _a; return (_a = context === null || context === void 0 ? void 0 : context.onSortChange) === null || _a === void 0 ? void 0 : _a.call(context, sortKey); }
|
|
53
53
|
: undefined },
|
|
54
54
|
children,
|
|
55
55
|
((_d = context === null || context === void 0 ? void 0 : context.sort) === null || _d === void 0 ? void 0 : _d.orderBy) === sortKey &&
|
|
56
|
-
((
|
|
56
|
+
((_e = context === null || context === void 0 ? void 0 : context.sort) === null || _e === void 0 ? void 0 : _e.direction) === "descending" ? (react_1.default.createElement(ds_icons_1.Down, { "aria-label": "sorter synkende" })) : (react_1.default.createElement(ds_icons_1.Up, { "aria-label": "sorter stigende" })))) : (children)));
|
|
57
57
|
});
|
|
58
58
|
exports.default = ColumnHeader;
|
package/cjs/table/DataCell.js
CHANGED
|
@@ -38,8 +38,10 @@ const classnames_1 = __importDefault(require("classnames"));
|
|
|
38
38
|
const __1 = require("..");
|
|
39
39
|
const _1 = require(".");
|
|
40
40
|
const DataCell = (0, react_1.forwardRef)((_a, ref) => {
|
|
41
|
-
var { className, children = "" } = _a, rest = __rest(_a, ["className", "children"]);
|
|
41
|
+
var { className, children = "", align } = _a, rest = __rest(_a, ["className", "children", "align"]);
|
|
42
42
|
const context = (0, react_1.useContext)(_1.TableContext);
|
|
43
|
-
return (react_1.default.createElement(__1.BodyShort, Object.assign({ as: "td", ref: ref, className: (0, classnames_1.default)("navds-table__data-cell", className
|
|
43
|
+
return (react_1.default.createElement(__1.BodyShort, Object.assign({ as: "td", ref: ref, className: (0, classnames_1.default)("navds-table__data-cell", className, {
|
|
44
|
+
[`navds-table__data-cell--align-${align}`]: align,
|
|
45
|
+
}), size: context === null || context === void 0 ? void 0 : context.size }, rest), children));
|
|
44
46
|
});
|
|
45
47
|
exports.default = DataCell;
|
package/cjs/table/HeaderCell.js
CHANGED
|
@@ -37,8 +37,10 @@ const react_1 = __importStar(require("react"));
|
|
|
37
37
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
38
|
const __1 = require("..");
|
|
39
39
|
const HeaderCell = (0, react_1.forwardRef)((_a, ref) => {
|
|
40
|
-
var { className, children } = _a, rest = __rest(_a, ["className", "children"]);
|
|
40
|
+
var { className, children, align } = _a, rest = __rest(_a, ["className", "children", "align"]);
|
|
41
41
|
const context = (0, react_1.useContext)(__1.TableContext);
|
|
42
|
-
return (react_1.default.createElement(__1.Label, Object.assign({ as: "th", ref: ref, className: (0, classnames_1.default)("navds-table__header-cell", className
|
|
42
|
+
return (react_1.default.createElement(__1.Label, Object.assign({ as: "th", ref: ref, className: (0, classnames_1.default)("navds-table__header-cell", className, {
|
|
43
|
+
[`navds-table__header-cell--align-${align}`]: align,
|
|
44
|
+
}), size: context === null || context === void 0 ? void 0 : context.size }, rest), children));
|
|
43
45
|
});
|
|
44
46
|
exports.default = HeaderCell;
|