@navikt/ds-react 0.17.12 → 0.17.15

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.
Files changed (66) hide show
  1. package/cjs/index.js +2 -0
  2. package/cjs/stepper/Step.js +63 -0
  3. package/cjs/stepper/Stepper.js +60 -0
  4. package/cjs/stepper/index.js +23 -0
  5. package/cjs/stepper/package.json +6 -0
  6. package/cjs/table/ExpandableRow.js +76 -0
  7. package/cjs/table/Table.js +2 -0
  8. package/cjs/tabs/Tab.js +61 -0
  9. package/cjs/tabs/TabList.js +108 -0
  10. package/cjs/tabs/TabPanel.js +47 -0
  11. package/cjs/tabs/Tabs.js +58 -0
  12. package/cjs/tabs/index.js +8 -0
  13. package/cjs/tabs/package.json +6 -0
  14. package/esm/index.d.ts +2 -0
  15. package/esm/index.js +2 -0
  16. package/esm/index.js.map +1 -1
  17. package/esm/stepper/Step.d.ts +16 -0
  18. package/esm/stepper/Step.js +36 -0
  19. package/esm/stepper/Step.js.map +1 -0
  20. package/esm/stepper/Stepper.d.ts +31 -0
  21. package/esm/stepper/Stepper.js +32 -0
  22. package/esm/stepper/Stepper.js.map +1 -0
  23. package/esm/stepper/index.d.ts +2 -0
  24. package/esm/stepper/index.js +3 -0
  25. package/esm/stepper/index.js.map +1 -0
  26. package/esm/table/ExpandableRow.d.ts +31 -0
  27. package/esm/table/ExpandableRow.js +49 -0
  28. package/esm/table/ExpandableRow.js.map +1 -0
  29. package/esm/table/Row.d.ts +1 -1
  30. package/esm/table/Table.d.ts +2 -0
  31. package/esm/table/Table.js +2 -0
  32. package/esm/table/Table.js.map +1 -1
  33. package/esm/tabs/Tab.d.ts +24 -0
  34. package/esm/tabs/Tab.js +34 -0
  35. package/esm/tabs/Tab.js.map +1 -0
  36. package/esm/tabs/TabList.d.ts +14 -0
  37. package/esm/tabs/TabList.js +81 -0
  38. package/esm/tabs/TabList.js.map +1 -0
  39. package/esm/tabs/TabPanel.d.ts +14 -0
  40. package/esm/tabs/TabPanel.js +20 -0
  41. package/esm/tabs/TabPanel.js.map +1 -0
  42. package/esm/tabs/Tabs.d.ts +43 -0
  43. package/esm/tabs/Tabs.js +30 -0
  44. package/esm/tabs/Tabs.js.map +1 -0
  45. package/esm/tabs/index.d.ts +2 -0
  46. package/esm/tabs/index.js +2 -0
  47. package/esm/tabs/index.js.map +1 -0
  48. package/package.json +3 -2
  49. package/src/index.ts +2 -0
  50. package/src/step-indicator/stories/step-indicator.stories.mdx +1 -1
  51. package/src/stepper/Step.tsx +59 -0
  52. package/src/stepper/Stepper.tsx +73 -0
  53. package/src/stepper/index.ts +2 -0
  54. package/src/stepper/stories/Example.tsx +28 -0
  55. package/src/stepper/stories/stepper.stories.mdx +61 -0
  56. package/src/stepper/stories/stepper.stories.tsx +54 -0
  57. package/src/table/ExpandableRow.tsx +115 -0
  58. package/src/table/Row.tsx +1 -1
  59. package/src/table/Table.tsx +3 -0
  60. package/src/table/stories/table-expandable.stories.tsx +201 -0
  61. package/src/tabs/Tab.tsx +79 -0
  62. package/src/tabs/TabList.tsx +127 -0
  63. package/src/tabs/TabPanel.tsx +30 -0
  64. package/src/tabs/Tabs.stories.tsx +188 -0
  65. package/src/tabs/Tabs.tsx +89 -0
  66. package/src/tabs/index.ts +2 -0
package/cjs/index.js CHANGED
@@ -32,9 +32,11 @@ __exportStar(require("./popover"), exports);
32
32
  __exportStar(require("./read-more"), exports);
33
33
  __exportStar(require("./speech-bubble"), exports);
34
34
  __exportStar(require("./step-indicator"), exports);
35
+ __exportStar(require("./stepper"), exports);
35
36
  __exportStar(require("./tag"), exports);
36
37
  __exportStar(require("./toggle-group"), exports);
37
38
  __exportStar(require("./table"), exports);
39
+ __exportStar(require("./tabs"), exports);
38
40
  __exportStar(require("./typography"), exports);
39
41
  __exportStar(require("./util"), exports);
40
42
  /* Navno spesific packages */
@@ -0,0 +1,63 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const classnames_1 = __importDefault(require("classnames"));
41
+ const react_1 = __importStar(require("react"));
42
+ const _1 = require(".");
43
+ const __1 = require("..");
44
+ const StepComponent = (0, react_1.forwardRef)((_a, ref) => {
45
+ var { className, children, as: Component = "a", index = 0 } = _a, rest = __rest(_a, ["className", "children", "as", "index"]);
46
+ const context = (0, react_1.useContext)(_1.StepperContext);
47
+ if (context === null) {
48
+ console.error("<StepIndicator.Step> has to be used within an <StepIndicator>");
49
+ return null;
50
+ }
51
+ const activeStep = context.activeStep === index;
52
+ return (react_1.default.createElement(Component, Object.assign({}, rest, { "aria-current": Boolean(activeStep), ref: ref, className: (0, classnames_1.default)("navds-stepper__step", className, {
53
+ "navds-stepper__step--active": activeStep,
54
+ }), onClick: (e) => {
55
+ var _a;
56
+ context.onStepChange(index);
57
+ (_a = rest === null || rest === void 0 ? void 0 : rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, e);
58
+ } }),
59
+ react_1.default.createElement(__1.Label, { className: "navds-stepper__step-number", as: "span" }, activeStep ? `${index + 1}` : index + 1),
60
+ react_1.default.createElement(__1.Label, { className: "navds-stepper__step-label" }, children)));
61
+ });
62
+ const Step = StepComponent;
63
+ exports.default = Step;
@@ -0,0 +1,60 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.StepperContext = void 0;
41
+ const react_1 = __importStar(require("react"));
42
+ const classnames_1 = __importDefault(require("classnames"));
43
+ const Step_1 = __importDefault(require("./Step"));
44
+ exports.StepperContext = (0, react_1.createContext)(null);
45
+ const Stepper = (0, react_1.forwardRef)((_a, ref) => {
46
+ var { children, className, activeStep, onStepChange = () => { } } = _a, rest = __rest(_a, ["children", "className", "activeStep", "onStepChange"]);
47
+ return (react_1.default.createElement("ol", Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-stepper", className) }),
48
+ react_1.default.createElement(exports.StepperContext.Provider, { value: {
49
+ activeStep,
50
+ onStepChange,
51
+ lastIndex: react_1.default.Children.count(children),
52
+ } }, react_1.default.Children.map(children, (step, index) => {
53
+ var _a, _b;
54
+ return (react_1.default.createElement("li", { className: (0, classnames_1.default)("navds-stepper__step-wrapper"), key: index + ((_b = (_a = children === null || children === void 0 ? void 0 : children.toString) === null || _a === void 0 ? void 0 : _a.call(children)) !== null && _b !== void 0 ? _b : "") }, react_1.default.isValidElement(step)
55
+ ? react_1.default.cloneElement(step, Object.assign(Object.assign({}, step.props), { index }))
56
+ : step));
57
+ }))));
58
+ });
59
+ Stepper.Step = Step_1.default;
60
+ exports.default = Stepper;
@@ -0,0 +1,23 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.Stepper = void 0;
21
+ var Stepper_1 = require("./Stepper");
22
+ Object.defineProperty(exports, "Stepper", { enumerable: true, get: function () { return __importDefault(Stepper_1).default; } });
23
+ __exportStar(require("./Stepper"), exports);
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "main": "./index.js",
4
+ "module": "../../esm/stepper/index.js",
5
+ "types": "../../esm/stepper/index.d.ts"
6
+ }
@@ -0,0 +1,76 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const react_1 = __importStar(require("react"));
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const Row_1 = __importDefault(require("./Row"));
43
+ const DataCell_1 = __importDefault(require("./DataCell"));
44
+ const react_collapse_1 = require("react-collapse");
45
+ const ds_icons_1 = require("@navikt/ds-icons");
46
+ const __1 = require("..");
47
+ const ExpandableRow = (0, react_1.forwardRef)((_a, ref) => {
48
+ var { className, children, content, togglePlacement = "left", defaultOpen = false, open, onOpenChange } = _a, rest = __rest(_a, ["className", "children", "content", "togglePlacement", "defaultOpen", "open", "onOpenChange"]);
49
+ const [internalOpen, setInternalOpen] = (0, react_1.useState)(defaultOpen);
50
+ const id = `expandable-${(0, __1.useId)()}`;
51
+ const isOpen = open !== null && open !== void 0 ? open : internalOpen;
52
+ return (react_1.default.createElement(react_1.default.Fragment, null,
53
+ react_1.default.createElement(Row_1.default, Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-table__expandable-row", className, {
54
+ "navds-table__expandable-row--open": isOpen,
55
+ }) }),
56
+ togglePlacement === "right" && children,
57
+ react_1.default.createElement(DataCell_1.default, { className: (0, classnames_1.default)("navds-table__toggle-expand-cell", {
58
+ "navds-table__toggle-expand-cell--open": isOpen,
59
+ }) },
60
+ react_1.default.createElement("button", { className: "navds-table__toggle-expand-button", "aria-controls": id, "aria-expanded": isOpen, onClick: () => {
61
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(!isOpen);
62
+ if (open === undefined) {
63
+ setInternalOpen((open) => !open);
64
+ }
65
+ } },
66
+ react_1.default.createElement(ds_icons_1.Expand, { className: "navds-table__expandable-icon", title: "Vis mer" }),
67
+ react_1.default.createElement(ds_icons_1.ExpandFilled, { className: "navds-table__expandable-icon navds-table__expandable-icon--filled", title: "Vis mindre" }))),
68
+ togglePlacement === "left" && children),
69
+ react_1.default.createElement("tr", { className: "navds-table__expanded-row", "aria-hidden": !isOpen, id: id },
70
+ react_1.default.createElement("td", { colSpan: 999, className: "navds-table__expanded-row-cell" },
71
+ react_1.default.createElement(react_collapse_1.UnmountClosed, { isOpened: isOpen, theme: {
72
+ collapse: "navds-table__expanded-row-collapse",
73
+ content: "navds-table__expanded-row-content",
74
+ } }, content)))));
75
+ });
76
+ exports.default = ExpandableRow;
@@ -46,6 +46,7 @@ const Row_1 = __importDefault(require("./Row"));
46
46
  const ColumnHeader_1 = __importDefault(require("./ColumnHeader"));
47
47
  const HeaderCell_1 = __importDefault(require("./HeaderCell"));
48
48
  const DataCell_1 = __importDefault(require("./DataCell"));
49
+ const ExpandableRow_1 = __importDefault(require("./ExpandableRow"));
49
50
  exports.TableContext = (0, react_1.createContext)(null);
50
51
  const Table = (0, react_1.forwardRef)((_a, ref) => {
51
52
  var { className, zebraStripes = false, size = "medium", onSortChange, sort } = _a, rest = __rest(_a, ["className", "zebraStripes", "size", "onSortChange", "sort"]);
@@ -60,4 +61,5 @@ Table.Row = Row_1.default;
60
61
  Table.ColumnHeader = ColumnHeader_1.default;
61
62
  Table.HeaderCell = HeaderCell_1.default;
62
63
  Table.DataCell = DataCell_1.default;
64
+ Table.ExpandableRow = ExpandableRow_1.default;
63
65
  exports.default = Table;
@@ -0,0 +1,61 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const RadixTabs = __importStar(require("@radix-ui/react-tabs"));
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const react_1 = __importStar(require("react"));
43
+ const __1 = require("..");
44
+ const Tabs_1 = require("./Tabs");
45
+ const Tab = (0, react_1.forwardRef)((_a, ref) => {
46
+ var _b;
47
+ var { className, as: Component = "button", label, icon, iconPosition, value } = _a, rest = __rest(_a, ["className", "as", "label", "icon", "iconPosition", "value"]);
48
+ const context = (0, react_1.useContext)(Tabs_1.TabsContext);
49
+ if (!label && !icon) {
50
+ console.error("<Tabs.Tab/> needs label/icon");
51
+ return null;
52
+ }
53
+ return (react_1.default.createElement(RadixTabs.Trigger, { value: value, asChild: true },
54
+ react_1.default.createElement(Component, Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-tabs__tab", `navds-tabs__tab--${(_b = context === null || context === void 0 ? void 0 : context.size) !== null && _b !== void 0 ? _b : "medium"}`, `navds-tabs__tab-icon--${iconPosition}`, className, {
55
+ "navds-tabs__tab--icon-only": icon && !label,
56
+ }) }, rest),
57
+ react_1.default.createElement(__1.Label, { as: "span", className: "navds-tabs__tab-inner", size: context === null || context === void 0 ? void 0 : context.size },
58
+ icon,
59
+ label))));
60
+ });
61
+ exports.default = Tab;
@@ -0,0 +1,108 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const core_1 = require("@material-ui/core");
41
+ const ds_icons_1 = require("@navikt/ds-icons");
42
+ const react_tabs_1 = require("@radix-ui/react-tabs");
43
+ const classnames_1 = __importDefault(require("classnames"));
44
+ const react_1 = __importStar(require("react"));
45
+ const react_merge_refs_1 = __importDefault(require("react-merge-refs"));
46
+ const List = (0, react_1.forwardRef)((_a, ref) => {
47
+ var { className } = _a, rest = __rest(_a, ["className"]);
48
+ const listRef = (0, react_1.useRef)(null);
49
+ const mergedRef = (0, react_merge_refs_1.default)([listRef, ref]);
50
+ const [displayScroll, setDisplayScroll] = (0, react_1.useState)({
51
+ start: false,
52
+ end: false,
53
+ });
54
+ const updateScrollButtonState = (0, react_1.useMemo)(() => (0, core_1.debounce)(() => {
55
+ var _a;
56
+ if (!(listRef === null || listRef === void 0 ? void 0 : listRef.current))
57
+ return;
58
+ const { scrollWidth, clientWidth } = listRef === null || listRef === void 0 ? void 0 : listRef.current;
59
+ let showStartScroll;
60
+ let showEndScroll;
61
+ const scrollLeft = (_a = listRef === null || listRef === void 0 ? void 0 : listRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft;
62
+ // use 1 for the potential rounding error with browser zooms.
63
+ showStartScroll = scrollLeft > 1;
64
+ showEndScroll = scrollLeft < scrollWidth - clientWidth - 1;
65
+ setDisplayScroll((displayScroll) => showStartScroll === displayScroll.start &&
66
+ showEndScroll === displayScroll.end
67
+ ? displayScroll
68
+ : { start: showStartScroll, end: showEndScroll });
69
+ }), []);
70
+ (0, react_1.useEffect)(() => {
71
+ var _a, _b, _c;
72
+ const handleResize = () => updateScrollButtonState();
73
+ const win = (_c = (_b = (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument) !== null && _b !== void 0 ? _b : document) !== null && _c !== void 0 ? _c : window;
74
+ win.addEventListener("resize", handleResize);
75
+ let resizeObserver;
76
+ if (typeof ResizeObserver !== "undefined") {
77
+ resizeObserver = new ResizeObserver(handleResize);
78
+ resizeObserver.observe(listRef.current);
79
+ }
80
+ return () => {
81
+ win.removeEventListener("resize", handleResize);
82
+ if (resizeObserver) {
83
+ resizeObserver.disconnect();
84
+ }
85
+ };
86
+ }, [updateScrollButtonState]);
87
+ (0, react_1.useEffect)(() => {
88
+ updateScrollButtonState();
89
+ });
90
+ (0, react_1.useEffect)(() => {
91
+ return () => {
92
+ updateScrollButtonState.clear();
93
+ };
94
+ }, [updateScrollButtonState]);
95
+ const ScrollButton = ({ dir, hidden, }) => (react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-tabs__scroll-button", {
96
+ "navds-tabs__scroll-button--hidden": hidden,
97
+ }), onClick: () => {
98
+ if (!listRef.current)
99
+ return;
100
+ listRef.current.scrollLeft += dir * 100;
101
+ } }, dir === -1 ? (react_1.default.createElement(ds_icons_1.Back, { title: "scroll tilbake" })) : (react_1.default.createElement(ds_icons_1.Next, { title: "scroll neste" }))));
102
+ const showSteppers = displayScroll.end || displayScroll.start;
103
+ return (react_1.default.createElement("div", { className: "navds-tabs__tablist-wrapper" },
104
+ showSteppers && (react_1.default.createElement(ScrollButton, { dir: -1, hidden: !displayScroll.start })),
105
+ react_1.default.createElement(react_tabs_1.TabsList, Object.assign({}, rest, { ref: mergedRef, onScroll: updateScrollButtonState, className: (0, classnames_1.default)("navds-tabs__tablist", className) })),
106
+ showSteppers && react_1.default.createElement(ScrollButton, { dir: 1, hidden: !displayScroll.end })));
107
+ });
108
+ exports.default = List;
@@ -0,0 +1,47 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const react_tabs_1 = require("@radix-ui/react-tabs");
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const react_1 = __importStar(require("react"));
43
+ const Panel = (0, react_1.forwardRef)((_a, ref) => {
44
+ var { className } = _a, rest = __rest(_a, ["className"]);
45
+ return (react_1.default.createElement(react_tabs_1.TabsContent, Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-tabs__tabpanel", className) })));
46
+ });
47
+ exports.default = Panel;
@@ -0,0 +1,58 @@
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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.TabsContext = void 0;
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const react_1 = __importStar(require("react"));
43
+ const RadixTabs = __importStar(require("@radix-ui/react-tabs"));
44
+ const Tab_1 = __importDefault(require("./Tab"));
45
+ const TabList_1 = __importDefault(require("./TabList"));
46
+ const TabPanel_1 = __importDefault(require("./TabPanel"));
47
+ exports.TabsContext = (0, react_1.createContext)(null);
48
+ const Tabs = (0, react_1.forwardRef)((_a, ref) => {
49
+ var { className, children, onChange, size = "medium", selectionFollowsFocus = false } = _a, rest = __rest(_a, ["className", "children", "onChange", "size", "selectionFollowsFocus"]);
50
+ return (react_1.default.createElement(RadixTabs.Root, Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-tabs", className, `navds-tabs--${size}`), activationMode: selectionFollowsFocus ? "automatic" : "manual", onValueChange: onChange }),
51
+ react_1.default.createElement(exports.TabsContext.Provider, { value: {
52
+ size,
53
+ } }, children)));
54
+ });
55
+ Tabs.Tab = Tab_1.default;
56
+ Tabs.List = TabList_1.default;
57
+ Tabs.Panel = TabPanel_1.default;
58
+ exports.default = Tabs;
@@ -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.Tabs = void 0;
7
+ var Tabs_1 = require("./Tabs");
8
+ Object.defineProperty(exports, "Tabs", { enumerable: true, get: function () { return __importDefault(Tabs_1).default; } });
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "main": "./index.js",
4
+ "module": "../../esm/tabs/index.js",
5
+ "types": "../../esm/tabs/index.d.ts"
6
+ }
package/esm/index.d.ts CHANGED
@@ -16,9 +16,11 @@ export * from "./popover";
16
16
  export * from "./read-more";
17
17
  export * from "./speech-bubble";
18
18
  export * from "./step-indicator";
19
+ export * from "./stepper";
19
20
  export * from "./tag";
20
21
  export * from "./toggle-group";
21
22
  export * from "./table";
23
+ export * from "./tabs";
22
24
  export * from "./typography";
23
25
  export * from "./util";
24
26
  export * from "./card";
package/esm/index.js CHANGED
@@ -16,9 +16,11 @@ export * from "./popover";
16
16
  export * from "./read-more";
17
17
  export * from "./speech-bubble";
18
18
  export * from "./step-indicator";
19
+ export * from "./stepper";
19
20
  export * from "./tag";
20
21
  export * from "./toggle-group";
21
22
  export * from "./table";
23
+ export * from "./tabs";
22
24
  export * from "./typography";
23
25
  export * from "./util";
24
26
  /* Navno spesific packages */
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AAEvB,6BAA6B;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AAEvB,6BAA6B;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { OverridableComponent } from "..";
3
+ export interface StepperStepProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
4
+ /**
5
+ * Text content under indicator
6
+ */
7
+ children: string;
8
+ /**
9
+ * Handled by Stepper
10
+ */
11
+ index?: number;
12
+ }
13
+ export interface StepperStepType extends OverridableComponent<StepperStepProps, HTMLAnchorElement> {
14
+ }
15
+ declare const Step: StepperStepType;
16
+ export default Step;
@@ -0,0 +1,36 @@
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 cl from "classnames";
13
+ import React, { forwardRef, useContext } from "react";
14
+ import { StepperContext } from ".";
15
+ import { Label } from "..";
16
+ const StepComponent = forwardRef((_a, ref) => {
17
+ var { className, children, as: Component = "a", index = 0 } = _a, rest = __rest(_a, ["className", "children", "as", "index"]);
18
+ const context = useContext(StepperContext);
19
+ if (context === null) {
20
+ console.error("<StepIndicator.Step> has to be used within an <StepIndicator>");
21
+ return null;
22
+ }
23
+ const activeStep = context.activeStep === index;
24
+ return (React.createElement(Component, Object.assign({}, rest, { "aria-current": Boolean(activeStep), ref: ref, className: cl("navds-stepper__step", className, {
25
+ "navds-stepper__step--active": activeStep,
26
+ }), onClick: (e) => {
27
+ var _a;
28
+ context.onStepChange(index);
29
+ (_a = rest === null || rest === void 0 ? void 0 : rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, e);
30
+ } }),
31
+ React.createElement(Label, { className: "navds-stepper__step-number", as: "span" }, activeStep ? `${index + 1}` : index + 1),
32
+ React.createElement(Label, { className: "navds-stepper__step-label" }, children)));
33
+ });
34
+ const Step = StepComponent;
35
+ export default Step;
36
+ //# sourceMappingURL=Step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Step.js","sourceRoot":"","sources":["../../src/stepper/Step.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AACnC,OAAO,EAAE,KAAK,EAAwB,MAAM,IAAI,CAAC;AAiBjD,MAAM,aAAa,GAGf,UAAU,CACZ,CAAC,EAAgE,EAAE,GAAG,EAAE,EAAE;QAAzE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,OAAW,EAAN,IAAI,cAA9D,wCAAgE,CAAF;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CACX,+DAA+D,CAChE,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;IAEhD,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,oBACM,OAAO,CAAC,UAAU,CAAC,EACjC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE;YAC9C,6BAA6B,EAAE,UAAU;SAC1C,CAAC,EACF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;YACb,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,qDAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,oBAAC,KAAK,IAAC,SAAS,EAAC,4BAA4B,EAAC,EAAE,EAAC,MAAM,IACpD,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAClC;QACR,oBAAC,KAAK,IAAC,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAS,CACrD,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,IAAI,GAAG,aAAgC,CAAC;AAE9C,eAAe,IAAI,CAAC"}