@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 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 (!property) return;
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
- className: cn(Tooltip_module_default.paper, typographyStyles_module_default["body-short-medium"], utilStyles_module_default["visibility-transition"], utilStyles_module_default[`visibility-transition--${openCn}`]),
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, Popover_module_default.container, utilStyles_module_default["visibility-transition"], utilStyles_module_default[`visibility-transition--${openCn}`], focus_module_default.focusable), {
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 = !!value && value > 0 && (max !== void 0 && value <= max || max === void 0 && value <= 1);
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"], errorMessage && ProgressBar_module_default["fill--error"])
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({