@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.
- package/_docs.json +206 -0
- package/cjs/form/search/Search.js +10 -8
- package/cjs/index.js +1 -0
- package/cjs/layout/grid/HGrid.js +1 -1
- package/cjs/layout/responsive/Responsive.js +95 -0
- package/cjs/layout/responsive/index.js +6 -0
- package/cjs/layout/responsive/package.json +6 -0
- package/cjs/layout/stack/HStack.js +1 -1
- package/cjs/layout/stack/Spacer.js +1 -1
- package/cjs/layout/stack/VStack.js +1 -1
- package/cjs/modal/Modal.js +2 -2
- package/cjs/popover/Popover.js +2 -1
- package/esm/form/search/Search.js +11 -9
- package/esm/form/search/Search.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/layout/grid/HGrid.d.ts +1 -1
- package/esm/layout/grid/HGrid.js +1 -1
- package/esm/layout/responsive/Responsive.d.ts +64 -0
- package/esm/layout/responsive/Responsive.js +67 -0
- package/esm/layout/responsive/Responsive.js.map +1 -0
- package/esm/layout/responsive/index.d.ts +1 -0
- package/esm/layout/responsive/index.js +2 -0
- package/esm/layout/responsive/index.js.map +1 -0
- package/esm/layout/stack/HStack.d.ts +1 -1
- package/esm/layout/stack/HStack.js +1 -1
- package/esm/layout/stack/Spacer.d.ts +1 -1
- package/esm/layout/stack/Spacer.js +1 -1
- package/esm/layout/stack/VStack.d.ts +1 -1
- package/esm/layout/stack/VStack.js +1 -1
- package/esm/modal/Modal.js +2 -2
- package/esm/modal/Modal.js.map +1 -1
- package/esm/popover/Popover.js +2 -1
- package/esm/popover/Popover.js.map +1 -1
- package/package.json +2 -2
- package/src/form/search/Search.tsx +11 -24
- package/src/index.ts +1 -0
- package/src/layout/grid/HGrid.tsx +1 -1
- package/src/layout/responsive/Responsive.tsx +96 -0
- package/src/layout/responsive/hide.stories.tsx +45 -0
- package/src/layout/responsive/index.ts +1 -0
- package/src/layout/responsive/show.stories.tsx +45 -0
- package/src/layout/stack/HStack.tsx +1 -1
- package/src/layout/stack/Spacer.tsx +1 -1
- package/src/layout/stack/VStack.tsx +1 -1
- package/src/modal/Modal.tsx +1 -1
- package/src/modal/modal.stories.tsx +2 -2
- 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", {
|
|
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
package/cjs/layout/grid/HGrid.js
CHANGED
|
@@ -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/
|
|
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; } });
|
|
@@ -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/
|
|
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/
|
|
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/
|
|
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
|
*
|
package/cjs/modal/Modal.js
CHANGED
|
@@ -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 }
|
|
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
|
} },
|
package/cjs/popover/Popover.js
CHANGED
|
@@ -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 (
|
|
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
|
|
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", {
|
|
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,
|
|
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
package/esm/index.js
CHANGED
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/
|
|
30
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/primitives/hgrid)
|
|
31
31
|
* @see 🏷️ {@link HGridProps}
|
|
32
32
|
*
|
|
33
33
|
* @example
|
package/esm/layout/grid/HGrid.js
CHANGED
|
@@ -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/
|
|
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 @@
|
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
*
|
package/esm/modal/Modal.js
CHANGED
|
@@ -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 }
|
|
116
|
+
: ariaLabelledby }),
|
|
117
117
|
React.createElement(ModalContext.Provider, { value: {
|
|
118
118
|
closeHandler: getCloseHandler(modalRef, header, onBeforeClose),
|
|
119
119
|
} },
|
package/esm/modal/Modal.js.map
CHANGED
|
@@ -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":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACpE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA4E9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CACE,EAYa,EACb,GAAG,EACH,EAAE;;QAdF,EACE,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,iBAAiB,EAAE,cAAc,EACjC,KAAK,OAEM,EADR,IAAI,cAXT,uHAYC,CADQ;IAIT,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAA,WAAW,EAAE,0CAAE,WAAW,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAEhE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAC9C;IAED,SAAS,CAAC,GAAG,EAAE;QACb,8EAA8E;QAC9E,4DAA4D;QAC5D,0EAA0E;QAC1E,IAAI,YAAY,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU,EAAE;YAClD,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjD;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,iGAAiG;QACjG,wCAAwC;QACxC,sGAAsG;QACtG,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU,IAAI,IAAI,KAAK,SAAS,EAAE;YACxD,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;aAC9B;iBAAM,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC1B;SACF;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExC,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,CAChB,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,yBAAyB,EAAE,YAAY;YACvC,wBAAwB,EAAE,CAAC,KAAK;YAChC,CAAC,gBAAgB,KAAK,EAAE,CAAC,EAAE,aAAa;SACzC,CAAC,EACF,KAAK,kCACA,KAAK,GACL,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAEtC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,yCAAyC;YACzC,IAAI,aAAa,IAAI,aAAa,EAAE,KAAK,KAAK,EAAE;gBAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;iBAAM,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,qBAEC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM;YAC9C,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,cAAc;QAGpB,oBAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;gBACL,YAAY,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC;aAC/D;YAEA,MAAM,IAAI,CACT,oBAAC,WAAW;gBACT,MAAM,CAAC,KAAK,IAAI,CACf,oBAAC,MAAM,IAAC,SAAS,EAAC,oBAAoB,IAAE,MAAM,CAAC,KAAK,CAAU,CAC/D;gBACD,oBAAC,OAAO,IACN,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,QAAQ,EAC7B,KAAK,EAAC,GAAG,EACT,EAAE,EAAE,WAAW;oBAEf,8BAAM,SAAS,EAAC,0BAA0B,IAAE,MAAM,CAAC,IAAI,CAAQ;oBAC9D,MAAM,CAAC,OAAO,CACP,CACE,CACf;YAEA,QAAQ,CACa,CACjB,CACV,CAAC;IAEF,IAAI,MAAM,EAAE;QACV,IAAI,UAAU;YAAE,OAAO,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;KACb;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CACgB,CAAC;AAEpB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;AACvB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAE3B,eAAe,KAAK,CAAC"}
|
package/esm/popover/Popover.js
CHANGED
|
@@ -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 (
|
|
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
|
+
"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.
|
|
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
|
-
|
|
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
|
@@ -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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
*
|
package/src/modal/Modal.tsx
CHANGED
|
@@ -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";
|
package/src/popover/Popover.tsx
CHANGED
|
@@ -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
|
)
|