@navikt/ds-react 1.3.0-alpha.0 → 1.3.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 (149) hide show
  1. package/_docs.json +333 -1070
  2. package/cjs/index.js +0 -1
  3. package/cjs/stepper/Step.js +11 -5
  4. package/cjs/stepper/Stepper.js +2 -1
  5. package/cjs/toggle-group/ToggleGroup.js +2 -2
  6. package/esm/form/TextField.d.ts +2 -2
  7. package/esm/index.d.ts +0 -1
  8. package/esm/index.js +0 -1
  9. package/esm/index.js.map +1 -1
  10. package/esm/stepper/Step.d.ts +10 -0
  11. package/esm/stepper/Step.js +11 -5
  12. package/esm/stepper/Step.js.map +1 -1
  13. package/esm/stepper/Stepper.d.ts +6 -0
  14. package/esm/stepper/Stepper.js +2 -1
  15. package/esm/stepper/Stepper.js.map +1 -1
  16. package/esm/toggle-group/ToggleGroup.js +2 -2
  17. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  18. package/package.json +3 -7
  19. package/src/form/TextField.tsx +2 -2
  20. package/src/help-text/help-text.stories.tsx +4 -1
  21. package/src/index.ts +0 -1
  22. package/src/stepper/Step.tsx +41 -8
  23. package/src/stepper/Stepper.tsx +8 -0
  24. package/src/stepper/stepper.stories.tsx +94 -21
  25. package/src/toggle-group/ToggleGroup.tsx +2 -6
  26. package/cjs/datepicker/DatePicker.js +0 -122
  27. package/cjs/datepicker/DatePickerInput.js +0 -68
  28. package/cjs/datepicker/DatePickerStandalone.js +0 -80
  29. package/cjs/datepicker/caption/Caption.js +0 -23
  30. package/cjs/datepicker/caption/DropdownCaption.js +0 -36
  31. package/cjs/datepicker/caption/index.js +0 -10
  32. package/cjs/datepicker/caption/package.json +0 -6
  33. package/cjs/datepicker/hooks/index.js +0 -7
  34. package/cjs/datepicker/hooks/package.json +0 -6
  35. package/cjs/datepicker/hooks/useDatepicker.js +0 -101
  36. package/cjs/datepicker/hooks/useRangeDatepicker.js +0 -174
  37. package/cjs/datepicker/index.js +0 -11
  38. package/cjs/datepicker/package.json +0 -6
  39. package/cjs/datepicker/utils/dates-disabled.js +0 -29
  40. package/cjs/datepicker/utils/format-date.js +0 -7
  41. package/cjs/datepicker/utils/get-dates.js +0 -43
  42. package/cjs/datepicker/utils/index.js +0 -19
  43. package/cjs/datepicker/utils/labels.js +0 -59
  44. package/cjs/datepicker/utils/locale.js +0 -21
  45. package/cjs/datepicker/utils/package.json +0 -6
  46. package/cjs/datepicker/utils/parse-date.js +0 -29
  47. package/cjs/datepicker/utils/valid-date.js +0 -8
  48. package/cjs/monthpicker/MonthPicker.js +0 -112
  49. package/cjs/monthpicker/index.js +0 -8
  50. package/cjs/monthpicker/package.json +0 -6
  51. package/cjs/monthpicker/utils/check-dates.js +0 -12
  52. package/cjs/monthpicker/utils/handle-selected.js +0 -17
  53. package/esm/datepicker/DatePicker.d.ts +0 -107
  54. package/esm/datepicker/DatePicker.js +0 -94
  55. package/esm/datepicker/DatePicker.js.map +0 -1
  56. package/esm/datepicker/DatePickerInput.d.ts +0 -25
  57. package/esm/datepicker/DatePickerInput.js +0 -40
  58. package/esm/datepicker/DatePickerInput.js.map +0 -1
  59. package/esm/datepicker/DatePickerStandalone.d.ts +0 -12
  60. package/esm/datepicker/DatePickerStandalone.js +0 -52
  61. package/esm/datepicker/DatePickerStandalone.js.map +0 -1
  62. package/esm/datepicker/caption/Caption.d.ts +0 -4
  63. package/esm/datepicker/caption/Caption.js +0 -17
  64. package/esm/datepicker/caption/Caption.js.map +0 -1
  65. package/esm/datepicker/caption/DropdownCaption.d.ts +0 -4
  66. package/esm/datepicker/caption/DropdownCaption.js +0 -30
  67. package/esm/datepicker/caption/DropdownCaption.js.map +0 -1
  68. package/esm/datepicker/caption/index.d.ts +0 -2
  69. package/esm/datepicker/caption/index.js +0 -3
  70. package/esm/datepicker/caption/index.js.map +0 -1
  71. package/esm/datepicker/hooks/index.d.ts +0 -2
  72. package/esm/datepicker/hooks/index.js +0 -3
  73. package/esm/datepicker/hooks/index.js.map +0 -1
  74. package/esm/datepicker/hooks/useDatepicker.d.ts +0 -37
  75. package/esm/datepicker/hooks/useDatepicker.js +0 -98
  76. package/esm/datepicker/hooks/useDatepicker.js.map +0 -1
  77. package/esm/datepicker/hooks/useRangeDatepicker.d.ts +0 -36
  78. package/esm/datepicker/hooks/useRangeDatepicker.js +0 -171
  79. package/esm/datepicker/hooks/useRangeDatepicker.js.map +0 -1
  80. package/esm/datepicker/index.d.ts +0 -5
  81. package/esm/datepicker/index.js +0 -3
  82. package/esm/datepicker/index.js.map +0 -1
  83. package/esm/datepicker/utils/dates-disabled.d.ts +0 -1
  84. package/esm/datepicker/utils/dates-disabled.js +0 -26
  85. package/esm/datepicker/utils/dates-disabled.js.map +0 -1
  86. package/esm/datepicker/utils/format-date.d.ts +0 -1
  87. package/esm/datepicker/utils/format-date.js +0 -4
  88. package/esm/datepicker/utils/format-date.js.map +0 -1
  89. package/esm/datepicker/utils/get-dates.d.ts +0 -2
  90. package/esm/datepicker/utils/get-dates.js +0 -39
  91. package/esm/datepicker/utils/get-dates.js.map +0 -1
  92. package/esm/datepicker/utils/index.d.ts +0 -6
  93. package/esm/datepicker/utils/index.js +0 -7
  94. package/esm/datepicker/utils/index.js.map +0 -1
  95. package/esm/datepicker/utils/labels.d.ts +0 -4
  96. package/esm/datepicker/utils/labels.js +0 -55
  97. package/esm/datepicker/utils/labels.js.map +0 -1
  98. package/esm/datepicker/utils/locale.d.ts +0 -2
  99. package/esm/datepicker/utils/locale.js +0 -15
  100. package/esm/datepicker/utils/locale.js.map +0 -1
  101. package/esm/datepicker/utils/parse-date.d.ts +0 -2
  102. package/esm/datepicker/utils/parse-date.js +0 -26
  103. package/esm/datepicker/utils/parse-date.js.map +0 -1
  104. package/esm/datepicker/utils/valid-date.d.ts +0 -2
  105. package/esm/datepicker/utils/valid-date.js +0 -5
  106. package/esm/datepicker/utils/valid-date.js.map +0 -1
  107. package/esm/monthpicker/MonthPicker.d.ts +0 -27
  108. package/esm/monthpicker/MonthPicker.js +0 -84
  109. package/esm/monthpicker/MonthPicker.js.map +0 -1
  110. package/esm/monthpicker/index.d.ts +0 -2
  111. package/esm/monthpicker/index.js +0 -2
  112. package/esm/monthpicker/index.js.map +0 -1
  113. package/esm/monthpicker/utils/check-dates.d.ts +0 -2
  114. package/esm/monthpicker/utils/check-dates.js +0 -8
  115. package/esm/monthpicker/utils/check-dates.js.map +0 -1
  116. package/esm/monthpicker/utils/handle-selected.d.ts +0 -3
  117. package/esm/monthpicker/utils/handle-selected.js +0 -12
  118. package/esm/monthpicker/utils/handle-selected.js.map +0 -1
  119. package/src/datepicker/DatePicker.tsx +0 -281
  120. package/src/datepicker/DatePickerInput.tsx +0 -131
  121. package/src/datepicker/DatePickerStandalone.tsx +0 -121
  122. package/src/datepicker/caption/Caption.tsx +0 -51
  123. package/src/datepicker/caption/DropdownCaption.tsx +0 -94
  124. package/src/datepicker/caption/index.ts +0 -2
  125. package/src/datepicker/datepicker.stories.mdx +0 -467
  126. package/src/datepicker/datepicker.stories.tsx +0 -257
  127. package/src/datepicker/hooks/index.ts +0 -2
  128. package/src/datepicker/hooks/useDatepicker.tsx +0 -181
  129. package/src/datepicker/hooks/useRangeDatepicker.tsx +0 -285
  130. package/src/datepicker/index.ts +0 -5
  131. package/src/datepicker/utils/__tests__/dates-disabled.test.ts +0 -48
  132. package/src/datepicker/utils/__tests__/format-dates.test.ts +0 -14
  133. package/src/datepicker/utils/__tests__/get-dates.test.ts +0 -79
  134. package/src/datepicker/utils/__tests__/parse-dates.test.ts +0 -81
  135. package/src/datepicker/utils/dates-disabled.ts +0 -26
  136. package/src/datepicker/utils/format-date.ts +0 -5
  137. package/src/datepicker/utils/get-dates.ts +0 -44
  138. package/src/datepicker/utils/index.ts +0 -6
  139. package/src/datepicker/utils/labels.ts +0 -58
  140. package/src/datepicker/utils/locale.ts +0 -15
  141. package/src/datepicker/utils/parse-date.ts +0 -28
  142. package/src/datepicker/utils/valid-date.ts +0 -4
  143. package/src/monthpicker/MonthPicker.tsx +0 -238
  144. package/src/monthpicker/index.ts +0 -2
  145. package/src/monthpicker/monthpicker.stories.tsx +0 -35
  146. package/src/monthpicker/utils/__tests__/check-dates.test.ts +0 -34
  147. package/src/monthpicker/utils/__tests__/handle-selected.test.ts +0 -87
  148. package/src/monthpicker/utils/check-dates.ts +0 -15
  149. package/src/monthpicker/utils/handle-selected.ts +0 -26
package/cjs/index.js CHANGED
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./accordion"), exports);
18
18
  __exportStar(require("./alert"), exports);
19
19
  __exportStar(require("./button"), exports);
20
- __exportStar(require("./datepicker"), exports);
21
20
  __exportStar(require("./form"), exports);
22
21
  __exportStar(require("./grid"), exports);
23
22
  __exportStar(require("./help-text"), exports);
@@ -38,26 +38,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.StepComponent = void 0;
41
+ const ds_icons_1 = require("@navikt/ds-icons");
41
42
  const clsx_1 = __importDefault(require("clsx"));
42
43
  const react_1 = __importStar(require("react"));
43
- const Stepper_1 = require("./Stepper");
44
44
  const __1 = require("..");
45
+ const Stepper_1 = require("./Stepper");
45
46
  exports.StepComponent = (0, react_1.forwardRef)((_a, ref) => {
46
- var { className, children, as: Component = "a", unsafe_index = 0 } = _a, rest = __rest(_a, ["className", "children", "as", "unsafe_index"]);
47
+ var { className, children, as: Component = "a", unsafe_index = 0, completed = false, interactive } = _a, rest = __rest(_a, ["className", "children", "as", "unsafe_index", "completed", "interactive"]);
47
48
  const context = (0, react_1.useContext)(Stepper_1.StepperContext);
48
49
  if (context === null) {
49
50
  console.error("<Stepper.Step> has to be used within <Stepper>");
50
51
  return null;
51
52
  }
52
53
  const { activeStep } = context;
53
- return (react_1.default.createElement(Component, Object.assign({}, rest, { "aria-current": activeStep === unsafe_index, ref: ref, className: (0, clsx_1.default)("navds-stepper__step", className, {
54
+ const isInteractive = interactive !== null && interactive !== void 0 ? interactive : context === null || context === void 0 ? void 0 : context.interactive;
55
+ const Comp = isInteractive ? Component : "div";
56
+ return (react_1.default.createElement(Comp, Object.assign({}, rest, { "aria-current": activeStep === unsafe_index, ref: ref, className: (0, clsx_1.default)("navds-stepper__step", className, {
54
57
  "navds-stepper__step--active": activeStep === unsafe_index,
58
+ "navds-stepper__step--behind": activeStep > unsafe_index,
59
+ "navds-stepper__step--non-interactive": !isInteractive,
60
+ "navds-stepper__step--completed": completed,
55
61
  }), onClick: (e) => {
56
62
  var _a;
57
- context.onStepChange(unsafe_index + 1);
63
+ isInteractive && context.onStepChange(unsafe_index + 1);
58
64
  (_a = rest === null || rest === void 0 ? void 0 : rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, e);
59
65
  } }),
60
- react_1.default.createElement(__1.Label, { className: "navds-stepper__circle", as: "span", "aria-hidden": "true" }, unsafe_index + 1),
66
+ completed ? (react_1.default.createElement(ds_icons_1.SuccessFilled, { "aria-hidden": true, className: "navds-stepper__circle navds-stepper__circle--success" })) : (react_1.default.createElement(__1.Label, { className: "navds-stepper__circle", as: "span", "aria-hidden": "true" }, unsafe_index + 1)),
61
67
  react_1.default.createElement(__1.Label, { as: "span", className: "navds-stepper__content" }, children)));
62
68
  });
63
69
  const Step = exports.StepComponent;
@@ -43,7 +43,7 @@ const clsx_1 = __importDefault(require("clsx"));
43
43
  const Step_1 = __importDefault(require("./Step"));
44
44
  exports.StepperContext = (0, react_1.createContext)(null);
45
45
  exports.Stepper = (0, react_1.forwardRef)((_a, ref) => {
46
- var { children, className, activeStep, orientation = "vertical", onStepChange = () => { } } = _a, rest = __rest(_a, ["children", "className", "activeStep", "orientation", "onStepChange"]);
46
+ var { children, className, activeStep, orientation = "vertical", onStepChange = () => { }, interactive = true } = _a, rest = __rest(_a, ["children", "className", "activeStep", "orientation", "onStepChange", "interactive"]);
47
47
  activeStep = activeStep - 1;
48
48
  return (react_1.default.createElement("ol", Object.assign({}, rest, { ref: ref, className: (0, clsx_1.default)("navds-stepper", orientation === "horizontal" ? "navds-stepper--horizontal" : "", className) }),
49
49
  react_1.default.createElement(exports.StepperContext.Provider, { value: {
@@ -51,6 +51,7 @@ exports.Stepper = (0, react_1.forwardRef)((_a, ref) => {
51
51
  onStepChange,
52
52
  lastIndex: react_1.default.Children.count(children),
53
53
  orientation,
54
+ interactive,
54
55
  } }, react_1.default.Children.map(children, (step, index) => {
55
56
  var _a, _b;
56
57
  return (react_1.default.createElement("li", { className: (0, clsx_1.default)("navds-stepper__item"), key: index + ((_b = (_a = children === null || children === void 0 ? void 0 : children.toString) === null || _a === void 0 ? void 0 : _a.call(children)) !== null && _b !== void 0 ? _b : "") },
@@ -67,9 +67,9 @@ exports.ToggleGroup = (0, react_1.forwardRef)((_a, ref) => {
67
67
  return (react_1.default.createElement(exports.ToggleGroupContext.Provider, { value: {
68
68
  size,
69
69
  } },
70
- react_1.default.createElement("div", null,
70
+ react_1.default.createElement("div", { className: (0, clsx_1.default)("navds-toggle-group__wrapper", className) },
71
71
  label && (react_1.default.createElement(__1.Label, { size: size, className: "navds-toggle-group__label", id: labelId }, label)),
72
- react_1.default.createElement(RadixToggleGroup.Root, Object.assign({}, rest, { onValueChange: handleValueChange, value: value !== null && value !== void 0 ? value : groupValue, defaultValue: defaultValue, ref: ref, className: (0, clsx_1.default)("navds-toggle-group", className, `navds-toggle-group--${size}`) }, (describeBy && { "aria-describedby": describeBy }), { role: "radiogroup", type: "single" }), children))));
72
+ react_1.default.createElement(RadixToggleGroup.Root, Object.assign({}, rest, { onValueChange: handleValueChange, value: value !== null && value !== void 0 ? value : groupValue, defaultValue: defaultValue, ref: ref, className: (0, clsx_1.default)("navds-toggle-group", `navds-toggle-group--${size}`) }, (describeBy && { "aria-describedby": describeBy }), { role: "radiogroup", type: "single" }), children))));
73
73
  });
74
74
  exports.ToggleGroup.Item = ToggleItem_1.default;
75
75
  exports.default = exports.ToggleGroup;
@@ -4,11 +4,11 @@ export interface TextFieldProps extends FormFieldProps, Omit<InputHTMLAttributes
4
4
  /**
5
5
  * Controlled value
6
6
  */
7
- value?: string;
7
+ value?: string | number;
8
8
  /**
9
9
  * Defaults input-value without needing controlled-state
10
10
  */
11
- defaultValue?: string;
11
+ defaultValue?: string | number;
12
12
  /**
13
13
  * Exposes the HTML size attribute
14
14
  */
package/esm/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./accordion";
2
2
  export * from "./alert";
3
3
  export * from "./button";
4
- export * from "./datepicker";
5
4
  export * from "./form";
6
5
  export * from "./grid";
7
6
  export * from "./help-text";
package/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./accordion";
2
2
  export * from "./alert";
3
3
  export * from "./button";
4
- export * from "./datepicker";
5
4
  export * from "./form";
6
5
  export * from "./grid";
7
6
  export * from "./help-text";
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
@@ -10,6 +10,16 @@ export interface StepperStepProps extends React.AnchorHTMLAttributes<HTMLAnchorE
10
10
  * @private
11
11
  */
12
12
  unsafe_index?: number;
13
+ /**
14
+ * Makes step-indicator a checkmark
15
+ * @default false
16
+ */
17
+ completed?: boolean;
18
+ /**
19
+ * Makes step non-interactive if false. Step will be set to a <div>, overriding `as`-prop
20
+ * @default true
21
+ */
22
+ interactive?: boolean;
13
23
  }
14
24
  export interface StepperStepType extends OverridableComponent<StepperStepProps, HTMLAnchorElement> {
15
25
  }
@@ -9,26 +9,32 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
+ import { SuccessFilled } from "@navikt/ds-icons";
12
13
  import cl from "clsx";
13
14
  import React, { forwardRef, useContext } from "react";
14
- import { StepperContext } from "./Stepper";
15
15
  import { Label } from "..";
16
+ import { StepperContext } from "./Stepper";
16
17
  export const StepComponent = forwardRef((_a, ref) => {
17
- var { className, children, as: Component = "a", unsafe_index = 0 } = _a, rest = __rest(_a, ["className", "children", "as", "unsafe_index"]);
18
+ var { className, children, as: Component = "a", unsafe_index = 0, completed = false, interactive } = _a, rest = __rest(_a, ["className", "children", "as", "unsafe_index", "completed", "interactive"]);
18
19
  const context = useContext(StepperContext);
19
20
  if (context === null) {
20
21
  console.error("<Stepper.Step> has to be used within <Stepper>");
21
22
  return null;
22
23
  }
23
24
  const { activeStep } = context;
24
- return (React.createElement(Component, Object.assign({}, rest, { "aria-current": activeStep === unsafe_index, ref: ref, className: cl("navds-stepper__step", className, {
25
+ const isInteractive = interactive !== null && interactive !== void 0 ? interactive : context === null || context === void 0 ? void 0 : context.interactive;
26
+ const Comp = isInteractive ? Component : "div";
27
+ return (React.createElement(Comp, Object.assign({}, rest, { "aria-current": activeStep === unsafe_index, ref: ref, className: cl("navds-stepper__step", className, {
25
28
  "navds-stepper__step--active": activeStep === unsafe_index,
29
+ "navds-stepper__step--behind": activeStep > unsafe_index,
30
+ "navds-stepper__step--non-interactive": !isInteractive,
31
+ "navds-stepper__step--completed": completed,
26
32
  }), onClick: (e) => {
27
33
  var _a;
28
- context.onStepChange(unsafe_index + 1);
34
+ isInteractive && context.onStepChange(unsafe_index + 1);
29
35
  (_a = rest === null || rest === void 0 ? void 0 : rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, e);
30
36
  } }),
31
- React.createElement(Label, { className: "navds-stepper__circle", as: "span", "aria-hidden": "true" }, unsafe_index + 1),
37
+ completed ? (React.createElement(SuccessFilled, { "aria-hidden": true, className: "navds-stepper__circle navds-stepper__circle--success" })) : (React.createElement(Label, { className: "navds-stepper__circle", as: "span", "aria-hidden": "true" }, unsafe_index + 1)),
32
38
  React.createElement(Label, { as: "span", className: "navds-stepper__content" }, children)));
33
39
  });
34
40
  const Step = StepComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","sourceRoot":"","sources":["../../src/stepper/Step.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAwB,MAAM,IAAI,CAAC;AAkBjD,MAAM,CAAC,MAAM,aAAa,GAGtB,UAAU,CACZ,CACE,EAAuE,EACvE,GAAG,EACH,EAAE;QAFF,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,GAAG,CAAC,OAAW,EAAN,IAAI,cAArE,+CAAuE,CAAF;IAGrE,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,oBACM,UAAU,KAAK,YAAY,EACzC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE;YAC9C,6BAA6B,EAAE,UAAU,KAAK,YAAY;SAC3D,CAAC,EACF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;YACb,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACvC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,qDAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,oBAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,EAAE,EAAC,MAAM,iBAAa,MAAM,IAClE,YAAY,GAAG,CAAC,CACX;QACR,oBAAC,KAAK,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,wBAAwB,IAChD,QAAQ,CACH,CACE,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,IAAI,GAAG,aAAgC,CAAC;AAE9C,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Step.js","sourceRoot":"","sources":["../../src/stepper/Step.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,EAAwB,MAAM,IAAI,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA4B3C,MAAM,CAAC,MAAM,aAAa,GAGtB,UAAU,CACZ,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,SAAS,EACT,QAAQ,EACR,EAAE,EAAE,SAAS,GAAG,GAAG,EACnB,YAAY,GAAG,CAAC,EAChB,SAAS,GAAG,KAAK,EACjB,WAAW,OAEZ,EADI,IAAI,cAPT,2EAQC,CADQ;IAIT,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,MAAM,aAAa,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC;IAE1D,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/C,OAAO,CACL,oBAAC,IAAI,oBACC,IAAI,oBACM,UAAU,KAAK,YAAY,EACzC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE;YAC9C,6BAA6B,EAAE,UAAU,KAAK,YAAY;YAC1D,6BAA6B,EAAE,UAAU,GAAG,YAAY;YACxD,sCAAsC,EAAE,CAAC,aAAa;YACtD,gCAAgC,EAAE,SAAS;SAC5C,CAAC,EACF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;YACb,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACxD,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,qDAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QAEA,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,aAAa,yBAEZ,SAAS,EAAC,sDAAsD,GAChE,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,EAAE,EAAC,MAAM,iBAAa,MAAM,IAClE,YAAY,GAAG,CAAC,CACX,CACT;QACD,oBAAC,KAAK,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,wBAAwB,IAChD,QAAQ,CACH,CACH,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,IAAI,GAAG,aAAgC,CAAC;AAE9C,eAAe,IAAI,CAAC"}
@@ -20,6 +20,11 @@ export interface StepperProps extends React.HTMLAttributes<HTMLOListElement> {
20
20
  * @note Stepper index starts at 1, not 0
21
21
  */
22
22
  onStepChange?: (step: number) => void;
23
+ /**
24
+ * Makes stepper non-interactive if false
25
+ * @default true
26
+ */
27
+ interactive?: boolean;
23
28
  }
24
29
  interface StepperComponent extends React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLOListElement>> {
25
30
  Step: StepperStepType;
@@ -29,6 +34,7 @@ interface StepperContextProps {
29
34
  onStepChange: (step: number) => void;
30
35
  lastIndex: number;
31
36
  orientation: "horizontal" | "vertical";
37
+ interactive: boolean;
32
38
  }
33
39
  export declare const StepperContext: React.Context<StepperContextProps | null>;
34
40
  export declare const Stepper: StepperComponent;
@@ -14,7 +14,7 @@ import cl from "clsx";
14
14
  import Step from "./Step";
15
15
  export const StepperContext = createContext(null);
16
16
  export const Stepper = forwardRef((_a, ref) => {
17
- var { children, className, activeStep, orientation = "vertical", onStepChange = () => { } } = _a, rest = __rest(_a, ["children", "className", "activeStep", "orientation", "onStepChange"]);
17
+ var { children, className, activeStep, orientation = "vertical", onStepChange = () => { }, interactive = true } = _a, rest = __rest(_a, ["children", "className", "activeStep", "orientation", "onStepChange", "interactive"]);
18
18
  activeStep = activeStep - 1;
19
19
  return (React.createElement("ol", Object.assign({}, rest, { ref: ref, className: cl("navds-stepper", orientation === "horizontal" ? "navds-stepper--horizontal" : "", className) }),
20
20
  React.createElement(StepperContext.Provider, { value: {
@@ -22,6 +22,7 @@ export const Stepper = forwardRef((_a, ref) => {
22
22
  onStepChange,
23
23
  lastIndex: React.Children.count(children),
24
24
  orientation,
25
+ interactive,
25
26
  } }, React.Children.map(children, (step, index) => {
26
27
  var _a, _b;
27
28
  return (React.createElement("li", { className: cl("navds-stepper__item"), key: index + ((_b = (_a = children === null || children === void 0 ? void 0 : children.toString) === null || _a === void 0 ? void 0 : _a.call(children)) !== null && _b !== void 0 ? _b : "") },
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sourceRoot":"","sources":["../../src/stepper/Stepper.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,IAA2C,MAAM,QAAQ,CAAC;AAsCjE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAqB,UAAU,CAIjD,CACE,EAOC,EACD,GAAG,EACH,EAAE;QATF,EACE,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GAAG,UAAU,EACxB,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,OAExB,EADI,IAAI,cANT,sEAOC,CADQ;IAIT,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5B,OAAO,CACL,4CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,eAAe,EACf,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,EAC/D,SAAS,CACV;QAED,oBAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;gBACL,UAAU;gBACV,YAAY;gBACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACzC,WAAW;aACZ,IAEA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;YAC5C,OAAO,CACL,4BACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EACpC,GAAG,EAAE,KAAK,GAAG,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,wDAAI,mCAAI,EAAE,CAAC;gBAE3C,8BAAM,SAAS,EAAC,4CAA4C,GAAG;gBAC9D,KAAK,CAAC,cAAc,CAAmB,IAAI,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,kCAClB,IAAI,CAAC,KAAK,KACb,YAAY,EAAE,KAAK,IACnB;oBACJ,CAAC,CAAC,IAAI;gBACR,8BAAM,SAAS,EAAC,4CAA4C,GAAG,CAC5D,CACN,CAAC;QACJ,CAAC,CAAC,CACsB,CACvB,CACN,CAAC;AACJ,CAAC,CACkB,CAAC;AAEtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AAEpB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Stepper.js","sourceRoot":"","sources":["../../src/stepper/Stepper.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,IAA2C,MAAM,QAAQ,CAAC;AA4CjE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAqB,UAAU,CAIjD,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GAAG,UAAU,EACxB,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,EACvB,WAAW,GAAG,IAAI,OAEnB,EADI,IAAI,cAPT,qFAQC,CADQ;IAIT,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5B,OAAO,CACL,4CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,eAAe,EACf,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,EAC/D,SAAS,CACV;QAED,oBAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;gBACL,UAAU;gBACV,YAAY;gBACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACzC,WAAW;gBACX,WAAW;aACZ,IAEA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;YAC5C,OAAO,CACL,4BACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EACpC,GAAG,EAAE,KAAK,GAAG,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,wDAAI,mCAAI,EAAE,CAAC;gBAE3C,8BAAM,SAAS,EAAC,4CAA4C,GAAG;gBAC9D,KAAK,CAAC,cAAc,CAAmB,IAAI,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,kCAClB,IAAI,CAAC,KAAK,KACb,YAAY,EAAE,KAAK,IACnB;oBACJ,CAAC,CAAC,IAAI;gBACR,8BAAM,SAAS,EAAC,4CAA4C,GAAG,CAC5D,CACN,CAAC;QACJ,CAAC,CAAC,CACsB,CACvB,CACN,CAAC;AACJ,CAAC,CACkB,CAAC;AAEtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AAEpB,eAAe,OAAO,CAAC"}
@@ -38,9 +38,9 @@ export const ToggleGroup = forwardRef((_a, ref) => {
38
38
  return (React.createElement(ToggleGroupContext.Provider, { value: {
39
39
  size,
40
40
  } },
41
- React.createElement("div", null,
41
+ React.createElement("div", { className: cl("navds-toggle-group__wrapper", className) },
42
42
  label && (React.createElement(Label, { size: size, className: "navds-toggle-group__label", id: labelId }, label)),
43
- React.createElement(RadixToggleGroup.Root, Object.assign({}, rest, { onValueChange: handleValueChange, value: value !== null && value !== void 0 ? value : groupValue, defaultValue: defaultValue, ref: ref, className: cl("navds-toggle-group", className, `navds-toggle-group--${size}`) }, (describeBy && { "aria-describedby": describeBy }), { role: "radiogroup", type: "single" }), children))));
43
+ React.createElement(RadixToggleGroup.Root, Object.assign({}, rest, { onValueChange: handleValueChange, value: value !== null && value !== void 0 ? value : groupValue, defaultValue: defaultValue, ref: ref, className: cl("navds-toggle-group", `navds-toggle-group--${size}`) }, (describeBy && { "aria-describedby": describeBy }), { role: "radiogroup", type: "single" }), children))));
44
44
  });
45
45
  ToggleGroup.Item = ToggleItem;
46
46
  export default ToggleGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroup.js","sourceRoot":"","sources":["../../src/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EAEV,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,UAA8B,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AA0ClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,IAAI,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,CACE,EAWC,EACD,GAAG,EACH,EAAE;QAbF,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,KAAK,EACL,YAAY,EACZ,EAAE,EACF,kBAAkB,EAAE,IAAI,OAEzB,EADI,IAAI,cAVT,yGAWC,CADQ;IAIT,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,EAAE,EAAE;YACZ,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;SACf;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;KACxE;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;QACpB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI;QACpB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACnE;IAED,OAAO,CACL,oBAAC,kBAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACL,IAAI;SACL;QAED;YACG,KAAK,IAAI,CACR,oBAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,2BAA2B,EACrC,EAAE,EAAE,OAAO,IAEV,KAAK,CACA,CACT;YACD,oBAAC,gBAAgB,CAAC,IAAI,oBAChB,IAAI,IACR,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,UAAU,EAC1B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,SAAS,EACT,uBAAuB,IAAI,EAAE,CAC9B,IACG,CAAC,UAAU,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,IACtD,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,QAAQ,KAEZ,QAAQ,CACa,CACpB,CACsB,CAC/B,CAAC;AACJ,CAAC,CACsB,CAAC;AAE1B,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;AAE9B,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ToggleGroup.js","sourceRoot":"","sources":["../../src/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EAEV,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,UAA8B,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AA0ClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,IAAI,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,CACE,EAWC,EACD,GAAG,EACH,EAAE;QAbF,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,KAAK,EACL,YAAY,EACZ,EAAE,EACF,kBAAkB,EAAE,IAAI,OAEzB,EADI,IAAI,cAVT,yGAWC,CADQ;IAIT,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,EAAE,EAAE;YACZ,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;SACf;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;KACxE;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;QACpB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI;QACpB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACnE;IAED,OAAO,CACL,oBAAC,kBAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACL,IAAI;SACL;QAED,6BAAK,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC;YACzD,KAAK,IAAI,CACR,oBAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,2BAA2B,EACrC,EAAE,EAAE,OAAO,IAEV,KAAK,CACA,CACT;YACD,oBAAC,gBAAgB,CAAC,IAAI,oBAChB,IAAI,IACR,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,UAAU,EAC1B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,IAAI,EAAE,CAAC,IAC9D,CAAC,UAAU,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,IACtD,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,QAAQ,KAEZ,QAAQ,CACa,CACpB,CACsB,CAC/B,CAAC;AACJ,CAAC,CACsB,CAAC;AAE1B,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;AAE9B,eAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "1.3.0-alpha.0",
3
+ "version": "1.3.1",
4
4
  "description": "NAV designsystem react components",
5
5
  "author": "NAV Designsystem team",
6
6
  "license": "MIT",
@@ -36,13 +36,10 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@floating-ui/react-dom-interactions": "0.9.2",
39
- "@navikt/ds-icons": "^1.3.0-alpha.0",
39
+ "@navikt/ds-icons": "^1.3.1",
40
40
  "@radix-ui/react-tabs": "1.0.0",
41
41
  "@radix-ui/react-toggle-group": "1.0.0",
42
42
  "clsx": "^1.1.1",
43
- "date-fns": "2.29.2",
44
- "focus-trap-react": "^10.0.0",
45
- "react-day-picker": "^8.1.4",
46
43
  "react-modal": "3.15.1"
47
44
  },
48
45
  "devDependencies": {
@@ -56,7 +53,6 @@
56
53
  "@types/react-modal": "^3.13.1",
57
54
  "concurrently": "7.2.1",
58
55
  "copyfiles": "^2.4.1",
59
- "date-fns-tz": "1.3.6",
60
56
  "faker": "5.5.3",
61
57
  "fast-glob": "3.2.11",
62
58
  "jest": "^27.5.0",
@@ -78,5 +74,5 @@
78
74
  "optional": true
79
75
  }
80
76
  },
81
- "gitHead": "eb4721db0d4e4cc9b5610f20bcb3b0cad30de00a"
77
+ "gitHead": "6f3aa4690f40c80f49551bd91a0d908c9815476c"
82
78
  }
@@ -9,11 +9,11 @@ export interface TextFieldProps
9
9
  /**
10
10
  * Controlled value
11
11
  */
12
- value?: string;
12
+ value?: string | number;
13
13
  /**
14
14
  * Defaults input-value without needing controlled-state
15
15
  */
16
- defaultValue?: string;
16
+ defaultValue?: string | number;
17
17
  /**
18
18
  * Exposes the HTML size attribute
19
19
  */
@@ -53,7 +53,10 @@ export const Open = () => {
53
53
 
54
54
  return (
55
55
  <HelpText ref={ref} title="show tooltip" strategy="fixed">
56
- Id ullamco excepteur elit fugiat labore.
56
+ Incididunt laborum eiusmod ullamco id aliquip officia ex irure aliqua
57
+ laboris id ea do nisi. Ex esse ad duis culpa non aliquip exercitation eu
58
+ culpa cupidatat nisi. Deserunt voluptate consectetur cillum elit qui ad
59
+ voluptate pariatur.
57
60
  </HelpText>
58
61
  );
59
62
  };
package/src/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./accordion";
2
2
  export * from "./alert";
3
3
  export * from "./button";
4
- export * from "./datepicker";
5
4
  export * from "./form";
6
5
  export * from "./grid";
7
6
  export * from "./help-text";
@@ -1,7 +1,8 @@
1
+ import { SuccessFilled } from "@navikt/ds-icons";
1
2
  import cl from "clsx";
2
3
  import React, { forwardRef, useContext } from "react";
3
- import { StepperContext } from "./Stepper";
4
4
  import { Label, OverridableComponent } from "..";
5
+ import { StepperContext } from "./Stepper";
5
6
 
6
7
  export interface StepperStepProps
7
8
  extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
@@ -14,6 +15,16 @@ export interface StepperStepProps
14
15
  * @private
15
16
  */
16
17
  unsafe_index?: number;
18
+ /**
19
+ * Makes step-indicator a checkmark
20
+ * @default false
21
+ */
22
+ completed?: boolean;
23
+ /**
24
+ * Makes step non-interactive if false. Step will be set to a <div>, overriding `as`-prop
25
+ * @default true
26
+ */
27
+ interactive?: boolean;
17
28
  }
18
29
 
19
30
  export interface StepperStepType
@@ -24,7 +35,15 @@ export const StepComponent: OverridableComponent<
24
35
  HTMLAnchorElement
25
36
  > = forwardRef(
26
37
  (
27
- { className, children, as: Component = "a", unsafe_index = 0, ...rest },
38
+ {
39
+ className,
40
+ children,
41
+ as: Component = "a",
42
+ unsafe_index = 0,
43
+ completed = false,
44
+ interactive,
45
+ ...rest
46
+ },
28
47
  ref
29
48
  ) => {
30
49
  const context = useContext(StepperContext);
@@ -34,26 +53,40 @@ export const StepComponent: OverridableComponent<
34
53
  }
35
54
  const { activeStep } = context;
36
55
 
56
+ const isInteractive = interactive ?? context?.interactive;
57
+
58
+ const Comp = isInteractive ? Component : "div";
59
+
37
60
  return (
38
- <Component
61
+ <Comp
39
62
  {...rest}
40
63
  aria-current={activeStep === unsafe_index}
41
64
  ref={ref}
42
65
  className={cl("navds-stepper__step", className, {
43
66
  "navds-stepper__step--active": activeStep === unsafe_index,
67
+ "navds-stepper__step--behind": activeStep > unsafe_index,
68
+ "navds-stepper__step--non-interactive": !isInteractive,
69
+ "navds-stepper__step--completed": completed,
44
70
  })}
45
71
  onClick={(e) => {
46
- context.onStepChange(unsafe_index + 1);
72
+ isInteractive && context.onStepChange(unsafe_index + 1);
47
73
  rest?.onClick?.(e);
48
74
  }}
49
75
  >
50
- <Label className="navds-stepper__circle" as="span" aria-hidden="true">
51
- {unsafe_index + 1}
52
- </Label>
76
+ {completed ? (
77
+ <SuccessFilled
78
+ aria-hidden
79
+ className="navds-stepper__circle navds-stepper__circle--success"
80
+ />
81
+ ) : (
82
+ <Label className="navds-stepper__circle" as="span" aria-hidden="true">
83
+ {unsafe_index + 1}
84
+ </Label>
85
+ )}
53
86
  <Label as="span" className="navds-stepper__content">
54
87
  {children}
55
88
  </Label>
56
- </Component>
89
+ </Comp>
57
90
  );
58
91
  }
59
92
  );
@@ -22,6 +22,11 @@ export interface StepperProps extends React.HTMLAttributes<HTMLOListElement> {
22
22
  * @note Stepper index starts at 1, not 0
23
23
  */
24
24
  onStepChange?: (step: number) => void;
25
+ /**
26
+ * Makes stepper non-interactive if false
27
+ * @default true
28
+ */
29
+ interactive?: boolean;
25
30
  }
26
31
 
27
32
  interface StepperComponent
@@ -36,6 +41,7 @@ interface StepperContextProps {
36
41
  onStepChange: (step: number) => void;
37
42
  lastIndex: number;
38
43
  orientation: "horizontal" | "vertical";
44
+ interactive: boolean;
39
45
  }
40
46
 
41
47
  export const StepperContext = createContext<StepperContextProps | null>(null);
@@ -51,6 +57,7 @@ export const Stepper: StepperComponent = forwardRef<
51
57
  activeStep,
52
58
  orientation = "vertical",
53
59
  onStepChange = () => {},
60
+ interactive = true,
54
61
  ...rest
55
62
  },
56
63
  ref
@@ -72,6 +79,7 @@ export const Stepper: StepperComponent = forwardRef<
72
79
  onStepChange,
73
80
  lastIndex: React.Children.count(children),
74
81
  orientation,
82
+ interactive,
75
83
  }}
76
84
  >
77
85
  {React.Children.map(children, (step, index) => {
@@ -1,7 +1,7 @@
1
1
  import { Meta } from "@storybook/react/types-6-0";
2
2
  import React, { useState } from "react";
3
- import Stepper from "./Stepper";
4
3
  import { BodyLong } from "..";
4
+ import Stepper from "./Stepper";
5
5
 
6
6
  export default {
7
7
  title: "ds-react/Stepper",
@@ -13,6 +13,11 @@ export default {
13
13
  options: ["horizontal", "vertical"],
14
14
  },
15
15
  },
16
+ activeStep: {
17
+ control: {
18
+ type: "number",
19
+ },
20
+ },
16
21
  },
17
22
  } as Meta;
18
23
 
@@ -40,13 +45,17 @@ export const Default = ({ asButton, ...props }) => {
40
45
  aria-labelledby="stepper-heading"
41
46
  activeStep={activeStep}
42
47
  onStepChange={setActiveStep}
43
- orientation="horizontal"
48
+ orientation="vertical"
44
49
  {...props}
45
50
  >
46
- <Stepper.Step {...newProps}>Start søknad</Stepper.Step>
51
+ <Stepper.Step {...newProps} completed={props.completed}>
52
+ Start søknad
53
+ </Stepper.Step>
47
54
  <Stepper.Step {...newProps}>Personopplysninger</Stepper.Step>
48
- <Stepper.Step {...newProps}>Saksopplysninger</Stepper.Step>
49
- <Stepper.Step {...newProps}>
55
+ <Stepper.Step {...newProps} completed={props.completed}>
56
+ Saksopplysninger
57
+ </Stepper.Step>
58
+ <Stepper.Step {...newProps} completed={props.completed}>
50
59
  Søknadstekst for en veldig spesifikk prosess i NAV som må beskrives og
51
60
  forklares i sitt fulle i denne labelen
52
61
  </Stepper.Step>
@@ -63,6 +72,8 @@ export const Default = ({ asButton, ...props }) => {
63
72
 
64
73
  Default.args = {
65
74
  asButton: false,
75
+ interactive: true,
76
+ completed: false,
66
77
  };
67
78
 
68
79
  export const Horizontal = () => {
@@ -112,22 +123,84 @@ export const Vertical = () => {
112
123
  };
113
124
 
114
125
  export const DisplayOnly = () => {
115
- const props = { as: "div" };
116
126
  return (
117
- <Stepper
118
- aria-labelledby="stepper-heading"
119
- activeStep={2}
120
- orientation="vertical"
121
- >
122
- <Stepper.Step {...props}>Start søknad</Stepper.Step>
123
- <Stepper.Step {...props}>Personopplysninger</Stepper.Step>
124
- <Stepper.Step {...props}>Saksopplysninger</Stepper.Step>
125
- <Stepper.Step {...props}>
126
- Søknadstekst for en veldig spesifikk prosess i NAV som har lang tekst
127
- </Stepper.Step>
128
- <Stepper.Step {...props}>Vedlegg</Stepper.Step>
129
- <Stepper.Step {...props}>Oppsummering</Stepper.Step>
130
- <Stepper.Step {...props}>Innsending</Stepper.Step>
131
- </Stepper>
127
+ <div className="colgap">
128
+ <Stepper
129
+ aria-labelledby="stepper-heading"
130
+ activeStep={2}
131
+ orientation="vertical"
132
+ interactive={false}
133
+ >
134
+ <Stepper.Step completed>Start søknad</Stepper.Step>
135
+ <Stepper.Step completed>Personopplysninger</Stepper.Step>
136
+ <Stepper.Step>Saksopplysninger</Stepper.Step>
137
+ <Stepper.Step>
138
+ Søknadstekst for en veldig spesifikk prosess i NAV som har lang tekst
139
+ </Stepper.Step>
140
+ <Stepper.Step>Vedlegg</Stepper.Step>
141
+ <Stepper.Step>Oppsummering</Stepper.Step>
142
+ <Stepper.Step>Innsending</Stepper.Step>
143
+ </Stepper>
144
+ <Stepper
145
+ aria-labelledby="stepper-heading"
146
+ activeStep={3}
147
+ orientation="vertical"
148
+ interactive={false}
149
+ >
150
+ <Stepper.Step completed>Start søknad</Stepper.Step>
151
+ <Stepper.Step completed>Personopplysninger</Stepper.Step>
152
+ <Stepper.Step>Saksopplysninger</Stepper.Step>
153
+ <Stepper.Step>
154
+ Søknadstekst for en veldig spesifikk prosess i NAV som har lang tekst
155
+ </Stepper.Step>
156
+ <Stepper.Step>Vedlegg</Stepper.Step>
157
+ <Stepper.Step>Oppsummering</Stepper.Step>
158
+ <Stepper.Step>Innsending</Stepper.Step>
159
+ </Stepper>
160
+ </div>
161
+ );
162
+ };
163
+
164
+ export const CompletedSteps = () => {
165
+ const [activeStep, setActiveStep] = useState(3);
166
+ return (
167
+ <div className="colgap">
168
+ <Stepper
169
+ aria-labelledby="stepper-heading"
170
+ activeStep={activeStep}
171
+ orientation="vertical"
172
+ onStepChange={(step) => setActiveStep(step)}
173
+ >
174
+ <Stepper.Step completed={activeStep > 1}>Start søknad</Stepper.Step>
175
+ <Stepper.Step completed={activeStep > 2}>
176
+ Personopplysninger
177
+ </Stepper.Step>
178
+ <Stepper.Step completed={activeStep > 3}>Saksopplysninger</Stepper.Step>
179
+ <Stepper.Step completed={activeStep >= 4}>
180
+ Søknadstekst for en veldig spesifikk prosess i NAV som har lang tekst
181
+ </Stepper.Step>
182
+ <Stepper.Step completed={activeStep > 5}>Vedlegg</Stepper.Step>
183
+ <Stepper.Step completed={activeStep > 6}>Oppsummering</Stepper.Step>
184
+ <Stepper.Step completed={activeStep > 7}>Innsending</Stepper.Step>
185
+ </Stepper>
186
+ <Stepper
187
+ aria-labelledby="stepper-heading"
188
+ activeStep={activeStep - 1}
189
+ orientation="vertical"
190
+ onStepChange={(step) => setActiveStep(step)}
191
+ >
192
+ <Stepper.Step completed={activeStep > 1}>Start søknad</Stepper.Step>
193
+ <Stepper.Step completed={activeStep > 2}>
194
+ Personopplysninger
195
+ </Stepper.Step>
196
+ <Stepper.Step completed={activeStep > 3}>Saksopplysninger</Stepper.Step>
197
+ <Stepper.Step completed={activeStep >= 4}>
198
+ Søknadstekst for en veldig spesifikk prosess i NAV som har lang tekst
199
+ </Stepper.Step>
200
+ <Stepper.Step completed={activeStep > 5}>Vedlegg</Stepper.Step>
201
+ <Stepper.Step completed={activeStep > 6}>Oppsummering</Stepper.Step>
202
+ <Stepper.Step completed={activeStep > 7}>Innsending</Stepper.Step>
203
+ </Stepper>
204
+ </div>
132
205
  );
133
206
  };
@@ -98,7 +98,7 @@ export const ToggleGroup = forwardRef<HTMLDivElement, ToggleGroupProps>(
98
98
  size,
99
99
  }}
100
100
  >
101
- <div>
101
+ <div className={cl("navds-toggle-group__wrapper", className)}>
102
102
  {label && (
103
103
  <Label
104
104
  size={size}
@@ -114,11 +114,7 @@ export const ToggleGroup = forwardRef<HTMLDivElement, ToggleGroupProps>(
114
114
  value={value ?? groupValue}
115
115
  defaultValue={defaultValue}
116
116
  ref={ref}
117
- className={cl(
118
- "navds-toggle-group",
119
- className,
120
- `navds-toggle-group--${size}`
121
- )}
117
+ className={cl("navds-toggle-group", `navds-toggle-group--${size}`)}
122
118
  {...(describeBy && { "aria-describedby": describeBy })}
123
119
  role="radiogroup"
124
120
  type="single"