@navikt/ds-react 5.3.4 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/_docs.json +206 -0
  2. package/cjs/form/search/Search.js +10 -8
  3. package/cjs/index.js +1 -0
  4. package/cjs/layout/grid/HGrid.js +1 -1
  5. package/cjs/layout/responsive/Responsive.js +95 -0
  6. package/cjs/layout/responsive/index.js +6 -0
  7. package/cjs/layout/responsive/package.json +6 -0
  8. package/cjs/layout/stack/HStack.js +1 -1
  9. package/cjs/layout/stack/Spacer.js +1 -1
  10. package/cjs/layout/stack/VStack.js +1 -1
  11. package/cjs/modal/Modal.js +2 -2
  12. package/cjs/popover/Popover.js +2 -1
  13. package/esm/form/search/Search.js +11 -9
  14. package/esm/form/search/Search.js.map +1 -1
  15. package/esm/index.d.ts +1 -0
  16. package/esm/index.js +1 -0
  17. package/esm/index.js.map +1 -1
  18. package/esm/layout/grid/HGrid.d.ts +1 -1
  19. package/esm/layout/grid/HGrid.js +1 -1
  20. package/esm/layout/responsive/Responsive.d.ts +64 -0
  21. package/esm/layout/responsive/Responsive.js +67 -0
  22. package/esm/layout/responsive/Responsive.js.map +1 -0
  23. package/esm/layout/responsive/index.d.ts +1 -0
  24. package/esm/layout/responsive/index.js +2 -0
  25. package/esm/layout/responsive/index.js.map +1 -0
  26. package/esm/layout/stack/HStack.d.ts +1 -1
  27. package/esm/layout/stack/HStack.js +1 -1
  28. package/esm/layout/stack/Spacer.d.ts +1 -1
  29. package/esm/layout/stack/Spacer.js +1 -1
  30. package/esm/layout/stack/VStack.d.ts +1 -1
  31. package/esm/layout/stack/VStack.js +1 -1
  32. package/esm/modal/Modal.js +2 -2
  33. package/esm/modal/Modal.js.map +1 -1
  34. package/esm/popover/Popover.js +2 -1
  35. package/esm/popover/Popover.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/form/search/Search.tsx +11 -24
  38. package/src/index.ts +1 -0
  39. package/src/layout/grid/HGrid.tsx +1 -1
  40. package/src/layout/responsive/Responsive.tsx +96 -0
  41. package/src/layout/responsive/hide.stories.tsx +45 -0
  42. package/src/layout/responsive/index.ts +1 -0
  43. package/src/layout/responsive/show.stories.tsx +45 -0
  44. package/src/layout/stack/HStack.tsx +1 -1
  45. package/src/layout/stack/Spacer.tsx +1 -1
  46. package/src/layout/stack/VStack.tsx +1 -1
  47. package/src/modal/Modal.tsx +1 -1
  48. package/src/modal/modal.stories.tsx +2 -2
  49. package/src/popover/Popover.tsx +1 -0
package/_docs.json CHANGED
@@ -16865,6 +16865,212 @@
16865
16865
  }
16866
16866
  }
16867
16867
  },
16868
+ {
16869
+ "filePath": "src/layout/responsive/Responsive.tsx",
16870
+ "displayName": "Hide",
16871
+ "props": {
16872
+ "above": {
16873
+ "defaultValue": null,
16874
+ "description": "@example above='md'",
16875
+ "name": "above",
16876
+ "parent": {
16877
+ "fileName": "src/layout/responsive/Responsive.tsx",
16878
+ "name": "ResponsiveProps"
16879
+ },
16880
+ "declarations": [
16881
+ {
16882
+ "fileName": "src/layout/responsive/Responsive.tsx",
16883
+ "name": "ResponsiveProps"
16884
+ }
16885
+ ],
16886
+ "required": false,
16887
+ "type": {
16888
+ "name": "\"sm\" | \"md\" | \"lg\" | \"xl\""
16889
+ }
16890
+ },
16891
+ "below": {
16892
+ "defaultValue": null,
16893
+ "description": "@example below='md'",
16894
+ "name": "below",
16895
+ "parent": {
16896
+ "fileName": "src/layout/responsive/Responsive.tsx",
16897
+ "name": "ResponsiveProps"
16898
+ },
16899
+ "declarations": [
16900
+ {
16901
+ "fileName": "src/layout/responsive/Responsive.tsx",
16902
+ "name": "ResponsiveProps"
16903
+ }
16904
+ ],
16905
+ "required": false,
16906
+ "type": {
16907
+ "name": "\"sm\" | \"md\" | \"lg\" | \"xl\""
16908
+ }
16909
+ },
16910
+ "as": {
16911
+ "defaultValue": {
16912
+ "value": "\"div\""
16913
+ },
16914
+ "description": "Overrides html-tag",
16915
+ "name": "as",
16916
+ "parent": {
16917
+ "fileName": "src/layout/responsive/Responsive.tsx",
16918
+ "name": "ResponsiveProps"
16919
+ },
16920
+ "declarations": [
16921
+ {
16922
+ "fileName": "src/layout/responsive/Responsive.tsx",
16923
+ "name": "ResponsiveProps"
16924
+ }
16925
+ ],
16926
+ "required": false,
16927
+ "type": {
16928
+ "name": "\"div\" | \"span\""
16929
+ }
16930
+ },
16931
+ "className": {
16932
+ "defaultValue": null,
16933
+ "description": "",
16934
+ "name": "className",
16935
+ "parent": {
16936
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16937
+ "name": "HTMLAttributes"
16938
+ },
16939
+ "declarations": [
16940
+ {
16941
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16942
+ "name": "HTMLAttributes"
16943
+ }
16944
+ ],
16945
+ "required": false,
16946
+ "type": {
16947
+ "name": "string"
16948
+ }
16949
+ },
16950
+ "ref": {
16951
+ "defaultValue": null,
16952
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref).\n@see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom",
16953
+ "name": "ref",
16954
+ "parent": {
16955
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16956
+ "name": "RefAttributes"
16957
+ },
16958
+ "declarations": [
16959
+ {
16960
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16961
+ "name": "RefAttributes"
16962
+ }
16963
+ ],
16964
+ "required": false,
16965
+ "type": {
16966
+ "name": "Ref<HTMLDivElement>"
16967
+ }
16968
+ }
16969
+ }
16970
+ },
16971
+ {
16972
+ "filePath": "src/layout/responsive/Responsive.tsx",
16973
+ "displayName": "Show",
16974
+ "props": {
16975
+ "above": {
16976
+ "defaultValue": null,
16977
+ "description": "@example above='md'",
16978
+ "name": "above",
16979
+ "parent": {
16980
+ "fileName": "src/layout/responsive/Responsive.tsx",
16981
+ "name": "ResponsiveProps"
16982
+ },
16983
+ "declarations": [
16984
+ {
16985
+ "fileName": "src/layout/responsive/Responsive.tsx",
16986
+ "name": "ResponsiveProps"
16987
+ }
16988
+ ],
16989
+ "required": false,
16990
+ "type": {
16991
+ "name": "\"sm\" | \"md\" | \"lg\" | \"xl\""
16992
+ }
16993
+ },
16994
+ "below": {
16995
+ "defaultValue": null,
16996
+ "description": "@example below='md'",
16997
+ "name": "below",
16998
+ "parent": {
16999
+ "fileName": "src/layout/responsive/Responsive.tsx",
17000
+ "name": "ResponsiveProps"
17001
+ },
17002
+ "declarations": [
17003
+ {
17004
+ "fileName": "src/layout/responsive/Responsive.tsx",
17005
+ "name": "ResponsiveProps"
17006
+ }
17007
+ ],
17008
+ "required": false,
17009
+ "type": {
17010
+ "name": "\"sm\" | \"md\" | \"lg\" | \"xl\""
17011
+ }
17012
+ },
17013
+ "as": {
17014
+ "defaultValue": {
17015
+ "value": "\"div\""
17016
+ },
17017
+ "description": "Overrides html-tag",
17018
+ "name": "as",
17019
+ "parent": {
17020
+ "fileName": "src/layout/responsive/Responsive.tsx",
17021
+ "name": "ResponsiveProps"
17022
+ },
17023
+ "declarations": [
17024
+ {
17025
+ "fileName": "src/layout/responsive/Responsive.tsx",
17026
+ "name": "ResponsiveProps"
17027
+ }
17028
+ ],
17029
+ "required": false,
17030
+ "type": {
17031
+ "name": "\"div\" | \"span\""
17032
+ }
17033
+ },
17034
+ "className": {
17035
+ "defaultValue": null,
17036
+ "description": "",
17037
+ "name": "className",
17038
+ "parent": {
17039
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
17040
+ "name": "HTMLAttributes"
17041
+ },
17042
+ "declarations": [
17043
+ {
17044
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
17045
+ "name": "HTMLAttributes"
17046
+ }
17047
+ ],
17048
+ "required": false,
17049
+ "type": {
17050
+ "name": "string"
17051
+ }
17052
+ },
17053
+ "ref": {
17054
+ "defaultValue": null,
17055
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref).\n@see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom",
17056
+ "name": "ref",
17057
+ "parent": {
17058
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
17059
+ "name": "RefAttributes"
17060
+ },
17061
+ "declarations": [
17062
+ {
17063
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
17064
+ "name": "RefAttributes"
17065
+ }
17066
+ ],
17067
+ "required": false,
17068
+ "type": {
17069
+ "name": "Ref<HTMLDivElement>"
17070
+ }
17071
+ }
17072
+ }
17073
+ },
16868
17074
  {
16869
17075
  "filePath": "src/layout/stack/HStack.tsx",
16870
17076
  "displayName": "HStack",
@@ -63,7 +63,6 @@ exports.Search = (0, react_1.forwardRef)((props, ref) => {
63
63
  const { className, hideLabel = true, label, description, value, clearButtonLabel, onClear, clearButton = true, children, variant = "primary", defaultValue, onChange, onSearchClick, htmlSize } = props, rest = __rest(props, ["className", "hideLabel", "label", "description", "value", "clearButtonLabel", "onClear", "clearButton", "children", "variant", "defaultValue", "onChange", "onSearchClick", "htmlSize"]);
64
64
  const searchRef = (0, react_1.useRef)(null);
65
65
  const mergedRef = (0, react_1.useMemo)(() => (0, __1.mergeRefs)([searchRef, ref]), [ref]);
66
- const [wrapperRef, setWrapperRef] = (0, react_1.useState)(null);
67
66
  const [internalValue, setInternalValue] = (0, react_1.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : "");
68
67
  const handleChange = (0, react_1.useCallback)((v) => {
69
68
  value === undefined && setInternalValue(v);
@@ -75,16 +74,19 @@ exports.Search = (0, react_1.forwardRef)((props, ref) => {
75
74
  handleChange("");
76
75
  searchRef.current && ((_b = (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a));
77
76
  }, [handleChange, onClear]);
78
- (0, __1.useEventListener)("keydown", (0, react_1.useCallback)((e) => {
79
- if (e.key === "Escape") {
80
- e.preventDefault();
81
- handleClear({ trigger: "Escape", event: e });
82
- }
83
- }, [handleClear]), wrapperRef);
84
77
  const handleClick = () => {
85
78
  onSearchClick === null || onSearchClick === void 0 ? void 0 : onSearchClick(`${value !== null && value !== void 0 ? value : internalValue}`);
86
79
  };
87
- return (react_1.default.createElement("div", { ref: setWrapperRef, className: (0, clsx_1.default)(className, "navds-form-field", `navds-form-field--${size}`, "navds-search", {
80
+ return (react_1.default.createElement("div", { onKeyDown: (e) => {
81
+ var _a, _b;
82
+ if (e.key !== "Escape") {
83
+ return;
84
+ }
85
+ ((_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.value) &&
86
+ ((_b = searchRef.current) === null || _b === void 0 ? void 0 : _b.value) !== "" &&
87
+ e.preventDefault();
88
+ handleClear({ trigger: "Escape", event: e });
89
+ }, className: (0, clsx_1.default)(className, "navds-form-field", `navds-form-field--${size}`, "navds-search", {
88
90
  "navds-search--error": hasError,
89
91
  "navds-search--disabled": !!inputProps.disabled,
90
92
  "navds-search--with-size": !!htmlSize,
package/cjs/index.js CHANGED
@@ -51,3 +51,4 @@ __exportStar(require("./util"), exports);
51
51
  __exportStar(require("./layout/stack"), exports);
52
52
  __exportStar(require("./layout/grid"), exports);
53
53
  __exportStar(require("./layout/content-container"), exports);
54
+ __exportStar(require("./layout/responsive"), exports);
@@ -44,7 +44,7 @@ const css_1 = require("../utilities/css");
44
44
  /**
45
45
  * Horizontal Grid Primitive with dynamic columns and gap based on breakpoints.
46
46
  *
47
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/hgrid)
47
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hgrid)
48
48
  * @see 🏷️ {@link HGridProps}
49
49
  *
50
50
  * @example
@@ -0,0 +1,95 @@
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.Show = exports.Hide = void 0;
41
+ const clsx_1 = __importDefault(require("clsx"));
42
+ const react_1 = __importStar(require("react"));
43
+ const Responsive = (0, react_1.forwardRef)((_a, ref) => {
44
+ var { as: Component = "div", className, above, below, variant } = _a, rest = __rest(_a, ["as", "className", "above", "below", "variant"]);
45
+ const aboveProp = variant === "show" ? above : below;
46
+ const belowProp = variant === "show" ? below : above;
47
+ return (react_1.default.createElement(Component, Object.assign({}, rest, { ref: ref, className: (0, clsx_1.default)("navds-responsive", className, {
48
+ [`navds-responsive__above--${aboveProp}`]: aboveProp,
49
+ [`navds-responsive__below--${belowProp}`]: belowProp,
50
+ }) })));
51
+ });
52
+ /**
53
+ * Responsive view Primitive to show/hide elements based on breakpoints
54
+ *
55
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hide)
56
+ * @see 🏷️ {@link ResponsiveProps}
57
+ *
58
+ * @example
59
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
60
+ * <div/>
61
+ * <Hide below="md">
62
+ * // Only visible above "md"
63
+ * </Hide>
64
+ * </HGrid>
65
+ * @example
66
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
67
+ * <div/>
68
+ * <Hide above="md">
69
+ * // Only visible below "md"
70
+ * </Hide>
71
+ * </HGrid>
72
+ */
73
+ exports.Hide = (0, react_1.forwardRef)((props, ref) => react_1.default.createElement(Responsive, Object.assign({}, props, { ref: ref, variant: "hide" })));
74
+ /**
75
+ * Responsive view Primitive to show/hide elements based on breakpoints
76
+ *
77
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/show)
78
+ * @see 🏷️ {@link ResponsiveProps}
79
+ *
80
+ * @example
81
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
82
+ * <div/>
83
+ * <Show below="md">
84
+ * // Only visible below "md"
85
+ * </Show>
86
+ * </HGrid>
87
+ * @example
88
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
89
+ * <div/>
90
+ * <Show above="md">
91
+ * // Only visible above "md"
92
+ * </Show>
93
+ * </HGrid>
94
+ */
95
+ exports.Show = (0, react_1.forwardRef)((props, ref) => react_1.default.createElement(Responsive, Object.assign({}, props, { ref: ref, variant: "show" })));
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hide = exports.Show = void 0;
4
+ var Responsive_1 = require("./Responsive");
5
+ Object.defineProperty(exports, "Show", { enumerable: true, get: function () { return Responsive_1.Show; } });
6
+ Object.defineProperty(exports, "Hide", { enumerable: true, get: function () { return Responsive_1.Hide; } });
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "main": "./index.js",
4
+ "module": "../../../esm/layout/responsive/index.js",
5
+ "types": "../../../esm/layout/responsive/index.d.ts"
6
+ }
@@ -29,7 +29,7 @@ const Stack_1 = require("./Stack");
29
29
  /**
30
30
  * Layout-primitive for horizontal flexbox
31
31
  *
32
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
32
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
33
33
  * @see 🏷️ {@link HStackProps}
34
34
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
35
35
  *
@@ -8,7 +8,7 @@ const react_1 = __importDefault(require("react"));
8
8
  /**
9
9
  * Layout-primitive for auto-spacing between elements
10
10
  *
11
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
11
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
12
12
  *
13
13
  * @example
14
14
  * <HStack gap="8">
@@ -29,7 +29,7 @@ const Stack_1 = require("./Stack");
29
29
  /**
30
30
  * Layout-primitive for vetical flexbox
31
31
  *
32
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
32
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/vstack)
33
33
  * @see 🏷️ {@link VStackProps}
34
34
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
35
35
  *
@@ -129,7 +129,7 @@ exports.Modal = (0, react_1.forwardRef)((_a, ref) => {
129
129
  }, [modalRef, portalNode, open]);
130
130
  (0, ModalUtils_1.useBodyScrollLock)(modalRef, portalNode);
131
131
  const isWidthPreset = typeof width === "string" && ["small", "medium"].includes(width);
132
- const component = (react_1.default.createElement("dialog", Object.assign({ ref: mergedRef, className: (0, clsx_1.default)("navds-modal", className, {
132
+ const component = (react_1.default.createElement("dialog", Object.assign({}, rest, { ref: mergedRef, className: (0, clsx_1.default)("navds-modal", className, {
133
133
  "navds-modal--polyfilled": dialog_polyfill_1.needPolyfill,
134
134
  "navds-modal--autowidth": !width,
135
135
  [`navds-modal--${width}`]: isWidthPreset,
@@ -142,7 +142,7 @@ exports.Modal = (0, react_1.forwardRef)((_a, ref) => {
142
142
  onCancel(event);
143
143
  }, "aria-labelledby": !ariaLabelledby && !rest["aria-label"] && header
144
144
  ? ariaLabelId
145
- : ariaLabelledby }, rest),
145
+ : ariaLabelledby }),
146
146
  react_1.default.createElement(ModalContext_1.ModalContext.Provider, { value: {
147
147
  closeHandler: (0, ModalUtils_1.getCloseHandler)(modalRef, header, onBeforeClose),
148
148
  } },
@@ -102,7 +102,8 @@ exports.Popover = (0, react_2.forwardRef)((_a, ref) => {
102
102
  }, [refs.floating, refs.reference, update, open, anchorEl]);
103
103
  (0, util_1.useEventListener)("focusin", (0, react_2.useCallback)((e) => {
104
104
  var _a;
105
- if (![anchorEl, (_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
105
+ if (e.target instanceof HTMLElement &&
106
+ ![anchorEl, (_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
106
107
  open && onClose();
107
108
  }
108
109
  }, [anchorEl, refs, open, onClose]));
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { XMarkIcon, MagnifyingGlassIcon } from "@navikt/aksel-icons";
13
13
  import cl from "clsx";
14
14
  import React, { forwardRef, useCallback, useMemo, useRef, useState, } from "react";
15
- import { BodyShort, ErrorMessage, Label, mergeRefs, omit, useEventListener, } from "../..";
15
+ import { BodyShort, ErrorMessage, Label, mergeRefs, omit } from "../..";
16
16
  import { useFormField } from "../useFormField";
17
17
  import SearchButton from "./SearchButton";
18
18
  export const SearchContext = React.createContext(null);
@@ -34,7 +34,6 @@ export const Search = forwardRef((props, ref) => {
34
34
  const { className, hideLabel = true, label, description, value, clearButtonLabel, onClear, clearButton = true, children, variant = "primary", defaultValue, onChange, onSearchClick, htmlSize } = props, rest = __rest(props, ["className", "hideLabel", "label", "description", "value", "clearButtonLabel", "onClear", "clearButton", "children", "variant", "defaultValue", "onChange", "onSearchClick", "htmlSize"]);
35
35
  const searchRef = useRef(null);
36
36
  const mergedRef = useMemo(() => mergeRefs([searchRef, ref]), [ref]);
37
- const [wrapperRef, setWrapperRef] = useState(null);
38
37
  const [internalValue, setInternalValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : "");
39
38
  const handleChange = useCallback((v) => {
40
39
  value === undefined && setInternalValue(v);
@@ -46,16 +45,19 @@ export const Search = forwardRef((props, ref) => {
46
45
  handleChange("");
47
46
  searchRef.current && ((_b = (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a));
48
47
  }, [handleChange, onClear]);
49
- useEventListener("keydown", useCallback((e) => {
50
- if (e.key === "Escape") {
51
- e.preventDefault();
52
- handleClear({ trigger: "Escape", event: e });
53
- }
54
- }, [handleClear]), wrapperRef);
55
48
  const handleClick = () => {
56
49
  onSearchClick === null || onSearchClick === void 0 ? void 0 : onSearchClick(`${value !== null && value !== void 0 ? value : internalValue}`);
57
50
  };
58
- return (React.createElement("div", { ref: setWrapperRef, className: cl(className, "navds-form-field", `navds-form-field--${size}`, "navds-search", {
51
+ return (React.createElement("div", { onKeyDown: (e) => {
52
+ var _a, _b;
53
+ if (e.key !== "Escape") {
54
+ return;
55
+ }
56
+ ((_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.value) &&
57
+ ((_b = searchRef.current) === null || _b === void 0 ? void 0 : _b.value) !== "" &&
58
+ e.preventDefault();
59
+ handleClear({ trigger: "Escape", event: e });
60
+ }, className: cl(className, "navds-form-field", `navds-form-field--${size}`, "navds-search", {
59
61
  "navds-search--error": hasError,
60
62
  "navds-search--disabled": !!inputProps.disabled,
61
63
  "navds-search--with-size": !!htmlSize,
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/form/search/Search.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EACZ,UAAU,EAEV,WAAW,EACX,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,gBAAgB,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAkB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,YAAkC,MAAM,gBAAgB,CAAC;AAsEhE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAC9C,IAAI,CACL,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EACJ,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,GAAG,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAEvC,MAAM,EACJ,SAAS,EACT,SAAS,GAAG,IAAI,EAChB,KAAK,EACL,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,OAAO,EACP,WAAW,GAAG,IAAI,EAClB,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,KAEN,KAAK,EADJ,IAAI,UACL,KAAK,EAhBH,yLAgBL,CAAQ,CAAC;IAEV,MAAM,SAAS,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAE1E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAS,EAAE,EAAE;QACZ,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;IAChB,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAuB,EAAE,EAAE;;QAC1B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAC;QACjB,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,SAAS,CAAC,OAAO,KAAI,MAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,kDAAI,CAAA,CAAC;IACpD,CAAC,EACD,CAAC,YAAY,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,gBAAgB,CACd,SAAS,EACT,WAAW,CACT,CAAC,CAAC,EAAE,EAAE;QACJ,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,EACD,UAAU,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,aAAa,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,EAAE,CACX,SAAS,EACT,kBAAkB,EAClB,qBAAqB,IAAI,EAAE,EAC3B,cAAc,EAEd;YACE,qBAAqB,EAAE,QAAQ;YAC/B,wBAAwB,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ;YAC/C,yBAAyB,EAAE,CAAC,CAAC,QAAQ;SACtC,CACF;QAED,oBAAC,KAAK,IACJ,OAAO,EAAE,UAAU,CAAC,EAAE,EACtB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE;gBACvC,eAAe,EAAE,SAAS;aAC3B,CAAC,IAED,KAAK,CACA;QACP,CAAC,CAAC,WAAW,IAAI,CAChB,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE;gBAC7C,eAAe,EAAE,SAAS;aAC3B,CAAC,EACF,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,IAAI,EACV,EAAE,EAAC,KAAK,IAEP,WAAW,CACF,CACb;QACD,6BAAK,SAAS,EAAC,uBAAuB;YACpC,6BAAK,SAAS,EAAC,6BAA6B;gBACzC,OAAO,KAAK,QAAQ,IAAI,CACvB,oBAAC,mBAAmB,yBAElB,SAAS,EAAC,2BAA2B,GACrC,CACH;gBACD,6CACE,GAAG,EAAE,SAAS,IACV,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EACpD,UAAU,IACd,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,aAAa,EAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,WAAW,EAChB,SAAS,EAAE,EAAE,CACX,SAAS,EACT,qBAAqB,EACrB,wBAAwB,OAAO,EAAE,EACjC,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,IAAI,EAAE,CACrB,IACG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAChD;gBACD,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,aAAa,CAAC,IAAI,WAAW,IAAI,CAC1C,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAC3D,SAAS,EAAC,4BAA4B;oBAEtC,8BAAM,SAAS,EAAC,eAAe,IAC5B,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CACvC;oBACP,oBAAC,SAAS,0BAAe,CAClB,CACV,CACG;YACN,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;oBACL,IAAI;oBACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO;oBACP,WAAW;iBACZ,IAEA,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,oBAAC,YAAY,OAAG,CACxC,CACrB;QACN,6BACE,SAAS,EAAC,yBAAyB,EACnC,EAAE,EAAE,OAAO,mBACG,oBAAoB,eACxB,QAAQ,IAEjB,YAAY,IAAI,CACf,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,IAAG,KAAK,CAAC,KAAK,CAAgB,CACvD,CACG,CACF,CACP,CAAC;AACJ,CAAC,CACiB,CAAC;AAErB,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;AAE7B,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/form/search/Search.tsx"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -35,3 +35,4 @@ export * from "./util";
35
35
  export * from "./layout/stack";
36
36
  export * from "./layout/grid";
37
37
  export * from "./layout/content-container";
38
+ export * from "./layout/responsive";
package/esm/index.js CHANGED
@@ -35,4 +35,5 @@ export * from "./util";
35
35
  export * from "./layout/stack";
36
36
  export * from "./layout/grid";
37
37
  export * from "./layout/content-container";
38
+ export * from "./layout/responsive";
38
39
  //# sourceMappingURL=index.js.map
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,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,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,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
@@ -27,7 +27,7 @@ export interface HGridProps extends HTMLAttributes<HTMLDivElement> {
27
27
  /**
28
28
  * Horizontal Grid Primitive with dynamic columns and gap based on breakpoints.
29
29
  *
30
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/hgrid)
30
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hgrid)
31
31
  * @see 🏷️ {@link HGridProps}
32
32
  *
33
33
  * @example
@@ -15,7 +15,7 @@ import { getResponsiveProps, getResponsiveValue, } from "../utilities/css";
15
15
  /**
16
16
  * Horizontal Grid Primitive with dynamic columns and gap based on breakpoints.
17
17
  *
18
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/hgrid)
18
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hgrid)
19
19
  * @see 🏷️ {@link HGridProps}
20
20
  *
21
21
  * @example
@@ -0,0 +1,64 @@
1
+ import React, { HTMLAttributes } from "react";
2
+ import { BreakpointsAlias } from "../utilities/css";
3
+ export interface ResponsiveProps extends HTMLAttributes<HTMLDivElement> {
4
+ children: React.ReactNode;
5
+ /**
6
+ * @example
7
+ * above='md'
8
+ */
9
+ above?: Exclude<BreakpointsAlias, "xs">;
10
+ /**
11
+ * @example
12
+ * below='md'
13
+ */
14
+ below?: Exclude<BreakpointsAlias, "xs">;
15
+ /**
16
+ * Overrides html-tag
17
+ * @default "div"
18
+ */
19
+ as?: "div" | "span";
20
+ }
21
+ /**
22
+ * Responsive view Primitive to show/hide elements based on breakpoints
23
+ *
24
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hide)
25
+ * @see 🏷️ {@link ResponsiveProps}
26
+ *
27
+ * @example
28
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
29
+ * <div/>
30
+ * <Hide below="md">
31
+ * // Only visible above "md"
32
+ * </Hide>
33
+ * </HGrid>
34
+ * @example
35
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
36
+ * <div/>
37
+ * <Hide above="md">
38
+ * // Only visible below "md"
39
+ * </Hide>
40
+ * </HGrid>
41
+ */
42
+ export declare const Hide: React.ForwardRefExoticComponent<ResponsiveProps & React.RefAttributes<HTMLDivElement>>;
43
+ /**
44
+ * Responsive view Primitive to show/hide elements based on breakpoints
45
+ *
46
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/show)
47
+ * @see 🏷️ {@link ResponsiveProps}
48
+ *
49
+ * @example
50
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
51
+ * <div/>
52
+ * <Show below="md">
53
+ * // Only visible below "md"
54
+ * </Show>
55
+ * </HGrid>
56
+ * @example
57
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
58
+ * <div/>
59
+ * <Show above="md">
60
+ * // Only visible above "md"
61
+ * </Show>
62
+ * </HGrid>
63
+ */
64
+ export declare const Show: React.ForwardRefExoticComponent<ResponsiveProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,67 @@
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 "clsx";
13
+ import React, { forwardRef } from "react";
14
+ const Responsive = forwardRef((_a, ref) => {
15
+ var { as: Component = "div", className, above, below, variant } = _a, rest = __rest(_a, ["as", "className", "above", "below", "variant"]);
16
+ const aboveProp = variant === "show" ? above : below;
17
+ const belowProp = variant === "show" ? below : above;
18
+ return (React.createElement(Component, Object.assign({}, rest, { ref: ref, className: cl("navds-responsive", className, {
19
+ [`navds-responsive__above--${aboveProp}`]: aboveProp,
20
+ [`navds-responsive__below--${belowProp}`]: belowProp,
21
+ }) })));
22
+ });
23
+ /**
24
+ * Responsive view Primitive to show/hide elements based on breakpoints
25
+ *
26
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hide)
27
+ * @see 🏷️ {@link ResponsiveProps}
28
+ *
29
+ * @example
30
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
31
+ * <div/>
32
+ * <Hide below="md">
33
+ * // Only visible above "md"
34
+ * </Hide>
35
+ * </HGrid>
36
+ * @example
37
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
38
+ * <div/>
39
+ * <Hide above="md">
40
+ * // Only visible below "md"
41
+ * </Hide>
42
+ * </HGrid>
43
+ */
44
+ export const Hide = forwardRef((props, ref) => React.createElement(Responsive, Object.assign({}, props, { ref: ref, variant: "hide" })));
45
+ /**
46
+ * Responsive view Primitive to show/hide elements based on breakpoints
47
+ *
48
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/show)
49
+ * @see 🏷️ {@link ResponsiveProps}
50
+ *
51
+ * @example
52
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
53
+ * <div/>
54
+ * <Show below="md">
55
+ * // Only visible below "md"
56
+ * </Show>
57
+ * </HGrid>
58
+ * @example
59
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
60
+ * <div/>
61
+ * <Show above="md">
62
+ * // Only visible above "md"
63
+ * </Show>
64
+ * </HGrid>
65
+ */
66
+ export const Show = forwardRef((props, ref) => React.createElement(Responsive, Object.assign({}, props, { ref: ref, variant: "show" })));
67
+ //# sourceMappingURL=Responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Responsive.js","sourceRoot":"","sources":["../../../src/layout/responsive/Responsive.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAsB1D,MAAM,UAAU,GAAG,UAAU,CAI3B,CACE,EAAoE,EACpE,GAAG,EACH,EAAE;QAFF,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,OAAW,EAAN,IAAI,cAAlE,gDAAoE,CAAF;IAGlE,MAAM,SAAS,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,SAAS,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAErD,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,EAAE;YAC3C,CAAC,4BAA4B,SAAS,EAAE,CAAC,EAAE,SAAS;YACpD,CAAC,4BAA4B,SAAS,EAAE,CAAC,EAAE,SAAS;SACrD,CAAC,IACF,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAC5B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAC,UAAU,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAC,MAAM,IAAG,CACnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAC5B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAC,UAAU,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAC,MAAM,IAAG,CACnE,CAAC"}
@@ -0,0 +1 @@
1
+ export { Show, Hide, type ResponsiveProps } from "./Responsive";
@@ -0,0 +1,2 @@
1
+ export { Show, Hide } from "./Responsive";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/responsive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAC"}
@@ -4,7 +4,7 @@ export type HStackProps = Omit<StackProps, "direction">;
4
4
  /**
5
5
  * Layout-primitive for horizontal flexbox
6
6
  *
7
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
7
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
8
8
  * @see 🏷️ {@link HStackProps}
9
9
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
10
10
  *
@@ -3,7 +3,7 @@ import { Stack } from "./Stack";
3
3
  /**
4
4
  * Layout-primitive for horizontal flexbox
5
5
  *
6
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
6
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
7
7
  * @see 🏷️ {@link HStackProps}
8
8
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
9
9
  *
@@ -2,7 +2,7 @@ import React from "react";
2
2
  /**
3
3
  * Layout-primitive for auto-spacing between elements
4
4
  *
5
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
5
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
6
6
  *
7
7
  * @example
8
8
  * <HStack gap="8">
@@ -2,7 +2,7 @@ import React from "react";
2
2
  /**
3
3
  * Layout-primitive for auto-spacing between elements
4
4
  *
5
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
5
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
6
6
  *
7
7
  * @example
8
8
  * <HStack gap="8">
@@ -4,7 +4,7 @@ export type VStackProps = Omit<StackProps, "direction" | "wrap">;
4
4
  /**
5
5
  * Layout-primitive for vetical flexbox
6
6
  *
7
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
7
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/vstack)
8
8
  * @see 🏷️ {@link VStackProps}
9
9
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
10
10
  *
@@ -3,7 +3,7 @@ import { Stack } from "./Stack";
3
3
  /**
4
4
  * Layout-primitive for vetical flexbox
5
5
  *
6
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
6
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/vstack)
7
7
  * @see 🏷️ {@link VStackProps}
8
8
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
9
9
  *
@@ -100,7 +100,7 @@ export const Modal = forwardRef((_a, ref) => {
100
100
  }, [modalRef, portalNode, open]);
101
101
  useBodyScrollLock(modalRef, portalNode);
102
102
  const isWidthPreset = typeof width === "string" && ["small", "medium"].includes(width);
103
- const component = (React.createElement("dialog", Object.assign({ ref: mergedRef, className: cl("navds-modal", className, {
103
+ const component = (React.createElement("dialog", Object.assign({}, rest, { ref: mergedRef, className: cl("navds-modal", className, {
104
104
  "navds-modal--polyfilled": needPolyfill,
105
105
  "navds-modal--autowidth": !width,
106
106
  [`navds-modal--${width}`]: isWidthPreset,
@@ -113,7 +113,7 @@ export const Modal = forwardRef((_a, ref) => {
113
113
  onCancel(event);
114
114
  }, "aria-labelledby": !ariaLabelledby && !rest["aria-label"] && header
115
115
  ? ariaLabelId
116
- : ariaLabelledby }, rest),
116
+ : ariaLabelledby }),
117
117
  React.createElement(ModalContext.Provider, { value: {
118
118
  closeHandler: getCloseHandler(modalRef, header, onBeforeClose),
119
119
  } },
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"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"}
@@ -73,7 +73,8 @@ export const Popover = forwardRef((_a, ref) => {
73
73
  }, [refs.floating, refs.reference, update, open, anchorEl]);
74
74
  useEventListener("focusin", useCallback((e) => {
75
75
  var _a;
76
- if (![anchorEl, (_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
76
+ if (e.target instanceof HTMLElement &&
77
+ ![anchorEl, (_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
77
78
  open && onClose();
78
79
  }
79
80
  }, [anchorEl, refs, open, onClose]));
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/popover/Popover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/popover/Popover.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": "5.3.4",
3
+ "version": "5.4.0",
4
4
  "description": "Aksel react-components for NAV designsystem",
5
5
  "author": "Aksel | NAV designsystem team",
6
6
  "license": "MIT",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@floating-ui/react": "0.24.1",
41
- "@navikt/aksel-icons": "^5.3.4",
41
+ "@navikt/aksel-icons": "^5.4.0",
42
42
  "@radix-ui/react-tabs": "1.0.0",
43
43
  "@radix-ui/react-toggle-group": "1.0.0",
44
44
  "clsx": "^1.2.1",
@@ -8,14 +8,7 @@ import React, {
8
8
  useRef,
9
9
  useState,
10
10
  } from "react";
11
- import {
12
- BodyShort,
13
- ErrorMessage,
14
- Label,
15
- mergeRefs,
16
- omit,
17
- useEventListener,
18
- } from "../..";
11
+ import { BodyShort, ErrorMessage, Label, mergeRefs, omit } from "../..";
19
12
  import { FormFieldProps, useFormField } from "../useFormField";
20
13
  import SearchButton, { SearchButtonType } from "./SearchButton";
21
14
 
@@ -135,7 +128,6 @@ export const Search = forwardRef<HTMLInputElement, SearchProps>(
135
128
 
136
129
  const searchRef = useRef<HTMLInputElement | null>(null);
137
130
  const mergedRef = useMemo(() => mergeRefs([searchRef, ref]), [ref]);
138
- const [wrapperRef, setWrapperRef] = useState<HTMLDivElement | null>(null);
139
131
 
140
132
  const [internalValue, setInternalValue] = useState(defaultValue ?? "");
141
133
 
@@ -156,27 +148,22 @@ export const Search = forwardRef<HTMLInputElement, SearchProps>(
156
148
  [handleChange, onClear]
157
149
  );
158
150
 
159
- useEventListener(
160
- "keydown",
161
- useCallback(
162
- (e) => {
163
- if (e.key === "Escape") {
164
- e.preventDefault();
165
- handleClear({ trigger: "Escape", event: e });
166
- }
167
- },
168
- [handleClear]
169
- ),
170
- wrapperRef
171
- );
172
-
173
151
  const handleClick = () => {
174
152
  onSearchClick?.(`${value ?? internalValue}`);
175
153
  };
176
154
 
177
155
  return (
178
156
  <div
179
- ref={setWrapperRef}
157
+ onKeyDown={(e) => {
158
+ if (e.key !== "Escape") {
159
+ return;
160
+ }
161
+ searchRef.current?.value &&
162
+ searchRef.current?.value !== "" &&
163
+ e.preventDefault();
164
+
165
+ handleClear({ trigger: "Escape", event: e });
166
+ }}
180
167
  className={cl(
181
168
  className,
182
169
  "navds-form-field",
package/src/index.ts CHANGED
@@ -35,3 +35,4 @@ export * from "./util";
35
35
  export * from "./layout/stack";
36
36
  export * from "./layout/grid";
37
37
  export * from "./layout/content-container";
38
+ export * from "./layout/responsive";
@@ -34,7 +34,7 @@ export interface HGridProps extends HTMLAttributes<HTMLDivElement> {
34
34
  /**
35
35
  * Horizontal Grid Primitive with dynamic columns and gap based on breakpoints.
36
36
  *
37
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/hgrid)
37
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hgrid)
38
38
  * @see 🏷️ {@link HGridProps}
39
39
  *
40
40
  * @example
@@ -0,0 +1,96 @@
1
+ import cl from "clsx";
2
+ import React, { forwardRef, HTMLAttributes } from "react";
3
+ import { BreakpointsAlias } from "../utilities/css";
4
+
5
+ export interface ResponsiveProps extends HTMLAttributes<HTMLDivElement> {
6
+ children: React.ReactNode;
7
+ /**
8
+ * @example
9
+ * above='md'
10
+ */
11
+ above?: Exclude<BreakpointsAlias, "xs">;
12
+ /**
13
+ * @example
14
+ * below='md'
15
+ */
16
+ below?: Exclude<BreakpointsAlias, "xs">;
17
+ /**
18
+ * Overrides html-tag
19
+ * @default "div"
20
+ */
21
+ as?: "div" | "span";
22
+ }
23
+
24
+ const Responsive = forwardRef<
25
+ HTMLDivElement,
26
+ ResponsiveProps & { variant: "show" | "hide" }
27
+ >(
28
+ (
29
+ { as: Component = "div", className, above, below, variant, ...rest },
30
+ ref
31
+ ) => {
32
+ const aboveProp = variant === "show" ? above : below;
33
+ const belowProp = variant === "show" ? below : above;
34
+
35
+ return (
36
+ <Component
37
+ {...rest}
38
+ ref={ref}
39
+ className={cl("navds-responsive", className, {
40
+ [`navds-responsive__above--${aboveProp}`]: aboveProp,
41
+ [`navds-responsive__below--${belowProp}`]: belowProp,
42
+ })}
43
+ />
44
+ );
45
+ }
46
+ );
47
+
48
+ /**
49
+ * Responsive view Primitive to show/hide elements based on breakpoints
50
+ *
51
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hide)
52
+ * @see 🏷️ {@link ResponsiveProps}
53
+ *
54
+ * @example
55
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
56
+ * <div/>
57
+ * <Hide below="md">
58
+ * // Only visible above "md"
59
+ * </Hide>
60
+ * </HGrid>
61
+ * @example
62
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
63
+ * <div/>
64
+ * <Hide above="md">
65
+ * // Only visible below "md"
66
+ * </Hide>
67
+ * </HGrid>
68
+ */
69
+ export const Hide = forwardRef<HTMLDivElement, ResponsiveProps>(
70
+ (props, ref) => <Responsive {...props} ref={ref} variant="hide" />
71
+ );
72
+
73
+ /**
74
+ * Responsive view Primitive to show/hide elements based on breakpoints
75
+ *
76
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/show)
77
+ * @see 🏷️ {@link ResponsiveProps}
78
+ *
79
+ * @example
80
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
81
+ * <div/>
82
+ * <Show below="md">
83
+ * // Only visible below "md"
84
+ * </Show>
85
+ * </HGrid>
86
+ * @example
87
+ * <HGrid columns={{ xs: 1, md: 2 }} gap="4">
88
+ * <div/>
89
+ * <Show above="md">
90
+ * // Only visible above "md"
91
+ * </Show>
92
+ * </HGrid>
93
+ */
94
+ export const Show = forwardRef<HTMLDivElement, ResponsiveProps>(
95
+ (props, ref) => <Responsive {...props} ref={ref} variant="show" />
96
+ );
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import type { Meta } from "@storybook/react";
3
+ import { Hide } from ".";
4
+ import { Tag } from "../../tag";
5
+ import { VStack } from "../stack";
6
+
7
+ export default {
8
+ title: "ds-react/Responsive/Hide",
9
+ component: Hide,
10
+ } satisfies Meta<typeof Hide>;
11
+
12
+ export const Default = {
13
+ render: () => (
14
+ <VStack gap="12">
15
+ <VStack gap="2" align="center">
16
+ <Hide above="xl">
17
+ <Tag variant="neutral">Visible below xl</Tag>
18
+ </Hide>
19
+ <Hide above="lg">
20
+ <Tag variant="neutral">Visible below lg</Tag>
21
+ </Hide>
22
+ <Hide above="md">
23
+ <Tag variant="neutral">Visible below md</Tag>
24
+ </Hide>
25
+ <Hide above="sm">
26
+ <Tag variant="neutral">Visible below sm</Tag>
27
+ </Hide>
28
+ </VStack>
29
+ <VStack gap="2" align="center">
30
+ <Hide below="xl">
31
+ <Tag variant="alt3">Visible above xl</Tag>
32
+ </Hide>
33
+ <Hide below="lg">
34
+ <Tag variant="alt3">Visible above lg</Tag>
35
+ </Hide>
36
+ <Hide below="md">
37
+ <Tag variant="alt3">Visible above md</Tag>
38
+ </Hide>
39
+ <Hide below="sm">
40
+ <Tag variant="alt3">Visible above sm</Tag>
41
+ </Hide>
42
+ </VStack>
43
+ </VStack>
44
+ ),
45
+ };
@@ -0,0 +1 @@
1
+ export { Show, Hide, type ResponsiveProps } from "./Responsive";
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import type { Meta } from "@storybook/react";
3
+ import { Show } from ".";
4
+ import { Tag } from "../../tag";
5
+ import { VStack } from "../stack";
6
+
7
+ export default {
8
+ title: "ds-react/Responsive/Show",
9
+ component: Show,
10
+ } satisfies Meta<typeof Show>;
11
+
12
+ export const Default = {
13
+ render: () => (
14
+ <VStack gap="12">
15
+ <VStack gap="2" align="center">
16
+ <Show above="xl">
17
+ <Tag variant="neutral">Visible above xl</Tag>
18
+ </Show>
19
+ <Show above="lg">
20
+ <Tag variant="neutral">Visible above lg</Tag>
21
+ </Show>
22
+ <Show above="md">
23
+ <Tag variant="neutral">Visible above md</Tag>
24
+ </Show>
25
+ <Show above="sm">
26
+ <Tag variant="neutral">Visible above sm</Tag>
27
+ </Show>
28
+ </VStack>
29
+ <VStack gap="2" align="center">
30
+ <Show below="xl">
31
+ <Tag variant="alt3">Visible below xl</Tag>
32
+ </Show>
33
+ <Show below="lg">
34
+ <Tag variant="alt3">Visible below lg</Tag>
35
+ </Show>
36
+ <Show below="md">
37
+ <Tag variant="alt3">Visible below md</Tag>
38
+ </Show>
39
+ <Show below="sm">
40
+ <Tag variant="alt3">Visible below sm</Tag>
41
+ </Show>
42
+ </VStack>
43
+ </VStack>
44
+ ),
45
+ };
@@ -7,7 +7,7 @@ export type HStackProps = Omit<StackProps, "direction">;
7
7
  /**
8
8
  * Layout-primitive for horizontal flexbox
9
9
  *
10
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
10
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
11
11
  * @see 🏷️ {@link HStackProps}
12
12
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
13
13
  *
@@ -3,7 +3,7 @@ import React from "react";
3
3
  /**
4
4
  * Layout-primitive for auto-spacing between elements
5
5
  *
6
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
6
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hstack)
7
7
  *
8
8
  * @example
9
9
  * <HStack gap="8">
@@ -7,7 +7,7 @@ export type VStackProps = Omit<StackProps, "direction" | "wrap">;
7
7
  /**
8
8
  * Layout-primitive for vetical flexbox
9
9
  *
10
- * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
10
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/vstack)
11
11
  * @see 🏷️ {@link VStackProps}
12
12
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
13
13
  *
@@ -192,6 +192,7 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
192
192
 
193
193
  const component = (
194
194
  <dialog
195
+ {...rest}
195
196
  ref={mergedRef}
196
197
  className={cl("navds-modal", className, {
197
198
  "navds-modal--polyfilled": needPolyfill,
@@ -213,7 +214,6 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
213
214
  ? ariaLabelId
214
215
  : ariaLabelledby
215
216
  }
216
- {...rest}
217
217
  >
218
218
  <ModalContext.Provider
219
219
  value={{
@@ -16,7 +16,7 @@ export const WithUseRef = () => {
16
16
  const ref2 = useRef<HTMLDialogElement>(null);
17
17
 
18
18
  return (
19
- <>
19
+ <div>
20
20
  <Button onClick={() => ref.current?.showModal()}>Open Modal</Button>
21
21
  <Modal
22
22
  open={ref.current ? undefined : true /* initially open */}
@@ -80,7 +80,7 @@ export const WithUseRef = () => {
80
80
  <Button variant="tertiary">Tertiary</Button>
81
81
  </Modal.Footer>
82
82
  </Modal>
83
- </>
83
+ </div>
84
84
  );
85
85
  };
86
86
  WithUseRef.storyName = "With useRef";
@@ -184,6 +184,7 @@ export const Popover = forwardRef<HTMLDivElement, PopoverProps>(
184
184
  useCallback(
185
185
  (e: FocusEvent) => {
186
186
  if (
187
+ e.target instanceof HTMLElement &&
187
188
  ![anchorEl, refs?.floating?.current].some((element) =>
188
189
  element?.contains(e.target as Node)
189
190
  )