@norges-domstoler/dds-components 13.7.0 → 13.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cjs/components/AppShell/AppShell.d.ts +29 -4
  2. package/dist/cjs/components/AppShell/AppShell.stories.d.ts +9 -4
  3. package/dist/cjs/components/AppShell/AppShell.tokens.d.ts +16 -0
  4. package/dist/cjs/components/AppShell/AppShellContext.d.ts +10 -0
  5. package/dist/cjs/components/AppShell/Navigation/EmbeteIcon.d.ts +7 -0
  6. package/dist/cjs/components/AppShell/Navigation/Navigation.d.ts +6 -1
  7. package/dist/cjs/components/AppShell/Navigation/NavigationItem.d.ts +5 -2
  8. package/dist/cjs/components/AppShell/Navigation/NavigationLogo.d.ts +3 -0
  9. package/dist/cjs/components/AppShell/Navigation/TopBar.d.ts +23 -0
  10. package/dist/cjs/components/Button/Button.d.ts +1 -1
  11. package/dist/cjs/components/Button/Button.stories.d.ts +1 -1
  12. package/dist/cjs/components/Button/Button.types.d.ts +2 -2
  13. package/dist/cjs/index.js +1824 -1605
  14. package/dist/components/AppShell/AppShell.d.ts +29 -4
  15. package/dist/components/AppShell/AppShell.js +42 -20
  16. package/dist/components/AppShell/AppShell.stories.d.ts +9 -4
  17. package/dist/components/AppShell/AppShell.tokens.d.ts +16 -0
  18. package/dist/components/AppShell/AppShell.tokens.js +16 -3
  19. package/dist/components/AppShell/AppShellContext.d.ts +10 -0
  20. package/dist/components/AppShell/AppShellContext.js +27 -0
  21. package/dist/components/AppShell/Navigation/EmbeteIcon.d.ts +7 -0
  22. package/dist/components/AppShell/Navigation/EmbeteIcon.js +21 -0
  23. package/dist/components/AppShell/Navigation/Navigation.d.ts +6 -1
  24. package/dist/components/AppShell/Navigation/Navigation.js +83 -37
  25. package/dist/components/AppShell/Navigation/NavigationItem.d.ts +5 -2
  26. package/dist/components/AppShell/Navigation/NavigationItem.js +13 -3
  27. package/dist/components/AppShell/Navigation/NavigationLogo.d.ts +3 -0
  28. package/dist/components/AppShell/Navigation/NavigationLogo.js +34 -0
  29. package/dist/components/AppShell/Navigation/TopBar.d.ts +23 -0
  30. package/dist/components/AppShell/Navigation/TopBar.js +78 -0
  31. package/dist/components/Button/Button.d.ts +1 -1
  32. package/dist/components/Button/Button.stories.d.ts +1 -1
  33. package/dist/components/Button/Button.types.d.ts +2 -2
  34. package/package.json +2 -1
package/dist/cjs/index.js CHANGED
@@ -10,6 +10,7 @@ var styled = require('styled-components');
10
10
  var ddsDesignTokens = require('@norges-domstoler/dds-design-tokens');
11
11
  var React = require('react');
12
12
  var tslib = require('tslib');
13
+ var developmentUtils = require('@norges-domstoler/development-utils');
13
14
  var ReactSelect = require('react-select');
14
15
  var reactDom = require('react-dom');
15
16
  var fileSelector = require('file-selector');
@@ -25,7 +26,8 @@ var accepted__default = /*#__PURE__*/_interopDefaultCompat(accepted);
25
26
  var colors$s = ddsDesignTokens.ddsBaseTokens.colors,
26
27
  spacing$B = ddsDesignTokens.ddsBaseTokens.spacing,
27
28
  fontPackages$4 = ddsDesignTokens.ddsBaseTokens.fontPackages,
28
- borderRadius$9 = ddsDesignTokens.ddsBaseTokens.borderRadius;
29
+ borderRadius$9 = ddsDesignTokens.ddsBaseTokens.borderRadius,
30
+ breakpoints = ddsDesignTokens.ddsBaseTokens.breakpoints;
29
31
  var navigationItems = {
30
32
  gap: spacing$B.SizesDdsSpacingLocalX05,
31
33
  item: Object.assign(Object.assign({}, fontPackages$4.body_sans_02.base), {
@@ -47,13 +49,23 @@ var logoAndVersion = {
47
49
  padding: '36px 24px',
48
50
  color: colors$s.DdsColorNeutralsWhite,
49
51
  logo: Object.assign(Object.assign({}, fontPackages$4.heading_sans_05.base), {
50
- fontWeight: 700
52
+ fontWeight: 700,
53
+ small: Object.assign(Object.assign({}, fontPackages$4.heading_sans_03.base), {
54
+ fontWeight: 600
55
+ })
51
56
  }),
52
57
  version: Object.assign({}, fontPackages$4.supportingStyle_tiny_01.base)
53
58
  };
59
+ var topBar = {
60
+ padding: spacing$B.SizesDdsSpacingLocalX025,
61
+ height: "calc(".concat(spacing$B.SizesDdsSpacingLayoutX3, " + 2 * ").concat(spacing$B.SizesDdsSpacingLocalX025, ")"),
62
+ buttonTextColor: colors$s.DdsColorNeutralsGray3,
63
+ gap: spacing$B.SizesDdsSpacingLocalX025
64
+ };
54
65
  var navigation$2 = {
55
66
  navigationItems: navigationItems,
56
67
  logoAndVersion: logoAndVersion,
68
+ topBar: topBar,
57
69
  color: colors$s.DdsColorNeutralsGray1,
58
70
  backgroundColor: colors$s.DdsColorPrimaryBase,
59
71
  gap: spacing$B.SizesDdsSpacingLocalX05,
@@ -61,17 +73,19 @@ var navigation$2 = {
61
73
  padding: spacing$B.SizesDdsSpacingLocalX1,
62
74
  width: '264px',
63
75
  mobile: {
76
+ breakpoint: breakpoints.DdsBreakpointSm,
64
77
  iconColors: colors$s.DdsColorNeutralsGray3
65
78
  }
66
79
  };
67
- var floatingActionButtons = {
80
+ var floatingActionButtons$1 = {
68
81
  gap: spacing$B.SizesDdsSpacingLocalX1,
69
82
  textColor: colors$s.DdsColorNeutralsGray7,
70
- backgroundColor: colors$s.DdsColorPrimaryDarker
83
+ backgroundColor: colors$s.DdsColorNeutralsWhite,
84
+ borderRadius: borderRadius$9.RadiiDdsBorderRadius3Radius
71
85
  };
72
86
  var appShellTokens = {
73
87
  navigation: navigation$2,
74
- floatingActionButtons: floatingActionButtons
88
+ floatingActionButtons: floatingActionButtons$1
75
89
  };
76
90
 
77
91
  var border$b = ddsDesignTokens.ddsBaseTokens.border,
@@ -114,450 +128,69 @@ var Divider = /*#__PURE__*/React.forwardRef(function (props, ref) {
114
128
  });
115
129
  Divider.displayName = 'Divider';
116
130
 
117
- var navTokens$1 = appShellTokens.navigation;
118
- var navItemTokens = navTokens$1.navigationItems.item;
119
- var IconContainer = styled__default.default.div.withConfig({
120
- displayName: "NavigationItem__IconContainer",
121
- componentId: "sc-8k2l5g-0"
122
- })(["grid-area:icon;display:flex;align-items:center;"]);
123
- var TextContainer$1 = styled__default.default.span.withConfig({
124
- displayName: "NavigationItem__TextContainer",
125
- componentId: "sc-8k2l5g-1"
126
- })(["grid-area:text;"]);
127
- var ChevronContainer = styled__default.default.div.withConfig({
128
- displayName: "NavigationItem__ChevronContainer",
129
- componentId: "sc-8k2l5g-2"
130
- })(["display:flex;align-items:center;opacity:0;grid-area:chevron;"]);
131
- var BaseLink = styled__default.default.a.withConfig({
132
- displayName: "NavigationItem__BaseLink",
133
- componentId: "sc-8k2l5g-3"
134
- })(["padding:", ";gap:", ";border-radius:", ";text-decoration:none;color:", ";font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";:hover:not(.active){background-color:", ";}&.active{color:", ";background-color:", ";}"], navItemTokens.padding, navItemTokens.gap, navItemTokens.borderRadius, navItemTokens.color, navItemTokens.fontSize, navItemTokens.fontStyle, navItemTokens.fontFamily, navItemTokens.fontWeight, navItemTokens.lineHeight, navItemTokens.letterSpacing, navItemTokens.hover.backgroundColor, navItemTokens.active.color, navItemTokens.active.backgroundColor);
135
- var InternalNavItem = styled__default.default(BaseLink).withConfig({
136
- displayName: "NavigationItem__InternalNavItem",
137
- componentId: "sc-8k2l5g-4"
138
- })(["display:grid;align-items:center;grid-template-areas:'icon text chevron';grid-template-columns:min-content 1fr min-content;:hover{", "{opacity:1;}}"], ChevronContainer);
139
- var ExternalNavItem = styled__default.default(BaseLink).withConfig({
140
- displayName: "NavigationItem__ExternalNavItem",
141
- componentId: "sc-8k2l5g-5"
142
- })(["display:flex;flex-direction:row;align-items:center;font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";"], navItemTokens.external.fontSize, navItemTokens.external.fontStyle, navItemTokens.external.fontFamily, navItemTokens.external.fontWeight, navItemTokens.external.lineHeight, navItemTokens.external.letterSpacing);
143
- var NavigationItem$1 = function NavigationItem(_a) {
144
- var _as = _a.as,
145
- active = _a.active,
146
- icon = _a.icon,
147
- external = _a.external,
148
- children = _a.children,
149
- rest = tslib.__rest(_a, ["as", "active", "icon", "external", "children"]);
150
- var Comp = _as !== null && _as !== void 0 ? _as : 'a';
151
- if (external) {
152
- return jsxRuntime.jsxs(ExternalNavItem, Object.assign({
153
- as: Comp
154
- }, rest, {
155
- children: [children, jsxRuntime.jsx(ddsIcons.Icon, {
156
- icon: ddsIcons.OpenExternalIcon,
157
- iconSize: "inherit"
158
- })]
159
- }));
160
- }
161
- return jsxRuntime.jsxs(InternalNavItem, Object.assign({
162
- as: Comp
163
- }, rest, {
164
- className: active ? 'active' : '',
165
- children: [jsxRuntime.jsx(IconContainer, {
166
- children: icon && jsxRuntime.jsx(ddsIcons.Icon, {
167
- icon: icon
168
- })
169
- }), jsxRuntime.jsx(TextContainer$1, {
170
- children: children
171
- }), jsxRuntime.jsx(ChevronContainer, {
172
- children: jsxRuntime.jsx(ddsIcons.Icon, {
173
- icon: ddsIcons.ChevronRightIcon
174
- })
175
- })]
176
- }));
177
- };
178
- NavigationItem$1.displayName = 'AppShell.NavItem';
179
-
180
- var navTokens = appShellTokens.navigation;
181
- var Sidebar = styled__default.default.div.withConfig({
182
- displayName: "Navigation__Sidebar",
183
- componentId: "sc-twhp5c-0"
184
- })(["display:flex;flex-direction:column;height:100vh;width:", ";padding:", ";color:", ";background-color:", ";box-sizing:border-box;position:sticky;top:0;left:0;"], navTokens.width, navTokens.padding, navTokens.color, navTokens.backgroundColor);
185
- var LogoAndVersionContainer = styled__default.default.div.withConfig({
186
- displayName: "Navigation__LogoAndVersionContainer",
187
- componentId: "sc-twhp5c-1"
188
- })(["display:flex;flex-direction:column;color:", ";padding:", ";"], navTokens.logoAndVersion.color, navTokens.logoAndVersion.padding);
189
- var Logo = styled__default.default.a.withConfig({
190
- displayName: "Navigation__Logo",
191
- componentId: "sc-twhp5c-2"
192
- })(["font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";text-align:middle;"], navTokens.logoAndVersion.logo.fontSize, navTokens.logoAndVersion.logo.fontStyle, navTokens.logoAndVersion.logo.fontFamily, navTokens.logoAndVersion.logo.fontWeight, navTokens.logoAndVersion.logo.lineHeight, navTokens.logoAndVersion.logo.letterSpacing);
193
- var Version = styled__default.default.span.withConfig({
194
- displayName: "Navigation__Version",
195
- componentId: "sc-twhp5c-3"
196
- })(["font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";"], navTokens.logoAndVersion.version.fontSize, navTokens.logoAndVersion.version.fontStyle, navTokens.logoAndVersion.version.fontFamily, navTokens.logoAndVersion.version.fontWeight, navTokens.logoAndVersion.version.lineHeight, navTokens.logoAndVersion.version.letterSpacing);
197
- var NavigationItems = styled__default.default.nav.withConfig({
198
- displayName: "Navigation__NavigationItems",
199
- componentId: "sc-twhp5c-4"
200
- })(["display:flex;flex-direction:column;gap:", ";"], navTokens.navigationItems.gap);
201
- var DividerWrapper = styled__default.default.div.withConfig({
202
- displayName: "Navigation__DividerWrapper",
203
- componentId: "sc-twhp5c-5"
204
- })(["padding-left:", ";padding-right:", ";"], navTokens.navigationItems.item.padding, navTokens.navigationItems.item.padding);
205
- var StyledDivider$1 = styled__default.default(Divider).withConfig({
206
- displayName: "Navigation__StyledDivider",
207
- componentId: "sc-twhp5c-6"
208
- })(["border-color:", ";"], navTokens.dividerColor);
209
- var Navigation$1 = function Navigation(_ref) {
210
- var version = _ref.version,
211
- internal = _ref.internal,
212
- external = _ref.external;
213
- return jsxRuntime.jsxs(Sidebar, {
214
- children: [jsxRuntime.jsxs(LogoAndVersionContainer, {
215
- children: [jsxRuntime.jsx(Logo, {
216
- children: "Lovisa"
217
- }), version !== '' && jsxRuntime.jsxs(Version, {
218
- children: ["v ", version]
219
- })]
220
- }), jsxRuntime.jsxs(NavigationItems, {
221
- children: [React.Children.map(internal, function (item) {
222
- if (item.type !== NavigationItem$1) {
223
- console.warn("Du bruker en React-komponent som ikke er tillat i AppShell-internal. Du kan kun bruke AppShell.NavItem i AppShell-internal.");
224
- return null;
225
- }
226
- return item;
227
- }), external.length > 0 && jsxRuntime.jsx(DividerWrapper, {
228
- children: jsxRuntime.jsx(StyledDivider$1, {})
229
- }), React.Children.map(external, function (item) {
230
- if (item.type !== NavigationItem$1) {
231
- console.warn('Du bruker en React-komponent som ikke er tillat i AppShell-external. Du kan kun bruke AppShell.NavItem i AppShell-external.');
232
- return null;
233
- }
234
- return item;
235
- })]
236
- })]
237
- });
238
- };
239
-
240
- var AppShellContainer = styled__default.default.div.withConfig({
241
- displayName: "AppShell__AppShellContainer",
242
- componentId: "sc-1c8yu5p-0"
243
- })(["display:flex;flex-direction:row;"]);
244
- var MainContent = styled__default.default.main.withConfig({
245
- displayName: "AppShell__MainContent",
246
- componentId: "sc-1c8yu5p-1"
247
- })(["min-width:calc(100vw - ", ");max-width:calc(100vw - ", ");"], appShellTokens.navigation.width, appShellTokens.navigation.width);
248
- var AppShell$1 = function AppShell(_ref) {
249
- var children = _ref.children,
250
- _ref$version = _ref.version,
251
- version = _ref$version === void 0 ? '' : _ref$version,
252
- _ref$navigation = _ref.navigation,
253
- _ref$navigation$inter = _ref$navigation.internal,
254
- internal = _ref$navigation$inter === void 0 ? [] : _ref$navigation$inter,
255
- _ref$navigation$exter = _ref$navigation.external,
256
- external = _ref$navigation$exter === void 0 ? [] : _ref$navigation$exter;
257
- return jsxRuntime.jsxs(AppShellContainer, {
258
- children: [jsxRuntime.jsx(Navigation$1, {
259
- version: version,
260
- internal: internal,
261
- external: external
262
- }), jsxRuntime.jsx(MainContent, {
263
- children: children
264
- })]
265
- });
266
- };
267
-
268
- var AppShell = AppShell$1;
269
- AppShell.NavItem = NavigationItem$1;
270
-
271
- var RadioButtonGroupContext = /*#__PURE__*/React__default.default.createContext(null);
272
- var useRadioButtonGroup = function useRadioButtonGroup() {
273
- return React.useContext(RadioButtonGroupContext);
274
- };
275
-
276
- var selectionControlSizeNumberPx = 18;
277
- var selectionControlSize = "".concat(selectionControlSizeNumberPx, "px");
278
-
279
- var colors$r = ddsDesignTokens.ddsBaseTokens.colors,
280
- spacing$z = ddsDesignTokens.ddsBaseTokens.spacing,
281
- borderRadius$8 = ddsDesignTokens.ddsBaseTokens.borderRadius;
282
- var checkmark$1 = {
283
- checkbox: {
284
- borderColor: colors$r.DdsColorNeutralsWhite
285
- },
286
- radio: {
287
- backgroundColor: colors$r.DdsColorNeutralsWhite,
288
- height: spacing$z.SizesDdsSpacingLocalX05,
289
- width: spacing$z.SizesDdsSpacingLocalX05,
290
- left: "calc(50% - ".concat(spacing$z.SizesDdsSpacingLocalX05NumberPx / 2, "px)"),
291
- top: "calc(50% - ".concat(spacing$z.SizesDdsSpacingLocalX05NumberPx / 2, "px)")
292
- }
293
- };
294
- var selectionControl$2 = {
295
- base: {
296
- border: '1px solid',
297
- borderColor: colors$r.DdsColorNeutralsGray5,
298
- backgroundColor: colors$r.DdsColorNeutralsWhite,
299
- borderRadius: borderRadius$8.RadiiDdsBorderRadius1Radius,
300
- height: selectionControlSize,
301
- width: selectionControlSize
302
- },
303
- hover: {
304
- base: {
305
- backgroundColor: colors$r.DdsColorInteractiveLightest,
306
- boxShadow: "inset 0 0 0 1px ".concat(ddsForm.hoverInputfield.borderColor),
307
- borderColor: ddsForm.hoverInputfield.borderColor
308
- },
309
- danger: {
310
- backgroundColor: colors$r.DdsColorDangerLightest,
311
- boxShadow: "inset 0 0 0 1px ".concat(ddsForm.dangerInputfield.borderColor),
312
- borderColor: ddsForm.dangerInputfield.borderColor
131
+ function _iterableToArrayLimit(arr, i) {
132
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
133
+ if (null != _i) {
134
+ var _s,
135
+ _e,
136
+ _x,
137
+ _r,
138
+ _arr = [],
139
+ _n = !0,
140
+ _d = !1;
141
+ try {
142
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
143
+ if (Object(_i) !== _i) return;
144
+ _n = !1;
145
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
146
+ } catch (err) {
147
+ _d = !0, _e = err;
148
+ } finally {
149
+ try {
150
+ if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
151
+ } finally {
152
+ if (_d) throw _e;
153
+ }
313
154
  }
314
- },
315
- danger: {
316
- boxShadow: "inset 0 0 0 1px ".concat(ddsForm.dangerInputfield.borderColor),
317
- borderColor: ddsForm.dangerInputfield.borderColor
318
- },
319
- disabled: {
320
- borderColor: colors$r.DdsColorNeutralsGray5
321
- },
322
- readOnly: {
323
- backgroundColor: 'transparent'
324
- },
325
- checked: {
326
- base: {
327
- borderColor: colors$r.DdsColorInteractiveBase,
328
- backgroundColor: colors$r.DdsColorInteractiveBase
329
- },
330
- hover: {
331
- backgroundColor: colors$r.DdsColorInteractiveDark,
332
- boxShadow: "inset 0 0 0 1px ".concat(colors$r.DdsColorInteractiveDark),
333
- borderColor: colors$r.DdsColorInteractiveDark
334
- },
335
- disabled: {
336
- borderColor: colors$r.DdsColorNeutralsGray6,
337
- backgroundColor: colors$r.DdsColorNeutralsGray6
155
+ return _arr;
156
+ }
157
+ }
158
+ function _regeneratorRuntime() {
159
+ _regeneratorRuntime = function () {
160
+ return exports;
161
+ };
162
+ var exports = {},
163
+ Op = Object.prototype,
164
+ hasOwn = Op.hasOwnProperty,
165
+ defineProperty = Object.defineProperty || function (obj, key, desc) {
166
+ obj[key] = desc.value;
338
167
  },
339
- readOnly: {
340
- borderColor: colors$r.DdsColorNeutralsGray6,
341
- backgroundColor: colors$r.DdsColorNeutralsGray6
342
- }
343
- },
344
- checkbox: {
345
- indeterminate: {
346
- borderColor: colors$r.DdsColorInteractiveBase,
347
- backgroundColor: colors$r.DdsColorInteractiveBase
348
- }
168
+ $Symbol = "function" == typeof Symbol ? Symbol : {},
169
+ iteratorSymbol = $Symbol.iterator || "@@iterator",
170
+ asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
171
+ toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
172
+ function define(obj, key, value) {
173
+ return Object.defineProperty(obj, key, {
174
+ value: value,
175
+ enumerable: !0,
176
+ configurable: !0,
177
+ writable: !0
178
+ }), obj[key];
349
179
  }
350
- };
351
- var container$e = {
352
- color: colors$r.DdsColorNeutralsGray9,
353
- disabled: {
354
- color: colors$r.DdsColorNeutralsGray6
355
- },
356
- withLabel: {
357
- paddingLeft: "".concat(selectionControlSizeNumberPx + spacing$z.SizesDdsSpacingLocalX05NumberPx, "px")
358
- },
359
- noLabel: {
360
- padding: "".concat(selectionControlSizeNumberPx / 2, "px")
180
+ try {
181
+ define({}, "");
182
+ } catch (err) {
183
+ define = function (obj, key, value) {
184
+ return obj[key] = value;
185
+ };
361
186
  }
362
- };
363
- var groupContainer$1 = {
364
- row: {
365
- gap: spacing$z.SizesDdsSpacingLocalX075
366
- },
367
- column: {
368
- gap: spacing$z.SizesDdsSpacingLocalX05
369
- }
370
- };
371
- var outerGroupContainer$1 = {
372
- gap: spacing$z.SizesDdsSpacingLocalX0125
373
- };
374
- var selectionControlTokens = {
375
- selectionControl: selectionControl$2,
376
- checkmark: checkmark$1,
377
- container: container$e,
378
- groupContainer: groupContainer$1,
379
- outerGroupContainer: outerGroupContainer$1
380
- };
381
-
382
- var selectionControl$1 = selectionControlTokens.selectionControl,
383
- container$d = selectionControlTokens.container,
384
- checkmark = selectionControlTokens.checkmark,
385
- groupContainer = selectionControlTokens.groupContainer,
386
- outerGroupContainer = selectionControlTokens.outerGroupContainer;
387
- var CustomSelectionControl = styled__default.default.span.withConfig({
388
- displayName: "SelectionControlstyles__CustomSelectionControl",
389
- componentId: "sc-vs1fm0-0"
390
- })(["position:absolute;left:0;box-sizing:border-box;border:", ";border-color:", ";background-color:", ";border-radius:", ";height:", ";width:", ";", " &:after{content:'';position:absolute;display:none;}"], selectionControl$1.base.border, selectionControl$1.base.borderColor, selectionControl$1.base.backgroundColor, selectionControl$1.base.borderRadius, selectionControl$1.base.height, selectionControl$1.base.width, function (_ref) {
391
- var controlType = _ref.controlType;
392
- return controlType === 'radio' && styled.css(["border-radius:50%;"]);
393
- });
394
- var Container$f = styled__default.default.label.withConfig({
395
- displayName: "SelectionControlstyles__Container",
396
- componentId: "sc-vs1fm0-1"
397
- })(["position:relative;display:flex;align-items:center;cursor:pointer;user-select:none;width:fit-content;color:", ";", " input ~ ", "{@media (prefers-reduced-motion:no-preference){transition:box-shadow 0.2s,background-color 0.2s,border 0.2s;}}&:focus-within{", " @media (prefers-reduced-motion:no-preference){transition:", ";}}&:hover input:enabled ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}input:checked:enabled ~ ", ",input[data-indeterminate='true'] ~ ", "{border-color:", ";background-color:", ";}&:hover input:checked:enabled ~ ", ",&:hover input:enabled[data-indeterminate='true'] ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}", " input:disabled ~ ", "{", "}input:checked:disabled ~ ", ",input:disabled[data-indeterminate='true'] ~ ", "{background-color:", ";border-color:", ";}input:checked ~ ", ":after,input[data-indeterminate='true'] ~ ", ":after{display:block;}", " ", ""], container$d.color, function (_ref2) {
398
- var hasLabel = _ref2.hasLabel;
399
- return hasLabel ? styled.css(["padding-left:", ";"], container$d.withLabel.paddingLeft) : styled.css(["padding:", ";"], container$d.noLabel.padding);
400
- }, CustomSelectionControl, ddsForm.focusVisible, ddsForm.focusVisibleTransitionValue, CustomSelectionControl, selectionControl$1.hover.base.backgroundColor, selectionControl$1.hover.base.boxShadow, selectionControl$1.hover.base.borderColor, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.base.borderColor, selectionControl$1.checked.base.backgroundColor, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.hover.backgroundColor, selectionControl$1.checked.hover.boxShadow, selectionControl$1.checked.hover.borderColor, function (_ref3) {
401
- var error = _ref3.error;
402
- return error && styled.css(["&:hover input:enabled ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}input ~ ", ",input:checked:enabled ~ ", ",&:hover input:checked:enabled ~ ", "{box-shadow:", ";border-color:", ";}"], CustomSelectionControl, selectionControl$1.hover.danger.backgroundColor, selectionControl$1.hover.danger.boxShadow, selectionControl$1.hover.danger.borderColor, CustomSelectionControl, CustomSelectionControl, CustomSelectionControl, selectionControl$1.danger.boxShadow, selectionControl$1.danger.borderColor);
403
- }, CustomSelectionControl, selectionControl$1.disabled, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.disabled.backgroundColor, selectionControl$1.checked.disabled.borderColor, CustomSelectionControl, CustomSelectionControl, function (_ref4) {
404
- var disabled = _ref4.disabled;
405
- return disabled && styled.css(["cursor:not-allowed;color:", ";"], container$d.disabled.color);
406
- }, function (_ref5) {
407
- var controlType = _ref5.controlType;
408
- return controlType === 'checkbox' ? styled.css(["", ":after{border:solid ", ";border-width:0 1px 1px 0;left:35%;top:10%;width:30%;height:65%;transform:rotate(45deg);}input[data-indeterminate='true'] ~ ", ":after{border-width:1px 0 0 0;left:25%;top:50%;width:50%;height:1px;transform:none;}"], CustomSelectionControl, checkmark.checkbox.borderColor, CustomSelectionControl) : styled.css(["", ":after{border-radius:50%;background-color:", ";width:", ";height:", ";left:", ";top:", ";}"], CustomSelectionControl, checkmark.radio.backgroundColor, checkmark.radio.width, checkmark.radio.height, checkmark.radio.left, checkmark.radio.top);
409
- });
410
- var OuterGroupContainer = styled__default.default.div.withConfig({
411
- displayName: "SelectionControlstyles__OuterGroupContainer",
412
- componentId: "sc-vs1fm0-2"
413
- })(["display:flex;flex-direction:column;gap:", ";"], outerGroupContainer.gap);
414
- var GroupContainer = styled__default.default.div.withConfig({
415
- displayName: "SelectionControlstyles__GroupContainer",
416
- componentId: "sc-vs1fm0-3"
417
- })(["display:flex;", ""], function (_ref6) {
418
- var direction = _ref6.direction;
419
- return styled.css(["flex-direction:", ";gap:", ";"], direction, groupContainer[direction].gap);
420
- });
421
-
422
- var isValueEqualToGroupValueOrFalsy = function isValueEqualToGroupValueOrFalsy(value, group) {
423
- if (typeof value !== 'undefined' && value !== null && group) {
424
- if (typeof value === 'number') {
425
- return value === Number(group === null || group === void 0 ? void 0 : group.value);
426
- }
427
- return value === (group === null || group === void 0 ? void 0 : group.value);
428
- }
429
- return !!value;
430
- };
431
- var RadioButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
432
- var id = props.id,
433
- name = props.name,
434
- label = props.label,
435
- disabled = props.disabled,
436
- readOnly = props.readOnly,
437
- error = props.error,
438
- checked = props.checked,
439
- value = props.value,
440
- children = props.children,
441
- required = props.required,
442
- onChange = props.onChange,
443
- ariaDescribedby = props['aria-describedby'],
444
- className = props.className,
445
- _props$htmlProps = props.htmlProps,
446
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
447
- rest = tslib.__rest(props, ["id", "name", "label", "disabled", "readOnly", "error", "checked", "value", "children", "required", "onChange", 'aria-describedby', "className", "htmlProps"]);
448
- var htmlPropsClassName = htmlProps.className,
449
- style = htmlProps.style,
450
- restHtmlProps = tslib.__rest(htmlProps, ["className", "style"]);
451
- var generatedId = React.useId();
452
- var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-radioButton");
453
- var hasLabel = !!label;
454
- var radioButtonGroup = useRadioButtonGroup();
455
- var handleChange = function handleChange(event) {
456
- onChange && onChange(event);
457
- radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.onChange(event);
458
- };
459
- var describedByIds = [];
460
- if (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId) describedByIds.push(radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId);
461
- if (ariaDescribedby) describedByIds.push(ariaDescribedby);
462
- var inputProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(uniqueId, restHtmlProps, rest)), {
463
- type: 'radio',
464
- name: name !== null && name !== void 0 ? name : radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.name,
465
- disabled: disabled || readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled) || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
466
- required: required || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.required),
467
- checked: typeof checked !== 'undefined' ? checked : isValueEqualToGroupValueOrFalsy(value, radioButtonGroup),
468
- onChange: handleChange,
469
- value: value,
470
- 'aria-describedby': describedByIds.length > 0 ? describedByIds.join(' ') : undefined,
471
- 'aria-invalid': error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error) ? true : undefined
472
- });
473
- var containerProps = {
474
- error: error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error),
475
- disabled: disabled || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled),
476
- readOnly: readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
477
- style: style,
478
- className: ddsCore.joinClassNames(className, htmlPropsClassName),
479
- htmlFor: uniqueId,
480
- controlType: 'radio',
481
- hasLabel: hasLabel
482
- };
483
- return jsxRuntime.jsxs(Container$f, Object.assign({}, containerProps, {
484
- htmlFor: uniqueId,
485
- controlType: "radio",
486
- children: [jsxRuntime.jsx(ddsForm.HiddenInput, Object.assign({}, inputProps, {
487
- ref: ref
488
- })), jsxRuntime.jsx(CustomSelectionControl, {
489
- controlType: "radio"
490
- }), jsxRuntime.jsx(ddsTypography.Typography, {
491
- as: "span",
492
- children: children !== null && children !== void 0 ? children : label
493
- })]
494
- }));
495
- });
496
- RadioButton.displayName = 'RadioButton';
497
-
498
- function _iterableToArrayLimit(arr, i) {
499
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
500
- if (null != _i) {
501
- var _s,
502
- _e,
503
- _x,
504
- _r,
505
- _arr = [],
506
- _n = !0,
507
- _d = !1;
508
- try {
509
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
510
- if (Object(_i) !== _i) return;
511
- _n = !1;
512
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
513
- } catch (err) {
514
- _d = !0, _e = err;
515
- } finally {
516
- try {
517
- if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
518
- } finally {
519
- if (_d) throw _e;
520
- }
521
- }
522
- return _arr;
523
- }
524
- }
525
- function _regeneratorRuntime() {
526
- _regeneratorRuntime = function () {
527
- return exports;
528
- };
529
- var exports = {},
530
- Op = Object.prototype,
531
- hasOwn = Op.hasOwnProperty,
532
- defineProperty = Object.defineProperty || function (obj, key, desc) {
533
- obj[key] = desc.value;
534
- },
535
- $Symbol = "function" == typeof Symbol ? Symbol : {},
536
- iteratorSymbol = $Symbol.iterator || "@@iterator",
537
- asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
538
- toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
539
- function define(obj, key, value) {
540
- return Object.defineProperty(obj, key, {
541
- value: value,
542
- enumerable: !0,
543
- configurable: !0,
544
- writable: !0
545
- }), obj[key];
546
- }
547
- try {
548
- define({}, "");
549
- } catch (err) {
550
- define = function (obj, key, value) {
551
- return obj[key] = value;
552
- };
553
- }
554
- function wrap(innerFn, outerFn, self, tryLocsList) {
555
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
556
- generator = Object.create(protoGenerator.prototype),
557
- context = new Context(tryLocsList || []);
558
- return defineProperty(generator, "_invoke", {
559
- value: makeInvokeMethod(innerFn, self, context)
560
- }), generator;
187
+ function wrap(innerFn, outerFn, self, tryLocsList) {
188
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
189
+ generator = Object.create(protoGenerator.prototype),
190
+ context = new Context(tryLocsList || []);
191
+ return defineProperty(generator, "_invoke", {
192
+ value: makeInvokeMethod(innerFn, self, context)
193
+ }), generator;
561
194
  }
562
195
  function tryCatch(fn, obj, arg) {
563
196
  try {
@@ -886,262 +519,151 @@ function _toPropertyKey(arg) {
886
519
  return typeof key === "symbol" ? key : String(key);
887
520
  }
888
521
 
889
- var colors$q = ddsDesignTokens.ddsBaseTokens.colors,
890
- spacing$y = ddsDesignTokens.ddsBaseTokens.spacing;
891
- var message = {
892
- tip: {
893
- backgroundColor: colors$q.DdsColorNeutralsWhite
894
- },
895
- error: {
896
- padding: "".concat(spacing$y.SizesDdsSpacingLocalX025, " ").concat(spacing$y.SizesDdsSpacingLocalX05),
897
- color: colors$q.DdsColorDangerBase,
898
- backgroundColor: colors$q.DdsColorDangerLightest,
899
- gap: spacing$y.SizesDdsSpacingLocalX05
900
- }
901
- };
902
- var icon$a = {
903
- marginTop: spacing$y.SizesDdsSpacingLocalX0125
904
- };
905
- var inputMessageTokens = {
906
- message: message,
907
- icon: icon$a
908
- };
909
-
910
- var InputMessageWrapper = styled__default.default.div.withConfig({
911
- displayName: "InputMessage__InputMessageWrapper",
912
- componentId: "sc-c954fy-0"
913
- })(["display:flex;width:fit-content;word-break:break-word;max-width:100%;", " svg{margin-top:", ";}"], function (_ref) {
914
- var messageType = _ref.messageType;
915
- return messageType === 'error' ? styled.css(["color:", ";background-color:", ";padding:", ";gap:", ";"], inputMessageTokens.message.error.color, inputMessageTokens.message.error.backgroundColor, inputMessageTokens.message.error.padding, inputMessageTokens.message.error.gap) : '';
916
- }, inputMessageTokens.icon.marginTop);
917
- var InputMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
918
- var message = props.message,
919
- messageType = props.messageType,
920
- id = props.id,
921
- className = props.className,
922
- htmlProps = props.htmlProps,
923
- rest = tslib.__rest(props, ["message", "messageType", "id", "className", "htmlProps"]);
924
- var wrapperProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest)), {
925
- ref: ref,
926
- messageType: messageType
927
- });
928
- var isError = messageType === 'error';
929
- return jsxRuntime.jsxs(InputMessageWrapper, Object.assign({}, wrapperProps, {
930
- children: [isError && jsxRuntime.jsx(ddsIcons.Icon, {
931
- icon: ddsIcons.ErrorIcon,
932
- iconSize: "inherit"
933
- }), jsxRuntime.jsx(ddsTypography.Typography, {
934
- typographyType: isError ? 'supportingStyleLabel01' : 'supportingStyleHelperText01',
935
- as: "span",
936
- bold: isError ? true : undefined,
937
- color: isError ? inputMessageTokens.message.error.color : undefined,
938
- children: message
939
- })]
940
- }));
522
+ var AppShellContext = /*#__PURE__*/React.createContext({
523
+ isOpen: false,
524
+ setOpen: function setOpen() {}
941
525
  });
942
- InputMessage.displayName = 'InputMessage';
943
-
944
- var renderInputMessage = function renderInputMessage(tip, tipId, errorMessage, errorMessageId) {
945
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
946
- children: [errorMessage && errorMessageId && jsxRuntime.jsx(InputMessage, {
947
- message: errorMessage,
948
- messageType: "error",
949
- id: errorMessageId
950
- }), tip && tipId && !errorMessage && jsxRuntime.jsx(InputMessage, {
951
- message: tip,
952
- messageType: "tip",
953
- id: tipId
954
- })]
526
+ var AppShellContextProvider = function AppShellContextProvider(_ref) {
527
+ var children = _ref.children;
528
+ var _useState = React.useState(false),
529
+ _useState2 = _slicedToArray(_useState, 2),
530
+ isOpen = _useState2[0],
531
+ setOpen = _useState2[1];
532
+ return jsxRuntime.jsx(AppShellContext.Provider, {
533
+ value: {
534
+ isOpen: isOpen,
535
+ setOpen: setOpen
536
+ },
537
+ children: children
955
538
  });
956
539
  };
540
+ var useAppShellContext = function useAppShellContext() {
541
+ return React.useContext(AppShellContext);
542
+ };
957
543
 
958
- var RadioButtonGroupInner = function RadioButtonGroupInner(props, ref) {
959
- var name = props.name,
960
- label = props.label,
961
- groupId = props.groupId,
962
- errorMessage = props.errorMessage,
963
- tip = props.tip,
964
- disabled = props.disabled,
965
- readOnly = props.readOnly,
966
- _props$direction = props.direction,
967
- direction = _props$direction === void 0 ? 'row' : _props$direction,
968
- value = props.value,
969
- children = props.children,
970
- required = props.required,
971
- onChange = props.onChange,
972
- id = props.id,
973
- className = props.className,
974
- _props$htmlProps = props.htmlProps,
975
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
976
- rest = tslib.__rest(props, ["name", "label", "groupId", "errorMessage", "tip", "disabled", "readOnly", "direction", "value", "children", "required", "onChange", "id", "className", "htmlProps"]);
977
- var ariaRequired = htmlProps['aria-required'];
978
- var _useState = React.useState(value),
979
- _useState2 = _slicedToArray(_useState, 2),
980
- groupValue = _useState2[0],
981
- setGroupValue = _useState2[1];
982
- var generatedId = React.useId();
983
- var uniqueGroupId = groupId !== null && groupId !== void 0 ? groupId : "".concat(generatedId, "-radioButtonGroup");
984
- var handleChange = ddsCore.combineHandlers(function (e) {
985
- return setGroupValue(e.target.value);
986
- }, function (e) {
987
- return onChange && onChange(e, e.target.value);
988
- });
989
- var hasErrorMessage = !!errorMessage;
990
- var showRequiredMarker = required || ariaRequired;
991
- var tipId = tip && "".concat(uniqueGroupId, "-tip");
992
- var errorMessageId = errorMessage && "".concat(uniqueGroupId, "-errorMessage");
993
- var contextProps = {
994
- name: name,
995
- disabled: disabled,
996
- error: hasErrorMessage,
997
- errorMessageId: errorMessageId,
998
- required: required,
999
- readOnly: readOnly,
1000
- value: groupValue,
1001
- onChange: handleChange
544
+ var navTokens$3 = appShellTokens.navigation;
545
+ var navItemTokens = navTokens$3.navigationItems.item;
546
+ var IconContainer = styled__default.default.div.withConfig({
547
+ displayName: "NavigationItem__IconContainer",
548
+ componentId: "sc-8k2l5g-0"
549
+ })(["grid-area:icon;display:flex;align-items:center;"]);
550
+ var TextContainer$1 = styled__default.default.span.withConfig({
551
+ displayName: "NavigationItem__TextContainer",
552
+ componentId: "sc-8k2l5g-1"
553
+ })(["grid-area:text;"]);
554
+ var ChevronContainer = styled__default.default.div.withConfig({
555
+ displayName: "NavigationItem__ChevronContainer",
556
+ componentId: "sc-8k2l5g-2"
557
+ })(["display:flex;align-items:center;opacity:0;grid-area:chevron;"]);
558
+ var BaseLink = styled__default.default.a.withConfig({
559
+ displayName: "NavigationItem__BaseLink",
560
+ componentId: "sc-8k2l5g-3"
561
+ })(["padding:", ";gap:", ";border-radius:", ";text-decoration:none;color:", ";font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";:hover:not(.active){background-color:", ";}&.active{color:", ";background-color:", ";}"], navItemTokens.padding, navItemTokens.gap, navItemTokens.borderRadius, navItemTokens.color, navItemTokens.fontSize, navItemTokens.fontStyle, navItemTokens.fontFamily, navItemTokens.fontWeight, navItemTokens.lineHeight, navItemTokens.letterSpacing, navItemTokens.hover.backgroundColor, navItemTokens.active.color, navItemTokens.active.backgroundColor);
562
+ var InternalNavItem = styled__default.default(BaseLink).withConfig({
563
+ displayName: "NavigationItem__InternalNavItem",
564
+ componentId: "sc-8k2l5g-4"
565
+ })(["display:grid;align-items:center;grid-template-areas:'icon text chevron';grid-template-columns:min-content 1fr min-content;&.active ", "{opacity:1;}"], ChevronContainer);
566
+ var ExternalNavItem = styled__default.default(BaseLink).withConfig({
567
+ displayName: "NavigationItem__ExternalNavItem",
568
+ componentId: "sc-8k2l5g-5"
569
+ })(["display:flex;flex-direction:row;align-items:center;font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";"], navItemTokens.external.fontSize, navItemTokens.external.fontStyle, navItemTokens.external.fontFamily, navItemTokens.external.fontWeight, navItemTokens.external.lineHeight, navItemTokens.external.letterSpacing);
570
+ var NavigationItem$1 = function NavigationItem(_a) {
571
+ var _as = _a.as,
572
+ active = _a.active,
573
+ icon = _a.icon,
574
+ external = _a.external,
575
+ children = _a.children,
576
+ propOnClick = _a.onClick,
577
+ rest = tslib.__rest(_a, ["as", "active", "icon", "external", "children", "onClick"]);
578
+ var _useAppShellContext = useAppShellContext(),
579
+ setOpen = _useAppShellContext.setOpen;
580
+ var Comp = _as !== null && _as !== void 0 ? _as : 'a';
581
+ var onClick = function onClick(e) {
582
+ propOnClick === null || propOnClick === void 0 ? void 0 : propOnClick(e);
583
+ setOpen(false);
1002
584
  };
1003
- return jsxRuntime.jsxs(OuterGroupContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, Object.assign(Object.assign({}, htmlProps), {
1004
- 'aria-required': ariaRequired
1005
- }), rest), {
1006
- ref: ref,
1007
- children: [jsxRuntime.jsxs(ddsTypography.Typography, {
1008
- as: "span",
1009
- typographyType: "supportingStyleLabel01",
1010
- id: uniqueGroupId,
1011
- children: [label, " ", showRequiredMarker && jsxRuntime.jsx(ddsCore.RequiredMarker, {})]
1012
- }), renderInputMessage(tip, tipId), jsxRuntime.jsx(RadioButtonGroupContext.Provider, {
1013
- value: Object.assign({}, contextProps),
1014
- children: jsxRuntime.jsx(GroupContainer, {
1015
- role: "radiogroup",
1016
- direction: direction,
1017
- "aria-labelledby": uniqueGroupId,
1018
- "aria-describedby": tipId,
1019
- "aria-errormessage": errorMessageId,
1020
- children: children
585
+ if (external) {
586
+ return jsxRuntime.jsxs(ExternalNavItem, Object.assign({
587
+ as: Comp
588
+ }, rest, {
589
+ onClick: onClick,
590
+ children: [children, jsxRuntime.jsx(ddsIcons.Icon, {
591
+ icon: ddsIcons.OpenExternalIcon,
592
+ iconSize: "inherit"
593
+ })]
594
+ }));
595
+ }
596
+ return jsxRuntime.jsxs(InternalNavItem, Object.assign({
597
+ as: Comp
598
+ }, rest, {
599
+ onClick: onClick,
600
+ className: [active ? 'active' : '', rest.className].join(' '),
601
+ children: [jsxRuntime.jsx(IconContainer, {
602
+ children: icon && jsxRuntime.jsx(ddsIcons.Icon, {
603
+ icon: icon
1021
604
  })
1022
- }), renderInputMessage(undefined, undefined, errorMessage, errorMessageId)]
605
+ }), jsxRuntime.jsx(TextContainer$1, {
606
+ children: children
607
+ }), jsxRuntime.jsx(ChevronContainer, {
608
+ children: jsxRuntime.jsx(ddsIcons.Icon, {
609
+ icon: ddsIcons.ChevronRightIcon
610
+ })
611
+ })]
1023
612
  }));
1024
613
  };
1025
- var RadioButtonGroup = /*#__PURE__*/React.forwardRef(RadioButtonGroupInner);
1026
- // @ts-expect-error TODO fix RadioButtonGroup type
1027
- RadioButtonGroup.displayName = 'RadioButtonGroup';
614
+ NavigationItem$1.displayName = 'AppShell.NavItem';
1028
615
 
1029
- var CheckboxGroupContext = /*#__PURE__*/React__default.default.createContext(null);
1030
- var useCheckboxGroup = function useCheckboxGroup() {
1031
- return React.useContext(CheckboxGroupContext);
616
+ var EmbeteIcon = function EmbeteIcon(_a) {
617
+ var type = _a.type,
618
+ rest = tslib.__rest(_a, ["type"]);
619
+ switch (type) {
620
+ case 'jordskifterett':
621
+ return jsxRuntime.jsx(ddsIcons.JordskifterettIcon, Object.assign({}, rest));
622
+ case 'tingrett':
623
+ return jsxRuntime.jsx(ddsIcons.TingrettIcon, Object.assign({}, rest));
624
+ case 'lagmannsrett':
625
+ return jsxRuntime.jsx(ddsIcons.LagmannsrettIcon, Object.assign({}, rest));
626
+ case 'høyesterett':
627
+ case undefined:
628
+ return jsxRuntime.jsx(ddsIcons.PersonIcon, Object.assign({}, rest));
629
+ }
1032
630
  };
1033
631
 
1034
- var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
1035
- var id = props.id,
1036
- name = props.name,
1037
- label = props.label,
1038
- error = props.error,
1039
- disabled = props.disabled,
1040
- readOnly = props.readOnly,
1041
- indeterminate = props.indeterminate,
1042
- ariaDescribedby = props['aria-describedby'],
1043
- className = props.className,
1044
- _props$htmlProps = props.htmlProps,
1045
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
1046
- rest = tslib.__rest(props, ["id", "name", "label", "error", "disabled", "readOnly", "indeterminate", 'aria-describedby', "className", "htmlProps"]);
1047
- var generatedId = React.useId();
1048
- var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-checkbox");
1049
- var checkboxGroup = useCheckboxGroup();
1050
- var hasLabel = !!label;
1051
- var style = htmlProps.style,
1052
- htmlPropsClassName = htmlProps.className,
1053
- restHtmlProps = tslib.__rest(htmlProps, ["style", "className"]);
1054
- var containerProps = {
1055
- error: error || (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.error),
1056
- disabled: disabled,
1057
- indeterminate: indeterminate,
1058
- htmlFor: uniqueId,
1059
- hasLabel: hasLabel,
1060
- className: ddsCore.joinClassNames(className, htmlPropsClassName),
1061
- style: style
1062
- };
1063
- var inputProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(uniqueId, restHtmlProps, rest)), {
1064
- ref: ref,
1065
- name: name,
1066
- indeterminate: indeterminate,
1067
- disabled: disabled,
1068
- 'aria-describedby': ddsCore.spaceSeparatedIdListGenerator([checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.tipId, checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.errorMessageId, ariaDescribedby]),
1069
- 'aria-invalid': error || (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.error) ? true : undefined,
1070
- 'aria-labelledby': checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.uniqueGroupId,
1071
- 'aria-checked': indeterminate ? 'mixed' : undefined,
1072
- 'aria-readonly': readOnly
1073
- });
1074
- return jsxRuntime.jsxs(Container$f, Object.assign({}, containerProps, {
1075
- controlType: "checkbox",
1076
- children: [jsxRuntime.jsx(ddsForm.HiddenInput, Object.assign({}, inputProps, {
1077
- type: "checkbox",
1078
- "data-indeterminate": indeterminate
1079
- })), jsxRuntime.jsx(CustomSelectionControl, {
1080
- controlType: "checkbox"
1081
- }), hasLabel && jsxRuntime.jsx(ddsTypography.Typography, {
1082
- color: "inherit",
1083
- as: "span",
1084
- typographyType: "bodySans02",
1085
- children: label
1086
- })]
1087
- }));
632
+ var navTokens$2 = appShellTokens.navigation;
633
+ var fontPackage = function fontPackage(small) {
634
+ if (small) {
635
+ return navTokens$2.logoAndVersion.logo.small;
636
+ }
637
+ return navTokens$2.logoAndVersion.logo;
638
+ };
639
+ var NavigationLogo = styled__default.default.a.withConfig({
640
+ displayName: "NavigationLogo",
641
+ componentId: "sc-17higny-0"
642
+ })(["font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";text-align:middle;"], function (_ref) {
643
+ var small = _ref.small;
644
+ return fontPackage(small).fontSize;
645
+ }, function (_ref2) {
646
+ var small = _ref2.small;
647
+ return fontPackage(small).fontStyle;
648
+ }, function (_ref3) {
649
+ var small = _ref3.small;
650
+ return fontPackage(small).fontFamily;
651
+ }, function (_ref4) {
652
+ var small = _ref4.small;
653
+ return fontPackage(small).fontWeight;
654
+ }, function (_ref5) {
655
+ var small = _ref5.small;
656
+ return fontPackage(small).lineHeight;
657
+ }, function (_ref6) {
658
+ var small = _ref6.small;
659
+ return fontPackage(small).letterSpacing;
1088
660
  });
1089
- Checkbox.displayName = 'Checkbox';
1090
-
1091
- var CheckboxGroup = function CheckboxGroup(props) {
1092
- var label = props.label,
1093
- _props$direction = props.direction,
1094
- direction = _props$direction === void 0 ? 'row' : _props$direction,
1095
- errorMessage = props.errorMessage,
1096
- tip = props.tip,
1097
- required = props.required,
1098
- groupId = props.groupId,
1099
- children = props.children,
1100
- id = props.id,
1101
- className = props.className,
1102
- _props$htmlProps = props.htmlProps,
1103
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
1104
- rest = tslib.__rest(props, ["label", "direction", "errorMessage", "tip", "required", "groupId", "children", "id", "className", "htmlProps"]);
1105
- var ariaRequired = htmlProps['aria-required'];
1106
- var generatedId = React.useId();
1107
- var uniqueGroupId = groupId !== null && groupId !== void 0 ? groupId : "".concat(generatedId, "-checkboxGroup");
1108
- var hasErrorMessage = !!errorMessage;
1109
- var showRequiredMarker = required || ariaRequired;
1110
- var errorMessageId = ddsCore.derivativeIdGenerator(uniqueGroupId, 'errorMessage');
1111
- var tipId = ddsCore.derivativeIdGenerator(uniqueGroupId, 'tip');
1112
- var contextProps = {
1113
- error: hasErrorMessage,
1114
- errorMessageId: errorMessage ? errorMessageId : undefined,
1115
- uniqueGroupId: uniqueGroupId,
1116
- tipId: tip ? tipId : undefined
1117
- };
1118
- return jsxRuntime.jsxs(OuterGroupContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, Object.assign(Object.assign({}, htmlProps), {
1119
- 'aria-required': ariaRequired
1120
- }), rest), {
1121
- children: [jsxRuntime.jsxs(ddsTypography.Typography, {
1122
- as: "span",
1123
- typographyType: "supportingStyleLabel01",
1124
- id: uniqueGroupId,
1125
- children: [label, " ", showRequiredMarker && jsxRuntime.jsx(ddsCore.RequiredMarker, {})]
1126
- }), renderInputMessage(tip, tipId), jsxRuntime.jsx(CheckboxGroupContext.Provider, {
1127
- value: Object.assign({}, contextProps),
1128
- children: jsxRuntime.jsx(GroupContainer, {
1129
- role: "group",
1130
- "aria-labelledby": uniqueGroupId,
1131
- "aria-describedby": tip ? tipId : undefined,
1132
- direction: direction,
1133
- children: children
1134
- })
1135
- }), renderInputMessage(undefined, undefined, errorMessage, errorMessageId)]
1136
- }));
1137
- };
1138
- CheckboxGroup.displayName = 'CheckboxGroup';
1139
661
 
1140
- var colors$p = ddsDesignTokens.ddsBaseTokens.colors,
662
+ var colors$r = ddsDesignTokens.ddsBaseTokens.colors,
1141
663
  border$a = ddsDesignTokens.ddsBaseTokens.border,
1142
- spacing$x = ddsDesignTokens.ddsBaseTokens.spacing,
664
+ spacing$z = ddsDesignTokens.ddsBaseTokens.spacing,
1143
665
  fontPackages$3 = ddsDesignTokens.ddsBaseTokens.fontPackages,
1144
- borderRadius$7 = ddsDesignTokens.ddsBaseTokens.borderRadius,
666
+ borderRadius$8 = ddsDesignTokens.ddsBaseTokens.borderRadius,
1145
667
  outerShadow$1 = ddsDesignTokens.ddsBaseTokens.outerShadow;
1146
668
  var typographyTypes$6 = {
1147
669
  large: 'bodySans04',
@@ -1153,62 +675,62 @@ var iconSizeTinyPx = ddsCore.calculateHeightWithLineHeight(fontPackages$3.suppor
1153
675
  var iconSizeSmallPx = ddsCore.calculateHeightWithLineHeight(fontPackages$3.body_sans_01.numbers.lineHeightNumber, fontPackages$3.body_sans_01.numbers.fontSizeNumber);
1154
676
  var iconSizeMediumPx = ddsCore.calculateHeightWithLineHeight(fontPackages$3.body_sans_02.numbers.lineHeightNumber, fontPackages$3.body_sans_02.numbers.fontSizeNumber);
1155
677
  var iconSizeLargePx = ddsCore.calculateHeightWithLineHeight(fontPackages$3.body_sans_04.numbers.lineHeightNumber, fontPackages$3.body_sans_04.numbers.fontSizeNumber);
1156
- var svgOffset = spacing$x.SizesDdsSpacingLocalX0125NumberPx;
678
+ var svgOffset = spacing$z.SizesDdsSpacingLocalX0125NumberPx;
1157
679
  var filledButtonColors = {
1158
680
  primary: {
1159
681
  base: {
1160
- color: colors$p.DdsColorNeutralsWhite,
1161
- backgroundColor: colors$p.DdsColorInteractiveBase,
1162
- borderColor: colors$p.DdsColorInteractiveBase
682
+ color: colors$r.DdsColorNeutralsWhite,
683
+ backgroundColor: colors$r.DdsColorInteractiveBase,
684
+ borderColor: colors$r.DdsColorInteractiveBase
1163
685
  },
1164
686
  hover: {
1165
687
  base: {
1166
- backgroundColor: colors$p.DdsColorInteractiveDark,
1167
- borderColor: colors$p.DdsColorInteractiveDark
688
+ backgroundColor: colors$r.DdsColorInteractiveDark,
689
+ borderColor: colors$r.DdsColorInteractiveDark
1168
690
  }
1169
691
  },
1170
692
  active: {
1171
693
  base: {
1172
- backgroundColor: colors$p.DdsColorInteractiveDarker,
1173
- borderColor: colors$p.DdsColorInteractiveDarker
694
+ backgroundColor: colors$r.DdsColorInteractiveDarker,
695
+ borderColor: colors$r.DdsColorInteractiveDarker
1174
696
  }
1175
697
  }
1176
698
  },
1177
699
  secondary: {
1178
700
  base: {
1179
- color: colors$p.DdsColorNeutralsGray8,
1180
- backgroundColor: colors$p.DdsColorNeutralsGray1,
1181
- borderColor: colors$p.DdsColorNeutralsGray5
701
+ color: colors$r.DdsColorNeutralsGray8,
702
+ backgroundColor: colors$r.DdsColorNeutralsGray1,
703
+ borderColor: colors$r.DdsColorNeutralsGray5
1182
704
  },
1183
705
  hover: {
1184
706
  base: {
1185
- backgroundColor: colors$p.DdsColorNeutralsGray2,
1186
- borderColor: colors$p.DdsColorNeutralsGray5
707
+ backgroundColor: colors$r.DdsColorNeutralsGray2,
708
+ borderColor: colors$r.DdsColorNeutralsGray5
1187
709
  }
1188
710
  },
1189
711
  active: {
1190
712
  base: {
1191
- backgroundColor: colors$p.DdsColorNeutralsGray3,
1192
- borderColor: colors$p.DdsColorNeutralsGray5
713
+ backgroundColor: colors$r.DdsColorNeutralsGray3,
714
+ borderColor: colors$r.DdsColorNeutralsGray5
1193
715
  }
1194
716
  }
1195
717
  },
1196
718
  danger: {
1197
719
  base: {
1198
- color: colors$p.DdsColorNeutralsWhite,
1199
- backgroundColor: colors$p.DdsColorDangerBase,
1200
- borderColor: colors$p.DdsColorDangerBase
720
+ color: colors$r.DdsColorNeutralsWhite,
721
+ backgroundColor: colors$r.DdsColorDangerBase,
722
+ borderColor: colors$r.DdsColorDangerBase
1201
723
  },
1202
724
  hover: {
1203
725
  base: {
1204
- backgroundColor: colors$p.DdsColorDangerDark,
1205
- borderColor: colors$p.DdsColorDangerDark
726
+ backgroundColor: colors$r.DdsColorDangerDark,
727
+ borderColor: colors$r.DdsColorDangerDark
1206
728
  }
1207
729
  },
1208
730
  active: {
1209
731
  base: {
1210
- backgroundColor: colors$p.DdsColorDangerDarker,
1211
- borderColor: colors$p.DdsColorDangerDarker
732
+ backgroundColor: colors$r.DdsColorDangerDarker,
733
+ borderColor: colors$r.DdsColorDangerDarker
1212
734
  }
1213
735
  }
1214
736
  }
@@ -1218,7 +740,7 @@ var sizes$2 = {
1218
740
  justIcon: {
1219
741
  icon: {
1220
742
  fontSize: "".concat(iconSizeLargePx + svgOffset, "px"),
1221
- padding: spacing$x.SizesDdsSpacingLocalX1
743
+ padding: spacing$z.SizesDdsSpacingLocalX1
1222
744
  },
1223
745
  wrapper: {
1224
746
  height: "".concat(iconSizeLargePx, "px"),
@@ -1226,17 +748,17 @@ var sizes$2 = {
1226
748
  }
1227
749
  },
1228
750
  text: {
1229
- padding: "".concat(spacing$x.SizesDdsSpacingLocalX1, " ").concat(spacing$x.SizesDdsSpacingLocalX2NumberPx - 2, "px")
751
+ padding: "".concat(spacing$z.SizesDdsSpacingLocalX1, " ").concat(spacing$z.SizesDdsSpacingLocalX2NumberPx - 2, "px")
1230
752
  },
1231
753
  textAndIcon: {
1232
- gap: spacing$x.SizesDdsSpacingLocalX1
754
+ gap: spacing$z.SizesDdsSpacingLocalX1
1233
755
  }
1234
756
  },
1235
757
  medium: {
1236
758
  justIcon: {
1237
759
  icon: {
1238
760
  fontSize: "".concat(iconSizeMediumPx + svgOffset, "px"),
1239
- padding: spacing$x.SizesDdsSpacingLocalX075
761
+ padding: spacing$z.SizesDdsSpacingLocalX075
1240
762
  },
1241
763
  wrapper: {
1242
764
  height: "".concat(iconSizeMediumPx, "px"),
@@ -1244,17 +766,17 @@ var sizes$2 = {
1244
766
  }
1245
767
  },
1246
768
  text: {
1247
- padding: "".concat(spacing$x.SizesDdsSpacingLocalX075, " ").concat(spacing$x.SizesDdsSpacingLocalX15NumberPx - 2, "px")
769
+ padding: "".concat(spacing$z.SizesDdsSpacingLocalX075, " ").concat(spacing$z.SizesDdsSpacingLocalX15NumberPx - 2, "px")
1248
770
  },
1249
771
  textAndIcon: {
1250
- gap: spacing$x.SizesDdsSpacingLocalX075
772
+ gap: spacing$z.SizesDdsSpacingLocalX075
1251
773
  }
1252
774
  },
1253
775
  small: {
1254
776
  justIcon: {
1255
777
  icon: {
1256
778
  fontSize: "".concat(iconSizeSmallPx + svgOffset, "px"),
1257
- padding: spacing$x.SizesDdsSpacingLocalX05
779
+ padding: spacing$z.SizesDdsSpacingLocalX05
1258
780
  },
1259
781
  wrapper: {
1260
782
  height: "".concat(iconSizeSmallPx, "px"),
@@ -1262,17 +784,17 @@ var sizes$2 = {
1262
784
  }
1263
785
  },
1264
786
  text: {
1265
- padding: "".concat(spacing$x.SizesDdsSpacingLocalX05, " ").concat(spacing$x.SizesDdsSpacingLocalX1NumberPx - 2, "px")
787
+ padding: "".concat(spacing$z.SizesDdsSpacingLocalX05, " ").concat(spacing$z.SizesDdsSpacingLocalX1NumberPx - 2, "px")
1266
788
  },
1267
789
  textAndIcon: {
1268
- gap: spacing$x.SizesDdsSpacingLocalX05
790
+ gap: spacing$z.SizesDdsSpacingLocalX05
1269
791
  }
1270
792
  },
1271
793
  tiny: {
1272
794
  justIcon: {
1273
795
  icon: {
1274
796
  fontSize: "".concat(iconSizeTinyPx + svgOffset, "px"),
1275
- padding: spacing$x.SizesDdsSpacingLocalX025
797
+ padding: spacing$z.SizesDdsSpacingLocalX025
1276
798
  },
1277
799
  wrapper: {
1278
800
  height: "".concat(iconSizeTinyPx, "px"),
@@ -1280,17 +802,17 @@ var sizes$2 = {
1280
802
  }
1281
803
  },
1282
804
  text: {
1283
- padding: "".concat(spacing$x.SizesDdsSpacingLocalX025, " ").concat(spacing$x.SizesDdsSpacingLocalX075)
805
+ padding: "".concat(spacing$z.SizesDdsSpacingLocalX025, " ").concat(spacing$z.SizesDdsSpacingLocalX075)
1284
806
  },
1285
807
  textAndIcon: {
1286
- gap: spacing$x.SizesDdsSpacingLocalX05
808
+ gap: spacing$z.SizesDdsSpacingLocalX05
1287
809
  }
1288
810
  }
1289
811
  };
1290
812
  var appearances$2 = {
1291
813
  filled: {
1292
814
  base: {
1293
- borderRadius: borderRadius$7.RadiiDdsBorderRadius1Radius,
815
+ borderRadius: borderRadius$8.RadiiDdsBorderRadius1Radius,
1294
816
  boxShadow: outerShadow$1.DdsShadow1Onlight
1295
817
  },
1296
818
  purpose: {
@@ -1313,64 +835,64 @@ var appearances$2 = {
1313
835
  },
1314
836
  ghost: {
1315
837
  base: {
1316
- borderRadius: borderRadius$7.RadiiDdsBorderRadius1Radius,
838
+ borderRadius: borderRadius$8.RadiiDdsBorderRadius1Radius,
1317
839
  boxShadow: 'none',
1318
840
  backgroundColor: 'transparent'
1319
841
  },
1320
842
  purpose: {
1321
843
  primary: {
1322
844
  base: {
1323
- color: colors$p.DdsColorInteractiveBase,
1324
- borderColor: colors$p.DdsColorInteractiveBase
845
+ color: colors$r.DdsColorInteractiveBase,
846
+ borderColor: colors$r.DdsColorInteractiveBase
1325
847
  },
1326
848
  hover: {
1327
- color: colors$p.DdsColorInteractiveDark,
1328
- borderColor: colors$p.DdsColorInteractiveDark,
1329
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorInteractiveDark)
849
+ color: colors$r.DdsColorInteractiveDark,
850
+ borderColor: colors$r.DdsColorInteractiveDark,
851
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorInteractiveDark)
1330
852
  },
1331
853
  active: {
1332
- color: colors$p.DdsColorInteractiveDarker,
1333
- borderColor: colors$p.DdsColorInteractiveDarker,
1334
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorInteractiveDarker)
854
+ color: colors$r.DdsColorInteractiveDarker,
855
+ borderColor: colors$r.DdsColorInteractiveDarker,
856
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorInteractiveDarker)
1335
857
  }
1336
858
  },
1337
859
  secondary: {
1338
860
  base: {
1339
- color: colors$p.DdsColorNeutralsGray7,
1340
- borderColor: colors$p.DdsColorNeutralsGray7
861
+ color: colors$r.DdsColorNeutralsGray7,
862
+ borderColor: colors$r.DdsColorNeutralsGray7
1341
863
  },
1342
864
  hover: {
1343
- color: colors$p.DdsColorNeutralsGray8,
1344
- borderColor: colors$p.DdsColorNeutralsGray8,
1345
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorNeutralsGray8)
865
+ color: colors$r.DdsColorNeutralsGray8,
866
+ borderColor: colors$r.DdsColorNeutralsGray8,
867
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorNeutralsGray8)
1346
868
  },
1347
869
  active: {
1348
- color: colors$p.DdsColorNeutralsGray9,
1349
- borderColor: colors$p.DdsColorNeutralsGray9,
1350
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorNeutralsGray9)
870
+ color: colors$r.DdsColorNeutralsGray9,
871
+ borderColor: colors$r.DdsColorNeutralsGray9,
872
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorNeutralsGray9)
1351
873
  }
1352
874
  },
1353
875
  danger: {
1354
876
  base: {
1355
- color: colors$p.DdsColorDangerBase,
1356
- borderColor: colors$p.DdsColorDangerBase
877
+ color: colors$r.DdsColorDangerBase,
878
+ borderColor: colors$r.DdsColorDangerBase
1357
879
  },
1358
880
  hover: {
1359
- color: colors$p.DdsColorDangerDark,
1360
- borderColor: colors$p.DdsColorDangerDark,
1361
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorDangerDark)
881
+ color: colors$r.DdsColorDangerDark,
882
+ borderColor: colors$r.DdsColorDangerDark,
883
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorDangerDark)
1362
884
  },
1363
885
  active: {
1364
- color: colors$p.DdsColorDangerDarkest,
1365
- borderColor: colors$p.DdsColorDangerDarkest,
1366
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorDangerDarkest)
886
+ color: colors$r.DdsColorDangerDarkest,
887
+ borderColor: colors$r.DdsColorDangerDarkest,
888
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorDangerDarkest)
1367
889
  }
1368
890
  }
1369
891
  }
1370
892
  },
1371
893
  borderless: {
1372
894
  base: {
1373
- borderRadius: borderRadius$7.RadiiDdsBorderRadius1Radius,
895
+ borderRadius: borderRadius$8.RadiiDdsBorderRadius1Radius,
1374
896
  boxShadow: 'none',
1375
897
  backgroundColor: 'transparent',
1376
898
  borderColor: 'transparent',
@@ -1380,70 +902,70 @@ var appearances$2 = {
1380
902
  purpose: {
1381
903
  primary: {
1382
904
  base: {
1383
- color: colors$p.DdsColorInteractiveBase
905
+ color: colors$r.DdsColorInteractiveBase
1384
906
  },
1385
907
  hover: {
1386
- color: colors$p.DdsColorInteractiveDark,
1387
- textDecorationColor: colors$p.DdsColorInteractiveDark
908
+ color: colors$r.DdsColorInteractiveDark,
909
+ textDecorationColor: colors$r.DdsColorInteractiveDark
1388
910
  },
1389
911
  active: {
1390
- color: colors$p.DdsColorInteractiveDarker,
1391
- textDecorationColor: colors$p.DdsColorInteractiveDarker
912
+ color: colors$r.DdsColorInteractiveDarker,
913
+ textDecorationColor: colors$r.DdsColorInteractiveDarker
1392
914
  },
1393
915
  icon: {
1394
916
  hover: {
1395
- borderColor: colors$p.DdsColorInteractiveDark,
1396
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorInteractiveDark)
917
+ borderColor: colors$r.DdsColorInteractiveDark,
918
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorInteractiveDark)
1397
919
  },
1398
920
  active: {
1399
- borderColor: colors$p.DdsColorInteractiveDarker,
1400
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorInteractiveDarker)
921
+ borderColor: colors$r.DdsColorInteractiveDarker,
922
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorInteractiveDarker)
1401
923
  }
1402
924
  }
1403
925
  },
1404
926
  secondary: {
1405
927
  base: {
1406
- color: colors$p.DdsColorNeutralsGray7
928
+ color: colors$r.DdsColorNeutralsGray7
1407
929
  },
1408
930
  hover: {
1409
- color: colors$p.DdsColorNeutralsGray8,
1410
- textDecorationColor: colors$p.DdsColorNeutralsGray8
931
+ color: colors$r.DdsColorNeutralsGray8,
932
+ textDecorationColor: colors$r.DdsColorNeutralsGray8
1411
933
  },
1412
934
  active: {
1413
- color: colors$p.DdsColorNeutralsGray9,
1414
- textDecorationColor: colors$p.DdsColorNeutralsGray9
935
+ color: colors$r.DdsColorNeutralsGray9,
936
+ textDecorationColor: colors$r.DdsColorNeutralsGray9
1415
937
  },
1416
938
  icon: {
1417
939
  hover: {
1418
- borderColor: colors$p.DdsColorNeutralsGray8,
1419
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorNeutralsGray8)
940
+ borderColor: colors$r.DdsColorNeutralsGray8,
941
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorNeutralsGray8)
1420
942
  },
1421
943
  active: {
1422
- borderColor: colors$p.DdsColorNeutralsGray9,
1423
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorNeutralsGray9)
944
+ borderColor: colors$r.DdsColorNeutralsGray9,
945
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorNeutralsGray9)
1424
946
  }
1425
947
  }
1426
948
  },
1427
949
  danger: {
1428
950
  base: {
1429
- color: colors$p.DdsColorDangerBase
951
+ color: colors$r.DdsColorDangerBase
1430
952
  },
1431
953
  hover: {
1432
- color: colors$p.DdsColorDangerDarker,
1433
- textDecorationColor: colors$p.DdsColorDangerDarker
954
+ color: colors$r.DdsColorDangerDarker,
955
+ textDecorationColor: colors$r.DdsColorDangerDarker
1434
956
  },
1435
957
  active: {
1436
- color: colors$p.DdsColorDangerDarkest,
1437
- textDecorationColor: colors$p.DdsColorDangerDarkest
958
+ color: colors$r.DdsColorDangerDarkest,
959
+ textDecorationColor: colors$r.DdsColorDangerDarkest
1438
960
  },
1439
961
  icon: {
1440
962
  hover: {
1441
- borderColor: colors$p.DdsColorDangerDark,
1442
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorDangerDark)
963
+ borderColor: colors$r.DdsColorDangerDark,
964
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorDangerDark)
1443
965
  },
1444
966
  active: {
1445
- borderColor: colors$p.DdsColorDangerDarker,
1446
- boxShadow: "0 0 0 1px ".concat(colors$p.DdsColorDangerDarker)
967
+ borderColor: colors$r.DdsColorDangerDarker,
968
+ boxShadow: "0 0 0 1px ".concat(colors$r.DdsColorDangerDarker)
1447
969
  }
1448
970
  }
1449
971
  }
@@ -1706,44 +1228,1338 @@ var Button$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
1706
1228
  })
1707
1229
  })]
1708
1230
  }));
1709
- });
1710
- Button$1.displayName = 'Button';
1231
+ });
1232
+ Button$1.displayName = 'Button';
1233
+
1234
+ var scrollbarWidthNumberPx = 10;
1235
+ var scrollbarWidth$1 = "".concat(scrollbarWidthNumberPx, "px");
1236
+ var colors$q = ddsDesignTokens.ddsBaseTokens.colors,
1237
+ spacing$y = ddsDesignTokens.ddsBaseTokens.spacing;
1238
+ var track$3 = {
1239
+ backgroundColor: 'transparent',
1240
+ borderRadius: '100px',
1241
+ width: scrollbarWidth$1
1242
+ };
1243
+ var thumb$2 = {
1244
+ base: {
1245
+ backgroundColor: colors$q.DdsColorPrimaryDarkest.slice(0, -2) + '0.35)',
1246
+ borderRadius: '100px',
1247
+ width: scrollbarWidth$1
1248
+ },
1249
+ hover: {
1250
+ backgroundColor: colors$q.DdsColorPrimaryDarkest.slice(0, -2) + '0.5)'
1251
+ }
1252
+ };
1253
+ var content$5 = {
1254
+ paddingRight: spacing$y.SizesDdsSpacingLocalX05
1255
+ };
1256
+ var outerContainer$8 = {
1257
+ padding: spacing$y.SizesDdsSpacingLocalX025
1258
+ };
1259
+ var scrollbarTokens = {
1260
+ minThumbHeightPx: 15,
1261
+ track: track$3,
1262
+ thumb: thumb$2,
1263
+ content: content$5,
1264
+ outerContainer: outerContainer$8
1265
+ };
1266
+
1267
+ var track$2 = scrollbarTokens.track,
1268
+ thumb$1 = scrollbarTokens.thumb,
1269
+ minThumbHeightPx = scrollbarTokens.minThumbHeightPx;
1270
+ var ScrollbarOuterWrapper = styled__default.default.div.withConfig({
1271
+ displayName: "Scrollbar__ScrollbarOuterWrapper",
1272
+ componentId: "sc-mphi5n-0"
1273
+ })([""]);
1274
+ var ScrollbarElements = styled__default.default.div.withConfig({
1275
+ displayName: "Scrollbar__ScrollbarElements",
1276
+ componentId: "sc-mphi5n-1"
1277
+ })(["display:block;height:100%;position:relative;display:grid;justify-items:center;"]);
1278
+ var Track = styled__default.default.div.withConfig({
1279
+ displayName: "Scrollbar__Track",
1280
+ componentId: "sc-mphi5n-2"
1281
+ })(["bottom:0;top:0;position:absolute;background-color:", ";border-radius:", ";width:", ";"], track$2.backgroundColor, track$2.borderRadius, track$2.width);
1282
+ var Thumb = styled__default.default.div.withConfig({
1283
+ displayName: "Scrollbar__Thumb",
1284
+ componentId: "sc-mphi5n-3"
1285
+ })(["position:absolute;background-color:", ";border-radius:", ";width:", ";transition:background-color 0.2s;&:hover{background-color:", ";}"], thumb$1.base.backgroundColor, thumb$1.base.borderRadius, thumb$1.base.width, thumb$1.hover.backgroundColor);
1286
+ var Scrollbar = function Scrollbar(props) {
1287
+ var id = props.id,
1288
+ className = props.className,
1289
+ htmlProps = props.htmlProps,
1290
+ contentRef = props.contentRef,
1291
+ rest = tslib.__rest(props, ["id", "className", "htmlProps", "contentRef"]);
1292
+ var trackRef = React.useRef(null);
1293
+ var thumbRef = React.useRef(null);
1294
+ var _useState = React.useState(minThumbHeightPx),
1295
+ _useState2 = _slicedToArray(_useState, 2),
1296
+ thumbHeight = _useState2[0],
1297
+ setThumbHeight = _useState2[1];
1298
+ var _useState3 = React.useState(true),
1299
+ _useState4 = _slicedToArray(_useState3, 2),
1300
+ isScrollable = _useState4[0],
1301
+ setIsScrollable = _useState4[1];
1302
+ var _useState5 = React.useState(0),
1303
+ _useState6 = _slicedToArray(_useState5, 2),
1304
+ thumbTop = _useState6[0],
1305
+ setThumbTop = _useState6[1];
1306
+ var observer = React.useRef(null);
1307
+ var _useState7 = React.useState(0),
1308
+ _useState8 = _slicedToArray(_useState7, 2),
1309
+ scrollStartPosition = _useState8[0],
1310
+ setScrollStartPosition = _useState8[1];
1311
+ var _useState9 = React.useState(0),
1312
+ _useState10 = _slicedToArray(_useState9, 2),
1313
+ initialScrollTop = _useState10[0],
1314
+ setInitialScrollTop = _useState10[1];
1315
+ var _useState11 = React.useState(false),
1316
+ _useState12 = _slicedToArray(_useState11, 2),
1317
+ isDragging = _useState12[0],
1318
+ setIsDragging = _useState12[1];
1319
+ function handleResize(ref, trackSize) {
1320
+ var clientHeight = ref.clientHeight,
1321
+ scrollHeight = ref.scrollHeight;
1322
+ setIsScrollable(clientHeight !== scrollHeight);
1323
+ setThumbHeight(Math.max(clientHeight / scrollHeight * trackSize, minThumbHeightPx));
1324
+ }
1325
+ var handleTrackClick = React.useCallback(function (e) {
1326
+ if (contentRef && contentRef.current) {
1327
+ var trackCurrent = trackRef.current;
1328
+ var contentCurrent = contentRef.current;
1329
+ if (trackCurrent && contentCurrent) {
1330
+ var clientY = e.clientY;
1331
+ var target = e.target;
1332
+ var rect = target.getBoundingClientRect();
1333
+ var trackTop = rect.top;
1334
+ var thumbOffset = -(thumbHeight / 2);
1335
+ var clickRatio = (clientY - trackTop + thumbOffset) / trackCurrent.clientHeight;
1336
+ var scrollAmount = Math.floor(clickRatio * contentCurrent.scrollHeight);
1337
+ contentCurrent.scrollTo({
1338
+ top: scrollAmount,
1339
+ behavior: 'smooth'
1340
+ });
1341
+ }
1342
+ }
1343
+ }, [thumbHeight]);
1344
+ var handleThumbPositioning = React.useCallback(function () {
1345
+ if (!(contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) || !trackRef.current || !thumbRef.current) {
1346
+ return;
1347
+ }
1348
+ var _contentRef$current = contentRef.current,
1349
+ contentTop = _contentRef$current.scrollTop,
1350
+ contentHeight = _contentRef$current.scrollHeight;
1351
+ var clientHeight = trackRef.current.clientHeight;
1352
+ var newTop = +contentTop / +contentHeight * clientHeight;
1353
+ newTop = Math.min(newTop, clientHeight - thumbHeight);
1354
+ setThumbTop(newTop);
1355
+ }, []);
1356
+ React.useEffect(function () {
1357
+ if (contentRef && contentRef.current && trackRef.current) {
1358
+ var ref = contentRef.current;
1359
+ var clientHeight = trackRef.current.clientHeight;
1360
+ observer.current = new ResizeObserver(function () {
1361
+ handleResize(ref, clientHeight);
1362
+ });
1363
+ observer.current.observe(ref);
1364
+ ref.addEventListener('scroll', handleThumbPositioning);
1365
+ return function () {
1366
+ var _a;
1367
+ (_a = observer.current) === null || _a === void 0 ? void 0 : _a.unobserve(ref);
1368
+ ref.removeEventListener('scroll', handleThumbPositioning);
1369
+ };
1370
+ }
1371
+ }, []);
1372
+ var handleThumbMousedown = React.useCallback(function (e) {
1373
+ setScrollStartPosition(e.clientY);
1374
+ if (contentRef && contentRef.current) setInitialScrollTop(contentRef.current.scrollTop);
1375
+ setIsDragging(true);
1376
+ }, []);
1377
+ var handleThumbMouseup = React.useCallback(function () {
1378
+ if (isDragging) {
1379
+ setIsDragging(false);
1380
+ }
1381
+ }, [isDragging]);
1382
+ var handleThumbMousemove = React.useCallback(function (e) {
1383
+ if (contentRef && contentRef.current) {
1384
+ if (isDragging) {
1385
+ var _contentRef$current2 = contentRef.current,
1386
+ contentScrollHeight = _contentRef$current2.scrollHeight,
1387
+ contentOffsetHeight = _contentRef$current2.offsetHeight;
1388
+ var deltaY = (e.clientY - scrollStartPosition) * (contentOffsetHeight / thumbHeight);
1389
+ var newScrollTop = Math.min(initialScrollTop + deltaY, contentScrollHeight - contentOffsetHeight);
1390
+ contentRef.current.scrollTop = newScrollTop;
1391
+ }
1392
+ }
1393
+ }, [isDragging, scrollStartPosition, thumbHeight]);
1394
+ React.useEffect(function () {
1395
+ document.addEventListener('mousemove', handleThumbMousemove);
1396
+ document.addEventListener('mouseup', handleThumbMouseup);
1397
+ document.addEventListener('mouseleave', handleThumbMouseup);
1398
+ return function () {
1399
+ document.removeEventListener('mousemove', handleThumbMousemove);
1400
+ document.removeEventListener('mouseup', handleThumbMouseup);
1401
+ document.removeEventListener('mouseleave', handleThumbMouseup);
1402
+ };
1403
+ }, [handleThumbMousemove, handleThumbMouseup]);
1404
+ return isScrollable ? jsxRuntime.jsx(ScrollbarOuterWrapper, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
1405
+ children: jsxRuntime.jsxs(ScrollbarElements, {
1406
+ children: [jsxRuntime.jsx(Track, {
1407
+ ref: trackRef,
1408
+ onClick: handleTrackClick
1409
+ }), jsxRuntime.jsx(Thumb, {
1410
+ style: {
1411
+ height: thumbHeight,
1412
+ top: thumbTop
1413
+ },
1414
+ ref: thumbRef,
1415
+ onMouseDown: handleThumbMousedown
1416
+ })]
1417
+ })
1418
+ })) : null;
1419
+ };
1420
+ Scrollbar.displayName = 'Scrollbar';
1421
+
1422
+ var track$1 = scrollbarTokens.track,
1423
+ content$4 = scrollbarTokens.content,
1424
+ outerContainer$7 = scrollbarTokens.outerContainer;
1425
+ var StyledScrollableContainer = styled__default.default.div.withConfig({
1426
+ displayName: "ScrollableContainer__StyledScrollableContainer",
1427
+ componentId: "sc-t0dczu-0"
1428
+ })(["grid-template:auto / 1fr ", ";overflow:hidden;position:relative;display:grid;padding:", ";"], track$1.width, outerContainer$7.padding);
1429
+ var Content$2 = styled__default.default.div.withConfig({
1430
+ displayName: "ScrollableContainer__Content",
1431
+ componentId: "sc-t0dczu-1"
1432
+ })(["height:", ";overflow:auto;scrollbar-width:none;::-webkit-scrollbar{display:none;}padding-right:", ";@media (prefers-reduced-motion:no-preference){transition:", ";}:focus-visible,.focus-visible{outline:", ";outline-offset:", ";}"], function (_ref) {
1433
+ var height = _ref.height;
1434
+ return height;
1435
+ }, content$4.paddingRight, ddsForm.focusVisibleTransitionValue, ddsForm.focusVisible.outline, ddsForm.focusVisible.outlineOffset);
1436
+ var ScrollableContainer = function ScrollableContainer(props) {
1437
+ var children = props.children,
1438
+ id = props.id,
1439
+ className = props.className,
1440
+ _props$contentHeight = props.contentHeight,
1441
+ contentHeight = _props$contentHeight === void 0 ? '90vh' : _props$contentHeight,
1442
+ htmlProps = props.htmlProps,
1443
+ rest = tslib.__rest(props, ["children", "id", "className", "contentHeight", "htmlProps"]);
1444
+ var ref = React.useRef(null);
1445
+ return jsxRuntime.jsxs(StyledScrollableContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
1446
+ children: [jsxRuntime.jsx(Content$2, {
1447
+ height: contentHeight,
1448
+ ref: ref,
1449
+ tabIndex: 0,
1450
+ children: children
1451
+ }), jsxRuntime.jsx(Scrollbar, {
1452
+ contentRef: ref
1453
+ })]
1454
+ }));
1455
+ };
1456
+ ScrollableContainer.displayName = 'ScrollableContainer';
1457
+
1458
+ var thumb = scrollbarTokens.thumb,
1459
+ track = scrollbarTokens.track;
1460
+ var scrollbarWidth = 'thin';
1461
+ /**
1462
+ * CSS-in-JS scrollbar styling til bruk der det ikke passer å bruke dedikerte komponenter. Inkluderer styling for webkit pseudo-elementer og for Firefox.
1463
+ */
1464
+ var scrollbarStyling = {
1465
+ webkit: {
1466
+ /* width */
1467
+ '&::-webkit-scrollbar': {
1468
+ width: track.width,
1469
+ height: track.width
1470
+ },
1471
+ /* Track */
1472
+ '&::-webkit-scrollbar-track': {
1473
+ background: track.backgroundColor,
1474
+ borderRadius: track.borderRadius
1475
+ },
1476
+ /* Handle */
1477
+ '&::-webkit-scrollbar-thumb': {
1478
+ background: thumb.base.backgroundColor,
1479
+ borderRadius: thumb.base.borderRadius
1480
+ }
1481
+ },
1482
+ /* Handle on hover */
1483
+ '&::-webkit-scrollbar-thumb:hover': {
1484
+ background: thumb.hover.backgroundColor
1485
+ },
1486
+ firefox: {
1487
+ scrollbarColor: thumb.base.backgroundColor + ' ' + track.backgroundColor,
1488
+ scrollbarWidth: scrollbarWidth
1489
+ }
1490
+ };
1491
+
1492
+ var border$9 = ddsDesignTokens.ddsBaseTokens.border,
1493
+ borderRadius$7 = ddsDesignTokens.ddsBaseTokens.borderRadius,
1494
+ colors$p = ddsDesignTokens.ddsBaseTokens.colors,
1495
+ spacing$x = ddsDesignTokens.ddsBaseTokens.spacing,
1496
+ fontPackages$2 = ddsDesignTokens.ddsBaseTokens.fontPackages;
1497
+ var typographyType$5 = 'bodySans01';
1498
+ var element$1 = {
1499
+ base: {
1500
+ color: colors$p.DdsColorNeutralsGray9,
1501
+ textDecoration: 'none',
1502
+ backgroundColor: colors$p.DdsColorNeutralsWhite,
1503
+ padding: "".concat(spacing$x.SizesDdsSpacingLocalX075, " ").concat(spacing$x.SizesDdsSpacingLocalX1),
1504
+ gap: spacing$x.SizesDdsSpacingLocalX025
1505
+ }
1506
+ };
1507
+ var iconHeight = ddsCore.calculateHeightWithLineHeight(fontPackages$2.body_sans_01.numbers.lineHeightNumber, fontPackages$2.body_sans_01.numbers.fontSizeNumber);
1508
+ var link$3 = {
1509
+ iconWrapper: {
1510
+ height: "".concat(iconHeight, "px")
1511
+ },
1512
+ hover: {
1513
+ backgroundColor: colors$p.DdsColorInteractiveLightest
1514
+ },
1515
+ active: {
1516
+ backgroundColor: colors$p.DdsColorInteractiveLightest
1517
+ }
1518
+ };
1519
+ var container$e = {
1520
+ border: "".concat(border$9.BordersDdsBorderStyleLightStrokeWeight, " ").concat(border$9.BordersDdsBorderStyleLightStroke, " solid "),
1521
+ backgroundColor: colors$p.DdsColorNeutralsWhite,
1522
+ borderRadius: borderRadius$7.RadiiDdsBorderRadius1Radius
1523
+ };
1524
+ var divider$1 = {
1525
+ marginRight: spacing$x.SizesDdsSpacingLocalX15,
1526
+ marginLeft: spacing$x.SizesDdsSpacingLocalX15
1527
+ };
1528
+ var overflowMenuTokens = {
1529
+ container: container$e,
1530
+ element: element$1,
1531
+ link: link$3,
1532
+ divider: divider$1,
1533
+ offset: spacing$x.SizesDdsSpacingLocalX0125NumberPx
1534
+ };
1535
+
1536
+ var element = overflowMenuTokens.element,
1537
+ link$2 = overflowMenuTokens.link;
1538
+ var elementBaseCSS = styled.css(["display:flex;box-sizing:border-box;color:", ";text-decoration:", ";background-color:", ";padding:", ";gap:", ";", ""], element.base.color, element.base.textDecoration, element.base.backgroundColor, element.base.padding, element.base.gap, ddsTypography.getFontStyling(typographyType$5));
1539
+ var Span = styled__default.default.span.withConfig({
1540
+ displayName: "OverflowMenuItem__Span",
1541
+ componentId: "sc-1ka2asi-0"
1542
+ })(["", ""], elementBaseCSS);
1543
+ var Link$2 = styled__default.default.a.withConfig({
1544
+ displayName: "OverflowMenuItem__Link",
1545
+ componentId: "sc-1ka2asi-1"
1546
+ })(["", " text-align:left;user-select:text;border:none;cursor:pointer;outline:inherit;width:100%;", " @media (prefers-reduced-motion:no-preference){transition:background-color 0.2s;}&:hover{background-color:", ";}&:active{background-color:", ";}&:focus-visible,&.focus-visible{", "}"], ddsCore.normalizeButton, elementBaseCSS, link$2.hover.backgroundColor, link$2.active.backgroundColor, ddsTypography.focusVisibleLink);
1547
+ var IconWrapper$1 = styled__default.default.span.withConfig({
1548
+ displayName: "OverflowMenuItem__IconWrapper",
1549
+ componentId: "sc-1ka2asi-2"
1550
+ })(["display:flex;align-items:center;height:", ";"], link$2.iconWrapper.height);
1551
+ var isAnchorProps = function isAnchorProps(props) {
1552
+ return props.href !== undefined;
1553
+ };
1554
+ var isButtonProps = function isButtonProps(props) {
1555
+ return props.href === undefined && props.onClick !== undefined;
1556
+ };
1557
+ var OverflowMenuItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
1558
+ var title = props.title,
1559
+ icon = props.icon,
1560
+ focus = props.focus,
1561
+ setFocus = props.setFocus,
1562
+ index = props.index,
1563
+ id = props.id,
1564
+ className = props.className,
1565
+ _props$htmlProps = props.htmlProps,
1566
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
1567
+ rest = tslib.__rest(props, ["title", "icon", "focus", "setFocus", "index", "id", "className", "htmlProps"]);
1568
+ var onKeyDown = htmlProps.onKeyDown;
1569
+ var href;
1570
+ var onClick;
1571
+ if (isAnchorProps(props)) {
1572
+ href = props.href;
1573
+ } else if (isButtonProps(props)) {
1574
+ onClick = props.onClick;
1575
+ }
1576
+ var itemRef = React.useRef(null);
1577
+ var combinedRef = ddsCore.useCombinedRef(ref, itemRef);
1578
+ React.useEffect(function () {
1579
+ var _a;
1580
+ if (focus) {
1581
+ (_a = itemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
1582
+ }
1583
+ }, [focus]);
1584
+ var handleSelect = React.useCallback(function () {
1585
+ if (setFocus && index) {
1586
+ setFocus(index);
1587
+ }
1588
+ }, [index, setFocus]);
1589
+ var handleOnClick = function handleOnClick(e) {
1590
+ handleSelect();
1591
+ onClick && onClick(e);
1592
+ };
1593
+ var handleOnKeyDown = function handleOnKeyDown(e) {
1594
+ handleSelect();
1595
+ onKeyDown && onKeyDown(e);
1596
+ };
1597
+ var linkProps = {
1598
+ href: href,
1599
+ onClick: handleOnClick,
1600
+ onKeyDown: handleOnKeyDown,
1601
+ role: 'menuitem',
1602
+ tabIndex: focus ? 0 : -1
1603
+ };
1604
+ var iconElement = icon && jsxRuntime.jsx(ddsIcons.Icon, {
1605
+ iconSize: "inherit",
1606
+ icon: icon
1607
+ });
1608
+ if (!href && !onClick) {
1609
+ return jsxRuntime.jsxs(Span, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
1610
+ ref: ref,
1611
+ children: [jsxRuntime.jsx(IconWrapper$1, {
1612
+ children: iconElement
1613
+ }), title]
1614
+ }));
1615
+ }
1616
+ if (!href) {
1617
+ return jsxRuntime.jsxs(Link$2, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), linkProps, {
1618
+ as: "button",
1619
+ ref: combinedRef,
1620
+ children: [jsxRuntime.jsx(IconWrapper$1, {
1621
+ children: iconElement
1622
+ }), title]
1623
+ }));
1624
+ }
1625
+ return jsxRuntime.jsxs(Link$2, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), linkProps, {
1626
+ as: "a",
1627
+ ref: combinedRef,
1628
+ children: [jsxRuntime.jsx(IconWrapper$1, {
1629
+ children: iconElement
1630
+ }), title]
1631
+ }));
1632
+ });
1633
+ OverflowMenuItem.displayName = 'OverflowMenuItem';
1634
+
1635
+ var container$d = overflowMenuTokens.container,
1636
+ divider = overflowMenuTokens.divider;
1637
+ var Container$f = styled__default.default.div.withConfig({
1638
+ displayName: "OverflowMenu__Container",
1639
+ componentId: "sc-kh744b-0"
1640
+ })(["box-sizing:border-box;z-index:100;overflow-y:auto;min-width:180px;max-width:300px;", " border:", ";background-color:", ";border-radius:", ";", " ", " *::selection{", "}"], function (_ref) {
1641
+ var isOpen = _ref.isOpen;
1642
+ return ddsCore.visibilityTransition(isOpen);
1643
+ }, container$d.border, container$d.backgroundColor, container$d.borderRadius, scrollbarStyling.webkit, scrollbarStyling.firefox, ddsCore.selection);
1644
+ var OverflowMenuList = styled__default.default.ul.withConfig({
1645
+ displayName: "OverflowMenu__OverflowMenuList",
1646
+ componentId: "sc-kh744b-1"
1647
+ })(["display:flex;flex-direction:column;list-style-type:none;padding:0;margin:0;"]);
1648
+ var StyledDivider$1 = styled__default.default(Divider).withConfig({
1649
+ displayName: "OverflowMenu__StyledDivider",
1650
+ componentId: "sc-kh744b-2"
1651
+ })(["margin-left:", ";margin-right:", ";"], divider.marginLeft, divider.marginRight);
1652
+ var OverflowMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
1653
+ var _a, _b;
1654
+ var anchorRef = props.anchorRef,
1655
+ onClose = props.onClose,
1656
+ onToggle = props.onToggle,
1657
+ _props$isOpen = props.isOpen,
1658
+ isOpen = _props$isOpen === void 0 ? false : _props$isOpen,
1659
+ _props$placement = props.placement,
1660
+ placement = _props$placement === void 0 ? 'bottom-end' : _props$placement,
1661
+ items = props.items,
1662
+ navItems = props.navItems,
1663
+ userProps = props.userProps,
1664
+ id = props.id,
1665
+ _props$offset = props.offset,
1666
+ offset = _props$offset === void 0 ? overflowMenuTokens.offset : _props$offset,
1667
+ className = props.className,
1668
+ _props$htmlProps = props.htmlProps,
1669
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
1670
+ rest = tslib.__rest(props, ["anchorRef", "onClose", "onToggle", "isOpen", "placement", "items", "navItems", "userProps", "id", "offset", "className", "htmlProps"]);
1671
+ var _useFloatPosition = ddsCore.useFloatPosition(null, {
1672
+ placement: placement,
1673
+ offset: offset
1674
+ }),
1675
+ reference = _useFloatPosition.reference,
1676
+ floating = _useFloatPosition.floating,
1677
+ refs = _useFloatPosition.refs,
1678
+ styles = _useFloatPosition.styles;
1679
+ var combinedRef = ddsCore.useCombinedRef(ref, floating);
1680
+ React.useEffect(function () {
1681
+ anchorRef ? reference(anchorRef.current) : reference(null);
1682
+ }, [anchorRef]);
1683
+ ddsCore.useOnClickOutside([(_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current, (_b = refs === null || refs === void 0 ? void 0 : refs.reference) === null || _b === void 0 ? void 0 : _b.current], function () {
1684
+ if (isOpen) {
1685
+ onClose && onClose();
1686
+ onToggle && onToggle();
1687
+ }
1688
+ });
1689
+ ddsCore.useOnKeyDown(['Esc', 'Escape'], function () {
1690
+ var _a;
1691
+ if (isOpen) {
1692
+ onClose && onClose();
1693
+ onToggle && onToggle();
1694
+ anchorRef && ((_a = anchorRef.current) === null || _a === void 0 ? void 0 : _a.focus());
1695
+ }
1696
+ });
1697
+ ddsCore.useOnKeyDown(['Tab'], function () {
1698
+ if (isOpen) {
1699
+ onClose && onClose();
1700
+ onToggle && onToggle();
1701
+ }
1702
+ });
1703
+ var interactiveItems = [];
1704
+ var hasContextItems = !!items && items.length > 0;
1705
+ var hasNavItems = !!navItems && navItems.length > 0;
1706
+ var _c = userProps || {},
1707
+ username = _c.name,
1708
+ userPropsRest = tslib.__rest(_c, ["name"]);
1709
+ var hasStaticUser = username && userProps && !userProps.href && !userProps.onClick;
1710
+ var hasInteractiveUser = username && userProps && (!!userProps.href || !!userProps.onClick);
1711
+ hasInteractiveUser && interactiveItems.push(Object.assign({
1712
+ title: username
1713
+ }, userPropsRest));
1714
+ hasNavItems && interactiveItems.push.apply(interactiveItems, _toConsumableArray(navItems));
1715
+ hasContextItems && interactiveItems.push.apply(interactiveItems, _toConsumableArray(items));
1716
+ var hasInteractiveItems = interactiveItems.length > 0;
1717
+ var _useRoveFocus = ddsCore.useRoveFocus(interactiveItems && interactiveItems.length, !isOpen),
1718
+ _useRoveFocus2 = _slicedToArray(_useRoveFocus, 2),
1719
+ focus = _useRoveFocus2[0],
1720
+ setFocus = _useRoveFocus2[1];
1721
+ var interactiveItemsList = hasInteractiveItems ? interactiveItems.map(function (item, index) {
1722
+ return jsxRuntime.jsx("li", {
1723
+ children: jsxRuntime.jsx(OverflowMenuItem, Object.assign({
1724
+ index: index,
1725
+ focus: focus === index && isOpen,
1726
+ setFocus: setFocus,
1727
+ icon: hasInteractiveUser && index === 0 ? ddsIcons.PersonIcon : undefined
1728
+ }, item, {
1729
+ onClick: function onClick(e) {
1730
+ item.onClick && item.onClick(e);
1731
+ onToggle && onToggle();
1732
+ onClose && onClose();
1733
+ }
1734
+ }))
1735
+ }, index);
1736
+ }) : null;
1737
+ var interactiveContent = function interactiveContent() {
1738
+ if (hasInteractiveItems) {
1739
+ var userPropsPos = hasInteractiveUser ? 0 : -1;
1740
+ var navItemsFirstPos = hasNavItems ? userPropsPos + 1 : -1;
1741
+ var navItemsLastPos = hasNavItems ? userPropsPos + navItems.length : -1;
1742
+ var contextItemsFirstPos = !hasContextItems ? -1 : hasNavItems ? navItemsLastPos + 1 : userPropsPos + 1;
1743
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
1744
+ children: [hasInteractiveUser && jsxRuntime.jsx(OverflowMenuList, {
1745
+ children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList[0]
1746
+ }), hasNavItems && jsxRuntime.jsx("nav", {
1747
+ children: jsxRuntime.jsx(OverflowMenuList, {
1748
+ children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList.slice(navItemsFirstPos, navItemsLastPos + 1)
1749
+ })
1750
+ }), hasNavItems && hasContextItems && jsxRuntime.jsx(StyledDivider$1, {
1751
+ color: "primaryLighter"
1752
+ }), hasContextItems && jsxRuntime.jsx(OverflowMenuList, {
1753
+ "aria-label": "kontekstmeny",
1754
+ children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList.slice(contextItemsFirstPos, interactiveItemsList.length)
1755
+ })]
1756
+ });
1757
+ }
1758
+ };
1759
+ var _htmlProps$style = htmlProps.style,
1760
+ style = _htmlProps$style === void 0 ? {} : _htmlProps$style,
1761
+ restHTMLProps = tslib.__rest(htmlProps, ["style"]);
1762
+ var generatedId = React.useId();
1763
+ var containerProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(id, className, restHTMLProps, rest)), {
1764
+ ref: combinedRef,
1765
+ id: id !== null && id !== void 0 ? id : "".concat(generatedId, "-overflowMenu"),
1766
+ isOpen: isOpen,
1767
+ style: Object.assign(Object.assign({}, style), styles.floating),
1768
+ 'aria-hidden': !isOpen,
1769
+ role: 'menu'
1770
+ });
1771
+ return jsxRuntime.jsxs(Container$f, Object.assign({}, containerProps, {
1772
+ "aria-label": "bruk piltaster for \xE5 navigere",
1773
+ children: [hasStaticUser && jsxRuntime.jsx(OverflowMenuItem, {
1774
+ title: username,
1775
+ icon: ddsIcons.PersonIcon
1776
+ }), interactiveContent()]
1777
+ }));
1778
+ });
1779
+ OverflowMenu.displayName = 'OverflowMenu';
1780
+
1781
+ var OverflowMenuGroup = function OverflowMenuGroup(_ref) {
1782
+ var children = _ref.children,
1783
+ onClose = _ref.onClose,
1784
+ onToggle = _ref.onToggle,
1785
+ onOpen = _ref.onOpen,
1786
+ overflowMenuId = _ref.overflowMenuId;
1787
+ var _useState = React.useState(false),
1788
+ _useState2 = _slicedToArray(_useState, 2),
1789
+ isOpen = _useState2[0],
1790
+ setIsOpen = _useState2[1];
1791
+ var toggle = function toggle() {
1792
+ return setIsOpen(!isOpen);
1793
+ };
1794
+ var close = function close() {
1795
+ return setIsOpen(false);
1796
+ };
1797
+ var buttonRef = React.useRef(null);
1798
+ var generatedId = React.useId();
1799
+ var uniqueOverflowMenuId = overflowMenuId !== null && overflowMenuId !== void 0 ? overflowMenuId : "".concat(generatedId, "-overflowMenu");
1800
+ var handleClose = function handleClose() {
1801
+ onClose && onClose();
1802
+ close();
1803
+ };
1804
+ var handleToggle = function handleToggle() {
1805
+ onOpen && !isOpen && onOpen();
1806
+ onClose && isOpen && onClose();
1807
+ onToggle && onToggle();
1808
+ toggle();
1809
+ };
1810
+ var Children = React.Children.map(children, function (child, childIndex) {
1811
+ return /*#__PURE__*/React.isValidElement(child) && (childIndex === 0 ? /*#__PURE__*/React.cloneElement(child, {
1812
+ 'aria-haspopup': 'menu',
1813
+ 'aria-controls': uniqueOverflowMenuId,
1814
+ 'aria-expanded': isOpen,
1815
+ onClick: handleToggle,
1816
+ ref: buttonRef
1817
+ }) : /*#__PURE__*/React.cloneElement(child, {
1818
+ isOpen: isOpen,
1819
+ id: uniqueOverflowMenuId,
1820
+ onClose: handleClose,
1821
+ onToggle: handleToggle,
1822
+ anchorRef: buttonRef
1823
+ }));
1824
+ });
1825
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
1826
+ children: Children
1827
+ });
1828
+ };
1829
+ OverflowMenuGroup.displayName = 'OverflowMenuGroup';
1830
+
1831
+ var navTokens$1 = appShellTokens.navigation,
1832
+ floatingActionButtons = appShellTokens.floatingActionButtons;
1833
+ var LogoBurgerGroup = styled__default.default.div.withConfig({
1834
+ displayName: "TopBar__LogoBurgerGroup",
1835
+ componentId: "sc-1mmx14i-0"
1836
+ })(["display:flex;align-items:center;gap:", ";"], navTokens$1.topBar.gap);
1837
+ var ActionButtonGroup = styled__default.default.div.withConfig({
1838
+ displayName: "TopBar__ActionButtonGroup",
1839
+ componentId: "sc-1mmx14i-1"
1840
+ })(["display:flex;align-items:center;gap:", ";"], navTokens$1.topBar.gap);
1841
+ var IconButton = styled__default.default(Button$1).attrs({
1842
+ appearance: 'borderless',
1843
+ purpose: 'secondary'
1844
+ }).withConfig({
1845
+ displayName: "TopBar__IconButton",
1846
+ componentId: "sc-1mmx14i-2"
1847
+ })(["color:", ";> :first-child{font-size:1.65rem;}@media (max-width:", "){border:0;box-shadow:none;padding:12px;&:hover,&:active{color:", ";text-decoration-color:", ";box-shadow:none;}gap:0;}"], navTokens$1.topBar.buttonTextColor, navTokens$1.mobile.breakpoint, navTokens$1.topBar.buttonTextColor, navTokens$1.topBar.buttonTextColor);
1848
+ var IconButtonText = styled__default.default.span.withConfig({
1849
+ displayName: "TopBar__IconButtonText",
1850
+ componentId: "sc-1mmx14i-3"
1851
+ })(["display:none;width:0;"]);
1852
+ var Bar$1 = styled__default.default.div.withConfig({
1853
+ displayName: "TopBar__Bar",
1854
+ componentId: "sc-1mmx14i-4"
1855
+ })(["display:flex;align-items:center;justify-content:space-between;gap:", ";width:100vw;height:", ";color:", ";background-color:", ";box-sizing:border-box;z-index:101;position:fixed;top:", ";left:0;right:0;@media (min-width:", "){justify-content:flex-end;background-color:transparent;margin-left:", ";width:calc(100vw - ", ");pointer-events:none;& > *{pointer-events:initial;}", "{display:none;}", "{padding-right:calc(2 * ", ");gap:", ";}", "{background-color:", ";color:", ";box-shadow:8px 16px 32px 0px rgba(0,0,0,0.1);border-radius:", ";", "{display:unset;}}}"], navTokens$1.topBar.gap, navTokens$1.topBar.height, navTokens$1.color, navTokens$1.backgroundColor, function (_ref) {
1856
+ var environmentBannerActive = _ref.environmentBannerActive;
1857
+ return environmentBannerActive ? developmentUtils.ENVIRONMENT_BANNER_HEIGHT : '0';
1858
+ }, navTokens$1.mobile.breakpoint, navTokens$1.width, navTokens$1.width, LogoBurgerGroup, ActionButtonGroup, navTokens$1.topBar.gap, floatingActionButtons.gap, IconButton, floatingActionButtons.backgroundColor, floatingActionButtons.textColor, floatingActionButtons.borderRadius, IconButtonText);
1859
+ var TopBar = function TopBar(_ref2) {
1860
+ var user = _ref2.user,
1861
+ userMenuItems = _ref2.userMenuItems,
1862
+ isNavigationOpen = _ref2.isNavigationOpen,
1863
+ onNavigationOpenChange = _ref2.onNavigationOpenChange,
1864
+ environmentBannerActive = _ref2.environmentBannerActive;
1865
+ var Icon = function Icon(props) {
1866
+ return jsxRuntime.jsx(EmbeteIcon, Object.assign({}, props, {
1867
+ type: user.embete.type
1868
+ }));
1869
+ };
1870
+ return jsxRuntime.jsxs(Bar$1, {
1871
+ environmentBannerActive: environmentBannerActive,
1872
+ children: [jsxRuntime.jsxs(LogoBurgerGroup, {
1873
+ children: [jsxRuntime.jsx(IconButton, {
1874
+ icon: isNavigationOpen ? ddsIcons.CloseIcon : ddsIcons.MenuIcon,
1875
+ onClick: function onClick() {
1876
+ return onNavigationOpenChange(!isNavigationOpen);
1877
+ }
1878
+ }), jsxRuntime.jsx(NavigationLogo, {
1879
+ small: true,
1880
+ children: "Lovisa"
1881
+ })]
1882
+ }), jsxRuntime.jsx(ActionButtonGroup, {
1883
+ children: jsxRuntime.jsxs(OverflowMenuGroup, {
1884
+ children: [jsxRuntime.jsx(IconButton, {
1885
+ icon: Icon,
1886
+ label: jsxRuntime.jsx(IconButtonText, {
1887
+ children: user.name
1888
+ })
1889
+ }), jsxRuntime.jsx(OverflowMenu, {
1890
+ items: userMenuItems
1891
+ })]
1892
+ })
1893
+ })]
1894
+ });
1895
+ };
1896
+
1897
+ var navTokens = appShellTokens.navigation;
1898
+ var Sidebar = styled__default.default.div.withConfig({
1899
+ displayName: "Navigation__Sidebar",
1900
+ componentId: "sc-twhp5c-0"
1901
+ })(["display:flex;flex-direction:column;height:calc(100vh - ", ");width:100vw;padding:", ";color:", ";background-color:", ";box-sizing:border-box;position:fixed;top:", ";left:0;right:0;bottom:0;z-index:100;transition:transform 0.2s ease-in-out,opacity 0.2s ease-in-out;transform:translateX(", ");opacity:", ";@media (min-width:", "){height:", ";top:", ";width:", ";position:fixed;transform:translateX(0);opacity:1;}"], navTokens.topBar.height, navTokens.padding, navTokens.color, navTokens.backgroundColor, function (_ref) {
1902
+ var environmentBannerActive = _ref.environmentBannerActive;
1903
+ return environmentBannerActive ? "calc(".concat(developmentUtils.ENVIRONMENT_BANNER_HEIGHT, " + ").concat(navTokens.topBar.height, ")") : navTokens.topBar.height;
1904
+ }, function (_ref2) {
1905
+ var isOpen = _ref2.isOpen;
1906
+ return isOpen ? '0' : '-100%';
1907
+ }, function (_ref3) {
1908
+ var isOpen = _ref3.isOpen;
1909
+ return isOpen ? '1' : '0';
1910
+ }, navTokens.mobile.breakpoint, function (_ref4) {
1911
+ var environmentBannerActive = _ref4.environmentBannerActive;
1912
+ return environmentBannerActive ? "calc(100vh - ".concat(developmentUtils.ENVIRONMENT_BANNER_HEIGHT, ")") : '100vh';
1913
+ }, function (_ref5) {
1914
+ var environmentBannerActive = _ref5.environmentBannerActive;
1915
+ return environmentBannerActive ? developmentUtils.ENVIRONMENT_BANNER_HEIGHT : 0;
1916
+ }, navTokens.width);
1917
+ var LogoAndVersionContainer = styled__default.default.div.withConfig({
1918
+ displayName: "Navigation__LogoAndVersionContainer",
1919
+ componentId: "sc-twhp5c-1"
1920
+ })(["display:none;@media (min-width:", "){display:flex;flex-direction:column;color:", ";padding:", ";}"], navTokens.mobile.breakpoint, navTokens.logoAndVersion.color, navTokens.logoAndVersion.padding);
1921
+ var Version = styled__default.default.span.withConfig({
1922
+ displayName: "Navigation__Version",
1923
+ componentId: "sc-twhp5c-2"
1924
+ })(["font-size:", ";font-style:", ";font-family:", ";font-weight:", ";line-height:", ";letter-spacing:", ";"], navTokens.logoAndVersion.version.fontSize, navTokens.logoAndVersion.version.fontStyle, navTokens.logoAndVersion.version.fontFamily, navTokens.logoAndVersion.version.fontWeight, navTokens.logoAndVersion.version.lineHeight, navTokens.logoAndVersion.version.letterSpacing);
1925
+ var NavigationItems = styled__default.default.nav.withConfig({
1926
+ displayName: "Navigation__NavigationItems",
1927
+ componentId: "sc-twhp5c-3"
1928
+ })(["display:flex;flex-direction:column;gap:", ";"], navTokens.navigationItems.gap);
1929
+ var DividerWrapper = styled__default.default.div.withConfig({
1930
+ displayName: "Navigation__DividerWrapper",
1931
+ componentId: "sc-twhp5c-4"
1932
+ })(["padding-left:", ";padding-right:", ";"], navTokens.navigationItems.item.padding, navTokens.navigationItems.item.padding);
1933
+ var StyledDivider = styled__default.default(Divider).withConfig({
1934
+ displayName: "Navigation__StyledDivider",
1935
+ componentId: "sc-twhp5c-5"
1936
+ })(["border-color:", ";"], navTokens.dividerColor);
1937
+ var Navigation$1 = function Navigation(_ref6) {
1938
+ var version = _ref6.version,
1939
+ user = _ref6.user,
1940
+ userMenuItems = _ref6.userMenuItems,
1941
+ internal = _ref6.internal,
1942
+ external = _ref6.external,
1943
+ environmentBannerActive = _ref6.environmentBannerActive;
1944
+ var _useAppShellContext = useAppShellContext(),
1945
+ isOpen = _useAppShellContext.isOpen,
1946
+ setOpen = _useAppShellContext.setOpen;
1947
+ React.useEffect(function () {
1948
+ var listener = function listener(event) {
1949
+ if (event.key === 'o') {
1950
+ setOpen(function (prev) {
1951
+ return !prev;
1952
+ });
1953
+ }
1954
+ };
1955
+ window.addEventListener('keypress', listener);
1956
+ return function () {
1957
+ return window.removeEventListener('keypress', listener);
1958
+ };
1959
+ });
1960
+ return jsxRuntime.jsxs("div", {
1961
+ children: [jsxRuntime.jsx(TopBar, {
1962
+ user: user,
1963
+ userMenuItems: userMenuItems,
1964
+ isNavigationOpen: isOpen,
1965
+ onNavigationOpenChange: function onNavigationOpenChange(newOpen) {
1966
+ return setOpen(newOpen);
1967
+ },
1968
+ environmentBannerActive: environmentBannerActive
1969
+ }), jsxRuntime.jsxs(Sidebar, {
1970
+ isOpen: isOpen,
1971
+ environmentBannerActive: environmentBannerActive,
1972
+ children: [jsxRuntime.jsxs(LogoAndVersionContainer, {
1973
+ children: [jsxRuntime.jsx(NavigationLogo, {
1974
+ children: "Lovisa"
1975
+ }), version !== '' && jsxRuntime.jsxs(Version, {
1976
+ children: ["v ", version]
1977
+ })]
1978
+ }), jsxRuntime.jsxs(NavigationItems, {
1979
+ children: [React.Children.map(internal, function (item) {
1980
+ if (item.type !== NavigationItem$1) {
1981
+ console.warn("Du bruker en React-komponent som ikke er tillat i AppShell-internal. Du kan kun bruke AppShell.NavItem i AppShell-internal.");
1982
+ return null;
1983
+ }
1984
+ return item;
1985
+ }), external.length > 0 && jsxRuntime.jsx(DividerWrapper, {
1986
+ children: jsxRuntime.jsx(StyledDivider, {})
1987
+ }), React.Children.map(external, function (item) {
1988
+ if (item.type !== NavigationItem$1) {
1989
+ console.warn('Du bruker en React-komponent som ikke er tillat i AppShell-external. Du kan kun bruke AppShell.NavItem i AppShell-external.');
1990
+ return null;
1991
+ }
1992
+ return item;
1993
+ })]
1994
+ })]
1995
+ })]
1996
+ });
1997
+ };
1998
+
1999
+ var AppShellContainer = styled__default.default.div.withConfig({
2000
+ displayName: "AppShell__AppShellContainer",
2001
+ componentId: "sc-1c8yu5p-0"
2002
+ })(["display:flex;flex-direction:column;@media (min-width:", "){flex-direction:row;}"], appShellTokens.navigation.mobile.breakpoint);
2003
+ var MainContent = styled__default.default.main.withConfig({
2004
+ displayName: "AppShell__MainContent",
2005
+ componentId: "sc-1c8yu5p-1"
2006
+ })(["min-height:calc(100vh - ", ");margin-top:", ";@media (min-width:", "){min-height:unset;margin-top:", ";margin-left:", ";min-width:calc(100vw - ", ");max-width:calc(100vw - ", ");}"], appShellTokens.navigation.topBar.height, function (_ref) {
2007
+ var environmentBannerActive = _ref.environmentBannerActive;
2008
+ return environmentBannerActive ? "calc(".concat(developmentUtils.ENVIRONMENT_BANNER_HEIGHT, " + ").concat(appShellTokens.navigation.topBar.height, ")") : appShellTokens.navigation.topBar.height;
2009
+ }, appShellTokens.navigation.mobile.breakpoint, function (_ref2) {
2010
+ var environmentBannerActive = _ref2.environmentBannerActive;
2011
+ return environmentBannerActive ? developmentUtils.ENVIRONMENT_BANNER_HEIGHT : 0;
2012
+ }, appShellTokens.navigation.width, appShellTokens.navigation.width, appShellTokens.navigation.width);
2013
+ var AppShell$1 = function AppShell(_ref3) {
2014
+ var children = _ref3.children,
2015
+ _ref3$version = _ref3.version,
2016
+ version = _ref3$version === void 0 ? '' : _ref3$version,
2017
+ _ref3$navigation = _ref3.navigation,
2018
+ _ref3$navigation$inte = _ref3$navigation.internal,
2019
+ internal = _ref3$navigation$inte === void 0 ? [] : _ref3$navigation$inte,
2020
+ _ref3$navigation$exte = _ref3$navigation.external,
2021
+ external = _ref3$navigation$exte === void 0 ? [] : _ref3$navigation$exte,
2022
+ user = _ref3.user,
2023
+ userMenuItems = _ref3.userMenuItems,
2024
+ _ref3$environment = _ref3.environment,
2025
+ environment = _ref3$environment === void 0 ? 'PROD' : _ref3$environment;
2026
+ var environmentBannerActive = environment !== 'PROD';
2027
+ return jsxRuntime.jsx(AppShellContextProvider, {
2028
+ children: jsxRuntime.jsxs(AppShellContainer, {
2029
+ children: [jsxRuntime.jsx(developmentUtils.EnvironmentBanner, {
2030
+ environment: environment
2031
+ }), jsxRuntime.jsx(Navigation$1, {
2032
+ user: user,
2033
+ userMenuItems: userMenuItems,
2034
+ version: version,
2035
+ internal: internal,
2036
+ external: external,
2037
+ environmentBannerActive: environmentBannerActive
2038
+ }), jsxRuntime.jsx(MainContent, {
2039
+ environmentBannerActive: environmentBannerActive,
2040
+ children: children
2041
+ })]
2042
+ })
2043
+ });
2044
+ };
2045
+ AppShell$1.displayName = 'AppShell';
2046
+
2047
+ var AppShell = AppShell$1;
2048
+ AppShell.NavItem = NavigationItem$1;
2049
+
2050
+ var RadioButtonGroupContext = /*#__PURE__*/React__default.default.createContext(null);
2051
+ var useRadioButtonGroup = function useRadioButtonGroup() {
2052
+ return React.useContext(RadioButtonGroupContext);
2053
+ };
2054
+
2055
+ var selectionControlSizeNumberPx = 18;
2056
+ var selectionControlSize = "".concat(selectionControlSizeNumberPx, "px");
2057
+
2058
+ var colors$o = ddsDesignTokens.ddsBaseTokens.colors,
2059
+ spacing$w = ddsDesignTokens.ddsBaseTokens.spacing,
2060
+ borderRadius$6 = ddsDesignTokens.ddsBaseTokens.borderRadius;
2061
+ var checkmark$1 = {
2062
+ checkbox: {
2063
+ borderColor: colors$o.DdsColorNeutralsWhite
2064
+ },
2065
+ radio: {
2066
+ backgroundColor: colors$o.DdsColorNeutralsWhite,
2067
+ height: spacing$w.SizesDdsSpacingLocalX05,
2068
+ width: spacing$w.SizesDdsSpacingLocalX05,
2069
+ left: "calc(50% - ".concat(spacing$w.SizesDdsSpacingLocalX05NumberPx / 2, "px)"),
2070
+ top: "calc(50% - ".concat(spacing$w.SizesDdsSpacingLocalX05NumberPx / 2, "px)")
2071
+ }
2072
+ };
2073
+ var selectionControl$2 = {
2074
+ base: {
2075
+ border: '1px solid',
2076
+ borderColor: colors$o.DdsColorNeutralsGray5,
2077
+ backgroundColor: colors$o.DdsColorNeutralsWhite,
2078
+ borderRadius: borderRadius$6.RadiiDdsBorderRadius1Radius,
2079
+ height: selectionControlSize,
2080
+ width: selectionControlSize
2081
+ },
2082
+ hover: {
2083
+ base: {
2084
+ backgroundColor: colors$o.DdsColorInteractiveLightest,
2085
+ boxShadow: "inset 0 0 0 1px ".concat(ddsForm.hoverInputfield.borderColor),
2086
+ borderColor: ddsForm.hoverInputfield.borderColor
2087
+ },
2088
+ danger: {
2089
+ backgroundColor: colors$o.DdsColorDangerLightest,
2090
+ boxShadow: "inset 0 0 0 1px ".concat(ddsForm.dangerInputfield.borderColor),
2091
+ borderColor: ddsForm.dangerInputfield.borderColor
2092
+ }
2093
+ },
2094
+ danger: {
2095
+ boxShadow: "inset 0 0 0 1px ".concat(ddsForm.dangerInputfield.borderColor),
2096
+ borderColor: ddsForm.dangerInputfield.borderColor
2097
+ },
2098
+ disabled: {
2099
+ borderColor: colors$o.DdsColorNeutralsGray5
2100
+ },
2101
+ readOnly: {
2102
+ backgroundColor: 'transparent'
2103
+ },
2104
+ checked: {
2105
+ base: {
2106
+ borderColor: colors$o.DdsColorInteractiveBase,
2107
+ backgroundColor: colors$o.DdsColorInteractiveBase
2108
+ },
2109
+ hover: {
2110
+ backgroundColor: colors$o.DdsColorInteractiveDark,
2111
+ boxShadow: "inset 0 0 0 1px ".concat(colors$o.DdsColorInteractiveDark),
2112
+ borderColor: colors$o.DdsColorInteractiveDark
2113
+ },
2114
+ disabled: {
2115
+ borderColor: colors$o.DdsColorNeutralsGray6,
2116
+ backgroundColor: colors$o.DdsColorNeutralsGray6
2117
+ },
2118
+ readOnly: {
2119
+ borderColor: colors$o.DdsColorNeutralsGray6,
2120
+ backgroundColor: colors$o.DdsColorNeutralsGray6
2121
+ }
2122
+ },
2123
+ checkbox: {
2124
+ indeterminate: {
2125
+ borderColor: colors$o.DdsColorInteractiveBase,
2126
+ backgroundColor: colors$o.DdsColorInteractiveBase
2127
+ }
2128
+ }
2129
+ };
2130
+ var container$c = {
2131
+ color: colors$o.DdsColorNeutralsGray9,
2132
+ disabled: {
2133
+ color: colors$o.DdsColorNeutralsGray6
2134
+ },
2135
+ withLabel: {
2136
+ paddingLeft: "".concat(selectionControlSizeNumberPx + spacing$w.SizesDdsSpacingLocalX05NumberPx, "px")
2137
+ },
2138
+ noLabel: {
2139
+ padding: "".concat(selectionControlSizeNumberPx / 2, "px")
2140
+ }
2141
+ };
2142
+ var groupContainer$1 = {
2143
+ row: {
2144
+ gap: spacing$w.SizesDdsSpacingLocalX075
2145
+ },
2146
+ column: {
2147
+ gap: spacing$w.SizesDdsSpacingLocalX05
2148
+ }
2149
+ };
2150
+ var outerGroupContainer$1 = {
2151
+ gap: spacing$w.SizesDdsSpacingLocalX0125
2152
+ };
2153
+ var selectionControlTokens = {
2154
+ selectionControl: selectionControl$2,
2155
+ checkmark: checkmark$1,
2156
+ container: container$c,
2157
+ groupContainer: groupContainer$1,
2158
+ outerGroupContainer: outerGroupContainer$1
2159
+ };
2160
+
2161
+ var selectionControl$1 = selectionControlTokens.selectionControl,
2162
+ container$b = selectionControlTokens.container,
2163
+ checkmark = selectionControlTokens.checkmark,
2164
+ groupContainer = selectionControlTokens.groupContainer,
2165
+ outerGroupContainer = selectionControlTokens.outerGroupContainer;
2166
+ var CustomSelectionControl = styled__default.default.span.withConfig({
2167
+ displayName: "SelectionControlstyles__CustomSelectionControl",
2168
+ componentId: "sc-vs1fm0-0"
2169
+ })(["position:absolute;left:0;box-sizing:border-box;border:", ";border-color:", ";background-color:", ";border-radius:", ";height:", ";width:", ";", " &:after{content:'';position:absolute;display:none;}"], selectionControl$1.base.border, selectionControl$1.base.borderColor, selectionControl$1.base.backgroundColor, selectionControl$1.base.borderRadius, selectionControl$1.base.height, selectionControl$1.base.width, function (_ref) {
2170
+ var controlType = _ref.controlType;
2171
+ return controlType === 'radio' && styled.css(["border-radius:50%;"]);
2172
+ });
2173
+ var Container$e = styled__default.default.label.withConfig({
2174
+ displayName: "SelectionControlstyles__Container",
2175
+ componentId: "sc-vs1fm0-1"
2176
+ })(["position:relative;display:flex;align-items:center;cursor:pointer;user-select:none;width:fit-content;color:", ";", " input ~ ", "{@media (prefers-reduced-motion:no-preference){transition:box-shadow 0.2s,background-color 0.2s,border 0.2s;}}&:focus-within{", " @media (prefers-reduced-motion:no-preference){transition:", ";}}&:hover input:enabled ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}input:checked:enabled ~ ", ",input[data-indeterminate='true'] ~ ", "{border-color:", ";background-color:", ";}&:hover input:checked:enabled ~ ", ",&:hover input:enabled[data-indeterminate='true'] ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}", " input:disabled ~ ", "{", "}input:checked:disabled ~ ", ",input:disabled[data-indeterminate='true'] ~ ", "{background-color:", ";border-color:", ";}input:checked ~ ", ":after,input[data-indeterminate='true'] ~ ", ":after{display:block;}", " ", ""], container$b.color, function (_ref2) {
2177
+ var hasLabel = _ref2.hasLabel;
2178
+ return hasLabel ? styled.css(["padding-left:", ";"], container$b.withLabel.paddingLeft) : styled.css(["padding:", ";"], container$b.noLabel.padding);
2179
+ }, CustomSelectionControl, ddsForm.focusVisible, ddsForm.focusVisibleTransitionValue, CustomSelectionControl, selectionControl$1.hover.base.backgroundColor, selectionControl$1.hover.base.boxShadow, selectionControl$1.hover.base.borderColor, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.base.borderColor, selectionControl$1.checked.base.backgroundColor, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.hover.backgroundColor, selectionControl$1.checked.hover.boxShadow, selectionControl$1.checked.hover.borderColor, function (_ref3) {
2180
+ var error = _ref3.error;
2181
+ return error && styled.css(["&:hover input:enabled ~ ", "{background-color:", ";box-shadow:", ";border-color:", ";}input ~ ", ",input:checked:enabled ~ ", ",&:hover input:checked:enabled ~ ", "{box-shadow:", ";border-color:", ";}"], CustomSelectionControl, selectionControl$1.hover.danger.backgroundColor, selectionControl$1.hover.danger.boxShadow, selectionControl$1.hover.danger.borderColor, CustomSelectionControl, CustomSelectionControl, CustomSelectionControl, selectionControl$1.danger.boxShadow, selectionControl$1.danger.borderColor);
2182
+ }, CustomSelectionControl, selectionControl$1.disabled, CustomSelectionControl, CustomSelectionControl, selectionControl$1.checked.disabled.backgroundColor, selectionControl$1.checked.disabled.borderColor, CustomSelectionControl, CustomSelectionControl, function (_ref4) {
2183
+ var disabled = _ref4.disabled;
2184
+ return disabled && styled.css(["cursor:not-allowed;color:", ";"], container$b.disabled.color);
2185
+ }, function (_ref5) {
2186
+ var controlType = _ref5.controlType;
2187
+ return controlType === 'checkbox' ? styled.css(["", ":after{border:solid ", ";border-width:0 1px 1px 0;left:35%;top:10%;width:30%;height:65%;transform:rotate(45deg);}input[data-indeterminate='true'] ~ ", ":after{border-width:1px 0 0 0;left:25%;top:50%;width:50%;height:1px;transform:none;}"], CustomSelectionControl, checkmark.checkbox.borderColor, CustomSelectionControl) : styled.css(["", ":after{border-radius:50%;background-color:", ";width:", ";height:", ";left:", ";top:", ";}"], CustomSelectionControl, checkmark.radio.backgroundColor, checkmark.radio.width, checkmark.radio.height, checkmark.radio.left, checkmark.radio.top);
2188
+ });
2189
+ var OuterGroupContainer = styled__default.default.div.withConfig({
2190
+ displayName: "SelectionControlstyles__OuterGroupContainer",
2191
+ componentId: "sc-vs1fm0-2"
2192
+ })(["display:flex;flex-direction:column;gap:", ";"], outerGroupContainer.gap);
2193
+ var GroupContainer = styled__default.default.div.withConfig({
2194
+ displayName: "SelectionControlstyles__GroupContainer",
2195
+ componentId: "sc-vs1fm0-3"
2196
+ })(["display:flex;", ""], function (_ref6) {
2197
+ var direction = _ref6.direction;
2198
+ return styled.css(["flex-direction:", ";gap:", ";"], direction, groupContainer[direction].gap);
2199
+ });
2200
+
2201
+ var isValueEqualToGroupValueOrFalsy = function isValueEqualToGroupValueOrFalsy(value, group) {
2202
+ if (typeof value !== 'undefined' && value !== null && group) {
2203
+ if (typeof value === 'number') {
2204
+ return value === Number(group === null || group === void 0 ? void 0 : group.value);
2205
+ }
2206
+ return value === (group === null || group === void 0 ? void 0 : group.value);
2207
+ }
2208
+ return !!value;
2209
+ };
2210
+ var RadioButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
2211
+ var id = props.id,
2212
+ name = props.name,
2213
+ label = props.label,
2214
+ disabled = props.disabled,
2215
+ readOnly = props.readOnly,
2216
+ error = props.error,
2217
+ checked = props.checked,
2218
+ value = props.value,
2219
+ children = props.children,
2220
+ required = props.required,
2221
+ onChange = props.onChange,
2222
+ ariaDescribedby = props['aria-describedby'],
2223
+ className = props.className,
2224
+ _props$htmlProps = props.htmlProps,
2225
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
2226
+ rest = tslib.__rest(props, ["id", "name", "label", "disabled", "readOnly", "error", "checked", "value", "children", "required", "onChange", 'aria-describedby', "className", "htmlProps"]);
2227
+ var htmlPropsClassName = htmlProps.className,
2228
+ style = htmlProps.style,
2229
+ restHtmlProps = tslib.__rest(htmlProps, ["className", "style"]);
2230
+ var generatedId = React.useId();
2231
+ var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-radioButton");
2232
+ var hasLabel = !!label;
2233
+ var radioButtonGroup = useRadioButtonGroup();
2234
+ var handleChange = function handleChange(event) {
2235
+ onChange && onChange(event);
2236
+ radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.onChange(event);
2237
+ };
2238
+ var describedByIds = [];
2239
+ if (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId) describedByIds.push(radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId);
2240
+ if (ariaDescribedby) describedByIds.push(ariaDescribedby);
2241
+ var inputProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(uniqueId, restHtmlProps, rest)), {
2242
+ type: 'radio',
2243
+ name: name !== null && name !== void 0 ? name : radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.name,
2244
+ disabled: disabled || readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled) || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
2245
+ required: required || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.required),
2246
+ checked: typeof checked !== 'undefined' ? checked : isValueEqualToGroupValueOrFalsy(value, radioButtonGroup),
2247
+ onChange: handleChange,
2248
+ value: value,
2249
+ 'aria-describedby': describedByIds.length > 0 ? describedByIds.join(' ') : undefined,
2250
+ 'aria-invalid': error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error) ? true : undefined
2251
+ });
2252
+ var containerProps = {
2253
+ error: error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error),
2254
+ disabled: disabled || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled),
2255
+ readOnly: readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
2256
+ style: style,
2257
+ className: ddsCore.joinClassNames(className, htmlPropsClassName),
2258
+ htmlFor: uniqueId,
2259
+ controlType: 'radio',
2260
+ hasLabel: hasLabel
2261
+ };
2262
+ return jsxRuntime.jsxs(Container$e, Object.assign({}, containerProps, {
2263
+ htmlFor: uniqueId,
2264
+ controlType: "radio",
2265
+ children: [jsxRuntime.jsx(ddsForm.HiddenInput, Object.assign({}, inputProps, {
2266
+ ref: ref
2267
+ })), jsxRuntime.jsx(CustomSelectionControl, {
2268
+ controlType: "radio"
2269
+ }), jsxRuntime.jsx(ddsTypography.Typography, {
2270
+ as: "span",
2271
+ children: children !== null && children !== void 0 ? children : label
2272
+ })]
2273
+ }));
2274
+ });
2275
+ RadioButton.displayName = 'RadioButton';
2276
+
2277
+ var colors$n = ddsDesignTokens.ddsBaseTokens.colors,
2278
+ spacing$v = ddsDesignTokens.ddsBaseTokens.spacing;
2279
+ var message = {
2280
+ tip: {
2281
+ backgroundColor: colors$n.DdsColorNeutralsWhite
2282
+ },
2283
+ error: {
2284
+ padding: "".concat(spacing$v.SizesDdsSpacingLocalX025, " ").concat(spacing$v.SizesDdsSpacingLocalX05),
2285
+ color: colors$n.DdsColorDangerBase,
2286
+ backgroundColor: colors$n.DdsColorDangerLightest,
2287
+ gap: spacing$v.SizesDdsSpacingLocalX05
2288
+ }
2289
+ };
2290
+ var icon$a = {
2291
+ marginTop: spacing$v.SizesDdsSpacingLocalX0125
2292
+ };
2293
+ var inputMessageTokens = {
2294
+ message: message,
2295
+ icon: icon$a
2296
+ };
2297
+
2298
+ var InputMessageWrapper = styled__default.default.div.withConfig({
2299
+ displayName: "InputMessage__InputMessageWrapper",
2300
+ componentId: "sc-c954fy-0"
2301
+ })(["display:flex;width:fit-content;word-break:break-word;max-width:100%;", " svg{margin-top:", ";}"], function (_ref) {
2302
+ var messageType = _ref.messageType;
2303
+ return messageType === 'error' ? styled.css(["color:", ";background-color:", ";padding:", ";gap:", ";"], inputMessageTokens.message.error.color, inputMessageTokens.message.error.backgroundColor, inputMessageTokens.message.error.padding, inputMessageTokens.message.error.gap) : '';
2304
+ }, inputMessageTokens.icon.marginTop);
2305
+ var InputMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
2306
+ var message = props.message,
2307
+ messageType = props.messageType,
2308
+ id = props.id,
2309
+ className = props.className,
2310
+ htmlProps = props.htmlProps,
2311
+ rest = tslib.__rest(props, ["message", "messageType", "id", "className", "htmlProps"]);
2312
+ var wrapperProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest)), {
2313
+ ref: ref,
2314
+ messageType: messageType
2315
+ });
2316
+ var isError = messageType === 'error';
2317
+ return jsxRuntime.jsxs(InputMessageWrapper, Object.assign({}, wrapperProps, {
2318
+ children: [isError && jsxRuntime.jsx(ddsIcons.Icon, {
2319
+ icon: ddsIcons.ErrorIcon,
2320
+ iconSize: "inherit"
2321
+ }), jsxRuntime.jsx(ddsTypography.Typography, {
2322
+ typographyType: isError ? 'supportingStyleLabel01' : 'supportingStyleHelperText01',
2323
+ as: "span",
2324
+ bold: isError ? true : undefined,
2325
+ color: isError ? inputMessageTokens.message.error.color : undefined,
2326
+ children: message
2327
+ })]
2328
+ }));
2329
+ });
2330
+ InputMessage.displayName = 'InputMessage';
2331
+
2332
+ var renderInputMessage = function renderInputMessage(tip, tipId, errorMessage, errorMessageId) {
2333
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
2334
+ children: [errorMessage && errorMessageId && jsxRuntime.jsx(InputMessage, {
2335
+ message: errorMessage,
2336
+ messageType: "error",
2337
+ id: errorMessageId
2338
+ }), tip && tipId && !errorMessage && jsxRuntime.jsx(InputMessage, {
2339
+ message: tip,
2340
+ messageType: "tip",
2341
+ id: tipId
2342
+ })]
2343
+ });
2344
+ };
2345
+
2346
+ var RadioButtonGroupInner = function RadioButtonGroupInner(props, ref) {
2347
+ var name = props.name,
2348
+ label = props.label,
2349
+ groupId = props.groupId,
2350
+ errorMessage = props.errorMessage,
2351
+ tip = props.tip,
2352
+ disabled = props.disabled,
2353
+ readOnly = props.readOnly,
2354
+ _props$direction = props.direction,
2355
+ direction = _props$direction === void 0 ? 'row' : _props$direction,
2356
+ value = props.value,
2357
+ children = props.children,
2358
+ required = props.required,
2359
+ onChange = props.onChange,
2360
+ id = props.id,
2361
+ className = props.className,
2362
+ _props$htmlProps = props.htmlProps,
2363
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
2364
+ rest = tslib.__rest(props, ["name", "label", "groupId", "errorMessage", "tip", "disabled", "readOnly", "direction", "value", "children", "required", "onChange", "id", "className", "htmlProps"]);
2365
+ var ariaRequired = htmlProps['aria-required'];
2366
+ var _useState = React.useState(value),
2367
+ _useState2 = _slicedToArray(_useState, 2),
2368
+ groupValue = _useState2[0],
2369
+ setGroupValue = _useState2[1];
2370
+ var generatedId = React.useId();
2371
+ var uniqueGroupId = groupId !== null && groupId !== void 0 ? groupId : "".concat(generatedId, "-radioButtonGroup");
2372
+ var handleChange = ddsCore.combineHandlers(function (e) {
2373
+ return setGroupValue(e.target.value);
2374
+ }, function (e) {
2375
+ return onChange && onChange(e, e.target.value);
2376
+ });
2377
+ var hasErrorMessage = !!errorMessage;
2378
+ var showRequiredMarker = required || ariaRequired;
2379
+ var tipId = tip && "".concat(uniqueGroupId, "-tip");
2380
+ var errorMessageId = errorMessage && "".concat(uniqueGroupId, "-errorMessage");
2381
+ var contextProps = {
2382
+ name: name,
2383
+ disabled: disabled,
2384
+ error: hasErrorMessage,
2385
+ errorMessageId: errorMessageId,
2386
+ required: required,
2387
+ readOnly: readOnly,
2388
+ value: groupValue,
2389
+ onChange: handleChange
2390
+ };
2391
+ return jsxRuntime.jsxs(OuterGroupContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, Object.assign(Object.assign({}, htmlProps), {
2392
+ 'aria-required': ariaRequired
2393
+ }), rest), {
2394
+ ref: ref,
2395
+ children: [jsxRuntime.jsxs(ddsTypography.Typography, {
2396
+ as: "span",
2397
+ typographyType: "supportingStyleLabel01",
2398
+ id: uniqueGroupId,
2399
+ children: [label, " ", showRequiredMarker && jsxRuntime.jsx(ddsCore.RequiredMarker, {})]
2400
+ }), renderInputMessage(tip, tipId), jsxRuntime.jsx(RadioButtonGroupContext.Provider, {
2401
+ value: Object.assign({}, contextProps),
2402
+ children: jsxRuntime.jsx(GroupContainer, {
2403
+ role: "radiogroup",
2404
+ direction: direction,
2405
+ "aria-labelledby": uniqueGroupId,
2406
+ "aria-describedby": tipId,
2407
+ "aria-errormessage": errorMessageId,
2408
+ children: children
2409
+ })
2410
+ }), renderInputMessage(undefined, undefined, errorMessage, errorMessageId)]
2411
+ }));
2412
+ };
2413
+ var RadioButtonGroup = /*#__PURE__*/React.forwardRef(RadioButtonGroupInner);
2414
+ // @ts-expect-error TODO fix RadioButtonGroup type
2415
+ RadioButtonGroup.displayName = 'RadioButtonGroup';
2416
+
2417
+ var CheckboxGroupContext = /*#__PURE__*/React__default.default.createContext(null);
2418
+ var useCheckboxGroup = function useCheckboxGroup() {
2419
+ return React.useContext(CheckboxGroupContext);
2420
+ };
2421
+
2422
+ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
2423
+ var id = props.id,
2424
+ name = props.name,
2425
+ label = props.label,
2426
+ error = props.error,
2427
+ disabled = props.disabled,
2428
+ readOnly = props.readOnly,
2429
+ indeterminate = props.indeterminate,
2430
+ ariaDescribedby = props['aria-describedby'],
2431
+ className = props.className,
2432
+ _props$htmlProps = props.htmlProps,
2433
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
2434
+ rest = tslib.__rest(props, ["id", "name", "label", "error", "disabled", "readOnly", "indeterminate", 'aria-describedby', "className", "htmlProps"]);
2435
+ var generatedId = React.useId();
2436
+ var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-checkbox");
2437
+ var checkboxGroup = useCheckboxGroup();
2438
+ var hasLabel = !!label;
2439
+ var style = htmlProps.style,
2440
+ htmlPropsClassName = htmlProps.className,
2441
+ restHtmlProps = tslib.__rest(htmlProps, ["style", "className"]);
2442
+ var containerProps = {
2443
+ error: error || (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.error),
2444
+ disabled: disabled,
2445
+ indeterminate: indeterminate,
2446
+ htmlFor: uniqueId,
2447
+ hasLabel: hasLabel,
2448
+ className: ddsCore.joinClassNames(className, htmlPropsClassName),
2449
+ style: style
2450
+ };
2451
+ var inputProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(uniqueId, restHtmlProps, rest)), {
2452
+ ref: ref,
2453
+ name: name,
2454
+ indeterminate: indeterminate,
2455
+ disabled: disabled,
2456
+ 'aria-describedby': ddsCore.spaceSeparatedIdListGenerator([checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.tipId, checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.errorMessageId, ariaDescribedby]),
2457
+ 'aria-invalid': error || (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.error) ? true : undefined,
2458
+ 'aria-labelledby': checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.uniqueGroupId,
2459
+ 'aria-checked': indeterminate ? 'mixed' : undefined,
2460
+ 'aria-readonly': readOnly
2461
+ });
2462
+ return jsxRuntime.jsxs(Container$e, Object.assign({}, containerProps, {
2463
+ controlType: "checkbox",
2464
+ children: [jsxRuntime.jsx(ddsForm.HiddenInput, Object.assign({}, inputProps, {
2465
+ type: "checkbox",
2466
+ "data-indeterminate": indeterminate
2467
+ })), jsxRuntime.jsx(CustomSelectionControl, {
2468
+ controlType: "checkbox"
2469
+ }), hasLabel && jsxRuntime.jsx(ddsTypography.Typography, {
2470
+ color: "inherit",
2471
+ as: "span",
2472
+ typographyType: "bodySans02",
2473
+ children: label
2474
+ })]
2475
+ }));
2476
+ });
2477
+ Checkbox.displayName = 'Checkbox';
2478
+
2479
+ var CheckboxGroup = function CheckboxGroup(props) {
2480
+ var label = props.label,
2481
+ _props$direction = props.direction,
2482
+ direction = _props$direction === void 0 ? 'row' : _props$direction,
2483
+ errorMessage = props.errorMessage,
2484
+ tip = props.tip,
2485
+ required = props.required,
2486
+ groupId = props.groupId,
2487
+ children = props.children,
2488
+ id = props.id,
2489
+ className = props.className,
2490
+ _props$htmlProps = props.htmlProps,
2491
+ htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
2492
+ rest = tslib.__rest(props, ["label", "direction", "errorMessage", "tip", "required", "groupId", "children", "id", "className", "htmlProps"]);
2493
+ var ariaRequired = htmlProps['aria-required'];
2494
+ var generatedId = React.useId();
2495
+ var uniqueGroupId = groupId !== null && groupId !== void 0 ? groupId : "".concat(generatedId, "-checkboxGroup");
2496
+ var hasErrorMessage = !!errorMessage;
2497
+ var showRequiredMarker = required || ariaRequired;
2498
+ var errorMessageId = ddsCore.derivativeIdGenerator(uniqueGroupId, 'errorMessage');
2499
+ var tipId = ddsCore.derivativeIdGenerator(uniqueGroupId, 'tip');
2500
+ var contextProps = {
2501
+ error: hasErrorMessage,
2502
+ errorMessageId: errorMessage ? errorMessageId : undefined,
2503
+ uniqueGroupId: uniqueGroupId,
2504
+ tipId: tip ? tipId : undefined
2505
+ };
2506
+ return jsxRuntime.jsxs(OuterGroupContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, Object.assign(Object.assign({}, htmlProps), {
2507
+ 'aria-required': ariaRequired
2508
+ }), rest), {
2509
+ children: [jsxRuntime.jsxs(ddsTypography.Typography, {
2510
+ as: "span",
2511
+ typographyType: "supportingStyleLabel01",
2512
+ id: uniqueGroupId,
2513
+ children: [label, " ", showRequiredMarker && jsxRuntime.jsx(ddsCore.RequiredMarker, {})]
2514
+ }), renderInputMessage(tip, tipId), jsxRuntime.jsx(CheckboxGroupContext.Provider, {
2515
+ value: Object.assign({}, contextProps),
2516
+ children: jsxRuntime.jsx(GroupContainer, {
2517
+ role: "group",
2518
+ "aria-labelledby": uniqueGroupId,
2519
+ "aria-describedby": tip ? tipId : undefined,
2520
+ direction: direction,
2521
+ children: children
2522
+ })
2523
+ }), renderInputMessage(undefined, undefined, errorMessage, errorMessageId)]
2524
+ }));
2525
+ };
2526
+ CheckboxGroup.displayName = 'CheckboxGroup';
1711
2527
 
1712
- var colors$o = ddsDesignTokens.ddsBaseTokens.colors,
1713
- spacing$w = ddsDesignTokens.ddsBaseTokens.spacing,
2528
+ var colors$m = ddsDesignTokens.ddsBaseTokens.colors,
2529
+ spacing$u = ddsDesignTokens.ddsBaseTokens.spacing,
1714
2530
  iconSizes$5 = ddsDesignTokens.ddsBaseTokens.iconSizes;
1715
2531
  var input$3 = {
1716
2532
  withIcon: {
1717
2533
  medium: {
1718
- paddingLeft: "".concat(spacing$w.SizesDdsSpacingLocalX075NumberPx + iconSizes$5.DdsIconsizeMediumNumberPx + spacing$w.SizesDdsSpacingLocalX05NumberPx, "px")
2534
+ paddingLeft: "".concat(spacing$u.SizesDdsSpacingLocalX075NumberPx + iconSizes$5.DdsIconsizeMediumNumberPx + spacing$u.SizesDdsSpacingLocalX05NumberPx, "px")
1719
2535
  },
1720
2536
  small: {
1721
- paddingLeft: "".concat(spacing$w.SizesDdsSpacingLocalX075NumberPx + iconSizes$5.DdsIconsizeSmallNumberPx + spacing$w.SizesDdsSpacingLocalX05NumberPx, "px")
2537
+ paddingLeft: "".concat(spacing$u.SizesDdsSpacingLocalX075NumberPx + iconSizes$5.DdsIconsizeSmallNumberPx + spacing$u.SizesDdsSpacingLocalX05NumberPx, "px")
1722
2538
  },
1723
2539
  tiny: {
1724
- paddingLeft: "".concat(spacing$w.SizesDdsSpacingLocalX05NumberPx + iconSizes$5.DdsIconsizeSmallNumberPx + spacing$w.SizesDdsSpacingLocalX025NumberPx, "px")
2540
+ paddingLeft: "".concat(spacing$u.SizesDdsSpacingLocalX05NumberPx + iconSizes$5.DdsIconsizeSmallNumberPx + spacing$u.SizesDdsSpacingLocalX025NumberPx, "px")
1725
2541
  }
1726
2542
  }
1727
2543
  };
1728
2544
  var affix = {
1729
2545
  border: {
1730
- color: colors$o.DdsColorNeutralsGray5
2546
+ color: colors$m.DdsColorNeutralsGray5
1731
2547
  }
1732
2548
  };
1733
2549
  var icon$9 = {
1734
- color: colors$o.DdsColorNeutralsGray9,
2550
+ color: colors$m.DdsColorNeutralsGray9,
1735
2551
  sizes: {
1736
2552
  medium: {
1737
- top: spacing$w.SizesDdsSpacingLocalX075,
1738
- left: spacing$w.SizesDdsSpacingLocalX075
2553
+ top: spacing$u.SizesDdsSpacingLocalX075,
2554
+ left: spacing$u.SizesDdsSpacingLocalX075
1739
2555
  },
1740
2556
  small: {
1741
- top: spacing$w.SizesDdsSpacingLocalX075,
1742
- left: spacing$w.SizesDdsSpacingLocalX075
2557
+ top: spacing$u.SizesDdsSpacingLocalX075,
2558
+ left: spacing$u.SizesDdsSpacingLocalX075
1743
2559
  },
1744
2560
  tiny: {
1745
- top: spacing$w.SizesDdsSpacingLocalX05,
1746
- left: spacing$w.SizesDdsSpacingLocalX05
2561
+ top: spacing$u.SizesDdsSpacingLocalX05,
2562
+ left: spacing$u.SizesDdsSpacingLocalX05
1747
2563
  }
1748
2564
  }
1749
2565
  };
@@ -1913,336 +2729,78 @@ var TextInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
1913
2729
  maxLength: maxLength,
1914
2730
  value: value,
1915
2731
  defaultValue: defaultValue,
1916
- 'aria-required': ariaRequired,
1917
- 'aria-describedby': ddsCore.spaceSeparatedIdListGenerator([hasTip ? tipId : undefined, hasErrorMessage ? errorMessageId : undefined, maxLength && withCharacterCounter ? characterCounterId : undefined, ariaDescribedby]),
1918
- 'aria-invalid': hasErrorMessage ? true : undefined
1919
- }, rest);
1920
- var outerInputContainerProps = {
1921
- className: className,
1922
- style: style,
1923
- width: getWidth$1(componentSize, width)
1924
- };
1925
- var showRequiredStyling = !!(required || ariaRequired);
1926
- var extendedInput = null;
1927
- if (hasIcon) {
1928
- extendedInput = jsxRuntime.jsxs(ddsForm.InputContainer, {
1929
- children: [jsxRuntime.jsx(StyledIcon$3, {
1930
- icon: icon,
1931
- iconSize: getFormInputIconSize(componentSize),
1932
- size: componentSize
1933
- }), jsxRuntime.jsx(StyledInput$1, Object.assign({
1934
- ref: ref,
1935
- onChange: onChangeHandler,
1936
- type: type,
1937
- componentSize: componentSize,
1938
- hasIcon: hasIcon
1939
- }, generalInputProps))]
1940
- });
1941
- } else if (hasAffix) {
1942
- extendedInput = jsxRuntime.jsxs(ddsForm.InputAffixContainer, {
1943
- children: [prefix && jsxRuntime.jsx(Prefix, {
1944
- readOnly: readOnly,
1945
- ref: prefixRef,
1946
- "aria-hidden": true,
1947
- children: prefix
1948
- }), jsxRuntime.jsx(ddsForm.StatefulInput, Object.assign({
1949
- ref: ref,
1950
- onChange: onChangeHandler,
1951
- type: type,
1952
- componentSize: componentSize,
1953
- prefixLength: prefixLength,
1954
- suffixLength: suffixLength
1955
- }, generalInputProps)), suffix && jsxRuntime.jsx(Suffix, {
1956
- readOnly: readOnly,
1957
- ref: suffixRef,
1958
- "aria-hidden": true,
1959
- children: suffix
1960
- })]
1961
- });
1962
- }
1963
- return jsxRuntime.jsxs(ddsForm.OuterInputContainer, Object.assign({}, outerInputContainerProps, {
1964
- children: [hasLabel && jsxRuntime.jsx(ddsTypography.Label, {
1965
- htmlFor: uniqueId,
1966
- showRequiredStyling: showRequiredStyling,
1967
- children: label
1968
- }), extendedInput ? extendedInput : jsxRuntime.jsx(ddsForm.StatefulInput, Object.assign({
1969
- ref: ref,
1970
- onChange: onChangeHandler,
1971
- type: type,
1972
- componentSize: componentSize
1973
- }, generalInputProps)), hasMessage && jsxRuntime.jsxs(MessageContainer$1, {
1974
- children: [renderInputMessage(tip, tipId, errorMessage, errorMessageId), maxLength && Number.isInteger(maxLength) && maxLength > 0 && withCharacterCounter && jsxRuntime.jsx(CharCounter, {
1975
- id: characterCounterId,
1976
- current: text.length,
1977
- max: maxLength
1978
- })]
1979
- })]
1980
- }));
1981
- });
1982
- TextInput.displayName = 'TextInput';
1983
-
1984
- var scrollbarWidthNumberPx = 10;
1985
- var scrollbarWidth$1 = "".concat(scrollbarWidthNumberPx, "px");
1986
- var colors$n = ddsDesignTokens.ddsBaseTokens.colors,
1987
- spacing$v = ddsDesignTokens.ddsBaseTokens.spacing;
1988
- var track$3 = {
1989
- backgroundColor: 'transparent',
1990
- borderRadius: '100px',
1991
- width: scrollbarWidth$1
1992
- };
1993
- var thumb$2 = {
1994
- base: {
1995
- backgroundColor: colors$n.DdsColorPrimaryDarkest.slice(0, -2) + '0.35)',
1996
- borderRadius: '100px',
1997
- width: scrollbarWidth$1
1998
- },
1999
- hover: {
2000
- backgroundColor: colors$n.DdsColorPrimaryDarkest.slice(0, -2) + '0.5)'
2001
- }
2002
- };
2003
- var content$5 = {
2004
- paddingRight: spacing$v.SizesDdsSpacingLocalX05
2005
- };
2006
- var outerContainer$8 = {
2007
- padding: spacing$v.SizesDdsSpacingLocalX025
2008
- };
2009
- var scrollbarTokens = {
2010
- minThumbHeightPx: 15,
2011
- track: track$3,
2012
- thumb: thumb$2,
2013
- content: content$5,
2014
- outerContainer: outerContainer$8
2015
- };
2016
-
2017
- var track$2 = scrollbarTokens.track,
2018
- thumb$1 = scrollbarTokens.thumb,
2019
- minThumbHeightPx = scrollbarTokens.minThumbHeightPx;
2020
- var ScrollbarOuterWrapper = styled__default.default.div.withConfig({
2021
- displayName: "Scrollbar__ScrollbarOuterWrapper",
2022
- componentId: "sc-mphi5n-0"
2023
- })([""]);
2024
- var ScrollbarElements = styled__default.default.div.withConfig({
2025
- displayName: "Scrollbar__ScrollbarElements",
2026
- componentId: "sc-mphi5n-1"
2027
- })(["display:block;height:100%;position:relative;display:grid;justify-items:center;"]);
2028
- var Track = styled__default.default.div.withConfig({
2029
- displayName: "Scrollbar__Track",
2030
- componentId: "sc-mphi5n-2"
2031
- })(["bottom:0;top:0;position:absolute;background-color:", ";border-radius:", ";width:", ";"], track$2.backgroundColor, track$2.borderRadius, track$2.width);
2032
- var Thumb = styled__default.default.div.withConfig({
2033
- displayName: "Scrollbar__Thumb",
2034
- componentId: "sc-mphi5n-3"
2035
- })(["position:absolute;background-color:", ";border-radius:", ";width:", ";transition:background-color 0.2s;&:hover{background-color:", ";}"], thumb$1.base.backgroundColor, thumb$1.base.borderRadius, thumb$1.base.width, thumb$1.hover.backgroundColor);
2036
- var Scrollbar = function Scrollbar(props) {
2037
- var id = props.id,
2038
- className = props.className,
2039
- htmlProps = props.htmlProps,
2040
- contentRef = props.contentRef,
2041
- rest = tslib.__rest(props, ["id", "className", "htmlProps", "contentRef"]);
2042
- var trackRef = React.useRef(null);
2043
- var thumbRef = React.useRef(null);
2044
- var _useState = React.useState(minThumbHeightPx),
2045
- _useState2 = _slicedToArray(_useState, 2),
2046
- thumbHeight = _useState2[0],
2047
- setThumbHeight = _useState2[1];
2048
- var _useState3 = React.useState(true),
2049
- _useState4 = _slicedToArray(_useState3, 2),
2050
- isScrollable = _useState4[0],
2051
- setIsScrollable = _useState4[1];
2052
- var _useState5 = React.useState(0),
2053
- _useState6 = _slicedToArray(_useState5, 2),
2054
- thumbTop = _useState6[0],
2055
- setThumbTop = _useState6[1];
2056
- var observer = React.useRef(null);
2057
- var _useState7 = React.useState(0),
2058
- _useState8 = _slicedToArray(_useState7, 2),
2059
- scrollStartPosition = _useState8[0],
2060
- setScrollStartPosition = _useState8[1];
2061
- var _useState9 = React.useState(0),
2062
- _useState10 = _slicedToArray(_useState9, 2),
2063
- initialScrollTop = _useState10[0],
2064
- setInitialScrollTop = _useState10[1];
2065
- var _useState11 = React.useState(false),
2066
- _useState12 = _slicedToArray(_useState11, 2),
2067
- isDragging = _useState12[0],
2068
- setIsDragging = _useState12[1];
2069
- function handleResize(ref, trackSize) {
2070
- var clientHeight = ref.clientHeight,
2071
- scrollHeight = ref.scrollHeight;
2072
- setIsScrollable(clientHeight !== scrollHeight);
2073
- setThumbHeight(Math.max(clientHeight / scrollHeight * trackSize, minThumbHeightPx));
2074
- }
2075
- var handleTrackClick = React.useCallback(function (e) {
2076
- if (contentRef && contentRef.current) {
2077
- var trackCurrent = trackRef.current;
2078
- var contentCurrent = contentRef.current;
2079
- if (trackCurrent && contentCurrent) {
2080
- var clientY = e.clientY;
2081
- var target = e.target;
2082
- var rect = target.getBoundingClientRect();
2083
- var trackTop = rect.top;
2084
- var thumbOffset = -(thumbHeight / 2);
2085
- var clickRatio = (clientY - trackTop + thumbOffset) / trackCurrent.clientHeight;
2086
- var scrollAmount = Math.floor(clickRatio * contentCurrent.scrollHeight);
2087
- contentCurrent.scrollTo({
2088
- top: scrollAmount,
2089
- behavior: 'smooth'
2090
- });
2091
- }
2092
- }
2093
- }, [thumbHeight]);
2094
- var handleThumbPositioning = React.useCallback(function () {
2095
- if (!(contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) || !trackRef.current || !thumbRef.current) {
2096
- return;
2097
- }
2098
- var _contentRef$current = contentRef.current,
2099
- contentTop = _contentRef$current.scrollTop,
2100
- contentHeight = _contentRef$current.scrollHeight;
2101
- var clientHeight = trackRef.current.clientHeight;
2102
- var newTop = +contentTop / +contentHeight * clientHeight;
2103
- newTop = Math.min(newTop, clientHeight - thumbHeight);
2104
- setThumbTop(newTop);
2105
- }, []);
2106
- React.useEffect(function () {
2107
- if (contentRef && contentRef.current && trackRef.current) {
2108
- var ref = contentRef.current;
2109
- var clientHeight = trackRef.current.clientHeight;
2110
- observer.current = new ResizeObserver(function () {
2111
- handleResize(ref, clientHeight);
2112
- });
2113
- observer.current.observe(ref);
2114
- ref.addEventListener('scroll', handleThumbPositioning);
2115
- return function () {
2116
- var _a;
2117
- (_a = observer.current) === null || _a === void 0 ? void 0 : _a.unobserve(ref);
2118
- ref.removeEventListener('scroll', handleThumbPositioning);
2119
- };
2120
- }
2121
- }, []);
2122
- var handleThumbMousedown = React.useCallback(function (e) {
2123
- setScrollStartPosition(e.clientY);
2124
- if (contentRef && contentRef.current) setInitialScrollTop(contentRef.current.scrollTop);
2125
- setIsDragging(true);
2126
- }, []);
2127
- var handleThumbMouseup = React.useCallback(function () {
2128
- if (isDragging) {
2129
- setIsDragging(false);
2130
- }
2131
- }, [isDragging]);
2132
- var handleThumbMousemove = React.useCallback(function (e) {
2133
- if (contentRef && contentRef.current) {
2134
- if (isDragging) {
2135
- var _contentRef$current2 = contentRef.current,
2136
- contentScrollHeight = _contentRef$current2.scrollHeight,
2137
- contentOffsetHeight = _contentRef$current2.offsetHeight;
2138
- var deltaY = (e.clientY - scrollStartPosition) * (contentOffsetHeight / thumbHeight);
2139
- var newScrollTop = Math.min(initialScrollTop + deltaY, contentScrollHeight - contentOffsetHeight);
2140
- contentRef.current.scrollTop = newScrollTop;
2141
- }
2142
- }
2143
- }, [isDragging, scrollStartPosition, thumbHeight]);
2144
- React.useEffect(function () {
2145
- document.addEventListener('mousemove', handleThumbMousemove);
2146
- document.addEventListener('mouseup', handleThumbMouseup);
2147
- document.addEventListener('mouseleave', handleThumbMouseup);
2148
- return function () {
2149
- document.removeEventListener('mousemove', handleThumbMousemove);
2150
- document.removeEventListener('mouseup', handleThumbMouseup);
2151
- document.removeEventListener('mouseleave', handleThumbMouseup);
2152
- };
2153
- }, [handleThumbMousemove, handleThumbMouseup]);
2154
- return isScrollable ? jsxRuntime.jsx(ScrollbarOuterWrapper, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
2155
- children: jsxRuntime.jsxs(ScrollbarElements, {
2156
- children: [jsxRuntime.jsx(Track, {
2157
- ref: trackRef,
2158
- onClick: handleTrackClick
2159
- }), jsxRuntime.jsx(Thumb, {
2160
- style: {
2161
- height: thumbHeight,
2162
- top: thumbTop
2163
- },
2164
- ref: thumbRef,
2165
- onMouseDown: handleThumbMousedown
2732
+ 'aria-required': ariaRequired,
2733
+ 'aria-describedby': ddsCore.spaceSeparatedIdListGenerator([hasTip ? tipId : undefined, hasErrorMessage ? errorMessageId : undefined, maxLength && withCharacterCounter ? characterCounterId : undefined, ariaDescribedby]),
2734
+ 'aria-invalid': hasErrorMessage ? true : undefined
2735
+ }, rest);
2736
+ var outerInputContainerProps = {
2737
+ className: className,
2738
+ style: style,
2739
+ width: getWidth$1(componentSize, width)
2740
+ };
2741
+ var showRequiredStyling = !!(required || ariaRequired);
2742
+ var extendedInput = null;
2743
+ if (hasIcon) {
2744
+ extendedInput = jsxRuntime.jsxs(ddsForm.InputContainer, {
2745
+ children: [jsxRuntime.jsx(StyledIcon$3, {
2746
+ icon: icon,
2747
+ iconSize: getFormInputIconSize(componentSize),
2748
+ size: componentSize
2749
+ }), jsxRuntime.jsx(StyledInput$1, Object.assign({
2750
+ ref: ref,
2751
+ onChange: onChangeHandler,
2752
+ type: type,
2753
+ componentSize: componentSize,
2754
+ hasIcon: hasIcon
2755
+ }, generalInputProps))]
2756
+ });
2757
+ } else if (hasAffix) {
2758
+ extendedInput = jsxRuntime.jsxs(ddsForm.InputAffixContainer, {
2759
+ children: [prefix && jsxRuntime.jsx(Prefix, {
2760
+ readOnly: readOnly,
2761
+ ref: prefixRef,
2762
+ "aria-hidden": true,
2763
+ children: prefix
2764
+ }), jsxRuntime.jsx(ddsForm.StatefulInput, Object.assign({
2765
+ ref: ref,
2766
+ onChange: onChangeHandler,
2767
+ type: type,
2768
+ componentSize: componentSize,
2769
+ prefixLength: prefixLength,
2770
+ suffixLength: suffixLength
2771
+ }, generalInputProps)), suffix && jsxRuntime.jsx(Suffix, {
2772
+ readOnly: readOnly,
2773
+ ref: suffixRef,
2774
+ "aria-hidden": true,
2775
+ children: suffix
2166
2776
  })]
2167
- })
2168
- })) : null;
2169
- };
2170
- Scrollbar.displayName = 'Scrollbar';
2171
-
2172
- var track$1 = scrollbarTokens.track,
2173
- content$4 = scrollbarTokens.content,
2174
- outerContainer$7 = scrollbarTokens.outerContainer;
2175
- var StyledScrollableContainer = styled__default.default.div.withConfig({
2176
- displayName: "ScrollableContainer__StyledScrollableContainer",
2177
- componentId: "sc-t0dczu-0"
2178
- })(["grid-template:auto / 1fr ", ";overflow:hidden;position:relative;display:grid;padding:", ";"], track$1.width, outerContainer$7.padding);
2179
- var Content$2 = styled__default.default.div.withConfig({
2180
- displayName: "ScrollableContainer__Content",
2181
- componentId: "sc-t0dczu-1"
2182
- })(["height:", ";overflow:auto;scrollbar-width:none;::-webkit-scrollbar{display:none;}padding-right:", ";@media (prefers-reduced-motion:no-preference){transition:", ";}:focus-visible,.focus-visible{outline:", ";outline-offset:", ";}"], function (_ref) {
2183
- var height = _ref.height;
2184
- return height;
2185
- }, content$4.paddingRight, ddsForm.focusVisibleTransitionValue, ddsForm.focusVisible.outline, ddsForm.focusVisible.outlineOffset);
2186
- var ScrollableContainer = function ScrollableContainer(props) {
2187
- var children = props.children,
2188
- id = props.id,
2189
- className = props.className,
2190
- _props$contentHeight = props.contentHeight,
2191
- contentHeight = _props$contentHeight === void 0 ? '90vh' : _props$contentHeight,
2192
- htmlProps = props.htmlProps,
2193
- rest = tslib.__rest(props, ["children", "id", "className", "contentHeight", "htmlProps"]);
2194
- var ref = React.useRef(null);
2195
- return jsxRuntime.jsxs(StyledScrollableContainer, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
2196
- children: [jsxRuntime.jsx(Content$2, {
2197
- height: contentHeight,
2777
+ });
2778
+ }
2779
+ return jsxRuntime.jsxs(ddsForm.OuterInputContainer, Object.assign({}, outerInputContainerProps, {
2780
+ children: [hasLabel && jsxRuntime.jsx(ddsTypography.Label, {
2781
+ htmlFor: uniqueId,
2782
+ showRequiredStyling: showRequiredStyling,
2783
+ children: label
2784
+ }), extendedInput ? extendedInput : jsxRuntime.jsx(ddsForm.StatefulInput, Object.assign({
2198
2785
  ref: ref,
2199
- tabIndex: 0,
2200
- children: children
2201
- }), jsxRuntime.jsx(Scrollbar, {
2202
- contentRef: ref
2786
+ onChange: onChangeHandler,
2787
+ type: type,
2788
+ componentSize: componentSize
2789
+ }, generalInputProps)), hasMessage && jsxRuntime.jsxs(MessageContainer$1, {
2790
+ children: [renderInputMessage(tip, tipId, errorMessage, errorMessageId), maxLength && Number.isInteger(maxLength) && maxLength > 0 && withCharacterCounter && jsxRuntime.jsx(CharCounter, {
2791
+ id: characterCounterId,
2792
+ current: text.length,
2793
+ max: maxLength
2794
+ })]
2203
2795
  })]
2204
2796
  }));
2205
- };
2206
- ScrollableContainer.displayName = 'ScrollableContainer';
2207
-
2208
- var thumb = scrollbarTokens.thumb,
2209
- track = scrollbarTokens.track;
2210
- var scrollbarWidth = 'thin';
2211
- /**
2212
- * CSS-in-JS scrollbar styling til bruk der det ikke passer å bruke dedikerte komponenter. Inkluderer styling for webkit pseudo-elementer og for Firefox.
2213
- */
2214
- var scrollbarStyling = {
2215
- webkit: {
2216
- /* width */
2217
- '&::-webkit-scrollbar': {
2218
- width: track.width,
2219
- height: track.width
2220
- },
2221
- /* Track */
2222
- '&::-webkit-scrollbar-track': {
2223
- background: track.backgroundColor,
2224
- borderRadius: track.borderRadius
2225
- },
2226
- /* Handle */
2227
- '&::-webkit-scrollbar-thumb': {
2228
- background: thumb.base.backgroundColor,
2229
- borderRadius: thumb.base.borderRadius
2230
- }
2231
- },
2232
- /* Handle on hover */
2233
- '&::-webkit-scrollbar-thumb:hover': {
2234
- background: thumb.hover.backgroundColor
2235
- },
2236
- firefox: {
2237
- scrollbarColor: thumb.base.backgroundColor + ' ' + track.backgroundColor,
2238
- scrollbarWidth: scrollbarWidth
2239
- }
2240
- };
2797
+ });
2798
+ TextInput.displayName = 'TextInput';
2241
2799
 
2242
- var colors$m = ddsDesignTokens.ddsBaseTokens.colors,
2243
- spacing$u = ddsDesignTokens.ddsBaseTokens.spacing,
2244
- borderRadius$6 = ddsDesignTokens.ddsBaseTokens.borderRadius,
2245
- border$9 = ddsDesignTokens.ddsBaseTokens.border;
2800
+ var colors$l = ddsDesignTokens.ddsBaseTokens.colors,
2801
+ spacing$t = ddsDesignTokens.ddsBaseTokens.spacing,
2802
+ borderRadius$5 = ddsDesignTokens.ddsBaseTokens.borderRadius,
2803
+ border$8 = ddsDesignTokens.ddsBaseTokens.border;
2246
2804
  var textDefault$3 = ddsDesignTokens.ddsReferenceTokens.textDefault;
2247
2805
  var placeholderTypographyTypes = {
2248
2806
  medium: 'supportingStylePlaceholderText01',
@@ -2258,14 +2816,14 @@ var typographyTypes$5 = {
2258
2816
  multiValueLabel: 'bodySans01'
2259
2817
  };
2260
2818
  var control = {
2261
- borderRadius: borderRadius$6.RadiiDdsBorderRadius1Radius,
2262
- border: "".concat(border$9.BordersDdsBorderStyleLightStrokeWeight, " solid"),
2263
- borderColor: colors$m.DdsColorNeutralsGray5,
2264
- backgroundColor: colors$m.DdsColorNeutralsWhite,
2265
- color: colors$m.DdsColorNeutralsGray9,
2819
+ borderRadius: borderRadius$5.RadiiDdsBorderRadius1Radius,
2820
+ border: "".concat(border$8.BordersDdsBorderStyleLightStrokeWeight, " solid"),
2821
+ borderColor: colors$l.DdsColorNeutralsGray5,
2822
+ backgroundColor: colors$l.DdsColorNeutralsWhite,
2823
+ color: colors$l.DdsColorNeutralsGray9,
2266
2824
  disabled: {
2267
- backgroundColor: colors$m.DdsColorNeutralsGray1,
2268
- borderColor: colors$m.DdsColorNeutralsGray5
2825
+ backgroundColor: colors$l.DdsColorNeutralsGray1,
2826
+ borderColor: colors$l.DdsColorNeutralsGray5
2269
2827
  },
2270
2828
  readOnly: {
2271
2829
  borderColor: 'transparent',
@@ -2274,37 +2832,37 @@ var control = {
2274
2832
  isMulti: {
2275
2833
  sizes: {
2276
2834
  medium: {
2277
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX075, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX075, " ").concat(spacing$u.SizesDdsSpacingLocalX075)
2835
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX075, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX075, " ").concat(spacing$t.SizesDdsSpacingLocalX075)
2278
2836
  },
2279
2837
  small: {
2280
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX075)
2838
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX075)
2281
2839
  },
2282
2840
  tiny: {
2283
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX025, " ").concat(spacing$u.SizesDdsSpacingLocalX05)
2841
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX025, " ").concat(spacing$t.SizesDdsSpacingLocalX05)
2284
2842
  }
2285
2843
  }
2286
2844
  },
2287
2845
  sizes: {
2288
2846
  medium: {
2289
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX075, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX075, " ").concat(spacing$u.SizesDdsSpacingLocalX075)
2847
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX075, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX075, " ").concat(spacing$t.SizesDdsSpacingLocalX075)
2290
2848
  },
2291
2849
  small: {
2292
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX075)
2850
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX075)
2293
2851
  },
2294
2852
  tiny: {
2295
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX025, " ").concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX025, " ").concat(spacing$u.SizesDdsSpacingLocalX05)
2853
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX025, " ").concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX025, " ").concat(spacing$t.SizesDdsSpacingLocalX05)
2296
2854
  }
2297
2855
  }
2298
2856
  };
2299
2857
  var placeholder = {
2300
- color: colors$m.DdsColorNeutralsGray6
2858
+ color: colors$l.DdsColorNeutralsGray6
2301
2859
  };
2302
2860
  var dropdownIndicator = {
2303
2861
  base: {
2304
- color: colors$m.DdsColorNeutralsGray6
2862
+ color: colors$l.DdsColorNeutralsGray6
2305
2863
  },
2306
2864
  hover: {
2307
- color: colors$m.DdsColorInteractiveBase
2865
+ color: colors$l.DdsColorInteractiveBase
2308
2866
  },
2309
2867
  readOnly: {
2310
2868
  color: 'transparent'
@@ -2312,77 +2870,77 @@ var dropdownIndicator = {
2312
2870
  };
2313
2871
  var clearIndicator = {
2314
2872
  base: {
2315
- color: colors$m.DdsColorNeutralsGray6
2873
+ color: colors$l.DdsColorNeutralsGray6
2316
2874
  },
2317
2875
  hover: {
2318
- color: colors$m.DdsColorInteractiveBase
2876
+ color: colors$l.DdsColorInteractiveBase
2319
2877
  }
2320
2878
  };
2321
2879
  var loadingIndicator = {
2322
- color: colors$m.DdsColorNeutralsGray6
2880
+ color: colors$l.DdsColorNeutralsGray6
2323
2881
  };
2324
2882
  var menu = {
2325
2883
  border: '1px solid',
2326
- borderColor: colors$m.DdsColorInteractiveBase,
2327
- backgroundColor: colors$m.DdsColorNeutralsWhite,
2328
- borderRadius: borderRadius$6.RadiiDdsBorderRadius1Radius,
2329
- marginTop: spacing$u.SizesDdsSpacingLocalX025,
2330
- marginBottom: spacing$u.SizesDdsSpacingLocalX025
2884
+ borderColor: colors$l.DdsColorInteractiveBase,
2885
+ backgroundColor: colors$l.DdsColorNeutralsWhite,
2886
+ borderRadius: borderRadius$5.RadiiDdsBorderRadius1Radius,
2887
+ marginTop: spacing$t.SizesDdsSpacingLocalX025,
2888
+ marginBottom: spacing$t.SizesDdsSpacingLocalX025
2331
2889
  };
2332
2890
  var groupHeading = {
2333
- color: colors$m.DdsColorNeutralsGray7,
2334
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX075, " ").concat(spacing$u.SizesDdsSpacingLocalX0125, " ").concat(spacing$u.SizesDdsSpacingLocalX075)
2891
+ color: colors$l.DdsColorNeutralsGray7,
2892
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX075, " ").concat(spacing$t.SizesDdsSpacingLocalX0125, " ").concat(spacing$t.SizesDdsSpacingLocalX075)
2335
2893
  };
2336
2894
  var option = {
2337
2895
  base: {
2338
- gap: spacing$u.SizesDdsSpacingLocalX05,
2339
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX075),
2340
- backgroundColor: colors$m.DdsColorNeutralsWhite
2896
+ gap: spacing$t.SizesDdsSpacingLocalX05,
2897
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX075),
2898
+ backgroundColor: colors$l.DdsColorNeutralsWhite
2341
2899
  },
2342
2900
  hover: {
2343
2901
  color: textDefault$3.textColor,
2344
- backgroundColor: colors$m.DdsColorInteractiveLightest
2902
+ backgroundColor: colors$l.DdsColorInteractiveLightest
2345
2903
  },
2346
2904
  focus: {
2347
2905
  color: textDefault$3.textColor,
2348
- backgroundColor: colors$m.DdsColorInteractiveLightest
2906
+ backgroundColor: colors$l.DdsColorInteractiveLightest
2349
2907
  },
2350
2908
  selected: {
2351
- backgroundColor: colors$m.DdsColorNeutralsWhite
2909
+ backgroundColor: colors$l.DdsColorNeutralsWhite
2352
2910
  }
2353
2911
  };
2354
2912
  var noOptionsMessage = {
2355
- padding: "".concat(spacing$u.SizesDdsSpacingLocalX05, " ").concat(spacing$u.SizesDdsSpacingLocalX1),
2356
- color: colors$m.DdsColorNeutralsGray6
2913
+ padding: "".concat(spacing$t.SizesDdsSpacingLocalX05, " ").concat(spacing$t.SizesDdsSpacingLocalX1),
2914
+ color: colors$l.DdsColorNeutralsGray6
2357
2915
  };
2358
2916
  var multiValue = {
2359
- borderRadius: borderRadius$6.RadiiDdsBorderRadius1Radius,
2360
- backgroundColor: colors$m.DdsColorNeutralsGray2
2917
+ borderRadius: borderRadius$5.RadiiDdsBorderRadius1Radius,
2918
+ backgroundColor: colors$l.DdsColorNeutralsGray2
2361
2919
  };
2362
2920
  var multiValueLabel = {
2363
- padding: "0 ".concat(spacing$u.SizesDdsSpacingLocalX025),
2364
- color: colors$m.DdsColorNeutralsGray9
2921
+ padding: "0 ".concat(spacing$t.SizesDdsSpacingLocalX025),
2922
+ color: colors$l.DdsColorNeutralsGray9
2365
2923
  };
2366
2924
  var multiValueRemove = {
2367
2925
  base: {
2368
- color: colors$m.DdsColorNeutralsGray9,
2369
- padding: "0 ".concat(spacing$u.SizesDdsSpacingLocalX025),
2370
- borderTopRightRadius: borderRadius$6.RadiiDdsBorderRadius1Radius,
2371
- borderBottomRightRadius: borderRadius$6.RadiiDdsBorderRadius1Radius
2926
+ color: colors$l.DdsColorNeutralsGray9,
2927
+ padding: "0 ".concat(spacing$t.SizesDdsSpacingLocalX025),
2928
+ borderTopRightRadius: borderRadius$5.RadiiDdsBorderRadius1Radius,
2929
+ borderBottomRightRadius: borderRadius$5.RadiiDdsBorderRadius1Radius
2372
2930
  },
2373
2931
  hover: {
2374
- color: colors$m.DdsColorNeutralsWhite,
2375
- backgroundColor: colors$m.DdsColorInteractiveBase,
2376
- boxShadow: "inset 0 0 0 1px ".concat(colors$m.DdsColorNeutralsGray9)
2932
+ color: colors$l.DdsColorNeutralsWhite,
2933
+ backgroundColor: colors$l.DdsColorInteractiveBase,
2934
+ boxShadow: "inset 0 0 0 1px ".concat(colors$l.DdsColorNeutralsGray9)
2377
2935
  }
2378
2936
  };
2379
2937
  var valueContainer = {
2380
2938
  isMulti: {
2381
- gap: spacing$u.SizesDdsSpacingLocalX025
2939
+ gap: spacing$t.SizesDdsSpacingLocalX025
2382
2940
  }
2383
2941
  };
2384
2942
  var icon$7 = {
2385
- marginRight: spacing$u.SizesDdsSpacingLocalX05
2943
+ marginRight: spacing$t.SizesDdsSpacingLocalX05
2386
2944
  };
2387
2945
  var selectTokens = {
2388
2946
  control: control,
@@ -2419,7 +2977,7 @@ var prefix = 'dds-select';
2419
2977
  function getContainerControlPadding(componentSize, isMulti) {
2420
2978
  return isMulti ? _control.isMulti.sizes[componentSize].padding : _control.sizes[componentSize].padding;
2421
2979
  }
2422
- var Container$e = styled__default.default.div.withConfig({
2980
+ var Container$d = styled__default.default.div.withConfig({
2423
2981
  displayName: "Selectstyles__Container",
2424
2982
  componentId: "sc-19jkd5s-0"
2425
2983
  })(["margin:0;width:", ";position:relative;*::selection{", "}", " ", " &:hover .", "__dropdown-indicator,&:focus-within .", "__dropdown-indicator{color:", ";}", ""], function (_ref) {
@@ -2798,7 +3356,7 @@ var SelectInner = function SelectInner(props, ref) {
2798
3356
  'aria-invalid': hasErrorMessage ? true : undefined,
2799
3357
  required: required
2800
3358
  }, rest);
2801
- return jsxRuntime.jsxs(Container$e, Object.assign({}, containerProps, {
3359
+ return jsxRuntime.jsxs(Container$d, Object.assign({}, containerProps, {
2802
3360
  children: [hasLabel && jsxRuntime.jsx(ddsTypography.Label, {
2803
3361
  htmlFor: uniqueId,
2804
3362
  showRequiredStyling: showRequiredStyling,
@@ -2812,32 +3370,32 @@ var Select = /*#__PURE__*/React__default.default.forwardRef(SelectInner);
2812
3370
  // @ts-expect-error TODO fix Select type
2813
3371
  Select.displayName = 'Select';
2814
3372
 
2815
- var colors$l = ddsDesignTokens.ddsBaseTokens.colors,
2816
- spacing$t = ddsDesignTokens.ddsBaseTokens.spacing;
2817
- var typographyType$5 = 'bodySans02';
2818
- var container$c = {
3373
+ var colors$k = ddsDesignTokens.ddsBaseTokens.colors,
3374
+ spacing$s = ddsDesignTokens.ddsBaseTokens.spacing;
3375
+ var typographyType$4 = 'bodySans02';
3376
+ var container$a = {
2819
3377
  borderBottom: '2px solid',
2820
- padding: "0 ".concat(spacing$t.SizesDdsSpacingLocalX1),
3378
+ padding: "0 ".concat(spacing$s.SizesDdsSpacingLocalX1),
2821
3379
  info: {
2822
- borderColor: colors$l.DdsColorInfoLighter,
2823
- backgroundColor: colors$l.DdsColorInfoLightest
3380
+ borderColor: colors$k.DdsColorInfoLighter,
3381
+ backgroundColor: colors$k.DdsColorInfoLightest
2824
3382
  },
2825
3383
  danger: {
2826
- borderColor: colors$l.DdsColorDangerLighter,
2827
- backgroundColor: colors$l.DdsColorDangerLightest
3384
+ borderColor: colors$k.DdsColorDangerLighter,
3385
+ backgroundColor: colors$k.DdsColorDangerLightest
2828
3386
  },
2829
3387
  warning: {
2830
- borderColor: colors$l.DdsColorWarningLighter,
2831
- backgroundColor: colors$l.DdsColorWarningLightest
3388
+ borderColor: colors$k.DdsColorWarningLighter,
3389
+ backgroundColor: colors$k.DdsColorWarningLightest
2832
3390
  }
2833
3391
  };
2834
3392
  var contentContainer$5 = {
2835
- paddingRight: spacing$t.SizesDdsSpacingLocalX15,
2836
- paddingTop: spacing$t.SizesDdsSpacingLocalX075,
2837
- paddingBottom: spacing$t.SizesDdsSpacingLocalX075,
2838
- gap: spacing$t.SizesDdsSpacingLocalX075,
3393
+ paddingRight: spacing$s.SizesDdsSpacingLocalX15,
3394
+ paddingTop: spacing$s.SizesDdsSpacingLocalX075,
3395
+ paddingBottom: spacing$s.SizesDdsSpacingLocalX075,
3396
+ gap: spacing$s.SizesDdsSpacingLocalX075,
2839
3397
  withClosable: {
2840
- paddingRight: spacing$t.SizesDdsSpacingLocalX075
3398
+ paddingRight: spacing$s.SizesDdsSpacingLocalX075
2841
3399
  }
2842
3400
  };
2843
3401
  var purposeVariants$2 = {
@@ -2855,31 +3413,31 @@ var purposeVariants$2 = {
2855
3413
  }
2856
3414
  };
2857
3415
  var globalMessageTokens = {
2858
- container: container$c,
3416
+ container: container$a,
2859
3417
  contentContainer: contentContainer$5,
2860
3418
  icon: {
2861
- marginRight: "".concat(spacing$t.SizesDdsSpacingLocalX075),
3419
+ marginRight: "".concat(spacing$s.SizesDdsSpacingLocalX075),
2862
3420
  info: {
2863
- color: colors$l.DdsColorInfoDarkest
3421
+ color: colors$k.DdsColorInfoDarkest
2864
3422
  },
2865
3423
  danger: {
2866
- color: colors$l.DdsColorDangerDarkest
3424
+ color: colors$k.DdsColorDangerDarkest
2867
3425
  },
2868
3426
  warning: {
2869
- color: colors$l.DdsColorWarningDarkest
3427
+ color: colors$k.DdsColorWarningDarkest
2870
3428
  }
2871
3429
  }
2872
3430
  };
2873
3431
 
2874
- var container$b = globalMessageTokens.container,
3432
+ var container$9 = globalMessageTokens.container,
2875
3433
  contentContainer$4 = globalMessageTokens.contentContainer,
2876
3434
  icon$5 = globalMessageTokens.icon;
2877
- var Container$d = styled__default.default.div.withConfig({
3435
+ var Container$c = styled__default.default.div.withConfig({
2878
3436
  displayName: "GlobalMessage__Container",
2879
3437
  componentId: "sc-bf2l65-0"
2880
- })(["display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;padding:", ";border-bottom:", ";", " ", ""], container$b.padding, container$b.borderBottom, ddsTypography.getFontStyling(typographyType$5, true), function (_ref) {
3438
+ })(["display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;padding:", ";border-bottom:", ";", " ", ""], container$9.padding, container$9.borderBottom, ddsTypography.getFontStyling(typographyType$4, true), function (_ref) {
2881
3439
  var purpose = _ref.purpose;
2882
- return purpose && styled.css(["border-color:", ";background-color:", ";"], container$b[purpose].borderColor, container$b[purpose].backgroundColor);
3440
+ return purpose && styled.css(["border-color:", ";background-color:", ";"], container$9[purpose].borderColor, container$9[purpose].backgroundColor);
2883
3441
  });
2884
3442
  var MessageIconWrapper$1 = styled__default.default(ddsIcons.Icon).withConfig({
2885
3443
  displayName: "GlobalMessage__MessageIconWrapper",
@@ -2915,7 +3473,7 @@ var GlobalMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
2915
3473
  ref: ref,
2916
3474
  purpose: purpose
2917
3475
  });
2918
- return !isClosed ? jsxRuntime.jsxs(Container$d, Object.assign({}, containerProps, {
3476
+ return !isClosed ? jsxRuntime.jsxs(Container$c, Object.assign({}, containerProps, {
2919
3477
  children: [jsxRuntime.jsxs(ContentContainer$3, {
2920
3478
  closable: closable,
2921
3479
  children: [jsxRuntime.jsx(MessageIconWrapper$1, {
@@ -2942,43 +3500,43 @@ var GlobalMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
2942
3500
  });
2943
3501
  GlobalMessage.displayName = 'GlobalMessage';
2944
3502
 
2945
- var colors$k = ddsDesignTokens.ddsBaseTokens.colors,
2946
- spacing$s = ddsDesignTokens.ddsBaseTokens.spacing,
2947
- borderRadius$5 = ddsDesignTokens.ddsBaseTokens.borderRadius,
2948
- border$8 = ddsDesignTokens.ddsBaseTokens.border,
3503
+ var colors$j = ddsDesignTokens.ddsBaseTokens.colors,
3504
+ spacing$r = ddsDesignTokens.ddsBaseTokens.spacing,
3505
+ borderRadius$4 = ddsDesignTokens.ddsBaseTokens.borderRadius,
3506
+ border$7 = ddsDesignTokens.ddsBaseTokens.border,
2949
3507
  outerShadow = ddsDesignTokens.ddsBaseTokens.outerShadow;
2950
- var container$a = {
3508
+ var container$8 = {
2951
3509
  base: {
2952
3510
  boxShadow: outerShadow.DdsShadow1Onlight,
2953
- borderRadius: borderRadius$5.RadiiDdsBorderRadius1Radius,
2954
- border: "".concat(border$8.BordersDdsBorderStyleLightStrokeWeight, " solid"),
2955
- padding: spacing$s.SizesDdsSpacingLocalX075,
2956
- gap: spacing$s.SizesDdsSpacingLocalX05
3511
+ borderRadius: borderRadius$4.RadiiDdsBorderRadius1Radius,
3512
+ border: "".concat(border$7.BordersDdsBorderStyleLightStrokeWeight, " solid"),
3513
+ padding: spacing$r.SizesDdsSpacingLocalX075,
3514
+ gap: spacing$r.SizesDdsSpacingLocalX05
2957
3515
  },
2958
3516
  purpose: {
2959
3517
  info: {
2960
- borderColor: colors$k.DdsColorInfoLighter,
2961
- backgroundColor: colors$k.DdsColorInfoLightest
3518
+ borderColor: colors$j.DdsColorInfoLighter,
3519
+ backgroundColor: colors$j.DdsColorInfoLightest
2962
3520
  },
2963
3521
  warning: {
2964
- borderColor: colors$k.DdsColorWarningLighter,
2965
- backgroundColor: colors$k.DdsColorWarningLightest
3522
+ borderColor: colors$j.DdsColorWarningLighter,
3523
+ backgroundColor: colors$j.DdsColorWarningLightest
2966
3524
  },
2967
3525
  danger: {
2968
- borderColor: colors$k.DdsColorDangerLighter,
2969
- backgroundColor: colors$k.DdsColorDangerLightest
3526
+ borderColor: colors$j.DdsColorDangerLighter,
3527
+ backgroundColor: colors$j.DdsColorDangerLightest
2970
3528
  },
2971
3529
  success: {
2972
- borderColor: colors$k.DdsColorSuccessLighter,
2973
- backgroundColor: colors$k.DdsColorSuccessLightest
3530
+ borderColor: colors$j.DdsColorSuccessLighter,
3531
+ backgroundColor: colors$j.DdsColorSuccessLightest
2974
3532
  },
2975
3533
  tips: {
2976
- borderColor: colors$k.DdsColorPrimaryLighter,
2977
- backgroundColor: colors$k.DdsColorPrimaryLightest
3534
+ borderColor: colors$j.DdsColorPrimaryLighter,
3535
+ backgroundColor: colors$j.DdsColorPrimaryLightest
2978
3536
  },
2979
3537
  confidential: {
2980
- borderColor: colors$k.DdsColorDangerBase,
2981
- backgroundColor: colors$k.DdsColorDangerLightest
3538
+ borderColor: colors$j.DdsColorDangerBase,
3539
+ backgroundColor: colors$j.DdsColorDangerLightest
2982
3540
  }
2983
3541
  }
2984
3542
  };
@@ -3009,37 +3567,37 @@ var purposeVariants$1 = {
3009
3567
  }
3010
3568
  };
3011
3569
  var icon$4 = {
3012
- marginRight: "".concat(spacing$s.SizesDdsSpacingLocalX075),
3570
+ marginRight: "".concat(spacing$r.SizesDdsSpacingLocalX075),
3013
3571
  info: {
3014
- color: colors$k.DdsColorInfoDarkest
3572
+ color: colors$j.DdsColorInfoDarkest
3015
3573
  },
3016
3574
  danger: {
3017
- color: colors$k.DdsColorDangerDarkest
3575
+ color: colors$j.DdsColorDangerDarkest
3018
3576
  },
3019
3577
  warning: {
3020
- color: colors$k.DdsColorWarningDarkest
3578
+ color: colors$j.DdsColorWarningDarkest
3021
3579
  },
3022
3580
  success: {
3023
- color: colors$k.DdsColorSuccessDarkest
3581
+ color: colors$j.DdsColorSuccessDarkest
3024
3582
  },
3025
3583
  tips: {
3026
- color: colors$k.DdsColorPrimaryDarkest
3584
+ color: colors$j.DdsColorPrimaryDarkest
3027
3585
  },
3028
3586
  confidential: {
3029
- color: colors$k.DdsColorDangerDarkest
3587
+ color: colors$j.DdsColorDangerDarkest
3030
3588
  }
3031
3589
  };
3032
3590
  var localMessageTokens = {
3033
- container: container$a,
3591
+ container: container$8,
3034
3592
  purposeVariants: purposeVariants$1,
3035
3593
  icon: icon$4
3036
3594
  };
3037
3595
 
3038
3596
  var defaultWidth$3 = '400px';
3039
- var container$9 = localMessageTokens.container,
3597
+ var container$7 = localMessageTokens.container,
3040
3598
  icon$3 = localMessageTokens.icon,
3041
3599
  purposeVariants = localMessageTokens.purposeVariants;
3042
- var Container$c = styled__default.default.div.withConfig({
3600
+ var Container$b = styled__default.default.div.withConfig({
3043
3601
  displayName: "LocalMessage__Container",
3044
3602
  componentId: "sc-kmfp8w-0"
3045
3603
  })(["box-sizing:border-box;display:grid;grid-template-areas:", ";grid-template-columns:", ";box-shadow:", ";border:", ";border-radius:", ";padding:", ";gap:", ";align-items:center;", " *::selection{", "}", " width:", ";"], function (_ref) {
@@ -3050,9 +3608,9 @@ var Container$c = styled__default.default.div.withConfig({
3050
3608
  var layout = _ref2.layout,
3051
3609
  closable = _ref2.closable;
3052
3610
  return getGridTemplateColumns(layout, closable);
3053
- }, container$9.base.boxShadow, container$9.base.border, container$9.base.borderRadius, container$9.base.padding, container$9.base.gap, ddsTypography.getFontStyling(ddsTypography.defaultTypographyType, true), ddsCore.selection, function (_ref3) {
3611
+ }, container$7.base.boxShadow, container$7.base.border, container$7.base.borderRadius, container$7.base.padding, container$7.base.gap, ddsTypography.getFontStyling(ddsTypography.defaultTypographyType, true), ddsCore.selection, function (_ref3) {
3054
3612
  var purpose = _ref3.purpose;
3055
- return purpose && styled.css(["border-color:", ";background-color:", ";"], container$9.purpose[purpose].borderColor, container$9.purpose[purpose].backgroundColor);
3613
+ return purpose && styled.css(["border-color:", ";background-color:", ";"], container$7.purpose[purpose].borderColor, container$7.purpose[purpose].backgroundColor);
3056
3614
  }, function (_ref4) {
3057
3615
  var width = _ref4.width;
3058
3616
  return width;
@@ -3087,7 +3645,7 @@ var TextContainer = styled__default.default.div.withConfig({
3087
3645
  var CloseButton = styled__default.default(Button$1).withConfig({
3088
3646
  displayName: "LocalMessage__CloseButton",
3089
3647
  componentId: "sc-kmfp8w-3"
3090
- })(["grid-area:closeButton;margin:-", " 0;"], container$9.base.padding);
3648
+ })(["grid-area:closeButton;margin:-", " 0;"], container$7.base.padding);
3091
3649
  var LocalMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
3092
3650
  var message = props.message,
3093
3651
  _props$purpose = props.purpose,
@@ -3117,7 +3675,7 @@ var LocalMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
3117
3675
  if (isClosed) {
3118
3676
  return jsxRuntime.jsx(jsxRuntime.Fragment, {});
3119
3677
  }
3120
- return jsxRuntime.jsxs(Container$c, Object.assign({}, containerProps, {
3678
+ return jsxRuntime.jsxs(Container$b, Object.assign({}, containerProps, {
3121
3679
  children: [jsxRuntime.jsx(MessageIconWrapper, {
3122
3680
  icon: purposeVariants[purpose].icon,
3123
3681
  color: icon$3[purpose].color
@@ -3169,50 +3727,50 @@ var useAutocompleteSearch = function useAutocompleteSearch() {
3169
3727
  return React.useContext(AutocompleteSearchContext);
3170
3728
  };
3171
3729
 
3172
- var spacing$r = ddsDesignTokens.ddsBaseTokens.spacing,
3730
+ var spacing$q = ddsDesignTokens.ddsBaseTokens.spacing,
3173
3731
  iconSizes$3 = ddsDesignTokens.ddsBaseTokens.iconSizes,
3174
- colors$j = ddsDesignTokens.ddsBaseTokens.colors;
3732
+ colors$i = ddsDesignTokens.ddsBaseTokens.colors;
3175
3733
  var textDefault$2 = ddsDesignTokens.ddsReferenceTokens.textDefault;
3176
3734
  var typographyTypes$4 = {
3177
3735
  small: 'bodySans01',
3178
3736
  medium: 'bodySans02',
3179
3737
  large: 'bodySans04'
3180
3738
  };
3181
- var paddingLeftSmall = "".concat(spacing$r.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeSmallNumberPx + spacing$r.SizesDdsSpacingLocalX05NumberPx, "px");
3182
- var paddingLeftMedium = "".concat(spacing$r.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeMediumNumberPx + spacing$r.SizesDdsSpacingLocalX05NumberPx, "px");
3183
- var paddingLeftLarge = "".concat(spacing$r.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeMediumNumberPx + spacing$r.SizesDdsSpacingLocalX05NumberPx, "px");
3739
+ var paddingLeftSmall = "".concat(spacing$q.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeSmallNumberPx + spacing$q.SizesDdsSpacingLocalX05NumberPx, "px");
3740
+ var paddingLeftMedium = "".concat(spacing$q.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeMediumNumberPx + spacing$q.SizesDdsSpacingLocalX05NumberPx, "px");
3741
+ var paddingLeftLarge = "".concat(spacing$q.SizesDdsSpacingLocalX075NumberPx + iconSizes$3.DdsIconsizeMediumNumberPx + spacing$q.SizesDdsSpacingLocalX05NumberPx, "px");
3184
3742
  var input$1 = {
3185
3743
  base: {
3186
- paddingRight: spacing$r.SizesDdsSpacingLocalX25,
3187
- paddingLeft: spacing$r.SizesDdsSpacingLocalX3
3744
+ paddingRight: spacing$q.SizesDdsSpacingLocalX25,
3745
+ paddingLeft: spacing$q.SizesDdsSpacingLocalX3
3188
3746
  },
3189
3747
  sizes: {
3190
3748
  small: {
3191
- paddingTop: spacing$r.SizesDdsSpacingLocalX05,
3192
- paddingBottom: spacing$r.SizesDdsSpacingLocalX05,
3749
+ paddingTop: spacing$q.SizesDdsSpacingLocalX05,
3750
+ paddingBottom: spacing$q.SizesDdsSpacingLocalX05,
3193
3751
  paddingLeft: paddingLeftSmall
3194
3752
  },
3195
3753
  medium: {
3196
- paddingTop: spacing$r.SizesDdsSpacingLocalX075,
3197
- paddingBottom: spacing$r.SizesDdsSpacingLocalX075,
3754
+ paddingTop: spacing$q.SizesDdsSpacingLocalX075,
3755
+ paddingBottom: spacing$q.SizesDdsSpacingLocalX075,
3198
3756
  paddingLeft: paddingLeftMedium
3199
3757
  },
3200
3758
  large: {
3201
- paddingTop: spacing$r.SizesDdsSpacingLocalX1,
3202
- paddingBottom: spacing$r.SizesDdsSpacingLocalX1,
3759
+ paddingTop: spacing$q.SizesDdsSpacingLocalX1,
3760
+ paddingBottom: spacing$q.SizesDdsSpacingLocalX1,
3203
3761
  paddingLeft: paddingLeftLarge
3204
3762
  }
3205
3763
  }
3206
3764
  };
3207
3765
  var horisontalContainer$1 = {
3208
- gap: spacing$r.SizesDdsSpacingLocalX05
3766
+ gap: spacing$q.SizesDdsSpacingLocalX05
3209
3767
  };
3210
3768
  var outerContainer$6 = {
3211
- gap: spacing$r.SizesDdsSpacingLocalX0125
3769
+ gap: spacing$q.SizesDdsSpacingLocalX0125
3212
3770
  };
3213
3771
  var searchIcon$1 = {
3214
3772
  base: {
3215
- left: spacing$r.SizesDdsSpacingLocalX075,
3773
+ left: spacing$q.SizesDdsSpacingLocalX075,
3216
3774
  color: textDefault$2.textColor
3217
3775
  },
3218
3776
  small: {
@@ -3226,17 +3784,17 @@ var searchIcon$1 = {
3226
3784
  }
3227
3785
  };
3228
3786
  var clearButton$1 = {
3229
- right: spacing$r.SizesDdsSpacingLocalX075,
3787
+ right: spacing$q.SizesDdsSpacingLocalX075,
3230
3788
  top: "calc(50% - 14px)",
3231
3789
  color: textDefault$2.textColor
3232
3790
  };
3233
3791
  var suggestionsContainer$1 = {
3234
- marginTop: spacing$r.SizesDdsSpacingLocalX025,
3235
- border: "1px solid ".concat(colors$j.DdsColorInteractiveBase),
3236
- boxShadow: "0 0 0 1px ".concat(colors$j.DdsColorInteractiveBase)
3792
+ marginTop: spacing$q.SizesDdsSpacingLocalX025,
3793
+ border: "1px solid ".concat(colors$i.DdsColorInteractiveBase),
3794
+ boxShadow: "0 0 0 1px ".concat(colors$i.DdsColorInteractiveBase)
3237
3795
  };
3238
3796
  var suggestionsHeader$1 = {
3239
- paddingLeft: spacing$r.SizesDdsSpacingLocalX1
3797
+ paddingLeft: spacing$q.SizesDdsSpacingLocalX1
3240
3798
  };
3241
3799
  var searchTokens = {
3242
3800
  input: input$1,
@@ -3262,168 +3820,25 @@ function createEmptyChangeEvent(inputElementId) {
3262
3820
  target: inputElement,
3263
3821
  currentTarget: inputElement,
3264
3822
  bubbles: true,
3265
- cancelable: false,
3266
- defaultPrevented: false,
3267
- eventPhase: 0,
3268
- isTrusted: false,
3269
- preventDefault: function preventDefault() {},
3270
- stopPropagation: function stopPropagation() {},
3271
- nativeEvent: new Event('input'),
3272
- persist: function persist() {},
3273
- type: 'change',
3274
- timeStamp: Date.now(),
3275
- isDefaultPrevented: function isDefaultPrevented() {
3276
- return false;
3277
- },
3278
- isPropagationStopped: function isPropagationStopped() {
3279
- return false;
3280
- }
3281
- };
3282
- return emptyChangeEvent;
3283
- }
3284
-
3285
- var border$7 = ddsDesignTokens.ddsBaseTokens.border,
3286
- borderRadius$4 = ddsDesignTokens.ddsBaseTokens.borderRadius,
3287
- colors$i = ddsDesignTokens.ddsBaseTokens.colors,
3288
- spacing$q = ddsDesignTokens.ddsBaseTokens.spacing,
3289
- fontPackages$2 = ddsDesignTokens.ddsBaseTokens.fontPackages;
3290
- var typographyType$4 = 'bodySans01';
3291
- var element$1 = {
3292
- base: {
3293
- color: colors$i.DdsColorNeutralsGray9,
3294
- textDecoration: 'none',
3295
- backgroundColor: colors$i.DdsColorNeutralsWhite,
3296
- padding: "".concat(spacing$q.SizesDdsSpacingLocalX075, " ").concat(spacing$q.SizesDdsSpacingLocalX1),
3297
- gap: spacing$q.SizesDdsSpacingLocalX025
3298
- }
3299
- };
3300
- var iconHeight = ddsCore.calculateHeightWithLineHeight(fontPackages$2.body_sans_01.numbers.lineHeightNumber, fontPackages$2.body_sans_01.numbers.fontSizeNumber);
3301
- var link$3 = {
3302
- iconWrapper: {
3303
- height: "".concat(iconHeight, "px")
3304
- },
3305
- hover: {
3306
- backgroundColor: colors$i.DdsColorInteractiveLightest
3307
- },
3308
- active: {
3309
- backgroundColor: colors$i.DdsColorInteractiveLightest
3310
- }
3311
- };
3312
- var container$8 = {
3313
- border: "".concat(border$7.BordersDdsBorderStyleLightStrokeWeight, " ").concat(border$7.BordersDdsBorderStyleLightStroke, " solid "),
3314
- backgroundColor: colors$i.DdsColorNeutralsWhite,
3315
- borderRadius: borderRadius$4.RadiiDdsBorderRadius1Radius
3316
- };
3317
- var divider$1 = {
3318
- marginRight: spacing$q.SizesDdsSpacingLocalX15,
3319
- marginLeft: spacing$q.SizesDdsSpacingLocalX15
3320
- };
3321
- var overflowMenuTokens = {
3322
- container: container$8,
3323
- element: element$1,
3324
- link: link$3,
3325
- divider: divider$1,
3326
- offset: spacing$q.SizesDdsSpacingLocalX0125NumberPx
3327
- };
3328
-
3329
- var element = overflowMenuTokens.element,
3330
- link$2 = overflowMenuTokens.link;
3331
- var elementBaseCSS = styled.css(["display:flex;box-sizing:border-box;color:", ";text-decoration:", ";background-color:", ";padding:", ";gap:", ";", ""], element.base.color, element.base.textDecoration, element.base.backgroundColor, element.base.padding, element.base.gap, ddsTypography.getFontStyling(typographyType$4));
3332
- var Span = styled__default.default.span.withConfig({
3333
- displayName: "OverflowMenuItem__Span",
3334
- componentId: "sc-1ka2asi-0"
3335
- })(["", ""], elementBaseCSS);
3336
- var Link$2 = styled__default.default.a.withConfig({
3337
- displayName: "OverflowMenuItem__Link",
3338
- componentId: "sc-1ka2asi-1"
3339
- })(["", " text-align:left;user-select:text;border:none;cursor:pointer;outline:inherit;width:100%;", " @media (prefers-reduced-motion:no-preference){transition:background-color 0.2s;}&:hover{background-color:", ";}&:active{background-color:", ";}&:focus-visible,&.focus-visible{", "}"], ddsCore.normalizeButton, elementBaseCSS, link$2.hover.backgroundColor, link$2.active.backgroundColor, ddsTypography.focusVisibleLink);
3340
- var IconWrapper$1 = styled__default.default.span.withConfig({
3341
- displayName: "OverflowMenuItem__IconWrapper",
3342
- componentId: "sc-1ka2asi-2"
3343
- })(["display:flex;align-items:center;height:", ";"], link$2.iconWrapper.height);
3344
- var isAnchorProps = function isAnchorProps(props) {
3345
- return props.href !== undefined;
3346
- };
3347
- var isButtonProps = function isButtonProps(props) {
3348
- return props.href === undefined && props.onClick !== undefined;
3349
- };
3350
- var OverflowMenuItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
3351
- var title = props.title,
3352
- icon = props.icon,
3353
- focus = props.focus,
3354
- setFocus = props.setFocus,
3355
- index = props.index,
3356
- id = props.id,
3357
- className = props.className,
3358
- _props$htmlProps = props.htmlProps,
3359
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
3360
- rest = tslib.__rest(props, ["title", "icon", "focus", "setFocus", "index", "id", "className", "htmlProps"]);
3361
- var onKeyDown = htmlProps.onKeyDown;
3362
- var href;
3363
- var onClick;
3364
- if (isAnchorProps(props)) {
3365
- href = props.href;
3366
- } else if (isButtonProps(props)) {
3367
- onClick = props.onClick;
3368
- }
3369
- var itemRef = React.useRef(null);
3370
- var combinedRef = ddsCore.useCombinedRef(ref, itemRef);
3371
- React.useEffect(function () {
3372
- var _a;
3373
- if (focus) {
3374
- (_a = itemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
3375
- }
3376
- }, [focus]);
3377
- var handleSelect = React.useCallback(function () {
3378
- if (setFocus && index) {
3379
- setFocus(index);
3823
+ cancelable: false,
3824
+ defaultPrevented: false,
3825
+ eventPhase: 0,
3826
+ isTrusted: false,
3827
+ preventDefault: function preventDefault() {},
3828
+ stopPropagation: function stopPropagation() {},
3829
+ nativeEvent: new Event('input'),
3830
+ persist: function persist() {},
3831
+ type: 'change',
3832
+ timeStamp: Date.now(),
3833
+ isDefaultPrevented: function isDefaultPrevented() {
3834
+ return false;
3835
+ },
3836
+ isPropagationStopped: function isPropagationStopped() {
3837
+ return false;
3380
3838
  }
3381
- }, [index, setFocus]);
3382
- var handleOnClick = function handleOnClick(e) {
3383
- handleSelect();
3384
- onClick && onClick(e);
3385
- };
3386
- var handleOnKeyDown = function handleOnKeyDown(e) {
3387
- handleSelect();
3388
- onKeyDown && onKeyDown(e);
3389
- };
3390
- var linkProps = {
3391
- href: href,
3392
- onClick: handleOnClick,
3393
- onKeyDown: handleOnKeyDown,
3394
- role: 'menuitem',
3395
- tabIndex: focus ? 0 : -1
3396
3839
  };
3397
- var iconElement = icon && jsxRuntime.jsx(ddsIcons.Icon, {
3398
- iconSize: "inherit",
3399
- icon: icon
3400
- });
3401
- if (!href && !onClick) {
3402
- return jsxRuntime.jsxs(Span, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
3403
- ref: ref,
3404
- children: [jsxRuntime.jsx(IconWrapper$1, {
3405
- children: iconElement
3406
- }), title]
3407
- }));
3408
- }
3409
- if (!href) {
3410
- return jsxRuntime.jsxs(Link$2, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), linkProps, {
3411
- as: "button",
3412
- ref: combinedRef,
3413
- children: [jsxRuntime.jsx(IconWrapper$1, {
3414
- children: iconElement
3415
- }), title]
3416
- }));
3417
- }
3418
- return jsxRuntime.jsxs(Link$2, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), linkProps, {
3419
- as: "a",
3420
- ref: combinedRef,
3421
- children: [jsxRuntime.jsx(IconWrapper$1, {
3422
- children: iconElement
3423
- }), title]
3424
- }));
3425
- });
3426
- OverflowMenuItem.displayName = 'OverflowMenuItem';
3840
+ return emptyChangeEvent;
3841
+ }
3427
3842
 
3428
3843
  var suggestionsContainer = searchTokens.suggestionsContainer,
3429
3844
  suggestionsHeader = searchTokens.suggestionsHeader;
@@ -4921,7 +5336,7 @@ var cardTokens = {
4921
5336
  colors: cardColors
4922
5337
  };
4923
5338
 
4924
- var Container$b = styled__default.default.div.withConfig({
5339
+ var Container$a = styled__default.default.div.withConfig({
4925
5340
  displayName: "Card__Container",
4926
5341
  componentId: "sc-410ao9-0"
4927
5342
  })(["border:", ";", ";&::selection,*::selection{", "}@media (prefers-reduced-motion:no-preference){transition:box-shadow 0.2s,border-color 0.2s;}", " ", ""], cardTokens.base.border, ddsTypography.getFontStyling(ddsTypography.defaultTypographyType), ddsCore.selection, function (_ref) {
@@ -4944,7 +5359,7 @@ var Card = function Card(props) {
4944
5359
  if (cardType === 'navigation') {
4945
5360
  var href = props.href,
4946
5361
  target = props.target;
4947
- return jsxRuntime.jsx(Container$b, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
5362
+ return jsxRuntime.jsx(Container$a, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
4948
5363
  cardType: cardType,
4949
5364
  color: color,
4950
5365
  as: "a",
@@ -4954,7 +5369,7 @@ var Card = function Card(props) {
4954
5369
  children: children
4955
5370
  }));
4956
5371
  }
4957
- return jsxRuntime.jsx(Container$b, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
5372
+ return jsxRuntime.jsx(Container$a, Object.assign({}, ddsCore.getBaseHTMLProps(id, className, htmlProps, rest), {
4958
5373
  cardType: cardType,
4959
5374
  color: color,
4960
5375
  as: "div",
@@ -5280,202 +5695,6 @@ var internalHeaderTokens = {
5280
5695
  contextGroup: contextGroup$1
5281
5696
  };
5282
5697
 
5283
- var container$7 = overflowMenuTokens.container,
5284
- divider = overflowMenuTokens.divider;
5285
- var Container$a = styled__default.default.div.withConfig({
5286
- displayName: "OverflowMenu__Container",
5287
- componentId: "sc-kh744b-0"
5288
- })(["box-sizing:border-box;z-index:100;overflow-y:auto;min-width:180px;max-width:300px;", " border:", ";background-color:", ";border-radius:", ";", " ", " *::selection{", "}"], function (_ref) {
5289
- var isOpen = _ref.isOpen;
5290
- return ddsCore.visibilityTransition(isOpen);
5291
- }, container$7.border, container$7.backgroundColor, container$7.borderRadius, scrollbarStyling.webkit, scrollbarStyling.firefox, ddsCore.selection);
5292
- var OverflowMenuList = styled__default.default.ul.withConfig({
5293
- displayName: "OverflowMenu__OverflowMenuList",
5294
- componentId: "sc-kh744b-1"
5295
- })(["display:flex;flex-direction:column;list-style-type:none;padding:0;margin:0;"]);
5296
- var StyledDivider = styled__default.default(Divider).withConfig({
5297
- displayName: "OverflowMenu__StyledDivider",
5298
- componentId: "sc-kh744b-2"
5299
- })(["margin-left:", ";margin-right:", ";"], divider.marginLeft, divider.marginRight);
5300
- var OverflowMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
5301
- var _a, _b;
5302
- var anchorRef = props.anchorRef,
5303
- onClose = props.onClose,
5304
- onToggle = props.onToggle,
5305
- _props$isOpen = props.isOpen,
5306
- isOpen = _props$isOpen === void 0 ? false : _props$isOpen,
5307
- _props$placement = props.placement,
5308
- placement = _props$placement === void 0 ? 'bottom-end' : _props$placement,
5309
- items = props.items,
5310
- navItems = props.navItems,
5311
- userProps = props.userProps,
5312
- id = props.id,
5313
- _props$offset = props.offset,
5314
- offset = _props$offset === void 0 ? overflowMenuTokens.offset : _props$offset,
5315
- className = props.className,
5316
- _props$htmlProps = props.htmlProps,
5317
- htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
5318
- rest = tslib.__rest(props, ["anchorRef", "onClose", "onToggle", "isOpen", "placement", "items", "navItems", "userProps", "id", "offset", "className", "htmlProps"]);
5319
- var _useFloatPosition = ddsCore.useFloatPosition(null, {
5320
- placement: placement,
5321
- offset: offset
5322
- }),
5323
- reference = _useFloatPosition.reference,
5324
- floating = _useFloatPosition.floating,
5325
- refs = _useFloatPosition.refs,
5326
- styles = _useFloatPosition.styles;
5327
- var combinedRef = ddsCore.useCombinedRef(ref, floating);
5328
- React.useEffect(function () {
5329
- anchorRef ? reference(anchorRef.current) : reference(null);
5330
- }, [anchorRef]);
5331
- ddsCore.useOnClickOutside([(_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current, (_b = refs === null || refs === void 0 ? void 0 : refs.reference) === null || _b === void 0 ? void 0 : _b.current], function () {
5332
- if (isOpen) {
5333
- onClose && onClose();
5334
- onToggle && onToggle();
5335
- }
5336
- });
5337
- ddsCore.useOnKeyDown(['Esc', 'Escape'], function () {
5338
- var _a;
5339
- if (isOpen) {
5340
- onClose && onClose();
5341
- onToggle && onToggle();
5342
- anchorRef && ((_a = anchorRef.current) === null || _a === void 0 ? void 0 : _a.focus());
5343
- }
5344
- });
5345
- ddsCore.useOnKeyDown(['Tab'], function () {
5346
- if (isOpen) {
5347
- onClose && onClose();
5348
- onToggle && onToggle();
5349
- }
5350
- });
5351
- var interactiveItems = [];
5352
- var hasContextItems = !!items && items.length > 0;
5353
- var hasNavItems = !!navItems && navItems.length > 0;
5354
- var _c = userProps || {},
5355
- username = _c.name,
5356
- userPropsRest = tslib.__rest(_c, ["name"]);
5357
- var hasStaticUser = username && userProps && !userProps.href && !userProps.onClick;
5358
- var hasInteractiveUser = username && userProps && (!!userProps.href || !!userProps.onClick);
5359
- hasInteractiveUser && interactiveItems.push(Object.assign({
5360
- title: username
5361
- }, userPropsRest));
5362
- hasNavItems && interactiveItems.push.apply(interactiveItems, _toConsumableArray(navItems));
5363
- hasContextItems && interactiveItems.push.apply(interactiveItems, _toConsumableArray(items));
5364
- var hasInteractiveItems = interactiveItems.length > 0;
5365
- var _useRoveFocus = ddsCore.useRoveFocus(interactiveItems && interactiveItems.length, !isOpen),
5366
- _useRoveFocus2 = _slicedToArray(_useRoveFocus, 2),
5367
- focus = _useRoveFocus2[0],
5368
- setFocus = _useRoveFocus2[1];
5369
- var interactiveItemsList = hasInteractiveItems ? interactiveItems.map(function (item, index) {
5370
- return jsxRuntime.jsx("li", {
5371
- children: jsxRuntime.jsx(OverflowMenuItem, Object.assign({
5372
- index: index,
5373
- focus: focus === index && isOpen,
5374
- setFocus: setFocus,
5375
- icon: hasInteractiveUser && index === 0 ? ddsIcons.PersonIcon : undefined
5376
- }, item, {
5377
- onClick: function onClick(e) {
5378
- item.onClick && item.onClick(e);
5379
- onToggle && onToggle();
5380
- onClose && onClose();
5381
- }
5382
- }))
5383
- }, index);
5384
- }) : null;
5385
- var interactiveContent = function interactiveContent() {
5386
- if (hasInteractiveItems) {
5387
- var userPropsPos = hasInteractiveUser ? 0 : -1;
5388
- var navItemsFirstPos = hasNavItems ? userPropsPos + 1 : -1;
5389
- var navItemsLastPos = hasNavItems ? userPropsPos + navItems.length : -1;
5390
- var contextItemsFirstPos = !hasContextItems ? -1 : hasNavItems ? navItemsLastPos + 1 : userPropsPos + 1;
5391
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
5392
- children: [hasInteractiveUser && jsxRuntime.jsx(OverflowMenuList, {
5393
- children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList[0]
5394
- }), hasNavItems && jsxRuntime.jsx("nav", {
5395
- children: jsxRuntime.jsx(OverflowMenuList, {
5396
- children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList.slice(navItemsFirstPos, navItemsLastPos + 1)
5397
- })
5398
- }), hasNavItems && hasContextItems && jsxRuntime.jsx(StyledDivider, {
5399
- color: "primaryLighter"
5400
- }), hasContextItems && jsxRuntime.jsx(OverflowMenuList, {
5401
- "aria-label": "kontekstmeny",
5402
- children: interactiveItemsList === null || interactiveItemsList === void 0 ? void 0 : interactiveItemsList.slice(contextItemsFirstPos, interactiveItemsList.length)
5403
- })]
5404
- });
5405
- }
5406
- };
5407
- var _htmlProps$style = htmlProps.style,
5408
- style = _htmlProps$style === void 0 ? {} : _htmlProps$style,
5409
- restHTMLProps = tslib.__rest(htmlProps, ["style"]);
5410
- var generatedId = React.useId();
5411
- var containerProps = Object.assign(Object.assign({}, ddsCore.getBaseHTMLProps(id, className, restHTMLProps, rest)), {
5412
- ref: combinedRef,
5413
- id: id !== null && id !== void 0 ? id : "".concat(generatedId, "-overflowMenu"),
5414
- isOpen: isOpen,
5415
- style: Object.assign(Object.assign({}, style), styles.floating),
5416
- 'aria-hidden': !isOpen,
5417
- role: 'menu'
5418
- });
5419
- return jsxRuntime.jsxs(Container$a, Object.assign({}, containerProps, {
5420
- "aria-label": "bruk piltaster for \xE5 navigere",
5421
- children: [hasStaticUser && jsxRuntime.jsx(OverflowMenuItem, {
5422
- title: username,
5423
- icon: ddsIcons.PersonIcon
5424
- }), interactiveContent()]
5425
- }));
5426
- });
5427
- OverflowMenu.displayName = 'OverflowMenu';
5428
-
5429
- var OverflowMenuGroup = function OverflowMenuGroup(_ref) {
5430
- var children = _ref.children,
5431
- onClose = _ref.onClose,
5432
- onToggle = _ref.onToggle,
5433
- onOpen = _ref.onOpen,
5434
- overflowMenuId = _ref.overflowMenuId;
5435
- var _useState = React.useState(false),
5436
- _useState2 = _slicedToArray(_useState, 2),
5437
- isOpen = _useState2[0],
5438
- setIsOpen = _useState2[1];
5439
- var toggle = function toggle() {
5440
- return setIsOpen(!isOpen);
5441
- };
5442
- var close = function close() {
5443
- return setIsOpen(false);
5444
- };
5445
- var buttonRef = React.useRef(null);
5446
- var generatedId = React.useId();
5447
- var uniqueOverflowMenuId = overflowMenuId !== null && overflowMenuId !== void 0 ? overflowMenuId : "".concat(generatedId, "-overflowMenu");
5448
- var handleClose = function handleClose() {
5449
- onClose && onClose();
5450
- close();
5451
- };
5452
- var handleToggle = function handleToggle() {
5453
- onOpen && !isOpen && onOpen();
5454
- onClose && isOpen && onClose();
5455
- onToggle && onToggle();
5456
- toggle();
5457
- };
5458
- var Children = React.Children.map(children, function (child, childIndex) {
5459
- return /*#__PURE__*/React.isValidElement(child) && (childIndex === 0 ? /*#__PURE__*/React.cloneElement(child, {
5460
- 'aria-haspopup': 'menu',
5461
- 'aria-controls': uniqueOverflowMenuId,
5462
- 'aria-expanded': isOpen,
5463
- onClick: handleToggle,
5464
- ref: buttonRef
5465
- }) : /*#__PURE__*/React.cloneElement(child, {
5466
- isOpen: isOpen,
5467
- id: uniqueOverflowMenuId,
5468
- onClose: handleClose,
5469
- onToggle: handleToggle,
5470
- anchorRef: buttonRef
5471
- }));
5472
- });
5473
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
5474
- children: Children
5475
- });
5476
- };
5477
- OverflowMenuGroup.displayName = 'OverflowMenuGroup';
5478
-
5479
5698
  var outerContainer$1 = internalHeaderTokens.outerContainer,
5480
5699
  applicationNameWrapper = internalHeaderTokens.applicationNameWrapper,
5481
5700
  lovisaWrapper = internalHeaderTokens.lovisaWrapper,
@@ -9110,7 +9329,7 @@ exports.CheckboxGroup = CheckboxGroup;
9110
9329
  exports.Chip = Chip;
9111
9330
  exports.ChipGroup = ChipGroup;
9112
9331
  exports.CollapsibleTable = CollapsibleTable;
9113
- exports.Container = Container$a;
9332
+ exports.Container = Container$f;
9114
9333
  exports.Datepicker = Datepicker;
9115
9334
  exports.DescriptionList = DescriptionList;
9116
9335
  exports.DescriptionListDesc = DescriptionListDesc;