@uva-glass/component-library 3.0.9 → 3.0.11

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 (111) hide show
  1. package/dist/{Lexical.prod-BqkvGy5o.js → Lexical.prod-pVkgOp1j.js} +1501 -1485
  2. package/dist/Lexical.prod-pVkgOp1j.js.map +1 -0
  3. package/dist/LexicalClipboard.prod-DIvwPtmL.js +255 -0
  4. package/dist/LexicalClipboard.prod-DIvwPtmL.js.map +1 -0
  5. package/dist/LexicalComposerContext.prod-DLlRM5wP.js +22 -0
  6. package/dist/LexicalComposerContext.prod-DLlRM5wP.js.map +1 -0
  7. package/dist/{LexicalLink.prod-D-CG9yYv.js → LexicalLink.prod-NMeHB9CR.js} +67 -71
  8. package/dist/LexicalLink.prod-NMeHB9CR.js.map +1 -0
  9. package/dist/{LexicalList.prod-CDTuG8cz.js → LexicalList.prod-CicvwkCx.js} +121 -122
  10. package/dist/LexicalList.prod-CicvwkCx.js.map +1 -0
  11. package/dist/LexicalSelection.prod-mQvH0_ap.js +85 -0
  12. package/dist/LexicalSelection.prod-mQvH0_ap.js.map +1 -0
  13. package/dist/LexicalTable.prod-Bb6g8CAC.js +1542 -0
  14. package/dist/LexicalTable.prod-Bb6g8CAC.js.map +1 -0
  15. package/dist/LexicalUtils.prod-C_aSRWfh.js +109 -0
  16. package/dist/LexicalUtils.prod-C_aSRWfh.js.map +1 -0
  17. package/dist/{TablePlugin-BBgBJKsb.js → TablePlugin-o1MveXq2.js} +63 -63
  18. package/dist/{TablePlugin-BBgBJKsb.js.map → TablePlugin-o1MveXq2.js.map} +1 -1
  19. package/dist/TimelineItem-v4zDdKUz.js +52 -0
  20. package/dist/TimelineItem-v4zDdKUz.js.map +1 -0
  21. package/dist/__mocks__/svgrMock.js.map +1 -1
  22. package/dist/assets/TimelineItem.css +1 -0
  23. package/dist/assets/VarIndicator.css +1 -1
  24. package/dist/assets/variables.css +3 -3
  25. package/dist/components/Accordion/Accordion.test.js.map +1 -1
  26. package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
  27. package/dist/components/ActionList/ActionList.test.js.map +1 -1
  28. package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
  29. package/dist/components/Attention/Attention.test.js.map +1 -1
  30. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  31. package/dist/components/Buttons/Button.test.js.map +1 -1
  32. package/dist/components/Buttons/LinkButton.test.js +1 -1
  33. package/dist/components/Buttons/LinkButton.test.js.map +1 -1
  34. package/dist/components/Buttons/MenuButton.test.js +1 -1
  35. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  36. package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
  37. package/dist/components/FormInput/FormInput.js +1 -1
  38. package/dist/components/InputField/InputField.stories.js +1 -1
  39. package/dist/components/Label/Label.test.js.map +1 -1
  40. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  41. package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
  42. package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
  43. package/dist/components/MultiSelect/index.js +1 -1
  44. package/dist/components/OverlayStepBar/OverlayStepBar.js +1 -1
  45. package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
  46. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +1 -1
  47. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
  48. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +11 -11
  49. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +7 -7
  50. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +2 -2
  51. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
  52. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +39 -39
  53. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
  54. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +17 -17
  55. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +12 -12
  56. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
  57. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +1 -1
  58. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +4 -4
  59. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +22 -22
  60. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
  61. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +17 -17
  62. package/dist/components/RteEditor/Plugins/index.js +1 -1
  63. package/dist/components/RteEditor/RteEditor.js +483 -492
  64. package/dist/components/RteEditor/RteEditor.js.map +1 -1
  65. package/dist/components/RteEditor/helpers.js +5 -5
  66. package/dist/components/Timeline/Timeline.d.ts +28 -0
  67. package/dist/components/Timeline/Timeline.js +29 -0
  68. package/dist/components/Timeline/Timeline.js.map +1 -0
  69. package/dist/components/Timeline/Timeline.stories.d.ts +5 -0
  70. package/dist/components/Timeline/Timeline.stories.js +43 -0
  71. package/dist/components/Timeline/Timeline.stories.js.map +1 -0
  72. package/dist/components/Timeline/Timeline.test.d.ts +0 -0
  73. package/dist/components/Timeline/Timeline.test.js +80 -0
  74. package/dist/components/Timeline/Timeline.test.js.map +1 -0
  75. package/dist/components/Timeline/TimelineItem.d.ts +2 -0
  76. package/dist/components/Timeline/TimelineItem.js +7 -0
  77. package/dist/components/Timeline/TimelineItem.js.map +1 -0
  78. package/dist/components/Timeline/index.d.ts +1 -0
  79. package/dist/components/Timeline/index.js +5 -0
  80. package/dist/components/Timeline/index.js.map +1 -0
  81. package/dist/components/Timeline/mockTimelineItem.d.ts +30 -0
  82. package/dist/components/Timeline/mockTimelineItem.js +95 -0
  83. package/dist/components/Timeline/mockTimelineItem.js.map +1 -0
  84. package/dist/components/VarIndicator/VarIndicator.js +11 -11
  85. package/dist/components/VarIndicator/VarIndicator.js.map +1 -1
  86. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  87. package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
  88. package/dist/components/index.d.ts +1 -0
  89. package/dist/components/index.js +23 -21
  90. package/dist/components/index.js.map +1 -1
  91. package/dist/helpers-CtrLGKFA.js +164 -0
  92. package/dist/helpers-CtrLGKFA.js.map +1 -0
  93. package/dist/index.js +23 -21
  94. package/dist/index.js.map +1 -1
  95. package/dist/setupTests.js.map +1 -1
  96. package/package.json +20 -20
  97. package/dist/Lexical.prod-BqkvGy5o.js.map +0 -1
  98. package/dist/LexicalClipboard.prod-BSR9LEVL.js +0 -258
  99. package/dist/LexicalClipboard.prod-BSR9LEVL.js.map +0 -1
  100. package/dist/LexicalComposerContext.prod--Rm7-Z9o.js +0 -26
  101. package/dist/LexicalComposerContext.prod--Rm7-Z9o.js.map +0 -1
  102. package/dist/LexicalLink.prod-D-CG9yYv.js.map +0 -1
  103. package/dist/LexicalList.prod-CDTuG8cz.js.map +0 -1
  104. package/dist/LexicalSelection.prod-BxYY0fGG.js +0 -86
  105. package/dist/LexicalSelection.prod-BxYY0fGG.js.map +0 -1
  106. package/dist/LexicalTable.prod-Ckge-lZb.js +0 -1515
  107. package/dist/LexicalTable.prod-Ckge-lZb.js.map +0 -1
  108. package/dist/LexicalUtils.prod-CIQUUsvA.js +0 -112
  109. package/dist/LexicalUtils.prod-CIQUUsvA.js.map +0 -1
  110. package/dist/helpers-CzeCSkV-.js +0 -168
  111. package/dist/helpers-CzeCSkV-.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import "../../index-Z7qwJmRM.js";
3
+ import { r as n, s as e, f as i } from "../../react.esm-BOUd0cvD.js";
4
+ import { MOCK_TIMELINE_ITEM as r } from "./mockTimelineItem.js";
5
+ import "react";
6
+ import "../Buttons/Button.js";
7
+ import "../Buttons/LinkButton.js";
8
+ import "@react-aria/button";
9
+ import "../Checkbox/Checkbox.js";
10
+ import "@react-aria/dialog";
11
+ import "@react-aria/focus";
12
+ import "@react-aria/overlays";
13
+ import "../OverlayCloseButton/OverlayCloseButton.js";
14
+ import "../GridRow/GridRow.js";
15
+ import "../IconButton/IconButton.js";
16
+ import "../Input/Input.js";
17
+ import "../InputField/InputField.js";
18
+ import "react-router";
19
+ import "../../TablePlugin-o1MveXq2.js";
20
+ import "../RteEditor/Providers/LanguageProvider.js";
21
+ import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
22
+ import "../RteEditor/hooks/components/Flyout.js";
23
+ import "../../index-B3c5pcHk.js";
24
+ import "../SelectListbox/SelectListbox.js";
25
+ import "../SelectListbox/SelectProvider.js";
26
+ import "../Sortable/components/SortableItem.js";
27
+ import "../../SortableProvider-Ck_XnBVq.js";
28
+ import { Timeline as p } from "./Timeline.js";
29
+ describe("should render", () => {
30
+ it("should render completed items", () => {
31
+ n(
32
+ /* @__PURE__ */ o(
33
+ p,
34
+ {
35
+ timelineData: r,
36
+ showLabel: "Toon vervolgstappen",
37
+ hideLabel: "Verberg vervolgstappen"
38
+ }
39
+ )
40
+ ), expect(e.getByText("Concept")).toBeInTheDocument(), expect(e.getByText("Vakgegevens afgewezen")).toBeInTheDocument(), expect(e.getByText("Geverifieerd 1 van 3")).toBeInTheDocument(), expect(e.getByText("Concept ingediend")).toBeInTheDocument(), expect(e.getByText("Aangemaakt")).toBeInTheDocument();
41
+ }), it("should switch label when button is clicked", () => {
42
+ n(
43
+ /* @__PURE__ */ o(
44
+ p,
45
+ {
46
+ timelineData: r,
47
+ showLabel: "Toon vervolgstappen",
48
+ hideLabel: "Verberg vervolgstappen"
49
+ }
50
+ )
51
+ );
52
+ const t = e.getByRole("button", { name: "Toon vervolgstappen" });
53
+ expect(t).toBeInTheDocument(), i.click(t), expect(e.getByText("Verberg vervolgstappen")).toBeInTheDocument();
54
+ }), it("should show incomplete tasks if button is clicked", () => {
55
+ n(
56
+ /* @__PURE__ */ o(
57
+ p,
58
+ {
59
+ timelineData: r,
60
+ showLabel: "Toon vervolgstappen",
61
+ hideLabel: "Verberg vervolgstappen"
62
+ }
63
+ )
64
+ );
65
+ const t = e.getByRole("button", { name: "Toon vervolgstappen" });
66
+ expect(t).toBeInTheDocument(), i.click(t), expect(e.getByText("Verberg vervolgstappen")).toBeInTheDocument(), expect(e.getByText("Actief")).toBeInTheDocument();
67
+ }), it("should not show button if there are no incomplete tasks", () => {
68
+ n(
69
+ /* @__PURE__ */ o(
70
+ p,
71
+ {
72
+ timelineData: r.filter(({ completed: t }) => t),
73
+ showLabel: "Toon vervolgstappen",
74
+ hideLabel: "Verberg vervolgstappen"
75
+ }
76
+ )
77
+ ), expect(e.queryByText("Toon vervolgstappen")).not.toBeInTheDocument();
78
+ });
79
+ });
80
+ //# sourceMappingURL=Timeline.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline.test.js","sources":["../../../src/components/Timeline/Timeline.test.tsx"],"sourcesContent":["import '@testing-library/jest-dom';\nimport { fireEvent, render, screen } from '@testing-library/react';\n\nimport type { TimelineItemProps } from './Timeline';\n\nimport { MOCK_TIMELINE_ITEM } from './mockTimelineItem';\n\nimport { Timeline } from 'components';\n\ndescribe('should render', () => {\n it('should render completed items', () => {\n render(\n <Timeline\n timelineData={MOCK_TIMELINE_ITEM as TimelineItemProps[]}\n showLabel=\"Toon vervolgstappen\"\n hideLabel=\"Verberg vervolgstappen\"\n />\n );\n expect(screen.getByText('Concept')).toBeInTheDocument();\n expect(screen.getByText('Vakgegevens afgewezen')).toBeInTheDocument();\n expect(screen.getByText('Geverifieerd 1 van 3')).toBeInTheDocument();\n expect(screen.getByText('Concept ingediend')).toBeInTheDocument();\n expect(screen.getByText('Aangemaakt')).toBeInTheDocument();\n });\n\n it('should switch label when button is clicked', () => {\n render(\n <Timeline\n timelineData={MOCK_TIMELINE_ITEM as TimelineItemProps[]}\n showLabel=\"Toon vervolgstappen\"\n hideLabel=\"Verberg vervolgstappen\"\n />\n );\n const button = screen.getByRole('button', { name: 'Toon vervolgstappen' });\n expect(button).toBeInTheDocument();\n fireEvent.click(button);\n expect(screen.getByText('Verberg vervolgstappen')).toBeInTheDocument();\n });\n\n it('should show incomplete tasks if button is clicked', () => {\n render(\n <Timeline\n timelineData={MOCK_TIMELINE_ITEM as TimelineItemProps[]}\n showLabel=\"Toon vervolgstappen\"\n hideLabel=\"Verberg vervolgstappen\"\n />\n );\n const button = screen.getByRole('button', { name: 'Toon vervolgstappen' });\n expect(button).toBeInTheDocument();\n fireEvent.click(button);\n expect(screen.getByText('Verberg vervolgstappen')).toBeInTheDocument();\n expect(screen.getByText('Actief')).toBeInTheDocument();\n });\n\n it('should not show button if there are no incomplete tasks', () => {\n render(\n <Timeline\n timelineData={(MOCK_TIMELINE_ITEM as TimelineItemProps[]).filter(({ completed }) => completed)}\n showLabel=\"Toon vervolgstappen\"\n hideLabel=\"Verberg vervolgstappen\"\n />\n );\n expect(screen.queryByText('Toon vervolgstappen')).not.toBeInTheDocument();\n });\n});\n"],"names":["render","jsx","Timeline","MOCK_TIMELINE_ITEM","screen","button","fireEvent","completed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAS,iBAAiB,MAAM;AAC9B,KAAG,iCAAiC,MAAM;AACxC,IAAAA;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,cAAcC;AAAA,UACd,WAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEd,GACA,OAAOC,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB,GACtD,OAAOA,EAAO,UAAU,uBAAuB,CAAC,EAAE,kBAAkB,GACpE,OAAOA,EAAO,UAAU,sBAAsB,CAAC,EAAE,kBAAkB,GACnE,OAAOA,EAAO,UAAU,mBAAmB,CAAC,EAAE,kBAAkB,GAChE,OAAOA,EAAO,UAAU,YAAY,CAAC,EAAE,kBAAkB;AAAA,EAAA,CAC1D,GAED,GAAG,8CAA8C,MAAM;AACrD,IAAAJ;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,cAAcC;AAAA,UACd,WAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEd;AACA,UAAME,IAASD,EAAO,UAAU,UAAU,EAAE,MAAM,uBAAuB;AAClE,WAAAC,CAAM,EAAE,kBAAkB,GACjCC,EAAU,MAAMD,CAAM,GACtB,OAAOD,EAAO,UAAU,wBAAwB,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACtE,GAED,GAAG,qDAAqD,MAAM;AAC5D,IAAAJ;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,cAAcC;AAAA,UACd,WAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEd;AACA,UAAME,IAASD,EAAO,UAAU,UAAU,EAAE,MAAM,uBAAuB;AAClE,WAAAC,CAAM,EAAE,kBAAkB,GACjCC,EAAU,MAAMD,CAAM,GACtB,OAAOD,EAAO,UAAU,wBAAwB,CAAC,EAAE,kBAAkB,GACrE,OAAOA,EAAO,UAAU,QAAQ,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACtD,GAED,GAAG,2DAA2D,MAAM;AAClE,IAAAJ;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,cAAeC,EAA2C,OAAO,CAAC,EAAE,WAAAI,EAAA,MAAgBA,CAAS;AAAA,UAC7F,WAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEd,GACA,OAAOH,EAAO,YAAY,qBAAqB,CAAC,EAAE,IAAI,kBAAkB;AAAA,EAAA,CACzE;AACH,CAAC;"}
@@ -0,0 +1,2 @@
1
+ import { TimelineItemProps } from './Timeline';
2
+ export declare const TimelineItem: ({ title, type, reason, subtitle, tasks, completed }: TimelineItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import "react/jsx-runtime";
2
+ import "../../clsx-OuTLNxxd.js";
3
+ import { T as r } from "../../TimelineItem-v4zDdKUz.js";
4
+ export {
5
+ r as TimelineItem
6
+ };
7
+ //# sourceMappingURL=TimelineItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineItem.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1 @@
1
+ export * from './Timeline';
@@ -0,0 +1,5 @@
1
+ import { Timeline as m } from "./Timeline.js";
2
+ export {
3
+ m as Timeline
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,30 @@
1
+ export declare const MOCK_TIMELINE_ITEM: ({
2
+ title: string;
3
+ type: string;
4
+ reason: string;
5
+ subtitle: string;
6
+ tasks: {
7
+ title: string;
8
+ assignee: string;
9
+ }[];
10
+ completed: boolean;
11
+ } | {
12
+ title: string;
13
+ type: string;
14
+ tasks: {
15
+ title: string;
16
+ assignee: string;
17
+ }[];
18
+ completed: boolean;
19
+ reason?: undefined;
20
+ subtitle?: undefined;
21
+ } | {
22
+ title: string;
23
+ type: string;
24
+ reason: string;
25
+ subtitle: string;
26
+ tasks: {
27
+ title: string;
28
+ }[];
29
+ completed: boolean;
30
+ })[];
@@ -0,0 +1,95 @@
1
+ const e = [
2
+ {
3
+ title: "Actief",
4
+ type: "active",
5
+ completed: !1,
6
+ reason: "",
7
+ subtitle: "",
8
+ tasks: []
9
+ },
10
+ {
11
+ title: "Verificatie",
12
+ type: "submitted",
13
+ reason: "",
14
+ subtitle: "3 openstaande verificatietaken",
15
+ tasks: [
16
+ {
17
+ title: "Vakgegevens te verifiëren door",
18
+ assignee: "Opleidingsdirecteur"
19
+ },
20
+ {
21
+ title: "Vakgegevens te verifiëren door",
22
+ assignee: "Opleidingscoördinator"
23
+ },
24
+ {
25
+ title: "Vakgegevens te verifiëren door",
26
+ assignee: "Studiegidsredacteur"
27
+ }
28
+ ],
29
+ completed: !1
30
+ },
31
+ {
32
+ title: "Concept",
33
+ type: "draft",
34
+ reason: "",
35
+ subtitle: "",
36
+ tasks: [
37
+ {
38
+ title: "Afwijsreden: gegevens mbt de aanbiedingen kloppen nog niet.",
39
+ assignee: "Jane Doe als opleidingscoördinator, 14 mei 2024, 16:39"
40
+ }
41
+ ],
42
+ completed: !0
43
+ },
44
+ {
45
+ title: "Vakgegevens afgewezen",
46
+ type: "rejected",
47
+ tasks: [
48
+ {
49
+ title: "Afwijsreden: gegevens mbt de aanbiedingen kloppen nog niet.",
50
+ assignee: "Jane Doe als opleidingscoördinator, 14 mei 2024, 16:39"
51
+ }
52
+ ],
53
+ completed: !0
54
+ },
55
+ {
56
+ title: "Geverifieerd 1 van 3",
57
+ type: "verified",
58
+ reason: "ongeldig door afwijzing",
59
+ subtitle: "",
60
+ tasks: [
61
+ {
62
+ title: "Jan Doe als opleidingsdirecteur, 14 mei 2024, 16:38"
63
+ }
64
+ ],
65
+ completed: !0
66
+ },
67
+ {
68
+ title: "Concept ingediend",
69
+ type: "submitted",
70
+ reason: "",
71
+ subtitle: "",
72
+ tasks: [
73
+ {
74
+ title: "John Doe als vakcoördinator, 14 mei 2024, 16:37"
75
+ }
76
+ ],
77
+ completed: !0
78
+ },
79
+ {
80
+ title: "Aangemaakt",
81
+ type: "draft",
82
+ reason: "ongeldig door afwijzing",
83
+ subtitle: "",
84
+ tasks: [
85
+ {
86
+ title: "Glass jaarkopie, 14 mei 2024, 16:35"
87
+ }
88
+ ],
89
+ completed: !0
90
+ }
91
+ ];
92
+ export {
93
+ e as MOCK_TIMELINE_ITEM
94
+ };
95
+ //# sourceMappingURL=mockTimelineItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockTimelineItem.js","sources":["../../../src/components/Timeline/mockTimelineItem.ts"],"sourcesContent":["export const MOCK_TIMELINE_ITEM = [\n {\n title: 'Actief',\n type: 'active',\n completed: false,\n reason: '',\n subtitle: '',\n tasks: [],\n },\n {\n title: 'Verificatie',\n type: 'submitted',\n reason: '',\n subtitle: '3 openstaande verificatietaken',\n tasks: [\n {\n title: 'Vakgegevens te verifiëren door',\n assignee: 'Opleidingsdirecteur',\n },\n {\n title: 'Vakgegevens te verifiëren door',\n assignee: 'Opleidingscoördinator',\n },\n {\n title: 'Vakgegevens te verifiëren door',\n assignee: 'Studiegidsredacteur',\n },\n ],\n completed: false,\n },\n {\n title: 'Concept',\n type: 'draft',\n reason: '',\n subtitle: '',\n tasks: [\n {\n title: 'Afwijsreden: gegevens mbt de aanbiedingen kloppen nog niet.',\n assignee: 'Jane Doe als opleidingscoördinator, 14 mei 2024, 16:39',\n },\n ],\n completed: true,\n },\n {\n title: 'Vakgegevens afgewezen',\n type: 'rejected',\n tasks: [\n {\n title: 'Afwijsreden: gegevens mbt de aanbiedingen kloppen nog niet.',\n assignee: 'Jane Doe als opleidingscoördinator, 14 mei 2024, 16:39',\n },\n ],\n completed: true,\n },\n {\n title: 'Geverifieerd 1 van 3',\n type: 'verified',\n reason: 'ongeldig door afwijzing',\n subtitle: '',\n tasks: [\n {\n title: 'Jan Doe als opleidingsdirecteur, 14 mei 2024, 16:38',\n },\n ],\n completed: true,\n },\n {\n title: 'Concept ingediend',\n type: 'submitted',\n reason: '',\n subtitle: '',\n tasks: [\n {\n title: 'John Doe als vakcoördinator, 14 mei 2024, 16:37',\n },\n ],\n completed: true,\n },\n {\n title: 'Aangemaakt',\n type: 'draft',\n reason: 'ongeldig door afwijzing',\n subtitle: '',\n tasks: [\n {\n title: 'Glass jaarkopie, 14 mei 2024, 16:35',\n },\n ],\n completed: true,\n },\n];\n"],"names":["MOCK_TIMELINE_ITEM"],"mappings":"AAAO,MAAMA,IAAqB;AAAA,EAChC;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO,CAAA;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,WAAW;AAAA,EAAA;AAEf;"}
@@ -1,20 +1,20 @@
1
- import { jsxs as d, jsx as a } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
2
  import { c as s } from "../../clsx-OuTLNxxd.js";
3
3
  import { Icon as c } from "../Icon/Icon.js";
4
4
  import '../../assets/VarIndicator.css';const i = {
5
- "var-indicator__container": "_var-indicator__container_1840l_38",
6
- "var-indicator__container--draft": "_var-indicator__container--draft_1840l_58",
7
- "var-indicator__container--rejected": "_var-indicator__container--rejected_1840l_59",
8
- "var-indicator__container--submitted": "_var-indicator__container--submitted_1840l_71",
9
- "var-indicator__container--active": "_var-indicator__container--active_1840l_82",
10
- "var-indicator__label": "_var-indicator__label_1840l_93",
11
- "var-indicator__step-container": "_var-indicator__step-container_1840l_104"
5
+ "var-indicator__container": "_var-indicator__container_1bf94_40",
6
+ "var-indicator__container--draft": "_var-indicator__container--draft_1bf94_59",
7
+ "var-indicator__container--rejected": "_var-indicator__container--rejected_1bf94_60",
8
+ "var-indicator__container--submitted": "_var-indicator__container--submitted_1bf94_72",
9
+ "var-indicator__container--active": "_var-indicator__container--active_1bf94_83",
10
+ "var-indicator__label": "_var-indicator__label_1bf94_94",
11
+ "var-indicator__step-container": "_var-indicator__step-container_1bf94_105"
12
12
  }, v = {
13
13
  DRAFT: "CircleLarge",
14
14
  REJECTED: "CircleLarge",
15
15
  SUBMITTED: "CircleLargeDotted",
16
16
  ACTIVE: "SignalActive"
17
- }, E = ({ label: t, variant: r = "DRAFT", maxSteps: n, currentStep: e = 1, onClick: o }) => /* @__PURE__ */ d(
17
+ }, C = ({ label: t, variant: r = "DRAFT", maxSteps: n, currentStep: e = 1, onClick: o }) => /* @__PURE__ */ l(
18
18
  "button",
19
19
  {
20
20
  className: s(i["var-indicator__container"], i[`var-indicator__container--${r.toLowerCase()}`]),
@@ -22,11 +22,11 @@ import '../../assets/VarIndicator.css';const i = {
22
22
  children: [
23
23
  /* @__PURE__ */ a(c, { name: v[r], size: 16 }),
24
24
  /* @__PURE__ */ a("span", { className: i["var-indicator__label"], children: t[`${r}`] }),
25
- n && n > 0 && r === "SUBMITTED" ? Array.from({ length: n }, (_, l) => l + 1).map((_) => /* @__PURE__ */ a("div", { className: i["var-indicator__step-container"], children: /* @__PURE__ */ a(c, { name: _ <= e ? "CircleSmallFilled" : "CircleSmall" }) }, _)) : null
25
+ n && n > 0 && r === "SUBMITTED" ? Array.from({ length: n }, (_, d) => d + 1).map((_) => /* @__PURE__ */ a("div", { className: i["var-indicator__step-container"], children: /* @__PURE__ */ a(c, { name: _ <= e ? "CircleSmallFilled" : "CircleSmall" }) }, _)) : null
26
26
  ]
27
27
  }
28
28
  );
29
29
  export {
30
- E as VarIndicator
30
+ C as VarIndicator
31
31
  };
32
32
  //# sourceMappingURL=VarIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.js","sources":["../../../src/components/VarIndicator/VarIndicator.tsx"],"sourcesContent":["import clsx from 'clsx';\r\n\r\nimport type { IconProps } from 'components/Icon';\r\n\r\nimport styles from './VarIndicator.module.css';\r\n\r\nimport { Icon } from 'components/Icon';\r\n\r\nexport type StatusType = 'DRAFT' | 'REJECTED' | 'SUBMITTED' | 'ACTIVE';\r\n\r\nexport interface VarIndicatorProps {\r\n label: Record<StatusType, string>;\r\n variant?: StatusType;\r\n maxSteps?: number;\r\n currentStep?: number;\r\n onClick?: () => void;\r\n}\r\n\r\nconst ICON_NAMES = {\r\n DRAFT: 'CircleLarge',\r\n REJECTED: 'CircleLarge',\r\n SUBMITTED: 'CircleLargeDotted',\r\n ACTIVE: 'SignalActive',\r\n};\r\n\r\nexport const VarIndicator = ({ label, variant = 'DRAFT', maxSteps, currentStep = 1, onClick }: VarIndicatorProps) => (\r\n <button\r\n className={clsx(styles['var-indicator__container'], styles[`var-indicator__container--${variant.toLowerCase()}`])}\r\n onClick={onClick}\r\n >\r\n <Icon name={ICON_NAMES[variant] as IconProps['name']} size={16} />\r\n <span className={styles['var-indicator__label']}>{label[`${variant}`]}</span>\r\n {maxSteps && maxSteps > 0 && variant === 'SUBMITTED'\r\n ? Array.from({ length: maxSteps }, (_, idx) => idx + 1).map((step) => (\r\n <div key={step} className={styles['var-indicator__step-container']}>\r\n <Icon name={step <= currentStep ? 'CircleSmallFilled' : 'CircleSmall'} />\r\n </div>\r\n ))\r\n : null}\r\n </button>\r\n);\r\n"],"names":["ICON_NAMES","VarIndicator","label","variant","maxSteps","currentStep","onClick","jsxs","clsx","styles","jsx","Icon","idx","step"],"mappings":";;;;;;;;;;;GAkBMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEaC,IAAe,CAAC,EAAE,OAAAC,GAAO,SAAAC,IAAU,SAAS,UAAAC,GAAU,aAAAC,IAAc,GAAG,SAAAC,EAAA,MAClF,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKC,EAAO,0BAA0B,GAAGA,EAAO,6BAA6BN,EAAQ,YAAa,CAAA,EAAE,CAAC;AAAA,IAChH,SAAAG;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAI,EAACC,KAAK,MAAMX,EAAWG,CAAO,GAAwB,MAAM,IAAI;AAAA,MAChE,gBAAAO,EAAC,QAAK,EAAA,WAAWD,EAAO,sBAAsB,GAAI,UAAMP,EAAA,GAAGC,CAAO,EAAE,EAAE,CAAA;AAAA,MACrEC,KAAYA,IAAW,KAAKD,MAAY,cACrC,MAAM,KAAK,EAAE,QAAQC,KAAY,CAAC,GAAGQ,MAAQA,IAAM,CAAC,EAAE,IAAI,CAACC,wBACxD,OAAe,EAAA,WAAWJ,EAAO,+BAA+B,GAC/D,UAAC,gBAAAC,EAAAC,GAAA,EAAK,MAAME,KAAQR,IAAc,sBAAsB,cAAA,CAAe,EAD/D,GAAAQ,CAEV,CACD,IACD;AAAA,IAAA;AAAA,EAAA;AACN;"}
1
+ {"version":3,"file":"VarIndicator.js","sources":["../../../src/components/VarIndicator/VarIndicator.tsx"],"sourcesContent":["import clsx from 'clsx';\n\nimport type { IconProps } from 'components/Icon';\n\nimport styles from './VarIndicator.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type StatusType = 'DRAFT' | 'REJECTED' | 'SUBMITTED' | 'ACTIVE';\n\nexport interface VarIndicatorProps {\n label: Record<StatusType, string>;\n variant?: StatusType;\n maxSteps?: number;\n currentStep?: number;\n onClick?: () => void;\n}\n\nconst ICON_NAMES = {\n DRAFT: 'CircleLarge',\n REJECTED: 'CircleLarge',\n SUBMITTED: 'CircleLargeDotted',\n ACTIVE: 'SignalActive',\n};\n\nexport const VarIndicator = ({ label, variant = 'DRAFT', maxSteps, currentStep = 1, onClick }: VarIndicatorProps) => (\n <button\n className={clsx(styles['var-indicator__container'], styles[`var-indicator__container--${variant.toLowerCase()}`])}\n onClick={onClick}\n >\n <Icon name={ICON_NAMES[variant] as IconProps['name']} size={16} />\n <span className={styles['var-indicator__label']}>{label[`${variant}`]}</span>\n {maxSteps && maxSteps > 0 && variant === 'SUBMITTED'\n ? Array.from({ length: maxSteps }, (_, idx) => idx + 1).map((step) => (\n <div key={step} className={styles['var-indicator__step-container']}>\n <Icon name={step <= currentStep ? 'CircleSmallFilled' : 'CircleSmall'} />\n </div>\n ))\n : null}\n </button>\n);\n"],"names":["ICON_NAMES","VarIndicator","label","variant","maxSteps","currentStep","onClick","jsxs","clsx","styles","jsx","Icon","idx","step"],"mappings":";;;;;;;;;;;GAkBMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEaC,IAAe,CAAC,EAAE,OAAAC,GAAO,SAAAC,IAAU,SAAS,UAAAC,GAAU,aAAAC,IAAc,GAAG,SAAAC,EAAA,MAClF,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKC,EAAO,0BAA0B,GAAGA,EAAO,6BAA6BN,EAAQ,YAAa,CAAA,EAAE,CAAC;AAAA,IAChH,SAAAG;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAI,EAACC,KAAK,MAAMX,EAAWG,CAAO,GAAwB,MAAM,IAAI;AAAA,MAChE,gBAAAO,EAAC,QAAK,EAAA,WAAWD,EAAO,sBAAsB,GAAI,UAAMP,EAAA,GAAGC,CAAO,EAAE,EAAE,CAAA;AAAA,MACrEC,KAAYA,IAAW,KAAKD,MAAY,cACrC,MAAM,KAAK,EAAE,QAAQC,KAAY,CAAC,GAAGQ,MAAQA,IAAM,CAAC,EAAE,IAAI,CAACC,wBACxD,OAAe,EAAA,WAAWJ,EAAO,+BAA+B,GAC/D,UAAC,gBAAAC,EAAAC,GAAA,EAAK,MAAME,KAAQR,IAAc,sBAAsB,cAAA,CAAe,EAD/D,GAAAQ,CAEV,CACD,IACD;AAAA,IAAA;AAAA,EAAA;AACN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.stories.js","sources":["../../../src/components/VarIndicator/VarIndicator.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\r\n\r\nimport type { Meta, StoryFn } from '@storybook/react';\r\nimport type { VarIndicatorProps } from './VarIndicator';\r\n\r\nimport { VarIndicator } from './VarIndicator';\r\n\r\nconst LABELS = {\r\n DRAFT: 'Concept',\r\n REJECTED: 'Concept',\r\n SUBMITTED: 'Verificatie',\r\n ACTIVE: 'Actief',\r\n};\r\n\r\nconst codeString =\r\n '<VarIndicator label={[string]: [string]} maxSteps={number} currentStep={number} onClick={() => void} />';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n title: 'Atoms/VarIndicator',\r\n component: VarIndicator,\r\n argTypes: {},\r\n parameters: {\r\n inspectComponent: VarIndicator,\r\n codeString: codeString,\r\n },\r\n} as Meta<VarIndicatorProps>;\r\n\r\nconst Template: StoryFn<VarIndicatorProps> = (args) => <VarIndicator {...args} />;\r\n\r\nconst defaultArgs: Partial<VarIndicatorProps> = {\r\n label: LABELS,\r\n maxSteps: 3,\r\n currentStep: 2,\r\n onClick: fn(),\r\n};\r\n\r\nexport const VarIndicatorExample = Template.bind({});\r\nVarIndicatorExample.args = {\r\n ...defaultArgs,\r\n};\r\n"],"names":["LABELS","codeString","VarIndicator_stories","VarIndicator","Template","args","jsx","defaultArgs","fn","VarIndicatorExample"],"mappings":";;;AAOA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEMC,IACJ,2GAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAc,GAAGE,GAAM,GAEzEE,IAA0C;AAAA,EAC9C,OAAOP;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAASQ,EAAG;AACd,GAEaC,IAAsBL,EAAS,KAAK,CAAE,CAAA;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
1
+ {"version":3,"file":"VarIndicator.stories.js","sources":["../../../src/components/VarIndicator/VarIndicator.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { VarIndicatorProps } from './VarIndicator';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\nconst codeString =\n '<VarIndicator label={[string]: [string]} maxSteps={number} currentStep={number} onClick={() => void} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/VarIndicator',\n component: VarIndicator,\n argTypes: {},\n parameters: {\n inspectComponent: VarIndicator,\n codeString: codeString,\n },\n} as Meta<VarIndicatorProps>;\n\nconst Template: StoryFn<VarIndicatorProps> = (args) => <VarIndicator {...args} />;\n\nconst defaultArgs: Partial<VarIndicatorProps> = {\n label: LABELS,\n maxSteps: 3,\n currentStep: 2,\n onClick: fn(),\n};\n\nexport const VarIndicatorExample = Template.bind({});\nVarIndicatorExample.args = {\n ...defaultArgs,\n};\n"],"names":["LABELS","codeString","VarIndicator_stories","VarIndicator","Template","args","jsx","defaultArgs","fn","VarIndicatorExample"],"mappings":";;;AAOA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEMC,IACJ,2GAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAc,GAAGE,GAAM,GAEzEE,IAA0C;AAAA,EAC9C,OAAOP;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAASQ,EAAG;AACd,GAEaC,IAAsBL,EAAS,KAAK,CAAE,CAAA;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.test.js","sources":["../../../src/components/VarIndicator/VarIndicator.test.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-magic-numbers */\r\nimport '@testing-library/jest-dom';\r\nimport { render, screen, waitFor } from '@testing-library/react';\r\nimport userEvent from '@testing-library/user-event';\r\nimport { useState } from 'react';\r\n\r\nimport { VarIndicator } from './VarIndicator';\r\n\r\nconst LABELS = {\r\n DRAFT: 'Concept',\r\n REJECTED: 'Concept',\r\n SUBMITTED: 'Verificatie',\r\n ACTIVE: 'Actief',\r\n};\r\n\r\njest.mock('components/Icon', () => ({\r\n Icon: ({ name }: { name: string }) => <svg data-testid={name} />,\r\n}));\r\n\r\nconst TestWrapper = () => {\r\n const [currentStep, setCurrentStep] = useState(1);\r\n return (\r\n // When clicked the onClick callback updates currentStep from 1 to 2.\r\n <VarIndicator\r\n label={LABELS}\r\n variant=\"SUBMITTED\"\r\n maxSteps={3}\r\n currentStep={currentStep}\r\n onClick={() => setCurrentStep(2)}\r\n />\r\n );\r\n};\r\n\r\ndescribe('VarIndicator', () => {\r\n const onClickSpy = jest.fn();\r\n\r\n beforeEach(() => {\r\n onClickSpy.mockClear();\r\n });\r\n\r\n it('should render Concept (DRAFT)', () => {\r\n render(<VarIndicator label={LABELS} variant=\"DRAFT\" />);\r\n expect(screen.getByText('Concept')).toBeInTheDocument();\r\n });\r\n\r\n it('should render Concept (REJECTED)', () => {\r\n render(<VarIndicator label={LABELS} variant=\"REJECTED\" />);\r\n expect(screen.getByText('Concept')).toBeInTheDocument();\r\n });\r\n\r\n it('should render Concept (ACTIVE)', () => {\r\n render(<VarIndicator label={LABELS} variant=\"ACTIVE\" />);\r\n expect(screen.getByText('Actief')).toBeInTheDocument();\r\n });\r\n\r\n it('should render dots (SUBMITTED)', () => {\r\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={0} />);\r\n expect(screen.getByText('Verificatie')).toBeInTheDocument();\r\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(3);\r\n expect(screen.queryByTestId('CircleSmallFilled')).not.toBeInTheDocument();\r\n });\r\n\r\n it('should render filled dots when currentStep != 0 (SUBMITTED)', () => {\r\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={1} onClick={onClickSpy} />);\r\n const verificationButton = screen.getByText('Verificatie');\r\n expect(verificationButton).toBeInTheDocument();\r\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\r\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\r\n });\r\n\r\n it('should render filled dots currentStep is updated (SUBMITTED)', async () => {\r\n render(<TestWrapper />);\r\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\r\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\r\n const verificationButton = screen.getByText('Verificatie');\r\n await userEvent.click(verificationButton);\r\n await waitFor(() => {\r\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(2);\r\n });\r\n await waitFor(() => {\r\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(1);\r\n });\r\n });\r\n});\r\n"],"names":["LABELS","name","jsx","TestWrapper","currentStep","setCurrentStep","useState","VarIndicator","onClickSpy","render","screen","verificationButton","userEvent","waitFor"],"mappings":";;;;;;AAQA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV;AAEA,KAAK,KAAK,mBAAmB,OAAO;AAAA,EAClC,MAAM,CAAC,EAAE,MAAAC,QAA8B,gBAAAC,EAAA,OAAA,EAAI,eAAaD,EAAM,CAAA;AAChE,EAAE;AAEF,MAAME,IAAc,MAAM;AACxB,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC;AAChD;AAAA;AAAA,IAEE,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,OAAOP;AAAA,QACP,SAAQ;AAAA,QACR,UAAU;AAAA,QACV,aAAAI;AAAA,QACA,SAAS,MAAMC,EAAe,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA;AAGrC;AAEA,SAAS,gBAAgB,MAAM;AACvB,QAAAG,IAAa,KAAK,GAAG;AAE3B,aAAW,MAAM;AACf,IAAAA,EAAW,UAAU;AAAA,EAAA,CACtB,GAED,GAAG,iCAAiC,MAAM;AACxC,IAAAC,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,SAAQ,CAAE,GACtD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,oCAAoC,MAAM;AAC3C,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,YAAW,CAAE,GACzD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,kCAAkC,MAAM;AACzC,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,UAAS,CAAE,GACvD,OAAOU,EAAO,UAAU,QAAQ,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACtD,GAED,GAAG,kCAAkC,MAAM;AAClC,IAAAD,EAAA,gBAAAP,EAACK,GAAa,EAAA,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,EAAG,CAAA,CAAE,GACvF,OAAOU,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAkB,GAC1D,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC,GAC3D,OAAOA,EAAO,cAAc,mBAAmB,CAAC,EAAE,IAAI,kBAAkB;AAAA,EAAA,CACzE,GAED,GAAG,+DAA+D,MAAM;AACtE,IAAAD,EAAQ,gBAAAP,EAAAK,GAAA,EAAa,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,GAAG,SAASQ,EAAY,CAAA,CAAE;AACtG,UAAAG,IAAqBD,EAAO,UAAU,aAAa;AAClD,WAAAC,CAAkB,EAAE,kBAAkB,GAC7C,OAAOD,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,EAAA,CAC5D,GAED,GAAG,gEAAgE,YAAY;AACtE,IAAAD,EAAA,gBAAAP,EAACC,KAAY,CAAE,GACtB,OAAOO,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AACrD,UAAAC,IAAqBD,EAAO,UAAU,aAAa;AACnD,UAAAE,EAAU,MAAMD,CAAkB,GACxC,MAAME,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAClE,GACD,MAAMG,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAC5D;AAAA,EAAA,CACF;AACH,CAAC;"}
1
+ {"version":3,"file":"VarIndicator.test.js","sources":["../../../src/components/VarIndicator/VarIndicator.test.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-magic-numbers */\nimport '@testing-library/jest-dom';\nimport { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { useState } from 'react';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\njest.mock('components/Icon', () => ({\n Icon: ({ name }: { name: string }) => <svg data-testid={name} />,\n}));\n\nconst TestWrapper = () => {\n const [currentStep, setCurrentStep] = useState(1);\n return (\n // When clicked the onClick callback updates currentStep from 1 to 2.\n <VarIndicator\n label={LABELS}\n variant=\"SUBMITTED\"\n maxSteps={3}\n currentStep={currentStep}\n onClick={() => setCurrentStep(2)}\n />\n );\n};\n\ndescribe('VarIndicator', () => {\n const onClickSpy = jest.fn();\n\n beforeEach(() => {\n onClickSpy.mockClear();\n });\n\n it('should render Concept (DRAFT)', () => {\n render(<VarIndicator label={LABELS} variant=\"DRAFT\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (REJECTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"REJECTED\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (ACTIVE)', () => {\n render(<VarIndicator label={LABELS} variant=\"ACTIVE\" />);\n expect(screen.getByText('Actief')).toBeInTheDocument();\n });\n\n it('should render dots (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={0} />);\n expect(screen.getByText('Verificatie')).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(3);\n expect(screen.queryByTestId('CircleSmallFilled')).not.toBeInTheDocument();\n });\n\n it('should render filled dots when currentStep != 0 (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={1} onClick={onClickSpy} />);\n const verificationButton = screen.getByText('Verificatie');\n expect(verificationButton).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n });\n\n it('should render filled dots currentStep is updated (SUBMITTED)', async () => {\n render(<TestWrapper />);\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n const verificationButton = screen.getByText('Verificatie');\n await userEvent.click(verificationButton);\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(2);\n });\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(1);\n });\n });\n});\n"],"names":["LABELS","name","jsx","TestWrapper","currentStep","setCurrentStep","useState","VarIndicator","onClickSpy","render","screen","verificationButton","userEvent","waitFor"],"mappings":";;;;;;AAQA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV;AAEA,KAAK,KAAK,mBAAmB,OAAO;AAAA,EAClC,MAAM,CAAC,EAAE,MAAAC,QAA8B,gBAAAC,EAAA,OAAA,EAAI,eAAaD,EAAM,CAAA;AAChE,EAAE;AAEF,MAAME,IAAc,MAAM;AACxB,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC;AAChD;AAAA;AAAA,IAEE,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,OAAOP;AAAA,QACP,SAAQ;AAAA,QACR,UAAU;AAAA,QACV,aAAAI;AAAA,QACA,SAAS,MAAMC,EAAe,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA;AAGrC;AAEA,SAAS,gBAAgB,MAAM;AACvB,QAAAG,IAAa,KAAK,GAAG;AAE3B,aAAW,MAAM;AACf,IAAAA,EAAW,UAAU;AAAA,EAAA,CACtB,GAED,GAAG,iCAAiC,MAAM;AACxC,IAAAC,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,SAAQ,CAAE,GACtD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,oCAAoC,MAAM;AAC3C,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,YAAW,CAAE,GACzD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,kCAAkC,MAAM;AACzC,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,UAAS,CAAE,GACvD,OAAOU,EAAO,UAAU,QAAQ,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACtD,GAED,GAAG,kCAAkC,MAAM;AAClC,IAAAD,EAAA,gBAAAP,EAACK,GAAa,EAAA,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,EAAG,CAAA,CAAE,GACvF,OAAOU,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAkB,GAC1D,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC,GAC3D,OAAOA,EAAO,cAAc,mBAAmB,CAAC,EAAE,IAAI,kBAAkB;AAAA,EAAA,CACzE,GAED,GAAG,+DAA+D,MAAM;AACtE,IAAAD,EAAQ,gBAAAP,EAAAK,GAAA,EAAa,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,GAAG,SAASQ,EAAY,CAAA,CAAE;AACtG,UAAAG,IAAqBD,EAAO,UAAU,aAAa;AAClD,WAAAC,CAAkB,EAAE,kBAAkB,GAC7C,OAAOD,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,EAAA,CAC5D,GAED,GAAG,gEAAgE,YAAY;AACtE,IAAAD,EAAA,gBAAAP,EAACC,KAAY,CAAE,GACtB,OAAOO,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AACrD,UAAAC,IAAqBD,EAAO,UAAU,aAAa;AACnD,UAAAE,EAAU,MAAMD,CAAkB,GACxC,MAAME,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAClE,GACD,MAAMG,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAC5D;AAAA,EAAA,CACF;AACH,CAAC;"}
@@ -46,6 +46,7 @@ export * from './SelectListbox/SelectProvider';
46
46
  export * from './Sortable';
47
47
  export * from './Spinner';
48
48
  export * from './StatusPill';
49
+ export * from './Timeline';
49
50
  export * from './ToggleSwitch';
50
51
  export * from './Tooltip';
51
52
  export * from './VarIndicator';
@@ -1,7 +1,7 @@
1
1
  import { Accordion as t } from "./Accordion/Accordion.js";
2
2
  import { AccordionCard as p } from "./AccordionCard/AccordionCard.js";
3
- import { ActionList as m } from "./ActionList/ActionList.js";
4
- import { AppStatusBar as a } from "./AppStatusBar/AppStatusBar.js";
3
+ import { ActionList as x } from "./ActionList/ActionList.js";
4
+ import { AppStatusBar as i } from "./AppStatusBar/AppStatusBar.js";
5
5
  import { Attention as n } from "./Attention/Attention.js";
6
6
  import { Backdrop as c } from "./Backdrop/Backdrop.js";
7
7
  import { ButtonGroup as u } from "./ButtonGroup/ButtonGroup.js";
@@ -14,7 +14,7 @@ import { CheckboxButton as h } from "./CheckboxButton/CheckboxButton.js";
14
14
  import { CheckboxButtonBar as y } from "./CheckboxButtonBar/CheckboxButtonBar.js";
15
15
  import { CheckboxTree as D } from "./CheckboxTree/CheckboxTree.js";
16
16
  import { Chip as v } from "./Chip/Chip.js";
17
- import { Drawer as O } from "./Drawer/Drawer.js";
17
+ import { Drawer as w } from "./Drawer/Drawer.js";
18
18
  import { EmptyStateDataDisplay as E } from "./EmptyStateDataDisplay/EmptyStateDataDisplay.js";
19
19
  import { FeedbackBox as H } from "./FeedbackBox/FeedbackBox.js";
20
20
  import { FieldHint as N } from "./FieldHint/FieldHint.js";
@@ -27,12 +27,12 @@ import { Icon as _ } from "./Icon/Icon.js";
27
27
  import { IconButton as oo } from "./IconButton/IconButton.js";
28
28
  import { InfoMessage as to } from "./InfoMessage/InfoMessage.js";
29
29
  import { Input as po } from "./Input/Input.js";
30
- import { InputField as mo } from "./InputField/InputField.js";
31
- import { Label as ao } from "./Label/Label.js";
30
+ import { InputField as xo } from "./InputField/InputField.js";
31
+ import { Label as io } from "./Label/Label.js";
32
32
  import { MenuLink as no } from "./MenuLink/MenuLink.js";
33
33
  import { MetaDataList as co } from "./MetaDataList/MetaDataList.js";
34
34
  import { ModalDialog as so } from "./ModalDialog/ModalDialog.js";
35
- import { M as So } from "../TablePlugin-BBgBJKsb.js";
35
+ import { M as So } from "../TablePlugin-o1MveXq2.js";
36
36
  import { OverlayCloseButton as bo } from "./OverlayCloseButton/OverlayCloseButton.js";
37
37
  import { OverlayStepBar as Fo } from "./OverlayStepBar/OverlayStepBar.js";
38
38
  import { PageOverlay as Lo } from "./PageOverlay/PageOverlay.js";
@@ -40,22 +40,23 @@ import { Periods as go } from "./Periods/Periods.js";
40
40
  import { PeriodSelector as Po } from "./PeriodSelector/PeriodSelector.js";
41
41
  import { ProgrammeCard as Ao } from "./ProgrammeCard/ProgrammeCard.js";
42
42
  import { RadioButton as Ro } from "./RadioButton/RadioButton.js";
43
- import { Repeater as wo } from "./Repeater/Repeater.js";
44
- import { Rte as To, RteEditor as Eo } from "./RteEditor/RteEditor.js";
43
+ import { Repeater as To } from "./Repeater/Repeater.js";
44
+ import { Rte as Oo, RteEditor as Eo } from "./RteEditor/RteEditor.js";
45
45
  import { SectionNotification as Ho } from "./SectionNotification/SectionNotification.js";
46
46
  import { SelectListbox as No } from "./SelectListbox/SelectListbox.js";
47
47
  import { SelectProvider as jo, useSelect as qo } from "./SelectListbox/SelectProvider.js";
48
48
  import { Sortable as Ko } from "./Sortable/Sortable.js";
49
49
  import { Spinner as Uo } from "./Spinner/Spinner.js";
50
50
  import { StatusPill as Xo } from "./StatusPill/StatusPill.js";
51
- import { ToggleSwitch as Zo } from "./ToggleSwitch/ToggleSwitch.js";
52
- import { Tooltip as $o } from "./Tooltip/Tooltip.js";
53
- import { VarIndicator as rr } from "./VarIndicator/VarIndicator.js";
51
+ import { Timeline as Zo } from "./Timeline/Timeline.js";
52
+ import { ToggleSwitch as $o } from "./ToggleSwitch/ToggleSwitch.js";
53
+ import { Tooltip as rr } from "./Tooltip/Tooltip.js";
54
+ import { VarIndicator as er } from "./VarIndicator/VarIndicator.js";
54
55
  export {
55
56
  t as Accordion,
56
57
  p as AccordionCard,
57
- m as ActionList,
58
- a as AppStatusBar,
58
+ x as ActionList,
59
+ i as AppStatusBar,
59
60
  n as Attention,
60
61
  c as Backdrop,
61
62
  B as Button,
@@ -66,7 +67,7 @@ export {
66
67
  y as CheckboxButtonBar,
67
68
  D as CheckboxTree,
68
69
  v as Chip,
69
- O as Drawer,
70
+ w as Drawer,
70
71
  E as EmptyStateDataDisplay,
71
72
  H as FeedbackBox,
72
73
  N as FieldHint,
@@ -79,8 +80,8 @@ export {
79
80
  oo as IconButton,
80
81
  to as InfoMessage,
81
82
  po as Input,
82
- mo as InputField,
83
- ao as Label,
83
+ xo as InputField,
84
+ io as Label,
84
85
  C as LinkButton,
85
86
  k as MenuButton,
86
87
  no as MenuLink,
@@ -94,8 +95,8 @@ export {
94
95
  go as Periods,
95
96
  Ao as ProgrammeCard,
96
97
  Ro as RadioButton,
97
- wo as Repeater,
98
- To as Rte,
98
+ To as Repeater,
99
+ Oo as Rte,
99
100
  Eo as RteEditor,
100
101
  Ho as SectionNotification,
101
102
  No as SelectListbox,
@@ -103,9 +104,10 @@ export {
103
104
  Ko as Sortable,
104
105
  Uo as Spinner,
105
106
  Xo as StatusPill,
106
- Zo as ToggleSwitch,
107
- $o as Tooltip,
108
- rr as VarIndicator,
107
+ Zo as Timeline,
108
+ $o as ToggleSwitch,
109
+ rr as Tooltip,
110
+ er as VarIndicator,
109
111
  qo as useSelect
110
112
  };
111
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}