@navikt/ds-react 0.17.8 → 0.17.11

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.
@@ -37,9 +37,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- const react_1 = __importStar(require("react"));
41
- const classnames_1 = __importDefault(require("classnames"));
42
40
  const ds_icons_1 = require("@navikt/ds-icons");
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const react_1 = __importStar(require("react"));
43
43
  const __1 = require("..");
44
44
  const Icon = (_a) => {
45
45
  var { variant } = _a, props = __rest(_a, ["variant"]);
@@ -51,8 +51,8 @@ const HelpText = (0, react_1.forwardRef)((_a, ref) => {
51
51
  react_1.default.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => {
52
52
  setOpen((x) => !x);
53
53
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
54
- }, className: (0, classnames_1.default)(className, "navds-help-text__button"), type: "button", "aria-expanded": open, title: title }),
55
- react_1.default.createElement(ds_icons_1.Helptext, { className: "navds-help-text__icon", "aria-hidden": true })),
54
+ }, className: (0, classnames_1.default)(className, "navds-help-text__button"), type: "button", "aria-expanded": open }),
55
+ react_1.default.createElement(ds_icons_1.Helptext, { className: "navds-help-text__icon", title: title })),
56
56
  react_1.default.createElement(__1.Popover, { onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, anchorEl: buttonRef.current, placement: placement, strategy: strategy },
57
57
  react_1.default.createElement(__1.Popover.Content, { className: "navds-body-short" }, children))));
58
58
  });
@@ -1,10 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
2
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
38
  };
5
39
  Object.defineProperty(exports, "__esModule", { value: true });
6
40
  exports.getSteps = void 0;
7
- const react_1 = __importDefault(require("react"));
41
+ const react_1 = __importStar(require("react"));
8
42
  const classnames_1 = __importDefault(require("classnames"));
9
43
  const ds_icons_1 = require("@navikt/ds-icons");
10
44
  const __1 = require("..");
@@ -30,7 +64,8 @@ const getSteps = ({ page, count, boundaryCount = 1, siblingCount = 1, }) => {
30
64
  ];
31
65
  };
32
66
  exports.getSteps = getSteps;
33
- const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount = 1, className, size = "medium", prevNextTexts = false, }) => {
67
+ const Pagination = (0, react_1.forwardRef)((_a, ref) => {
68
+ var { page, onPageChange, count, boundaryCount = 1, siblingCount = 1, className, size = "medium", prevNextTexts = false } = _a, rest = __rest(_a, ["page", "onPageChange", "count", "boundaryCount", "siblingCount", "className", "size", "prevNextTexts"]);
34
69
  if (page < 1) {
35
70
  console.error("page cannot be less than 1");
36
71
  return null;
@@ -47,13 +82,17 @@ const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount
47
82
  console.error("siblingCount cannot be less than 0");
48
83
  return null;
49
84
  }
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) },
85
+ return (react_1.default.createElement("nav", Object.assign({ ref: ref }, rest, { className: (0, classnames_1.default)("navds-pagination", `navds-pagination--${size}`, className) }),
86
+ prevNextTexts && (react_1.default.createElement("button", { className: (0, classnames_1.default)("navds-pagination__prev-next", {
87
+ "navds-pagination--invisible": page === 1,
88
+ }), disabled: page === 1, onClick: () => onPageChange(page - 1) },
52
89
  react_1.default.createElement(ds_icons_1.Back, { className: "navds-pagination__prev-next-icon", role: "presentation" }),
53
90
  react_1.default.createElement(__1.BodyShort, { size: size, className: "navds-pagination__prev-text" }, "Forrige"))),
54
91
  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) },
92
+ !prevNextTexts && (react_1.default.createElement("li", null,
93
+ react_1.default.createElement("button", { className: (0, classnames_1.default)("navds-pagination__prev-next", {
94
+ "navds-pagination--invisible": page === 1,
95
+ }), disabled: page === 1, onClick: () => onPageChange(page - 1) },
57
96
  react_1.default.createElement(ds_icons_1.Back, { className: "navds-pagination__prev-next-icon", title: "Forrige" })))),
58
97
  (0, exports.getSteps)({ page, count, siblingCount, boundaryCount }).map((step, i) => {
59
98
  const n = Number(step);
@@ -61,11 +100,15 @@ const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount
61
100
  react_1.default.createElement(__1.BodyShort, { size: size }, "..."))) : (react_1.default.createElement("li", { key: step },
62
101
  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
102
  }),
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) },
103
+ !prevNextTexts && (react_1.default.createElement("li", null,
104
+ react_1.default.createElement("button", { className: (0, classnames_1.default)("navds-pagination__prev-next", {
105
+ "navds-pagination--invisible": page === count,
106
+ }), disabled: page === count, onClick: () => onPageChange(page + 1) },
66
107
  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) },
108
+ prevNextTexts && (react_1.default.createElement("button", { className: (0, classnames_1.default)("navds-pagination__prev-next", {
109
+ "navds-pagination--invisible": page === count,
110
+ }), disabled: page === count, onClick: () => onPageChange(page + 1) },
68
111
  react_1.default.createElement(__1.BodyShort, { size: size, className: "navds-pagination__next-text" }, "Neste"),
69
112
  react_1.default.createElement(ds_icons_1.Next, { className: "navds-pagination__prev-next-icon", role: "presentation" })))));
70
- };
113
+ });
71
114
  exports.default = Pagination;
@@ -9,9 +9,9 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { forwardRef } from "react";
12
+ import { ErrorFilled, InformationFilled, SuccessFilled, WarningFilled, } from "@navikt/ds-icons";
13
13
  import cl from "classnames";
14
- import { ErrorFilled, WarningFilled, InformationFilled, SuccessFilled, } from "@navikt/ds-icons";
14
+ import React, { forwardRef } from "react";
15
15
  import { BodyLong } from "..";
16
16
  const Icon = (_a) => {
17
17
  var { variant } = _a, props = __rest(_a, ["variant"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../src/alert/Alert.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AA2B9B,MAAM,IAAI,GAAG,CAAC,EAAqB,EAAE,EAAE;QAAzB,EAAE,OAAO,OAAY,EAAP,KAAK,cAAnB,WAAqB,CAAF;IAC/B,QAAQ,OAAO,EAAE;QACf,KAAK,OAAO;YACV,OAAO,oBAAC,WAAW,kBAAC,KAAK,EAAC,MAAM,IAAK,KAAK,EAAI,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,oBAAC,aAAa,kBAAC,KAAK,EAAC,UAAU,IAAK,KAAK,EAAI,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,oBAAC,iBAAiB,kBAAC,KAAK,EAAC,aAAa,IAAK,KAAK,EAAI,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,oBAAC,aAAa,kBAAC,KAAK,EAAC,SAAS,IAAK,KAAK,EAAI,CAAC;QACtD;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAMF,MAAM,KAAK,GAAG,UAAU,CACtB,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAI,GAAG,QAAQ,EACf,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,KAAK,OAEf,EADI,IAAI,cAPT,mEAQC,CADQ;IAGN,OAAA,CACH,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,aAAa,EACb,gBAAgB,OAAO,EAAE,EACzB,gBAAgB,IAAI,EAAE,EACtB,EAAE,yBAAyB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,CACxE;QAED,oBAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,mBAAmB,GAAG;QACxD,oBAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,sBAAsB,IAC5D,QAAQ,CACA,CACP,CACP,CAAA;CAAA,CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../src/alert/Alert.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AA2B9B,MAAM,IAAI,GAAG,CAAC,EAAqB,EAAE,EAAE;QAAzB,EAAE,OAAO,OAAY,EAAP,KAAK,cAAnB,WAAqB,CAAF;IAC/B,QAAQ,OAAO,EAAE;QACf,KAAK,OAAO;YACV,OAAO,oBAAC,WAAW,kBAAC,KAAK,EAAC,MAAM,IAAK,KAAK,EAAI,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,oBAAC,aAAa,kBAAC,KAAK,EAAC,UAAU,IAAK,KAAK,EAAI,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,oBAAC,iBAAiB,kBAAC,KAAK,EAAC,aAAa,IAAK,KAAK,EAAI,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,oBAAC,aAAa,kBAAC,KAAK,EAAC,SAAS,IAAK,KAAK,EAAI,CAAC;QACtD;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAMF,MAAM,KAAK,GAAG,UAAU,CACtB,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAI,GAAG,QAAQ,EACf,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,KAAK,OAEf,EADI,IAAI,cAPT,mEAQC,CADQ;IAGN,OAAA,CACH,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,aAAa,EACb,gBAAgB,OAAO,EAAE,EACzB,gBAAgB,IAAI,EAAE,EACtB,EAAE,yBAAyB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,CACxE;QAED,oBAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,mBAAmB,GAAG;QACxD,oBAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,sBAAsB,IAC5D,QAAQ,CACA,CACP,CACP,CAAA;CAAA,CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -23,8 +23,8 @@ const HelpText = forwardRef((_a, ref) => {
23
23
  React.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => {
24
24
  setOpen((x) => !x);
25
25
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
26
- }, className: cl(className, "navds-help-text__button"), type: "button", "aria-expanded": open, title: title }),
27
- React.createElement(HelpTextIcon, { className: "navds-help-text__icon", "aria-hidden": true })),
26
+ }, className: cl(className, "navds-help-text__button"), type: "button", "aria-expanded": open }),
27
+ React.createElement(HelpTextIcon, { className: "navds-help-text__icon", title: title })),
28
28
  React.createElement(Popover, { onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, anchorEl: buttonRef.current, placement: placement, strategy: strategy },
29
29
  React.createElement(Popover.Content, { className: "navds-body-short" }, children))));
30
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"HelpText.js","sourceRoot":"","sources":["../../src/help-text/HelpText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAgB,MAAM,IAAI,CAAC;AAW3C,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,UAAU,EACrB,KAAK,GAAG,OAAO,EACf,OAAO,OAER,EADI,IAAI,cAPT,sEAQC,CADQ;IAIT,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB;QAC9B,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;YACf,CAAC,EACD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC,EACnD,IAAI,EAAC,QAAQ,mBACE,IAAI,EACnB,KAAK,EAAE,KAAK;YAEZ,oBAAC,YAAY,IAAC,SAAS,EAAC,uBAAuB,wBAAc,CACtD;QACT,oBAAC,OAAO,IACN,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;YAElB,oBAAC,OAAO,CAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,IAC1C,QAAQ,CACO,CACV,CACN,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"HelpText.js","sourceRoot":"","sources":["../../src/help-text/HelpText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAgB,MAAM,IAAI,CAAC;AAW3C,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,UAAU,EACrB,KAAK,GAAG,OAAO,EACf,OAAO,OAER,EADI,IAAI,cAPT,sEAQC,CADQ;IAIT,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB;QAC9B,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;YACf,CAAC,EACD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC,EACnD,IAAI,EAAC,QAAQ,mBACE,IAAI;YAEnB,oBAAC,YAAY,IAAC,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,KAAK,GAAI,CACzD;QACT,oBAAC,OAAO,IACN,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;YAElB,oBAAC,OAAO,CAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,IAC1C,QAAQ,CACO,CACV,CACN,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -39,5 +39,5 @@ export declare const getSteps: ({ page, count, boundaryCount, siblingCount, }: {
39
39
  boundaryCount?: number | undefined;
40
40
  siblingCount?: number | undefined;
41
41
  }) => (string | number)[];
42
- declare const Pagination: ({ page, onPageChange, count, boundaryCount, siblingCount, className, size, prevNextTexts, }: PaginationProps) => JSX.Element | null;
42
+ declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
43
43
  export default Pagination;
@@ -1,4 +1,15 @@
1
- import React from "react";
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from "react";
2
13
  import cl from "classnames";
3
14
  import { Back, Next } from "@navikt/ds-icons";
4
15
  import { BodyShort } from "..";
@@ -23,7 +34,8 @@ export const getSteps = ({ page, count, boundaryCount = 1, siblingCount = 1, })
23
34
  ...endPages,
24
35
  ];
25
36
  };
26
- const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount = 1, className, size = "medium", prevNextTexts = false, }) => {
37
+ const Pagination = forwardRef((_a, ref) => {
38
+ var { page, onPageChange, count, boundaryCount = 1, siblingCount = 1, className, size = "medium", prevNextTexts = false } = _a, rest = __rest(_a, ["page", "onPageChange", "count", "boundaryCount", "siblingCount", "className", "size", "prevNextTexts"]);
27
39
  if (page < 1) {
28
40
  console.error("page cannot be less than 1");
29
41
  return null;
@@ -40,13 +52,17 @@ const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount
40
52
  console.error("siblingCount cannot be less than 0");
41
53
  return null;
42
54
  }
43
- return (React.createElement("nav", { className: cl("navds-pagination", `navds-pagination--${size}`, className) },
44
- prevNextTexts && page !== 1 && (React.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page - 1) },
55
+ return (React.createElement("nav", Object.assign({ ref: ref }, rest, { className: cl("navds-pagination", `navds-pagination--${size}`, className) }),
56
+ prevNextTexts && (React.createElement("button", { className: cl("navds-pagination__prev-next", {
57
+ "navds-pagination--invisible": page === 1,
58
+ }), disabled: page === 1, onClick: () => onPageChange(page - 1) },
45
59
  React.createElement(Back, { className: "navds-pagination__prev-next-icon", role: "presentation" }),
46
60
  React.createElement(BodyShort, { size: size, className: "navds-pagination__prev-text" }, "Forrige"))),
47
61
  React.createElement("ul", { className: "navds-pagination__list" },
48
- !prevNextTexts && page !== 1 && (React.createElement("li", null,
49
- React.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page - 1) },
62
+ !prevNextTexts && (React.createElement("li", null,
63
+ React.createElement("button", { className: cl("navds-pagination__prev-next", {
64
+ "navds-pagination--invisible": page === 1,
65
+ }), disabled: page === 1, onClick: () => onPageChange(page - 1) },
50
66
  React.createElement(Back, { className: "navds-pagination__prev-next-icon", title: "Forrige" })))),
51
67
  getSteps({ page, count, siblingCount, boundaryCount }).map((step, i) => {
52
68
  const n = Number(step);
@@ -54,12 +70,16 @@ const Pagination = ({ page, onPageChange, count, boundaryCount = 1, siblingCount
54
70
  React.createElement(BodyShort, { size: size }, "..."))) : (React.createElement("li", { key: step },
55
71
  React.createElement(BodyShort, { size: size, as: "button", className: "navds-pagination__item", onClick: () => onPageChange(n), "aria-current": page === n ? true : undefined }, n)));
56
72
  }),
57
- !prevNextTexts && page !== count && (React.createElement("li", null,
58
- React.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page + 1) },
73
+ !prevNextTexts && (React.createElement("li", null,
74
+ React.createElement("button", { className: cl("navds-pagination__prev-next", {
75
+ "navds-pagination--invisible": page === count,
76
+ }), disabled: page === count, onClick: () => onPageChange(page + 1) },
59
77
  React.createElement(Next, { className: "navds-pagination__prev-next-icon", title: "Neste" }))))),
60
- prevNextTexts && page !== count && (React.createElement("button", { className: "navds-pagination__prev-next", onClick: () => onPageChange(page + 1) },
78
+ prevNextTexts && (React.createElement("button", { className: cl("navds-pagination__prev-next", {
79
+ "navds-pagination--invisible": page === count,
80
+ }), disabled: page === count, onClick: () => onPageChange(page + 1) },
61
81
  React.createElement(BodyShort, { size: size, className: "navds-pagination__next-text" }, "Neste"),
62
82
  React.createElement(Next, { className: "navds-pagination__prev-next-icon", role: "presentation" })))));
63
- };
83
+ });
64
84
  export default Pagination;
65
85
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "0.17.8",
3
+ "version": "0.17.11",
4
4
  "private": false,
5
5
  "description": "NAV designsystem react components",
6
6
  "author": "NAV Designsystem team",
@@ -67,5 +67,5 @@
67
67
  "@types/react": "^17.0.30",
68
68
  "react": "^17.0.0"
69
69
  },
70
- "gitHead": "a3b28bb9ad1ca3a3a188d643ee26918d36805bf2"
70
+ "gitHead": "62ba36ae0944d7db43a265b24b24040322f0366f"
71
71
  }
@@ -1,11 +1,11 @@
1
- import React, { forwardRef } from "react";
2
- import cl from "classnames";
3
1
  import {
4
2
  ErrorFilled,
5
- WarningFilled,
6
3
  InformationFilled,
7
4
  SuccessFilled,
5
+ WarningFilled,
8
6
  } from "@navikt/ds-icons";
7
+ import cl from "classnames";
8
+ import React, { forwardRef } from "react";
9
9
  import { BodyLong } from "..";
10
10
 
11
11
  export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -1,12 +1,12 @@
1
1
  .navds-story-cell {
2
- border-radius: 0.25rem;
2
+ border-radius: var(--navds-border-radius-medium);
3
3
  background: white;
4
4
  padding: 1rem;
5
5
  }
6
6
 
7
7
  .navds-story-content-container {
8
8
  display: flex;
9
- border-radius: 0.25rem;
9
+ border-radius: var(--navds-border-radius-medium);
10
10
  justify-content: center;
11
11
  align-items: center;
12
12
  margin-bottom: 1.5rem;
@@ -42,9 +42,8 @@ const HelpText = forwardRef<HTMLButtonElement, HelpTextProps>(
42
42
  className={cl(className, "navds-help-text__button")}
43
43
  type="button"
44
44
  aria-expanded={open}
45
- title={title}
46
45
  >
47
- <HelpTextIcon className="navds-help-text__icon" aria-hidden/>
46
+ <HelpTextIcon className="navds-help-text__icon" title={title} />
48
47
  </button>
49
48
  <Popover
50
49
  onClose={() => setOpen(false)}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { forwardRef } from "react";
2
2
  import cl from "classnames";
3
3
  import { Back, Next } from "@navikt/ds-icons";
4
4
  import { BodyShort } from "..";
@@ -71,117 +71,141 @@ export const getSteps = ({
71
71
  ];
72
72
  };
73
73
 
74
- const Pagination = ({
75
- page,
76
- onPageChange,
77
- count,
78
- boundaryCount = 1,
79
- siblingCount = 1,
80
- className,
81
- size = "medium",
82
- prevNextTexts = false,
83
- }: PaginationProps) => {
84
- if (page < 1) {
85
- console.error("page cannot be less than 1");
86
- return null;
87
- }
88
- if (count < 1) {
89
- console.error("count cannot be less than 1");
90
- return null;
91
- }
92
- if (boundaryCount < 0) {
93
- console.error("boundaryCount cannot be less than 0");
94
- return null;
95
- }
96
- if (siblingCount < 0) {
97
- console.error("siblingCount cannot be less than 0");
98
- return null;
99
- }
74
+ const Pagination = forwardRef<HTMLElement, PaginationProps>(
75
+ (
76
+ {
77
+ page,
78
+ onPageChange,
79
+ count,
80
+ boundaryCount = 1,
81
+ siblingCount = 1,
82
+ className,
83
+ size = "medium",
84
+ prevNextTexts = false,
85
+ ...rest
86
+ },
87
+ ref
88
+ ) => {
89
+ if (page < 1) {
90
+ console.error("page cannot be less than 1");
91
+ return null;
92
+ }
93
+ if (count < 1) {
94
+ console.error("count cannot be less than 1");
95
+ return null;
96
+ }
97
+ if (boundaryCount < 0) {
98
+ console.error("boundaryCount cannot be less than 0");
99
+ return null;
100
+ }
101
+ if (siblingCount < 0) {
102
+ console.error("siblingCount cannot be less than 0");
103
+ return null;
104
+ }
100
105
 
101
- return (
102
- <nav
103
- className={cl("navds-pagination", `navds-pagination--${size}`, className)}
104
- >
105
- {prevNextTexts && page !== 1 && (
106
- <button
107
- className="navds-pagination__prev-next"
108
- onClick={() => onPageChange(page - 1)}
109
- >
110
- <Back
111
- className="navds-pagination__prev-next-icon"
112
- role="presentation"
113
- />
114
- <BodyShort size={size} className="navds-pagination__prev-text">
115
- Forrige
116
- </BodyShort>
117
- </button>
118
- )}
119
- <ul className="navds-pagination__list">
120
- {!prevNextTexts && page !== 1 && (
121
- <li>
122
- <button
123
- className="navds-pagination__prev-next"
124
- onClick={() => onPageChange(page - 1)}
125
- >
126
- <Back
127
- className="navds-pagination__prev-next-icon"
128
- title="Forrige"
129
- />
130
- </button>
131
- </li>
106
+ return (
107
+ <nav
108
+ ref={ref}
109
+ {...rest}
110
+ className={cl(
111
+ "navds-pagination",
112
+ `navds-pagination--${size}`,
113
+ className
132
114
  )}
133
- {getSteps({ page, count, siblingCount, boundaryCount }).map(
134
- (step, i) => {
135
- const n = Number(step);
136
- return isNaN(n) ? (
137
- <li className="navds-pagination__ellipsis" key={`${step}${i}`}>
138
- <BodyShort size={size}>...</BodyShort>
139
- </li>
140
- ) : (
141
- <li key={step}>
142
- <BodyShort
143
- size={size}
144
- as="button"
145
- className="navds-pagination__item"
146
- onClick={() => onPageChange(n)}
147
- aria-current={page === n ? true : undefined}
148
- >
149
- {n}
150
- </BodyShort>
151
- </li>
152
- );
153
- }
115
+ >
116
+ {prevNextTexts && (
117
+ <button
118
+ className={cl("navds-pagination__prev-next", {
119
+ "navds-pagination--invisible": page === 1,
120
+ })}
121
+ disabled={page === 1}
122
+ onClick={() => onPageChange(page - 1)}
123
+ >
124
+ <Back
125
+ className="navds-pagination__prev-next-icon"
126
+ role="presentation"
127
+ />
128
+ <BodyShort size={size} className="navds-pagination__prev-text">
129
+ Forrige
130
+ </BodyShort>
131
+ </button>
154
132
  )}
155
- {!prevNextTexts && page !== count && (
156
- <li>
157
- <button
158
- className="navds-pagination__prev-next"
159
- onClick={() => onPageChange(page + 1)}
160
- >
161
- <Next
162
- className="navds-pagination__prev-next-icon"
163
- title="Neste"
164
- />
165
- </button>
166
- </li>
133
+ <ul className="navds-pagination__list">
134
+ {!prevNextTexts && (
135
+ <li>
136
+ <button
137
+ className={cl("navds-pagination__prev-next", {
138
+ "navds-pagination--invisible": page === 1,
139
+ })}
140
+ disabled={page === 1}
141
+ onClick={() => onPageChange(page - 1)}
142
+ >
143
+ <Back
144
+ className="navds-pagination__prev-next-icon"
145
+ title="Forrige"
146
+ />
147
+ </button>
148
+ </li>
149
+ )}
150
+ {getSteps({ page, count, siblingCount, boundaryCount }).map(
151
+ (step, i) => {
152
+ const n = Number(step);
153
+ return isNaN(n) ? (
154
+ <li className="navds-pagination__ellipsis" key={`${step}${i}`}>
155
+ <BodyShort size={size}>...</BodyShort>
156
+ </li>
157
+ ) : (
158
+ <li key={step}>
159
+ <BodyShort
160
+ size={size}
161
+ as="button"
162
+ className="navds-pagination__item"
163
+ onClick={() => onPageChange(n)}
164
+ aria-current={page === n ? true : undefined}
165
+ >
166
+ {n}
167
+ </BodyShort>
168
+ </li>
169
+ );
170
+ }
171
+ )}
172
+ {!prevNextTexts && (
173
+ <li>
174
+ <button
175
+ className={cl("navds-pagination__prev-next", {
176
+ "navds-pagination--invisible": page === count,
177
+ })}
178
+ disabled={page === count}
179
+ onClick={() => onPageChange(page + 1)}
180
+ >
181
+ <Next
182
+ className="navds-pagination__prev-next-icon"
183
+ title="Neste"
184
+ />
185
+ </button>
186
+ </li>
187
+ )}
188
+ </ul>
189
+ {prevNextTexts && (
190
+ <button
191
+ className={cl("navds-pagination__prev-next", {
192
+ "navds-pagination--invisible": page === count,
193
+ })}
194
+ disabled={page === count}
195
+ onClick={() => onPageChange(page + 1)}
196
+ >
197
+ <BodyShort size={size} className="navds-pagination__next-text">
198
+ Neste
199
+ </BodyShort>
200
+ <Next
201
+ className="navds-pagination__prev-next-icon"
202
+ role="presentation"
203
+ />
204
+ </button>
167
205
  )}
168
- </ul>
169
- {prevNextTexts && page !== count && (
170
- <button
171
- className="navds-pagination__prev-next"
172
- onClick={() => onPageChange(page + 1)}
173
- >
174
- <BodyShort size={size} className="navds-pagination__next-text">
175
- Neste
176
- </BodyShort>
177
- <Next
178
- className="navds-pagination__prev-next-icon"
179
- role="presentation"
180
- />
181
- </button>
182
- )}
183
- </nav>
184
- );
185
- };
206
+ </nav>
207
+ );
208
+ }
209
+ );
186
210
 
187
211
  export default Pagination;
@@ -29,6 +29,7 @@ export const All = (props) => {
29
29
  </div>
30
30
  );
31
31
  };
32
+
32
33
  All.args = {
33
34
  page: 1,
34
35
  count: 8,