@norges-domstoler/dds-components 0.0.0-dev-20260902084124 → 0.0.0-dev-20260902100140
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/dist/index.cjs +117 -86
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +80 -69
- package/dist/index.d.cts +8 -2
- package/dist/index.d.mts +8 -2
- package/dist/index.mjs +117 -86
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1127,51 +1127,10 @@ function handleElementWithBackdropUnmount(container) {
|
|
|
1127
1127
|
//#region src/components/helpers/Backdrop/Backdrop.module.css
|
|
1128
1128
|
var Backdrop_module_default = {
|
|
1129
1129
|
"backdrop": "dds-Backdrop-module__backdrop",
|
|
1130
|
-
"drawer": "dds-Backdrop-module__drawer",
|
|
1131
|
-
"modal": "dds-Backdrop-module__modal",
|
|
1132
1130
|
"backdrop--visible": "dds-Backdrop-module__backdrop--visible",
|
|
1133
1131
|
"backdrop--hidden": "dds-Backdrop-module__backdrop--hidden"
|
|
1134
1132
|
};
|
|
1135
1133
|
//#endregion
|
|
1136
|
-
//#region src/components/helpers/Backdrop/Backdrop.tsx
|
|
1137
|
-
/**
|
|
1138
|
-
* Backdrop-komponent, viser et bakgrunnslag for et element som skal låse applikasjonen i bakgrunnen (Modal el.l.).
|
|
1139
|
-
*
|
|
1140
|
-
* @component
|
|
1141
|
-
* @param {Object} props - Props for komponenten.
|
|
1142
|
-
* @param {boolean} [props.isMounted] - Angir om backdropen skal være synlig (`true`) eller skjult (`false`). Standard er `false`.
|
|
1143
|
-
* @param {'drawer' | 'modal'} props.zIndex - Bestemmer hvilken z-index-klasse som skal brukes, avhengig av konteksten (f.eks. drawer eller modal).
|
|
1144
|
-
* @param {React.ReactNode} [props.children] - Eventuelt innhold som skal vises inni backdropen.
|
|
1145
|
-
* @param {React.MouseEventHandler<HTMLDivElement>} [props.onClick] - Klikkhåndterer for backdropen, f.eks. for å lukke en modal.
|
|
1146
|
-
* @param {React.Ref<HTMLDivElement>} [props.ref] - Referanse til DOM-elementet.
|
|
1147
|
-
*
|
|
1148
|
-
* @returns {JSX.Element} Et `<div>`-element med riktige klasser basert på synlighet og z-index.
|
|
1149
|
-
|
|
1150
|
-
* @example
|
|
1151
|
-
* ```tsx
|
|
1152
|
-
* <Backdrop isMounted={true} zIndex="modal" onClick={handleClose}>
|
|
1153
|
-
* <ModalContent />
|
|
1154
|
-
* </Backdrop>
|
|
1155
|
-
* ```
|
|
1156
|
-
*/
|
|
1157
|
-
const Backdrop = ({ isMounted, zIndex, ...props }) => {
|
|
1158
|
-
const isMountedCn = isMounted ? "visible" : "hidden";
|
|
1159
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1160
|
-
className: cn(Backdrop_module_default.backdrop, Backdrop_module_default[zIndex], Backdrop_module_default[`backdrop--${isMountedCn}`]),
|
|
1161
|
-
...props
|
|
1162
|
-
});
|
|
1163
|
-
};
|
|
1164
|
-
Backdrop.displayName = "Backdrop";
|
|
1165
|
-
//#endregion
|
|
1166
|
-
//#region src/components/helpers/Dropdown/DropdownItem.module.css
|
|
1167
|
-
var DropdownItem_module_default = {
|
|
1168
|
-
"item": "dds-DropdownItem-module__item",
|
|
1169
|
-
"default": "dds-DropdownItem-module__default",
|
|
1170
|
-
"danger": "dds-DropdownItem-module__danger",
|
|
1171
|
-
"item--interactive": "dds-DropdownItem-module__item--interactive",
|
|
1172
|
-
"item--loading": "dds-DropdownItem-module__item--loading"
|
|
1173
|
-
};
|
|
1174
|
-
//#endregion
|
|
1175
1134
|
//#region src/types/BaseComponentProps.ts
|
|
1176
1135
|
function pruneUndefined(obj) {
|
|
1177
1136
|
return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== void 0));
|
|
@@ -1294,31 +1253,6 @@ const isElevation = (value) => {
|
|
|
1294
1253
|
return typeof value === "string" && ELEVATIONS.includes(value);
|
|
1295
1254
|
};
|
|
1296
1255
|
//#endregion
|
|
1297
|
-
//#region src/components/Icon/Icon.tsx
|
|
1298
|
-
const getSize = (iconSize) => {
|
|
1299
|
-
switch (iconSize) {
|
|
1300
|
-
case "small": return "var(--dds-size-icon-small)";
|
|
1301
|
-
case "medium": return "var(--dds-size-icon-medium)";
|
|
1302
|
-
case "large": return "var(--dds-size-icon-large)";
|
|
1303
|
-
case "component": return "var(--dds-size-icon-component)";
|
|
1304
|
-
case "inherit": return "1em";
|
|
1305
|
-
default: return "var(--dds-size-icon-medium)";
|
|
1306
|
-
}
|
|
1307
|
-
};
|
|
1308
|
-
function Icon(props) {
|
|
1309
|
-
const { id, iconSize = "medium", color = "currentcolor", icon, className, style, htmlProps, iconState, ...rest } = props;
|
|
1310
|
-
const size = getSize(iconSize);
|
|
1311
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(icon, {
|
|
1312
|
-
...getBaseHTMLProps(id, className, style, htmlProps, rest),
|
|
1313
|
-
height: size,
|
|
1314
|
-
width: size,
|
|
1315
|
-
fill: color,
|
|
1316
|
-
"aria-hidden": htmlProps?.["aria-hidden"] ?? true,
|
|
1317
|
-
...iconState ? { iconState } : {}
|
|
1318
|
-
});
|
|
1319
|
-
}
|
|
1320
|
-
Icon.displayName = "Icon";
|
|
1321
|
-
//#endregion
|
|
1322
1256
|
//#region src/components/layout/common/layout.module.css
|
|
1323
1257
|
var layout_module_default = {
|
|
1324
1258
|
"dds-p": "dds-layout-module__dds-p",
|
|
@@ -1346,6 +1280,8 @@ var layout_module_default = {
|
|
|
1346
1280
|
"dds-display": "dds-layout-module__dds-display",
|
|
1347
1281
|
"dds-text-align": "dds-layout-module__dds-text-align",
|
|
1348
1282
|
"dds-word-break": "dds-layout-module__dds-word-break",
|
|
1283
|
+
"dds-z-index": "dds-layout-module__dds-z-index",
|
|
1284
|
+
"dds-flex": "dds-layout-module__dds-flex",
|
|
1349
1285
|
"dds-flex-dir": "dds-layout-module__dds-flex-dir",
|
|
1350
1286
|
"dds-gap": "dds-layout-module__dds-gap",
|
|
1351
1287
|
"dds-c-gap": "dds-layout-module__dds-c-gap",
|
|
@@ -1383,15 +1319,33 @@ const SPACING_SCALES = [
|
|
|
1383
1319
|
"x6",
|
|
1384
1320
|
"x10"
|
|
1385
1321
|
];
|
|
1322
|
+
const Z_INDEXES = [
|
|
1323
|
+
"skiptocontent",
|
|
1324
|
+
"modal-backdrop",
|
|
1325
|
+
"drawer",
|
|
1326
|
+
"drawer-backdrop",
|
|
1327
|
+
"overflowmenu",
|
|
1328
|
+
"popover",
|
|
1329
|
+
"tooltip",
|
|
1330
|
+
"dropdown",
|
|
1331
|
+
"sticky",
|
|
1332
|
+
"absolute-element"
|
|
1333
|
+
];
|
|
1386
1334
|
//#endregion
|
|
1387
1335
|
//#region src/components/layout/common/utils.tsx
|
|
1388
1336
|
const TOKEN_PREFIX = "dds";
|
|
1337
|
+
const hasValue = (value) => {
|
|
1338
|
+
return value !== void 0 && value !== null;
|
|
1339
|
+
};
|
|
1389
1340
|
function isBreakpointObject(value) {
|
|
1390
1341
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1391
1342
|
}
|
|
1392
1343
|
const isSpacingScale = (value) => {
|
|
1393
1344
|
return typeof value === "string" && SPACING_SCALES.includes(value);
|
|
1394
1345
|
};
|
|
1346
|
+
const isZIndex = (value) => {
|
|
1347
|
+
return typeof value === "string" && Z_INDEXES.includes(value);
|
|
1348
|
+
};
|
|
1395
1349
|
const isRelativeGridColumn = (type) => {
|
|
1396
1350
|
return type === "all" || type === "firstHalf" || type === "secondHalf";
|
|
1397
1351
|
};
|
|
@@ -1403,6 +1357,7 @@ function spacingPropToToken(value) {
|
|
|
1403
1357
|
}
|
|
1404
1358
|
const getSpacingToken = (v) => `var(--${TOKEN_PREFIX}-spacing-${spacingPropToToken(v)})`;
|
|
1405
1359
|
const getColorToken = (v) => `var(--${TOKEN_PREFIX}-color-${v})`;
|
|
1360
|
+
const getZIndexToken = (v) => `var(--${TOKEN_PREFIX}-zindex-${v})`;
|
|
1406
1361
|
const relativeGridColumnToken = (v, bp) => {
|
|
1407
1362
|
if (v === "all") return "1 / -1";
|
|
1408
1363
|
if (!bp) return "";
|
|
@@ -1412,6 +1367,7 @@ const getValue = (v, bp, invert) => {
|
|
|
1412
1367
|
let output;
|
|
1413
1368
|
if (isColor(v)) output = getColorToken(v);
|
|
1414
1369
|
else if (isSpacingScale(v)) output = getSpacingToken(v);
|
|
1370
|
+
else if (isZIndex(v)) output = getZIndexToken(v);
|
|
1415
1371
|
else if (isRelativeGridColumn(v)) output = relativeGridColumnToken(v, bp);
|
|
1416
1372
|
else output = v;
|
|
1417
1373
|
return invert ? invertValue(output) : output;
|
|
@@ -1432,10 +1388,10 @@ function getCSSProperties(property, prefix, suffix, invert) {
|
|
|
1432
1388
|
return properties;
|
|
1433
1389
|
}
|
|
1434
1390
|
function getResponsiveCSSProperties(property, prefix, suffix, invert) {
|
|
1435
|
-
if (
|
|
1391
|
+
if (property === void 0 || property === null) return;
|
|
1436
1392
|
const properties = {};
|
|
1437
1393
|
if (isBreakpointObject(property)) BREAKPOINTS.forEach((bp) => {
|
|
1438
|
-
if (property[bp]) properties[buildCSSKey(prefix, suffix, bp)] = convertMultiValue(property[bp].toString(), bp, invert);
|
|
1394
|
+
if (property[bp] !== void 0 && property[bp] !== null) properties[buildCSSKey(prefix, suffix, bp)] = convertMultiValue(property[bp].toString(), bp, invert);
|
|
1439
1395
|
});
|
|
1440
1396
|
else properties[buildCSSKey(prefix, suffix)] = convertMultiValue(property.toString(), void 0, invert);
|
|
1441
1397
|
return properties;
|
|
@@ -1490,7 +1446,7 @@ const ShowHide = ({ hideBelow, showBelow, className, style, htmlProps, id, as: C
|
|
|
1490
1446
|
ShowHide.displayName = "ShowHide";
|
|
1491
1447
|
//#endregion
|
|
1492
1448
|
//#region src/components/layout/Box/Box.tsx
|
|
1493
|
-
const Box = ({ id, className, style, padding, paddingInline, paddingBlock, margin, marginInline, marginBlock, height, maxHeight, minHeight, width, maxWidth, minWidth, position, left, right, bottom, top, overflow, overflowX, overflowY, display, textAlign, flexDirection, gap, columnGap, rowGap, alignItems, alignContent, justifyItems, placeItems, justifyContent, flexWrap, flexBasis, flexFlow, wordBreak, htmlProps, ...rest }) => {
|
|
1449
|
+
const Box = ({ id, className, style, padding, paddingInline, paddingBlock, margin, marginInline, marginBlock, height, maxHeight, minHeight, width, maxWidth, minWidth, position, left, right, bottom, top, overflow, overflowX, overflowY, display, textAlign, flex, flexDirection, gap, columnGap, rowGap, alignItems, alignContent, justifyItems, placeItems, justifyContent, flexWrap, flexBasis, flexFlow, wordBreak, zIndex, htmlProps, ...rest }) => {
|
|
1494
1450
|
const responsiveStyles = {
|
|
1495
1451
|
...getResponsiveCSSProperties(padding, "r", "p"),
|
|
1496
1452
|
...getResponsiveCSSProperties(paddingInline, "r", "p-i"),
|
|
@@ -1514,6 +1470,7 @@ const Box = ({ id, className, style, padding, paddingInline, paddingBlock, margi
|
|
|
1514
1470
|
...getResponsiveCSSProperties(overflowY, "r", "o-y"),
|
|
1515
1471
|
...getResponsiveCSSProperties(display, "r", "display"),
|
|
1516
1472
|
...getResponsiveCSSProperties(textAlign, "r", "text-align"),
|
|
1473
|
+
...getResponsiveCSSProperties(flex, "r", "flex"),
|
|
1517
1474
|
...getResponsiveCSSProperties(flexDirection, "r", "flex-dir"),
|
|
1518
1475
|
...getResponsiveCSSProperties(gap, "r", "gap"),
|
|
1519
1476
|
...getResponsiveCSSProperties(columnGap, "r", "c-gap"),
|
|
@@ -1526,9 +1483,10 @@ const Box = ({ id, className, style, padding, paddingInline, paddingBlock, margi
|
|
|
1526
1483
|
...getResponsiveCSSProperties(flexWrap, "r", "wrap"),
|
|
1527
1484
|
...getResponsiveCSSProperties(flexBasis, "r", "basis"),
|
|
1528
1485
|
...getResponsiveCSSProperties(flexFlow, "r", "flow"),
|
|
1529
|
-
...getResponsiveCSSProperties(wordBreak, "r", "word-break")
|
|
1486
|
+
...getResponsiveCSSProperties(wordBreak, "r", "word-break"),
|
|
1487
|
+
...getResponsiveCSSProperties(zIndex, "r", "z-index")
|
|
1530
1488
|
};
|
|
1531
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ShowHide, { ...getBaseHTMLProps(id, cn(className, padding && layout_module_default["dds-p"], paddingInline && layout_module_default["dds-p-i"], paddingBlock && layout_module_default["dds-p-b"], margin && layout_module_default["dds-m"], marginInline && layout_module_default["dds-m-i"], marginBlock && layout_module_default["dds-m-b"], height && layout_module_default["dds-h"], maxHeight && layout_module_default["dds-max-h"], minHeight && layout_module_default["dds-min-h"], width && layout_module_default["dds-w"], maxWidth && layout_module_default["dds-max-w"], minWidth && layout_module_default["dds-min-w"], position && layout_module_default["dds-pos"], left && layout_module_default["dds-l"], right && layout_module_default["dds-r"], top && layout_module_default["dds-t"], bottom && layout_module_default["dds-b"], overflow && layout_module_default["dds-o"], overflowX && layout_module_default["dds-o-x"], overflowY && layout_module_default["dds-o-y"], display && layout_module_default["dds-display"], textAlign && layout_module_default["dds-text-align"], flexDirection && layout_module_default["dds-flex-dir"], gap && layout_module_default["dds-gap"], columnGap && layout_module_default["dds-c-gap"], rowGap && layout_module_default["dds-r-gap"], alignContent && layout_module_default["dds-a-c"], alignItems && layout_module_default["dds-a-i"], justifyContent && layout_module_default["dds-j-c"], justifyItems && layout_module_default["dds-j-i"], placeItems && layout_module_default["dds-pl-i"], flexWrap && layout_module_default["dds-wrap"], flexBasis && layout_module_default["dds-basis"], flexFlow && layout_module_default["dds-flow"], wordBreak && layout_module_default["dds-word-break"]), {
|
|
1489
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ShowHide, { ...getBaseHTMLProps(id, cn(className, hasValue(padding) && layout_module_default["dds-p"], hasValue(paddingInline) && layout_module_default["dds-p-i"], hasValue(paddingBlock) && layout_module_default["dds-p-b"], hasValue(margin) && layout_module_default["dds-m"], hasValue(marginInline) && layout_module_default["dds-m-i"], hasValue(marginBlock) && layout_module_default["dds-m-b"], hasValue(height) && layout_module_default["dds-h"], hasValue(maxHeight) && layout_module_default["dds-max-h"], hasValue(minHeight) && layout_module_default["dds-min-h"], hasValue(width) && layout_module_default["dds-w"], hasValue(maxWidth) && layout_module_default["dds-max-w"], hasValue(minWidth) && layout_module_default["dds-min-w"], hasValue(position) && layout_module_default["dds-pos"], hasValue(left) && layout_module_default["dds-l"], hasValue(right) && layout_module_default["dds-r"], hasValue(top) && layout_module_default["dds-t"], hasValue(bottom) && layout_module_default["dds-b"], hasValue(overflow) && layout_module_default["dds-o"], hasValue(overflowX) && layout_module_default["dds-o-x"], hasValue(overflowY) && layout_module_default["dds-o-y"], hasValue(display) && layout_module_default["dds-display"], hasValue(textAlign) && layout_module_default["dds-text-align"], hasValue(flex) && layout_module_default["dds-flex"], hasValue(flexDirection) && layout_module_default["dds-flex-dir"], hasValue(gap) && layout_module_default["dds-gap"], hasValue(columnGap) && layout_module_default["dds-c-gap"], hasValue(rowGap) && layout_module_default["dds-r-gap"], hasValue(alignContent) && layout_module_default["dds-a-c"], hasValue(alignItems) && layout_module_default["dds-a-i"], hasValue(justifyContent) && layout_module_default["dds-j-c"], hasValue(justifyItems) && layout_module_default["dds-j-i"], hasValue(placeItems) && layout_module_default["dds-pl-i"], hasValue(flexWrap) && layout_module_default["dds-wrap"], hasValue(flexBasis) && layout_module_default["dds-basis"], hasValue(flexFlow) && layout_module_default["dds-flow"], hasValue(wordBreak) && layout_module_default["dds-word-break"], hasValue(zIndex) && layout_module_default["dds-z-index"]), {
|
|
1532
1490
|
...style,
|
|
1533
1491
|
...responsiveStyles
|
|
1534
1492
|
}, htmlProps, rest) });
|
|
@@ -1546,7 +1504,7 @@ const Bleed = ({ id, className, style, htmlProps, bleedMarginBlock, bleedMarginI
|
|
|
1546
1504
|
...getResponsiveCSSProperties(bleedMarginBlock, "r", "bleed-m-b", true),
|
|
1547
1505
|
...reflStyles
|
|
1548
1506
|
};
|
|
1549
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, { ...getBaseHTMLProps(id, cn(className, bleedMarginInline && layout_module_default["dds-bleed-m-i"], bleedMarginBlock && layout_module_default["dds-bleed-m-b"], bleedMarginInline && reflectivePadding && layout_module_default["dds-p-i"], bleedMarginBlock && reflectivePadding && layout_module_default["dds-p-b"]), {
|
|
1507
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, { ...getBaseHTMLProps(id, cn(className, hasValue(bleedMarginInline) && layout_module_default["dds-bleed-m-i"], hasValue(bleedMarginBlock) && layout_module_default["dds-bleed-m-b"], hasValue(bleedMarginInline) && reflectivePadding && layout_module_default["dds-p-i"], hasValue(bleedMarginBlock) && reflectivePadding && layout_module_default["dds-p-b"]), {
|
|
1550
1508
|
...style,
|
|
1551
1509
|
...responsiveStyles
|
|
1552
1510
|
}, htmlProps, rest) });
|
|
@@ -1622,7 +1580,7 @@ const Grid = ({ id, className, htmlProps, defaultPageLayout = true, display = "g
|
|
|
1622
1580
|
...getResponsiveCSSProperties(gridTemplateAreas, "r", "grid-template-areas")
|
|
1623
1581
|
};
|
|
1624
1582
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, {
|
|
1625
|
-
...getBaseHTMLProps(id, cn(className, resolvedGridTemplateColumns && Grid_module_default["dds-grid-template-columns"], grid && Grid_module_default["dds-grid"], gridAutoColumns && Grid_module_default["dds-grid-auto-columns"], gridAutoFlow && Grid_module_default["dds-grid-auto-flow"], gridAutoRows && Grid_module_default["dds-grid-auto-rows"], gridTemplate && Grid_module_default["dds-grid-template"], gridTemplateRows && Grid_module_default["dds-grid-template-rows"], gridTemplateAreas && Grid_module_default["dds-grid-template-areas"]), {
|
|
1583
|
+
...getBaseHTMLProps(id, cn(className, hasValue(resolvedGridTemplateColumns) && Grid_module_default["dds-grid-template-columns"], hasValue(grid) && Grid_module_default["dds-grid"], hasValue(gridAutoColumns) && Grid_module_default["dds-grid-auto-columns"], hasValue(gridAutoFlow) && Grid_module_default["dds-grid-auto-flow"], hasValue(gridAutoRows) && Grid_module_default["dds-grid-auto-rows"], hasValue(gridTemplate) && Grid_module_default["dds-grid-template"], hasValue(gridTemplateRows) && Grid_module_default["dds-grid-template-rows"], hasValue(gridTemplateAreas) && Grid_module_default["dds-grid-template-areas"]), {
|
|
1626
1584
|
...style,
|
|
1627
1585
|
...styleVariables
|
|
1628
1586
|
}, htmlProps, rest),
|
|
@@ -1642,7 +1600,7 @@ const GridChild = ({ id, className, htmlProps, style, gridRow, gridArea, justify
|
|
|
1642
1600
|
...getResponsiveCSSProperties(justifySelf, "r", "j-self"),
|
|
1643
1601
|
...getResponsiveCSSProperties(columnsOccupied, "r", "grid-column")
|
|
1644
1602
|
};
|
|
1645
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, { ...getBaseHTMLProps(id, cn(className, Grid_module_default["child-col-count"], gridRow && Grid_module_default["dds-grid-row"], gridArea && Grid_module_default["dds-grid-area"], justifySelf && Grid_module_default["dds-j-self"], columnsOccupied && Grid_module_default["dds-grid-column"], columnsOccupied === "firstHalf" && Grid_module_default["child--first-half"], columnsOccupied === "secondHalf" && Grid_module_default["child--second-half"]), {
|
|
1603
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, { ...getBaseHTMLProps(id, cn(className, Grid_module_default["child-col-count"], hasValue(gridRow) && Grid_module_default["dds-grid-row"], hasValue(gridArea) && Grid_module_default["dds-grid-area"], hasValue(justifySelf) && Grid_module_default["dds-j-self"], hasValue(columnsOccupied) && Grid_module_default["dds-grid-column"], columnsOccupied === "firstHalf" && Grid_module_default["child--first-half"], columnsOccupied === "secondHalf" && Grid_module_default["child--second-half"]), {
|
|
1646
1604
|
...style,
|
|
1647
1605
|
...styleVariables
|
|
1648
1606
|
}, htmlProps, rest) });
|
|
@@ -1701,6 +1659,80 @@ const HStack = ({ id, className, style, htmlProps, ...rest }) => {
|
|
|
1701
1659
|
};
|
|
1702
1660
|
HStack.displayName = "HStack";
|
|
1703
1661
|
//#endregion
|
|
1662
|
+
//#region src/components/helpers/Backdrop/Backdrop.tsx
|
|
1663
|
+
/**
|
|
1664
|
+
* Backdrop-komponent, viser et bakgrunnslag for et element som skal låse applikasjonen i bakgrunnen (Modal el.l.).
|
|
1665
|
+
*
|
|
1666
|
+
* @component
|
|
1667
|
+
* @param {Object} props - Props for komponenten.
|
|
1668
|
+
* @param {boolean} [props.isMounted] - Angir om backdropen skal være synlig (`true`) eller skjult (`false`). Standard er `false`.
|
|
1669
|
+
* @param {'drawer' | 'modal'} props.zIndex - Bestemmer hvilken z-index-klasse som skal brukes, avhengig av konteksten (f.eks. drawer eller modal).
|
|
1670
|
+
* @param {React.ReactNode} [props.children] - Eventuelt innhold som skal vises inni backdropen.
|
|
1671
|
+
* @param {React.MouseEventHandler<HTMLDivElement>} [props.onClick] - Klikkhåndterer for backdropen, f.eks. for å lukke en modal.
|
|
1672
|
+
* @param {React.Ref<HTMLDivElement>} [props.ref] - Referanse til DOM-elementet.
|
|
1673
|
+
*
|
|
1674
|
+
* @returns {JSX.Element} Et `<div>`-element med riktige klasser basert på synlighet og z-index.
|
|
1675
|
+
|
|
1676
|
+
* @example
|
|
1677
|
+
* ```tsx
|
|
1678
|
+
* <Backdrop isMounted={true} zIndex="modal" onClick={handleClose}>
|
|
1679
|
+
* <ModalContent />
|
|
1680
|
+
* </Backdrop>
|
|
1681
|
+
* ```
|
|
1682
|
+
*/
|
|
1683
|
+
const Backdrop = ({ isMounted, zIndex, ...props }) => {
|
|
1684
|
+
const isMountedCn = isMounted ? "visible" : "hidden";
|
|
1685
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, {
|
|
1686
|
+
className: cn(Backdrop_module_default.backdrop, Backdrop_module_default[`backdrop--${isMountedCn}`]),
|
|
1687
|
+
position: "fixed",
|
|
1688
|
+
display: "flex",
|
|
1689
|
+
alignItems: "center",
|
|
1690
|
+
justifyContent: "center",
|
|
1691
|
+
top: 0,
|
|
1692
|
+
left: 0,
|
|
1693
|
+
right: 0,
|
|
1694
|
+
bottom: 0,
|
|
1695
|
+
overflowY: "auto",
|
|
1696
|
+
zIndex: `${zIndex}-backdrop`,
|
|
1697
|
+
...props
|
|
1698
|
+
});
|
|
1699
|
+
};
|
|
1700
|
+
Backdrop.displayName = "Backdrop";
|
|
1701
|
+
//#endregion
|
|
1702
|
+
//#region src/components/helpers/Dropdown/DropdownItem.module.css
|
|
1703
|
+
var DropdownItem_module_default = {
|
|
1704
|
+
"item": "dds-DropdownItem-module__item",
|
|
1705
|
+
"default": "dds-DropdownItem-module__default",
|
|
1706
|
+
"danger": "dds-DropdownItem-module__danger",
|
|
1707
|
+
"item--interactive": "dds-DropdownItem-module__item--interactive",
|
|
1708
|
+
"item--loading": "dds-DropdownItem-module__item--loading"
|
|
1709
|
+
};
|
|
1710
|
+
//#endregion
|
|
1711
|
+
//#region src/components/Icon/Icon.tsx
|
|
1712
|
+
const getSize = (iconSize) => {
|
|
1713
|
+
switch (iconSize) {
|
|
1714
|
+
case "small": return "var(--dds-size-icon-small)";
|
|
1715
|
+
case "medium": return "var(--dds-size-icon-medium)";
|
|
1716
|
+
case "large": return "var(--dds-size-icon-large)";
|
|
1717
|
+
case "component": return "var(--dds-size-icon-component)";
|
|
1718
|
+
case "inherit": return "1em";
|
|
1719
|
+
default: return "var(--dds-size-icon-medium)";
|
|
1720
|
+
}
|
|
1721
|
+
};
|
|
1722
|
+
function Icon(props) {
|
|
1723
|
+
const { id, iconSize = "medium", color = "currentcolor", icon, className, style, htmlProps, iconState, ...rest } = props;
|
|
1724
|
+
const size = getSize(iconSize);
|
|
1725
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(icon, {
|
|
1726
|
+
...getBaseHTMLProps(id, className, style, htmlProps, rest),
|
|
1727
|
+
height: size,
|
|
1728
|
+
width: size,
|
|
1729
|
+
fill: color,
|
|
1730
|
+
"aria-hidden": htmlProps?.["aria-hidden"] ?? true,
|
|
1731
|
+
...iconState ? { iconState } : {}
|
|
1732
|
+
});
|
|
1733
|
+
}
|
|
1734
|
+
Icon.displayName = "Icon";
|
|
1735
|
+
//#endregion
|
|
1704
1736
|
//#region src/components/Spinner/Spinner.module.css
|
|
1705
1737
|
var Spinner_module_default = {
|
|
1706
1738
|
"svg": "dds-Spinner-module__svg",
|
|
@@ -4590,7 +4622,8 @@ const OverflowMenu = ({ placement = "bottom-end", offset = 2, parentElement, por
|
|
|
4590
4622
|
role: "menu",
|
|
4591
4623
|
"aria-hidden": !isOpen,
|
|
4592
4624
|
elevation: "medium",
|
|
4593
|
-
border: "border-default"
|
|
4625
|
+
border: "border-default",
|
|
4626
|
+
zIndex: "overflowmenu"
|
|
4594
4627
|
});
|
|
4595
4628
|
return portal && portalTarget ? (0, react_dom.createPortal)(menu, portalTarget) : menu;
|
|
4596
4629
|
};
|
|
@@ -5924,6 +5957,7 @@ const CalendarPopoverContent = ({ children, className, smallScreenBreakpoint })
|
|
|
5924
5957
|
className: cn(DateInput_module_default.popover, className),
|
|
5925
5958
|
style: floatingStyles.floating,
|
|
5926
5959
|
...paperStyleProps,
|
|
5960
|
+
zIndex: "popover",
|
|
5927
5961
|
children
|
|
5928
5962
|
})] });
|
|
5929
5963
|
};
|
|
@@ -6903,6 +6937,7 @@ const Drawer = ({ children, header, placement = "right", parentElement, size = "
|
|
|
6903
6937
|
justifyContent: "flex-start",
|
|
6904
6938
|
padding: "var(--dds-drawer-container-padding)",
|
|
6905
6939
|
borderRadius: "0",
|
|
6940
|
+
zIndex: "drawer",
|
|
6906
6941
|
...getBaseHTMLProps(drawerId, cn(className, Drawer_module_default.container, Drawer_module_default[`container--${placement}`], Drawer_module_default[`container--${placement}-${isOpenCn}`], focus_module_default["focusable--inset"]), style, htmlProps, rest),
|
|
6907
6942
|
elevation: "large",
|
|
6908
6943
|
"aria-labelledby": headerId,
|
|
@@ -7308,9 +7343,6 @@ const texts$17 = createTexts({ send: {
|
|
|
7308
7343
|
se: "Sádde"
|
|
7309
7344
|
} });
|
|
7310
7345
|
//#endregion
|
|
7311
|
-
//#region src/components/Tooltip/Tooltip.module.css
|
|
7312
|
-
var Tooltip_module_default = { "paper": "dds-Tooltip-module__paper" };
|
|
7313
|
-
//#endregion
|
|
7314
7346
|
//#region src/components/Tooltip/Tooltip.tsx
|
|
7315
7347
|
const Tooltip = ({ text, placement = "bottom", children, tooltipId, delay = 100, style, onMouseLeave, onMouseOver, keepMounted = true, id, ref, className, htmlProps, ...rest }) => {
|
|
7316
7348
|
const generatedId = (0, react.useId)();
|
|
@@ -7395,7 +7427,8 @@ const Tooltip = ({ text, placement = "bottom", children, tooltipId, delay = 100,
|
|
|
7395
7427
|
style: { ...positionStyles.floating },
|
|
7396
7428
|
elevation: "small",
|
|
7397
7429
|
border: "border-subtle",
|
|
7398
|
-
|
|
7430
|
+
zIndex: "tooltip",
|
|
7431
|
+
className: cn(typographyStyles_module_default["body-short-medium"], utilStyles_module_default["visibility-transition"], utilStyles_module_default[`visibility-transition--${openCn}`]),
|
|
7399
7432
|
children: text
|
|
7400
7433
|
}) : null]
|
|
7401
7434
|
});
|
|
@@ -11416,9 +11449,6 @@ const texts$7 = createTexts({
|
|
|
11416
11449
|
const PopoverContext = (0, react.createContext)({});
|
|
11417
11450
|
const usePopoverContext = () => (0, react.useContext)(PopoverContext);
|
|
11418
11451
|
//#endregion
|
|
11419
|
-
//#region src/components/Popover/Popover.module.css
|
|
11420
|
-
var Popover_module_default = { "container": "dds-Popover-module__container" };
|
|
11421
|
-
//#endregion
|
|
11422
11452
|
//#region src/components/Popover/Popover.tsx
|
|
11423
11453
|
const Popover = ({ id, header, withCloseButton = true, onBlur, children, placement = "bottom", parentElement, portal = false, offset = 8, sizeProps = {}, returnFocusOnBlur = true, className, htmlProps = {}, anchorRef, isOpen: propIsOpen, onClose: propOnClose, style, ref, ...rest }) => {
|
|
11424
11454
|
const { refs, styles: positionStyles, isPositioned: localIsPositioned } = useFloatPosition(null, {
|
|
@@ -11473,7 +11503,7 @@ const Popover = ({ id, header, withCloseButton = true, onBlur, children, placeme
|
|
|
11473
11503
|
const hasTitle = !!header;
|
|
11474
11504
|
const openCn = hasTransitionedIn && isOpen ? "open" : "closed";
|
|
11475
11505
|
const popover = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Paper, {
|
|
11476
|
-
...getBaseHTMLProps(popoverId, cn(className,
|
|
11506
|
+
...getBaseHTMLProps(popoverId, cn(className, utilStyles_module_default["visibility-transition"], utilStyles_module_default[`visibility-transition--${openCn}`], focus_module_default.focusable), {
|
|
11477
11507
|
...style,
|
|
11478
11508
|
...floatStyling
|
|
11479
11509
|
}, htmlProps, rest),
|
|
@@ -11490,6 +11520,7 @@ const Popover = ({ id, header, withCloseButton = true, onBlur, children, placeme
|
|
|
11490
11520
|
role: "dialog",
|
|
11491
11521
|
elevation: "large",
|
|
11492
11522
|
border: "border-subtle",
|
|
11523
|
+
zIndex: "popover",
|
|
11493
11524
|
children: [
|
|
11494
11525
|
header && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, {
|
|
11495
11526
|
marginInline: "0 x2",
|
|
@@ -11792,7 +11823,7 @@ const ProgressBar = ({ label, tip, errorMessage, size = "medium", "aria-describe
|
|
|
11792
11823
|
* Verdi skal være mindre eller lik max når max finnes; og mindre eller lik 1 hvis ikke.
|
|
11793
11824
|
* Komponenten er "indeterminate" hvis value ikke er gyldig.
|
|
11794
11825
|
*/
|
|
11795
|
-
const hasValidValue =
|
|
11826
|
+
const hasValidValue = value !== null && value !== void 0 && value >= 0 && (max !== void 0 && value <= max || max === void 0 && value <= 1);
|
|
11796
11827
|
const tipId = derivativeIdGenerator(uniqueId, "tip");
|
|
11797
11828
|
const errorMessageId = derivativeIdGenerator(uniqueId, "errorMessage");
|
|
11798
11829
|
const fillPrecentage = hasValidValue && value / (max ?? 1) * 100 + "%";
|
|
@@ -11825,8 +11856,8 @@ const ProgressBar = ({ label, tip, errorMessage, size = "medium", "aria-describe
|
|
|
11825
11856
|
className: cn(ProgressBar_module_default.progress),
|
|
11826
11857
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Box, {
|
|
11827
11858
|
height: "100%",
|
|
11828
|
-
width: isIndeterminate ? "25%" : fillPrecentage ? fillPrecentage : 0,
|
|
11829
|
-
className: cn(ProgressBar_module_default.fill, isIndeterminate && ProgressBar_module_default["fill--indeterminate"], fillPrecentage === "100%" && ProgressBar_module_default["fill--done"],
|
|
11859
|
+
width: hasErrorMessage ? "100%" : isIndeterminate ? "25%" : fillPrecentage ? fillPrecentage : 0,
|
|
11860
|
+
className: cn(ProgressBar_module_default.fill, isIndeterminate && ProgressBar_module_default["fill--indeterminate"], fillPrecentage === "100%" && ProgressBar_module_default["fill--done"], hasErrorMessage && ProgressBar_module_default["fill--error"])
|
|
11830
11861
|
})
|
|
11831
11862
|
}),
|
|
11832
11863
|
renderInputMessage({
|