@norges-domstoler/dds-components 5.1.0 → 5.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -70,6 +70,12 @@ Det brukes en egen workflow for release av ny versjon av `@norges-domstoler/dds-
70
70
 
71
71
  For versjonering brukes [_semantisk versjonering_](https://semver.org/) for å holde ting organisert og for å enkelt kommunisere utviklingsløpet til pakken.
72
72
 
73
+ ### Pre-release versjoner
74
+
75
+ Hvis man ønsker å publisere en pre-release kan man følge samme flyt som vanlig release, men markere releasen som "pre-release" på Github. Da vil det publiseres en ny versjon til `next`-taggen på NPM istedenfor `latest` som i normal flyt. Pre-releases kan brukes for å publisere innhold som er ment til å være med i neste versjon, men som kan testes av konsumenter før neste release er klar.
76
+
77
+ Versjonsnummerering for pre-releases skal følge `-beta.x`, eksempelvis `5.0.0-beta.1` osv.
78
+
73
79
  ## ⌨️ For bidragsytere
74
80
 
75
81
  Sjekk ut [guiden for bidragsytere](https://design.domstol.no/987b33f71/p/34c962-bidra/b/3611d5).
@@ -0,0 +1,20 @@
1
+ import { BaseComponentPropsWithChildren } from '../../types';
2
+ declare type BaseStepProps = {
3
+ /** Om steget er valgt eller ikke. Settes av konsument. */
4
+ active?: boolean;
5
+ /** Om steget er ferdig eller ikke. Settes av konsument */
6
+ completed?: boolean;
7
+ /** Indeksen til steget. NB! Denne settes automatisk av <Stepper /> og skal ikke settes manuelt. */
8
+ index?: number;
9
+ };
10
+ declare type StepProps = ({
11
+ /** Click-handler som gjør det mulig for bruker å klikke på steget for å navigere. Valgfri. */
12
+ onClick: (stepIndex: number) => void;
13
+ } & BaseComponentPropsWithChildren<HTMLButtonElement, BaseStepProps>) | ({
14
+ onClick?: undefined;
15
+ } & BaseComponentPropsWithChildren<HTMLDivElement, BaseStepProps>);
16
+ /**
17
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
18
+ */
19
+ export declare const Step: (props: StepProps) => JSX.Element;
20
+ export {};
@@ -0,0 +1,6 @@
1
+ declare type StepperContextType = {
2
+ activeStep: number;
3
+ };
4
+ export declare const StepperContext: import("react").Context<StepperContextType>;
5
+ export declare const useStepperContext: () => StepperContextType;
6
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
3
+ */
4
+ export declare const Stepper: import("react").ForwardRefExoticComponent<{
5
+ htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
6
+ } & Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
7
+ /** Indeksen til det aktive steget. */
8
+ activeStep?: number | undefined;
9
+ } & {
10
+ children?: import("react").ReactNode;
11
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ declare const _default: {
2
+ title: string;
3
+ component: import("react").ForwardRefExoticComponent<{
4
+ htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
5
+ } & Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
6
+ activeStep?: number | undefined;
7
+ } & {
8
+ children?: import("react").ReactNode;
9
+ } & import("react").RefAttributes<HTMLDivElement>>;
10
+ argTypes: {
11
+ color: {
12
+ control: {
13
+ type: string;
14
+ };
15
+ };
16
+ size: {
17
+ control: {
18
+ type: string;
19
+ };
20
+ };
21
+ };
22
+ };
23
+ export default _default;
24
+ export declare const Overview: () => JSX.Element;
25
+ export declare const NonClickable: () => JSX.Element;
@@ -0,0 +1,39 @@
1
+ export declare const stepperTokens: {
2
+ connector: {
3
+ color: string;
4
+ };
5
+ stepNumber: {
6
+ active: {
7
+ borderColor: string;
8
+ color: string;
9
+ backgroundColor: string;
10
+ };
11
+ completed: {
12
+ borderColor: string;
13
+ color: string;
14
+ backgroundColor: string;
15
+ };
16
+ inactive: {
17
+ borderColor: string;
18
+ color: string;
19
+ backgroundColor: string;
20
+ };
21
+ };
22
+ stepButton: {
23
+ marginTop: string;
24
+ fontFamily: string;
25
+ fontSize: string;
26
+ active: {
27
+ color: string;
28
+ textDecoration: string;
29
+ };
30
+ completed: {
31
+ color: string;
32
+ textDecoration: string;
33
+ };
34
+ inactive: {
35
+ color: string;
36
+ textDecoration: string;
37
+ };
38
+ };
39
+ };
@@ -0,0 +1,2 @@
1
+ export * from './Stepper';
2
+ export * from './Step';
@@ -34,3 +34,4 @@ export * from './components/Tag';
34
34
  export * from './components/Chip';
35
35
  export * from './components/VisuallyHidden';
36
36
  export * from './icons/tsx';
37
+ export * from './components/Stepper';
package/dist/cjs/index.js CHANGED
@@ -3843,30 +3843,30 @@ var AnimatedChevronUpDown = function AnimatedChevronUpDown(_ref) {
3843
3843
  }));
3844
3844
  };
3845
3845
 
3846
- var colors$3 = ddsDesignTokens.ddsBaseTokens.colors,
3847
- spacing$5 = ddsDesignTokens.ddsBaseTokens.spacing,
3846
+ var colors$4 = ddsDesignTokens.ddsBaseTokens.colors,
3847
+ spacing$6 = ddsDesignTokens.ddsBaseTokens.spacing,
3848
3848
  fontPackages$4 = ddsDesignTokens.ddsBaseTokens.fontPackages,
3849
3849
  border = ddsDesignTokens.ddsBaseTokens.border;
3850
3850
  var TextInput$2 = ddsDesignTokens.ddsReferenceTokens.textInput;
3851
3851
  var inputBase$2 = Object.assign({
3852
3852
  color: TextInput$2.input.textColor,
3853
3853
  borderRadius: TextInput$2.input.borderRadius,
3854
- border: "".concat(border.BordersDdsBorderStyleLightStrokeWeight, " solid ").concat(colors$3.DdsColorNeutralsGray5),
3854
+ border: "".concat(border.BordersDdsBorderStyleLightStrokeWeight, " solid ").concat(colors$4.DdsColorNeutralsGray5),
3855
3855
  borderColor: TextInput$2.input.borderColor,
3856
- backgroundColor: colors$3.DdsColorNeutralsWhite
3856
+ backgroundColor: colors$4.DdsColorNeutralsWhite
3857
3857
  }, TextInput$2.input.font);
3858
3858
  var inputFocusBase = Object.assign({}, focusInputfield);
3859
3859
  var inputHoverBase = Object.assign({}, hoverInputfield);
3860
3860
  var inputHasLabelBase = {
3861
- padding: "".concat(spacing$5.SizesDdsSpacingLocalX075NumberPx + fontPackages$4.supportingStyle_label_01.numbers.lineHeightNumber * 0.01 * fontPackages$4.supportingStyle_label_01.numbers.fontSizeNumber, "px ").concat(spacing$5.SizesDdsSpacingLocalX1, " ").concat(spacing$5.SizesDdsSpacingLocalX075, " ").concat(spacing$5.SizesDdsSpacingLocalX1)
3861
+ padding: "".concat(spacing$6.SizesDdsSpacingLocalX075NumberPx + fontPackages$4.supportingStyle_label_01.numbers.lineHeightNumber * 0.01 * fontPackages$4.supportingStyle_label_01.numbers.fontSizeNumber, "px ").concat(spacing$6.SizesDdsSpacingLocalX1, " ").concat(spacing$6.SizesDdsSpacingLocalX075, " ").concat(spacing$6.SizesDdsSpacingLocalX1)
3862
3862
  };
3863
3863
  var inputNoLabelBase$1 = {
3864
- padding: "".concat(spacing$5.SizesDdsSpacingLocalX075, " ").concat(spacing$5.SizesDdsSpacingLocalX1, " ").concat(spacing$5.SizesDdsSpacingLocalX075, " ").concat(spacing$5.SizesDdsSpacingLocalX1)
3864
+ padding: "".concat(spacing$6.SizesDdsSpacingLocalX075, " ").concat(spacing$6.SizesDdsSpacingLocalX1, " ").concat(spacing$6.SizesDdsSpacingLocalX075, " ").concat(spacing$6.SizesDdsSpacingLocalX1)
3865
3865
  };
3866
3866
  var inputDisabledBase = {
3867
3867
  cursor: 'not-allowed',
3868
- color: colors$3.DdsColorNeutralsGray7,
3869
- backgroundColor: colors$3.DdsColorNeutralsGray1
3868
+ color: colors$4.DdsColorNeutralsGray7,
3869
+ backgroundColor: colors$4.DdsColorNeutralsGray1
3870
3870
  };
3871
3871
  var inputErrorBase = Object.assign({}, dangerInputfield);
3872
3872
  var inputErrorHoverBase = Object.assign({}, hoverDangerInputfield);
@@ -3876,10 +3876,10 @@ var inputReadOnlyBase = {
3876
3876
  outline: 'none',
3877
3877
  cursor: 'default',
3878
3878
  backgroundColor: 'transparent',
3879
- paddingLeft: spacing$5.SizesDdsSpacingLocalX1
3879
+ paddingLeft: spacing$6.SizesDdsSpacingLocalX1
3880
3880
  };
3881
3881
  var inputLabelBase = {
3882
- padding: "".concat(spacing$5.SizesDdsSpacingLocalX075, " ").concat(spacing$5.SizesDdsSpacingLocalX1)
3882
+ padding: "".concat(spacing$6.SizesDdsSpacingLocalX075, " ").concat(spacing$6.SizesDdsSpacingLocalX1)
3883
3883
  };
3884
3884
  var inputLabelHoverBase = {
3885
3885
  color: TextInput$2.label.hover.textColor
@@ -3888,7 +3888,7 @@ var inputLabelFocusBase = {
3888
3888
  color: TextInput$2.label.focus.textColor
3889
3889
  };
3890
3890
  var inputLabelDisabledBase = {
3891
- color: colors$3.DdsColorNeutralsGray6
3891
+ color: colors$4.DdsColorNeutralsGray6
3892
3892
  };
3893
3893
  var inputTokens = {
3894
3894
  baseInput: {
@@ -6460,25 +6460,25 @@ var LocalMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
6460
6460
  })) : null;
6461
6461
  });
6462
6462
 
6463
- var spacing$4 = ddsDesignTokens.ddsBaseTokens.spacing,
6463
+ var spacing$5 = ddsDesignTokens.ddsBaseTokens.spacing,
6464
6464
  fontPackages$3 = ddsDesignTokens.ddsBaseTokens.fontPackages,
6465
6465
  iconSizes = ddsDesignTokens.ddsBaseTokens.iconSizes;
6466
6466
  var textDefault$5 = ddsDesignTokens.ddsReferenceTokens.textDefault;
6467
6467
  var inputBase = {
6468
- paddingRight: spacing$4.SizesDdsSpacingLocalX05,
6469
- paddingLeft: spacing$4.SizesDdsSpacingLocalX3
6468
+ paddingRight: spacing$5.SizesDdsSpacingLocalX05,
6469
+ paddingLeft: spacing$5.SizesDdsSpacingLocalX3
6470
6470
  };
6471
6471
  var smallBase$1 = Object.assign(Object.assign({}, fontPackages$3.supportingStyle_inputtext_01.base), {
6472
- paddingTop: spacing$4.SizesDdsSpacingLocalX05,
6473
- paddingBottom: spacing$4.SizesDdsSpacingLocalX05
6472
+ paddingTop: spacing$5.SizesDdsSpacingLocalX05,
6473
+ paddingBottom: spacing$5.SizesDdsSpacingLocalX05
6474
6474
  });
6475
6475
  var mediumBase = Object.assign(Object.assign({}, fontPackages$3.supportingStyle_inputtext_02.base), {
6476
- paddingTop: spacing$4.SizesDdsSpacingLocalX075,
6477
- paddingBottom: spacing$4.SizesDdsSpacingLocalX075
6476
+ paddingTop: spacing$5.SizesDdsSpacingLocalX075,
6477
+ paddingBottom: spacing$5.SizesDdsSpacingLocalX075
6478
6478
  });
6479
6479
  var largeBase = Object.assign(Object.assign({}, fontPackages$3.supportingStyle_inputtext_03.base), {
6480
- paddingTop: spacing$4.SizesDdsSpacingLocalX1,
6481
- paddingBottom: spacing$4.SizesDdsSpacingLocalX1
6480
+ paddingTop: spacing$5.SizesDdsSpacingLocalX1,
6481
+ paddingBottom: spacing$5.SizesDdsSpacingLocalX1
6482
6482
  });
6483
6483
  var iconWrapperBase = {
6484
6484
  color: textDefault$5.textColor
@@ -6486,7 +6486,7 @@ var iconWrapperBase = {
6486
6486
  var containerBase$3 = {
6487
6487
  display: 'flex',
6488
6488
  flexDirection: 'row',
6489
- gap: spacing$4.SizesDdsSpacingLocalX05
6489
+ gap: spacing$5.SizesDdsSpacingLocalX05
6490
6490
  };
6491
6491
  var searchTokens = {
6492
6492
  input: {
@@ -6502,7 +6502,7 @@ var searchTokens = {
6502
6502
  }
6503
6503
  },
6504
6504
  icon: {
6505
- spaceLeft: spacing$4.SizesDdsSpacingLocalX075,
6505
+ spaceLeft: spacing$5.SizesDdsSpacingLocalX075,
6506
6506
  small: {
6507
6507
  size: 'small',
6508
6508
  spaceTop: "calc(50% - ".concat(iconSizes.DdsIconsizeSmallNumberPx / 2, "px)")
@@ -6515,7 +6515,7 @@ var searchTokens = {
6515
6515
  size: 'medium',
6516
6516
  spaceTop: "calc(50% - ".concat(iconSizes.DdsIconsizeMediumNumberPx / 2, "px)")
6517
6517
  },
6518
- spaceTop: "calc(50% - ".concat(spacing$4.SizesDdsSpacingLocalX15NumberPx / 2, "px)")
6518
+ spaceTop: "calc(50% - ".concat(spacing$5.SizesDdsSpacingLocalX15NumberPx / 2, "px)")
6519
6519
  },
6520
6520
  iconWrapper: {
6521
6521
  base: iconWrapperBase
@@ -7030,15 +7030,15 @@ var Breadcrumb = /*#__PURE__*/React.forwardRef(function (props, ref) {
7030
7030
  }));
7031
7031
  });
7032
7032
 
7033
- var colors$2 = ddsDesignTokens.ddsBaseTokens.colors,
7034
- spacing$3 = ddsDesignTokens.ddsBaseTokens.spacing,
7033
+ var colors$3 = ddsDesignTokens.ddsBaseTokens.colors,
7034
+ spacing$4 = ddsDesignTokens.ddsBaseTokens.spacing,
7035
7035
  fontPackages$2 = ddsDesignTokens.ddsBaseTokens.fontPackages;
7036
7036
  var iconBase$1 = {
7037
- color: colors$2.DdsColorInteractiveBase,
7038
- marginLeft: spacing$3.SizesDdsSpacingLocalX05
7037
+ color: colors$3.DdsColorInteractiveBase,
7038
+ marginLeft: spacing$4.SizesDdsSpacingLocalX05
7039
7039
  };
7040
7040
  var breadcrumbBase = Object.assign(Object.assign({}, fontPackages$2.body_sans_02.base), {
7041
- gap: spacing$3.SizesDdsSpacingLocalX05
7041
+ gap: spacing$4.SizesDdsSpacingLocalX05
7042
7042
  });
7043
7043
  var breadcrumbTokens = {
7044
7044
  breadcrumb: {
@@ -7597,17 +7597,17 @@ var DescriptionListTerm = /*#__PURE__*/React.forwardRef(function (_a, ref) {
7597
7597
  }));
7598
7598
  });
7599
7599
 
7600
- var spacing$2 = ddsDesignTokens.ddsBaseTokens.spacing,
7600
+ var spacing$3 = ddsDesignTokens.ddsBaseTokens.spacing,
7601
7601
  fontPackages$1 = ddsDesignTokens.ddsBaseTokens.fontPackages;
7602
7602
  var textDefault$1 = ddsDesignTokens.ddsReferenceTokens.textDefault;
7603
7603
  var base$6 = Object.assign(Object.assign({}, fontPackages$1.body_sans_03.base), {
7604
7604
  display: 'flex',
7605
7605
  alignItems: 'center',
7606
- gap: spacing$2.SizesDdsSpacingLocalX025,
7606
+ gap: spacing$3.SizesDdsSpacingLocalX025,
7607
7607
  color: textDefault$1.textColor
7608
7608
  });
7609
7609
  var iconBase = {
7610
- marginRight: spacing$2.SizesDdsSpacingLocalX025
7610
+ marginRight: spacing$3.SizesDdsSpacingLocalX025
7611
7611
  };
7612
7612
  var descriptionListDescTokens = {
7613
7613
  base: base$6,
@@ -8907,7 +8907,7 @@ var getWidth = function getWidth(type) {
8907
8907
  var StyledInput = styled__default["default"](StatefulInput).withConfig({
8908
8908
  displayName: "Datepicker__StyledInput",
8909
8909
  componentId: "sc-1ijxhje-0"
8910
- })(["::-webkit-calendar-picker-indicator{background-image:url(\"", "\");", " margin-left:0px;padding:0;top:50%;transform:translate(0,-50%);box-sizing:border-box;}::-webkit-calendar-picker-indicator:focus-visible{", "}::-webkit-inner-spin-button{display:none;}@media (prefers-reduced-motion:no-preference){::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{transition:0.2s;}}::-webkit-datetime-edit-day-field:focus,::-webkit-datetime-edit-month-field:focus,::-webkit-datetime-edit-year-field:focus,::-webkit-datetime-edit-hour-field:focus,::-webkit-datetime-edit-minute-field:focus{", "}"], CalendarIcon, datepickerTokens.calendarIndicator.base, datepickerTokens.calendarIndicator.focus.base, typographyTokens.selection.base);
8910
+ })(["::-webkit-calendar-picker-indicator{background-image:url(\"", "\");", " margin-left:0px;padding:0;top:50%;transform:translate(0,-50%);box-sizing:border-box;}::-webkit-datetime-edit-fields-wrapper{padding:0;}::-webkit-calendar-picker-indicator:focus-visible{", "}::-webkit-inner-spin-button{display:none;}@media (prefers-reduced-motion:no-preference){::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{transition:0.2s;}}::-webkit-datetime-edit-day-field:focus,::-webkit-datetime-edit-month-field:focus,::-webkit-datetime-edit-year-field:focus,::-webkit-datetime-edit-hour-field:focus,::-webkit-datetime-edit-minute-field:focus{", "}"], CalendarIcon, datepickerTokens.calendarIndicator.base, datepickerTokens.calendarIndicator.focus.base, typographyTokens.selection.base);
8911
8911
  var nextUniqueId$8 = 0;
8912
8912
  var Datepicker = /*#__PURE__*/React.forwardRef(function (_a, ref) {
8913
8913
  var id = _a.id,
@@ -10308,13 +10308,13 @@ var TabPanels = /*#__PURE__*/React.forwardRef(function (_a, ref) {
10308
10308
  }));
10309
10309
  });
10310
10310
 
10311
- var colors$1 = ddsDesignTokens.ddsBaseTokens.colors,
10311
+ var colors$2 = ddsDesignTokens.ddsBaseTokens.colors,
10312
10312
  borderRadius$1 = ddsDesignTokens.ddsBaseTokens.borderRadius,
10313
- spacing$1 = ddsDesignTokens.ddsBaseTokens.spacing;
10313
+ spacing$2 = ddsDesignTokens.ddsBaseTokens.spacing;
10314
10314
  var wrapperBase = {
10315
10315
  border: '1px solid',
10316
10316
  borderRadius: borderRadius$1.RadiiDdsBorderRadius1Radius,
10317
- padding: "".concat(spacing$1.SizesDdsSpacingLocalX0125, " ").concat(spacing$1.SizesDdsSpacingLocalX025),
10317
+ padding: "".concat(spacing$2.SizesDdsSpacingLocalX0125, " ").concat(spacing$2.SizesDdsSpacingLocalX025),
10318
10318
  maxWidth: '100%',
10319
10319
  display: 'inline-flex',
10320
10320
  alignItems: 'center'
@@ -10325,8 +10325,8 @@ var innerBase = {
10325
10325
  textOverflow: 'ellipsis'
10326
10326
  };
10327
10327
  var defaultBase = {
10328
- backgroundColor: colors$1.DdsColorNeutralsGray1,
10329
- borderColor: colors$1.DdsColorNeutralsGray3
10328
+ backgroundColor: colors$2.DdsColorNeutralsGray1,
10329
+ borderColor: colors$2.DdsColorNeutralsGray3
10330
10330
  };
10331
10331
  var successBase = Object.assign({}, localMessageTokens.container.success.base);
10332
10332
  var warningBase = Object.assign({}, localMessageTokens.container.warning.base);
@@ -10390,19 +10390,19 @@ var Tag = /*#__PURE__*/React.forwardRef(function (props, ref) {
10390
10390
  }));
10391
10391
  });
10392
10392
 
10393
- var colors = ddsDesignTokens.ddsBaseTokens.colors,
10394
- spacing = ddsDesignTokens.ddsBaseTokens.spacing,
10393
+ var colors$1 = ddsDesignTokens.ddsBaseTokens.colors,
10394
+ spacing$1 = ddsDesignTokens.ddsBaseTokens.spacing,
10395
10395
  borderRadius = ddsDesignTokens.ddsBaseTokens.borderRadius,
10396
10396
  fontPackages = ddsDesignTokens.ddsBaseTokens.fontPackages;
10397
10397
  var containerBase = {
10398
10398
  display: 'flex',
10399
10399
  alignItems: 'center',
10400
- gap: spacing.SizesDdsSpacingLocalX025,
10401
- padding: "".concat(spacing.SizesDdsSpacingLocalX0125, " ").concat(spacing.SizesDdsSpacingLocalX025),
10402
- backgroundColor: colors.DdsColorNeutralsGray1,
10403
- border: "1px solid ".concat(colors.DdsColorNeutralsGray3),
10400
+ gap: spacing$1.SizesDdsSpacingLocalX025,
10401
+ padding: "".concat(spacing$1.SizesDdsSpacingLocalX0125, " ").concat(spacing$1.SizesDdsSpacingLocalX025),
10402
+ backgroundColor: colors$1.DdsColorNeutralsGray1,
10403
+ border: "1px solid ".concat(colors$1.DdsColorNeutralsGray3),
10404
10404
  borderRadius: borderRadius.RadiiDdsBorderRadius1Radius,
10405
- color: colors.DdsColorNeutralsGray9,
10405
+ color: colors$1.DdsColorNeutralsGray9,
10406
10406
  maxWidth: '100%'
10407
10407
  };
10408
10408
  var textBase = Object.assign({
@@ -10412,7 +10412,7 @@ var textBase = Object.assign({
10412
10412
  }, fontPackages.body_sans_01.base);
10413
10413
  var groupBase = {
10414
10414
  display: 'flex',
10415
- gap: spacing.SizesDdsSpacingLocalX075
10415
+ gap: spacing$1.SizesDdsSpacingLocalX075
10416
10416
  };
10417
10417
  var chipTokens = {
10418
10418
  container: {
@@ -10502,7 +10502,7 @@ var ChipGroup = /*#__PURE__*/React.forwardRef(function (_a, ref) {
10502
10502
  var Wrapper = styled__default["default"].span.withConfig({
10503
10503
  displayName: "VisuallyHidden__Wrapper",
10504
10504
  componentId: "sc-ciubxt-0"
10505
- })(["width:1px;height:1px;margin:0px;padding:0px;top:0px;inset-inline-start:0px;overflow:hidden;clip:rect(0px,0px,0px,0px);border:0px;"]);
10505
+ })(["position:absolute;width:1px;height:1px;margin:0px;padding:0px;top:0px;inset-inline-start:0px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0px;"]);
10506
10506
  var VisuallyHidden = function VisuallyHidden(props) {
10507
10507
  var children = props.children,
10508
10508
  id = props.id,
@@ -10524,6 +10524,222 @@ var VisuallyHidden = function VisuallyHidden(props) {
10524
10524
  }));
10525
10525
  };
10526
10526
 
10527
+ var StepperContext = /*#__PURE__*/React.createContext({
10528
+ activeStep: 0
10529
+ });
10530
+ var useStepperContext = function useStepperContext() {
10531
+ return React.useContext(StepperContext);
10532
+ };
10533
+
10534
+ var StepsWrapper = styled__default["default"].ol.withConfig({
10535
+ displayName: "Stepper__StepsWrapper",
10536
+ componentId: "sc-4w2c73-0"
10537
+ })(["display:flex;margin:0;padding:0;"]);
10538
+ /**
10539
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
10540
+ */
10541
+
10542
+ var Stepper = /*#__PURE__*/React.forwardRef(function (props, ref) {
10543
+ var _a;
10544
+
10545
+ var id = props.id,
10546
+ _props$activeStep = props.activeStep,
10547
+ activeStep = _props$activeStep === void 0 ? 0 : _props$activeStep,
10548
+ children = props.children,
10549
+ className = props.className,
10550
+ htmlProps = props.htmlProps,
10551
+ rest = tslib.__rest(props, ["id", "activeStep", "children", "className", "htmlProps"]);
10552
+
10553
+ var _useState = React.useState(activeStep),
10554
+ _useState2 = _slicedToArray(_useState, 2),
10555
+ thisActiveStep = _useState2[0],
10556
+ setActiveStep = _useState2[1];
10557
+
10558
+ React.useEffect(function () {
10559
+ if (activeStep !== undefined && activeStep != thisActiveStep) {
10560
+ setActiveStep(activeStep);
10561
+ }
10562
+ }, [activeStep, thisActiveStep]);
10563
+ var containerProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
10564
+ ref: ref
10565
+ });
10566
+ var steps = (_a = React.Children.map(children, function (step, index) {
10567
+ if (! /*#__PURE__*/React.isValidElement(step)) {
10568
+ return false;
10569
+ }
10570
+
10571
+ return /*#__PURE__*/React.cloneElement(step, Object.assign(Object.assign({}, step.props), {
10572
+ index: index
10573
+ }));
10574
+ })) === null || _a === void 0 ? void 0 : _a.filter(Boolean);
10575
+ return jsxRuntime.jsx(StepperContext.Provider, Object.assign({
10576
+ value: {
10577
+ activeStep: thisActiveStep
10578
+ }
10579
+ }, {
10580
+ children: jsxRuntime.jsx("div", Object.assign({
10581
+ role: "group",
10582
+ "aria-label": "progress"
10583
+ }, containerProps, {
10584
+ children: jsxRuntime.jsx(StepsWrapper, {
10585
+ children: steps
10586
+ })
10587
+ }))
10588
+ }));
10589
+ });
10590
+
10591
+ var colors = ddsDesignTokens.ddsBaseTokens.colors,
10592
+ spacing = ddsDesignTokens.ddsBaseTokens.spacing,
10593
+ font = ddsDesignTokens.ddsBaseTokens.font;
10594
+ var connector$1 = {
10595
+ color: colors.DdsColorInteractiveBase
10596
+ };
10597
+ var stepNumber$1 = {
10598
+ active: {
10599
+ borderColor: colors.DdsColorInteractiveBase,
10600
+ color: colors.DdsColorNeutralsWhite,
10601
+ backgroundColor: colors.DdsColorInteractiveBase
10602
+ },
10603
+ completed: {
10604
+ borderColor: colors.DdsColorSuccessLighter,
10605
+ color: colors.DdsColorNeutralsGray9,
10606
+ backgroundColor: colors.DdsColorSuccessLighter
10607
+ },
10608
+ inactive: {
10609
+ borderColor: colors.DdsColorInteractiveBase,
10610
+ color: colors.DdsColorInteractiveBase,
10611
+ backgroundColor: colors.DdsColorNeutralsWhite
10612
+ }
10613
+ };
10614
+ var stepButton$1 = {
10615
+ marginTop: spacing.SizesDdsSpacingLayoutX1,
10616
+ fontFamily: font.DdsFontSupportingStyleLabel01FontFamily,
10617
+ fontSize: font.DdsFontSupportingStyleLabel01FontSize,
10618
+ active: {
10619
+ color: colors.DdsColorNeutralsGray9,
10620
+ textDecoration: 'none'
10621
+ },
10622
+ completed: {
10623
+ color: colors.DdsColorInteractiveBase,
10624
+ textDecoration: 'underline'
10625
+ },
10626
+ inactive: {
10627
+ color: colors.DdsColorInteractiveBase,
10628
+ textDecoration: 'underline'
10629
+ }
10630
+ };
10631
+ var stepperTokens = {
10632
+ connector: connector$1,
10633
+ stepNumber: stepNumber$1,
10634
+ stepButton: stepButton$1
10635
+ };
10636
+
10637
+ var toStepState = function toStepState(active, completed) {
10638
+ return active ? completed ? 'activeCompleted' : 'activeIncomplete' : completed ? 'inactiveCompleted' : 'inactiveIncomplete';
10639
+ };
10640
+
10641
+ var stepNumber = stepperTokens.stepNumber,
10642
+ connector = stepperTokens.connector,
10643
+ stepButton = stepperTokens.stepButton;
10644
+ var stepSize = '40px';
10645
+ var StepWrapper = styled__default["default"].li.withConfig({
10646
+ displayName: "Step__StepWrapper",
10647
+ componentId: "sc-5n6xpp-0"
10648
+ })(["flex:1;position:relative;display:flex;justify-content:center;:not(:last-child):after{content:'';display:block;border-top:1px solid ", ";position:absolute;width:100%;left:50%;top:calc(", " / 2);}"], connector.color, stepSize);
10649
+ var StepContentWrapper = styled__default["default"].div.withConfig({
10650
+ displayName: "Step__StepContentWrapper",
10651
+ componentId: "sc-5n6xpp-1"
10652
+ })(["background:none;border:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;transition:", ";:focus-visible{", "}", ""], focusVisibleTransitionValue, focusVisible, function (_ref) {
10653
+ var clickable = _ref.clickable;
10654
+ return clickable && styled.css(["cursor:pointer;"]);
10655
+ });
10656
+ var StepNumber = styled__default["default"].div.withConfig({
10657
+ displayName: "Step__StepNumber",
10658
+ componentId: "sc-5n6xpp-2"
10659
+ })(["border-radius:50%;border:1px solid;padding:5px;width:", ";height:", ";display:flex;align-items:center;justify-content:center;z-index:2;", ""], stepSize, stepSize, function (_ref2) {
10660
+ var state = _ref2.state;
10661
+
10662
+ switch (state) {
10663
+ case 'activeIncomplete':
10664
+ return styled.css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.active.borderColor, stepNumber.active.color, stepNumber.active.backgroundColor);
10665
+
10666
+ case 'activeCompleted':
10667
+ case 'inactiveCompleted':
10668
+ return styled.css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.completed.borderColor, stepNumber.completed.color, stepNumber.completed.backgroundColor);
10669
+
10670
+ case 'inactiveIncomplete':
10671
+ return styled.css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.inactive.borderColor, stepNumber.inactive.color, stepNumber.inactive.backgroundColor);
10672
+ }
10673
+ });
10674
+ var StepCompletedCheck = styled__default["default"].div.withConfig({
10675
+ displayName: "Step__StepCompletedCheck",
10676
+ componentId: "sc-5n6xpp-3"
10677
+ })(["border:solid ", ";border-width:0 2px 2px 0;transform:rotate(45deg);width:27.5%;height:55%;margin-top:-2px;"], stepNumber.completed.color);
10678
+ var StepText = styled__default["default"].div.withConfig({
10679
+ displayName: "Step__StepText",
10680
+ componentId: "sc-5n6xpp-4"
10681
+ })(["font-family:", ";font-size:", ";margin-top:", ";", ""], stepButton.fontFamily, stepButton.fontSize, stepButton.marginTop, function (_ref3) {
10682
+ var state = _ref3.state,
10683
+ clickable = _ref3.clickable;
10684
+
10685
+ switch (state) {
10686
+ case 'activeCompleted':
10687
+ case 'activeIncomplete':
10688
+ return styled.css(["color:", ";text-decoration ", ";"], stepButton.active.color, clickable ? stepButton.active.textDecoration : 'none');
10689
+
10690
+ case 'inactiveCompleted':
10691
+ return styled.css(["color:", ";text-decoration ", ";"], stepButton.completed.color, clickable ? stepButton.completed.textDecoration : 'none');
10692
+
10693
+ case 'inactiveIncomplete':
10694
+ return styled.css(["color:", ";text-decoration ", ";"], stepButton.inactive.color, clickable ? stepButton.inactive.textDecoration : 'none');
10695
+ }
10696
+ });
10697
+
10698
+ var getVisuallyHiddenText = function getVisuallyHiddenText(active, completed) {
10699
+ return "".concat(active ? '' : 'Trinn, ').concat(completed ? 'Ferdig, ' : 'Ikke ferdig, ');
10700
+ };
10701
+ /**
10702
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
10703
+ */
10704
+
10705
+
10706
+ var Step = function Step(props) {
10707
+ var _props$index = props.index,
10708
+ index = _props$index === void 0 ? 0 : _props$index,
10709
+ _props$completed = props.completed,
10710
+ completed = _props$completed === void 0 ? false : _props$completed,
10711
+ children = props.children;
10712
+
10713
+ var _useStepperContext = useStepperContext(),
10714
+ activeStep = _useStepperContext.activeStep;
10715
+
10716
+ var active = activeStep === index;
10717
+ var styleProps = {
10718
+ state: toStepState(active, completed),
10719
+ clickable: props.onClick !== undefined
10720
+ };
10721
+ return jsxRuntime.jsx(StepWrapper, Object.assign({
10722
+ "aria-current": active ? 'step' : undefined
10723
+ }, {
10724
+ children: jsxRuntime.jsxs(StepContentWrapper, Object.assign({}, styleProps, {
10725
+ as: props.onClick ? 'button' : 'div',
10726
+ onClick: props.onClick ? function () {
10727
+ return props.onClick(index);
10728
+ } : undefined
10729
+ }, {
10730
+ children: [jsxRuntime.jsx(StepNumber, Object.assign({}, styleProps, {
10731
+ children: completed ? jsxRuntime.jsx(StepCompletedCheck, {}) : index + 1
10732
+ })), jsxRuntime.jsxs(StepText, Object.assign({}, styleProps, {
10733
+ children: [jsxRuntime.jsx(VisuallyHidden, Object.assign({
10734
+ as: "span"
10735
+ }, {
10736
+ children: getVisuallyHiddenText(active, completed)
10737
+ })), children]
10738
+ }))]
10739
+ }))
10740
+ }));
10741
+ };
10742
+
10527
10743
  exports.AppsIcon = AppsIcon;
10528
10744
  exports.ArchiveIcon = ArchiveIcon;
10529
10745
  exports.ArrowDownIcon = ArrowDownIcon;
@@ -10684,6 +10900,8 @@ exports.SortCell = SortCell;
10684
10900
  exports.Spinner = Spinner;
10685
10901
  exports.StarFilledIcon = StarFilledIcon;
10686
10902
  exports.StarIcon = StarIcon;
10903
+ exports.Step = Step;
10904
+ exports.Stepper = Stepper;
10687
10905
  exports.SyncIcon = SyncIcon;
10688
10906
  exports.Tab = Tab;
10689
10907
  exports.TabList = TabList;
@@ -18,7 +18,7 @@ var getWidth = function getWidth(type) {
18
18
  var StyledInput = styled(StatefulInput).withConfig({
19
19
  displayName: "Datepicker__StyledInput",
20
20
  componentId: "sc-1ijxhje-0"
21
- })(["::-webkit-calendar-picker-indicator{background-image:url(\"", "\");", " margin-left:0px;padding:0;top:50%;transform:translate(0,-50%);box-sizing:border-box;}::-webkit-calendar-picker-indicator:focus-visible{", "}::-webkit-inner-spin-button{display:none;}@media (prefers-reduced-motion:no-preference){::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{transition:0.2s;}}::-webkit-datetime-edit-day-field:focus,::-webkit-datetime-edit-month-field:focus,::-webkit-datetime-edit-year-field:focus,::-webkit-datetime-edit-hour-field:focus,::-webkit-datetime-edit-minute-field:focus{", "}"], CalendarIcon, datepickerTokens.calendarIndicator.base, datepickerTokens.calendarIndicator.focus.base, typographyTokens.selection.base);
21
+ })(["::-webkit-calendar-picker-indicator{background-image:url(\"", "\");", " margin-left:0px;padding:0;top:50%;transform:translate(0,-50%);box-sizing:border-box;}::-webkit-datetime-edit-fields-wrapper{padding:0;}::-webkit-calendar-picker-indicator:focus-visible{", "}::-webkit-inner-spin-button{display:none;}@media (prefers-reduced-motion:no-preference){::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{transition:0.2s;}}::-webkit-datetime-edit-day-field:focus,::-webkit-datetime-edit-month-field:focus,::-webkit-datetime-edit-year-field:focus,::-webkit-datetime-edit-hour-field:focus,::-webkit-datetime-edit-minute-field:focus{", "}"], CalendarIcon, datepickerTokens.calendarIndicator.base, datepickerTokens.calendarIndicator.focus.base, typographyTokens.selection.base);
22
22
  var nextUniqueId = 0;
23
23
  var Datepicker = /*#__PURE__*/forwardRef(function (_a, ref) {
24
24
  var id = _a.id,
@@ -0,0 +1,20 @@
1
+ import { BaseComponentPropsWithChildren } from '../../types';
2
+ declare type BaseStepProps = {
3
+ /** Om steget er valgt eller ikke. Settes av konsument. */
4
+ active?: boolean;
5
+ /** Om steget er ferdig eller ikke. Settes av konsument */
6
+ completed?: boolean;
7
+ /** Indeksen til steget. NB! Denne settes automatisk av <Stepper /> og skal ikke settes manuelt. */
8
+ index?: number;
9
+ };
10
+ declare type StepProps = ({
11
+ /** Click-handler som gjør det mulig for bruker å klikke på steget for å navigere. Valgfri. */
12
+ onClick: (stepIndex: number) => void;
13
+ } & BaseComponentPropsWithChildren<HTMLButtonElement, BaseStepProps>) | ({
14
+ onClick?: undefined;
15
+ } & BaseComponentPropsWithChildren<HTMLDivElement, BaseStepProps>);
16
+ /**
17
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
18
+ */
19
+ export declare const Step: (props: StepProps) => JSX.Element;
20
+ export {};
@@ -0,0 +1,114 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import styled, { css } from 'styled-components';
3
+ import { useStepperContext } from './Stepper.context.js';
4
+ import { stepperTokens } from './Stepper.tokens.js';
5
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
6
+ import { focusVisibleTransitionValue, focusVisible } from '../../helpers/styling/focusVisible.js';
7
+
8
+ var toStepState = function toStepState(active, completed) {
9
+ return active ? completed ? 'activeCompleted' : 'activeIncomplete' : completed ? 'inactiveCompleted' : 'inactiveIncomplete';
10
+ };
11
+
12
+ var stepNumber = stepperTokens.stepNumber,
13
+ connector = stepperTokens.connector,
14
+ stepButton = stepperTokens.stepButton;
15
+ var stepSize = '40px';
16
+ var StepWrapper = styled.li.withConfig({
17
+ displayName: "Step__StepWrapper",
18
+ componentId: "sc-5n6xpp-0"
19
+ })(["flex:1;position:relative;display:flex;justify-content:center;:not(:last-child):after{content:'';display:block;border-top:1px solid ", ";position:absolute;width:100%;left:50%;top:calc(", " / 2);}"], connector.color, stepSize);
20
+ var StepContentWrapper = styled.div.withConfig({
21
+ displayName: "Step__StepContentWrapper",
22
+ componentId: "sc-5n6xpp-1"
23
+ })(["background:none;border:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;transition:", ";:focus-visible{", "}", ""], focusVisibleTransitionValue, focusVisible, function (_ref) {
24
+ var clickable = _ref.clickable;
25
+ return clickable && css(["cursor:pointer;"]);
26
+ });
27
+ var StepNumber = styled.div.withConfig({
28
+ displayName: "Step__StepNumber",
29
+ componentId: "sc-5n6xpp-2"
30
+ })(["border-radius:50%;border:1px solid;padding:5px;width:", ";height:", ";display:flex;align-items:center;justify-content:center;z-index:2;", ""], stepSize, stepSize, function (_ref2) {
31
+ var state = _ref2.state;
32
+
33
+ switch (state) {
34
+ case 'activeIncomplete':
35
+ return css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.active.borderColor, stepNumber.active.color, stepNumber.active.backgroundColor);
36
+
37
+ case 'activeCompleted':
38
+ case 'inactiveCompleted':
39
+ return css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.completed.borderColor, stepNumber.completed.color, stepNumber.completed.backgroundColor);
40
+
41
+ case 'inactiveIncomplete':
42
+ return css(["border-color:", ";color:", ";background-color:", ";"], stepNumber.inactive.borderColor, stepNumber.inactive.color, stepNumber.inactive.backgroundColor);
43
+ }
44
+ });
45
+ var StepCompletedCheck = styled.div.withConfig({
46
+ displayName: "Step__StepCompletedCheck",
47
+ componentId: "sc-5n6xpp-3"
48
+ })(["border:solid ", ";border-width:0 2px 2px 0;transform:rotate(45deg);width:27.5%;height:55%;margin-top:-2px;"], stepNumber.completed.color);
49
+ var StepText = styled.div.withConfig({
50
+ displayName: "Step__StepText",
51
+ componentId: "sc-5n6xpp-4"
52
+ })(["font-family:", ";font-size:", ";margin-top:", ";", ""], stepButton.fontFamily, stepButton.fontSize, stepButton.marginTop, function (_ref3) {
53
+ var state = _ref3.state,
54
+ clickable = _ref3.clickable;
55
+
56
+ switch (state) {
57
+ case 'activeCompleted':
58
+ case 'activeIncomplete':
59
+ return css(["color:", ";text-decoration ", ";"], stepButton.active.color, clickable ? stepButton.active.textDecoration : 'none');
60
+
61
+ case 'inactiveCompleted':
62
+ return css(["color:", ";text-decoration ", ";"], stepButton.completed.color, clickable ? stepButton.completed.textDecoration : 'none');
63
+
64
+ case 'inactiveIncomplete':
65
+ return css(["color:", ";text-decoration ", ";"], stepButton.inactive.color, clickable ? stepButton.inactive.textDecoration : 'none');
66
+ }
67
+ });
68
+
69
+ var getVisuallyHiddenText = function getVisuallyHiddenText(active, completed) {
70
+ return "".concat(active ? '' : 'Trinn, ').concat(completed ? 'Ferdig, ' : 'Ikke ferdig, ');
71
+ };
72
+ /**
73
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
74
+ */
75
+
76
+
77
+ var Step = function Step(props) {
78
+ var _props$index = props.index,
79
+ index = _props$index === void 0 ? 0 : _props$index,
80
+ _props$completed = props.completed,
81
+ completed = _props$completed === void 0 ? false : _props$completed,
82
+ children = props.children;
83
+
84
+ var _useStepperContext = useStepperContext(),
85
+ activeStep = _useStepperContext.activeStep;
86
+
87
+ var active = activeStep === index;
88
+ var styleProps = {
89
+ state: toStepState(active, completed),
90
+ clickable: props.onClick !== undefined
91
+ };
92
+ return jsx(StepWrapper, Object.assign({
93
+ "aria-current": active ? 'step' : undefined
94
+ }, {
95
+ children: jsxs(StepContentWrapper, Object.assign({}, styleProps, {
96
+ as: props.onClick ? 'button' : 'div',
97
+ onClick: props.onClick ? function () {
98
+ return props.onClick(index);
99
+ } : undefined
100
+ }, {
101
+ children: [jsx(StepNumber, Object.assign({}, styleProps, {
102
+ children: completed ? jsx(StepCompletedCheck, {}) : index + 1
103
+ })), jsxs(StepText, Object.assign({}, styleProps, {
104
+ children: [jsx(VisuallyHidden, Object.assign({
105
+ as: "span"
106
+ }, {
107
+ children: getVisuallyHiddenText(active, completed)
108
+ })), children]
109
+ }))]
110
+ }))
111
+ }));
112
+ };
113
+
114
+ export { Step };
@@ -0,0 +1,6 @@
1
+ declare type StepperContextType = {
2
+ activeStep: number;
3
+ };
4
+ export declare const StepperContext: import("react").Context<StepperContextType>;
5
+ export declare const useStepperContext: () => StepperContextType;
6
+ export {};
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ var StepperContext = /*#__PURE__*/createContext({
4
+ activeStep: 0
5
+ });
6
+ var useStepperContext = function useStepperContext() {
7
+ return useContext(StepperContext);
8
+ };
9
+
10
+ export { StepperContext, useStepperContext };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
3
+ */
4
+ export declare const Stepper: import("react").ForwardRefExoticComponent<{
5
+ htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
6
+ } & Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
7
+ /** Indeksen til det aktive steget. */
8
+ activeStep?: number | undefined;
9
+ } & {
10
+ children?: import("react").ReactNode;
11
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,66 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { forwardRef, useState, useEffect, Children, isValidElement, cloneElement } from 'react';
5
+ import styled from 'styled-components';
6
+ import { StepperContext } from './Stepper.context.js';
7
+ import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
8
+
9
+ var StepsWrapper = styled.ol.withConfig({
10
+ displayName: "Stepper__StepsWrapper",
11
+ componentId: "sc-4w2c73-0"
12
+ })(["display:flex;margin:0;padding:0;"]);
13
+ /**
14
+ * @beta Denne komponenten er ikke ferdig og endringer kan gjøres utenfor semver.
15
+ */
16
+
17
+ var Stepper = /*#__PURE__*/forwardRef(function (props, ref) {
18
+ var _a;
19
+
20
+ var id = props.id,
21
+ _props$activeStep = props.activeStep,
22
+ activeStep = _props$activeStep === void 0 ? 0 : _props$activeStep,
23
+ children = props.children,
24
+ className = props.className,
25
+ htmlProps = props.htmlProps,
26
+ rest = __rest(props, ["id", "activeStep", "children", "className", "htmlProps"]);
27
+
28
+ var _useState = useState(activeStep),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ thisActiveStep = _useState2[0],
31
+ setActiveStep = _useState2[1];
32
+
33
+ useEffect(function () {
34
+ if (activeStep !== undefined && activeStep != thisActiveStep) {
35
+ setActiveStep(activeStep);
36
+ }
37
+ }, [activeStep, thisActiveStep]);
38
+ var containerProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
39
+ ref: ref
40
+ });
41
+ var steps = (_a = Children.map(children, function (step, index) {
42
+ if (! /*#__PURE__*/isValidElement(step)) {
43
+ return false;
44
+ }
45
+
46
+ return /*#__PURE__*/cloneElement(step, Object.assign(Object.assign({}, step.props), {
47
+ index: index
48
+ }));
49
+ })) === null || _a === void 0 ? void 0 : _a.filter(Boolean);
50
+ return jsx(StepperContext.Provider, Object.assign({
51
+ value: {
52
+ activeStep: thisActiveStep
53
+ }
54
+ }, {
55
+ children: jsx("div", Object.assign({
56
+ role: "group",
57
+ "aria-label": "progress"
58
+ }, containerProps, {
59
+ children: jsx(StepsWrapper, {
60
+ children: steps
61
+ })
62
+ }))
63
+ }));
64
+ });
65
+
66
+ export { Stepper };
@@ -0,0 +1,25 @@
1
+ declare const _default: {
2
+ title: string;
3
+ component: import("react").ForwardRefExoticComponent<{
4
+ htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
5
+ } & Pick<import("react").HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
6
+ activeStep?: number | undefined;
7
+ } & {
8
+ children?: import("react").ReactNode;
9
+ } & import("react").RefAttributes<HTMLDivElement>>;
10
+ argTypes: {
11
+ color: {
12
+ control: {
13
+ type: string;
14
+ };
15
+ };
16
+ size: {
17
+ control: {
18
+ type: string;
19
+ };
20
+ };
21
+ };
22
+ };
23
+ export default _default;
24
+ export declare const Overview: () => JSX.Element;
25
+ export declare const NonClickable: () => JSX.Element;
@@ -0,0 +1,39 @@
1
+ export declare const stepperTokens: {
2
+ connector: {
3
+ color: string;
4
+ };
5
+ stepNumber: {
6
+ active: {
7
+ borderColor: string;
8
+ color: string;
9
+ backgroundColor: string;
10
+ };
11
+ completed: {
12
+ borderColor: string;
13
+ color: string;
14
+ backgroundColor: string;
15
+ };
16
+ inactive: {
17
+ borderColor: string;
18
+ color: string;
19
+ backgroundColor: string;
20
+ };
21
+ };
22
+ stepButton: {
23
+ marginTop: string;
24
+ fontFamily: string;
25
+ fontSize: string;
26
+ active: {
27
+ color: string;
28
+ textDecoration: string;
29
+ };
30
+ completed: {
31
+ color: string;
32
+ textDecoration: string;
33
+ };
34
+ inactive: {
35
+ color: string;
36
+ textDecoration: string;
37
+ };
38
+ };
39
+ };
@@ -0,0 +1,49 @@
1
+ import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
2
+
3
+ var colors = ddsBaseTokens.colors,
4
+ spacing = ddsBaseTokens.spacing,
5
+ font = ddsBaseTokens.font;
6
+ var connector = {
7
+ color: colors.DdsColorInteractiveBase
8
+ };
9
+ var stepNumber = {
10
+ active: {
11
+ borderColor: colors.DdsColorInteractiveBase,
12
+ color: colors.DdsColorNeutralsWhite,
13
+ backgroundColor: colors.DdsColorInteractiveBase
14
+ },
15
+ completed: {
16
+ borderColor: colors.DdsColorSuccessLighter,
17
+ color: colors.DdsColorNeutralsGray9,
18
+ backgroundColor: colors.DdsColorSuccessLighter
19
+ },
20
+ inactive: {
21
+ borderColor: colors.DdsColorInteractiveBase,
22
+ color: colors.DdsColorInteractiveBase,
23
+ backgroundColor: colors.DdsColorNeutralsWhite
24
+ }
25
+ };
26
+ var stepButton = {
27
+ marginTop: spacing.SizesDdsSpacingLayoutX1,
28
+ fontFamily: font.DdsFontSupportingStyleLabel01FontFamily,
29
+ fontSize: font.DdsFontSupportingStyleLabel01FontSize,
30
+ active: {
31
+ color: colors.DdsColorNeutralsGray9,
32
+ textDecoration: 'none'
33
+ },
34
+ completed: {
35
+ color: colors.DdsColorInteractiveBase,
36
+ textDecoration: 'underline'
37
+ },
38
+ inactive: {
39
+ color: colors.DdsColorInteractiveBase,
40
+ textDecoration: 'underline'
41
+ }
42
+ };
43
+ var stepperTokens = {
44
+ connector: connector,
45
+ stepNumber: stepNumber,
46
+ stepButton: stepButton
47
+ };
48
+
49
+ export { stepperTokens };
@@ -0,0 +1,2 @@
1
+ export * from './Stepper';
2
+ export * from './Step';
@@ -6,7 +6,7 @@ import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
6
6
  var Wrapper = styled.span.withConfig({
7
7
  displayName: "VisuallyHidden__Wrapper",
8
8
  componentId: "sc-ciubxt-0"
9
- })(["width:1px;height:1px;margin:0px;padding:0px;top:0px;inset-inline-start:0px;overflow:hidden;clip:rect(0px,0px,0px,0px);border:0px;"]);
9
+ })(["position:absolute;width:1px;height:1px;margin:0px;padding:0px;top:0px;inset-inline-start:0px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0px;"]);
10
10
  var VisuallyHidden = function VisuallyHidden(props) {
11
11
  var children = props.children,
12
12
  id = props.id,
package/dist/index.d.ts CHANGED
@@ -34,3 +34,4 @@ export * from './components/Tag';
34
34
  export * from './components/Chip';
35
35
  export * from './components/VisuallyHidden';
36
36
  export * from './icons/tsx';
37
+ export * from './components/Stepper';
package/dist/index.js CHANGED
@@ -186,3 +186,5 @@ export { VisibilityOnIcon } from './icons/tsx/visibilityOn.js';
186
186
  export { WarningIcon } from './icons/tsx/warning.js';
187
187
  export { ZoomInIcon } from './icons/tsx/zoomIn.js';
188
188
  export { ZoomOutIcon } from './icons/tsx/zoomOut.js';
189
+ export { Stepper } from './components/Stepper/Stepper.js';
190
+ export { Step } from './components/Stepper/Step.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norges-domstoler/dds-components",
3
- "version": "5.1.0",
3
+ "version": "5.2.0-beta.0",
4
4
  "description": "React components used in Elsa - domstolenes designsystem",
5
5
  "author": "Elsa team",
6
6
  "license": "MIT",
@@ -111,7 +111,7 @@
111
111
  "dependencies": {
112
112
  "@emotion/react": "^11.9.0",
113
113
  "@emotion/styled": "^11.8.1",
114
- "@floating-ui/react-dom": "^0.7.2",
114
+ "@floating-ui/react-dom": "^1.0.0",
115
115
  "focus-visible": "^5.2.0",
116
116
  "react-select": "^5.3.0",
117
117
  "tslib": "^2.4.0"