@aarhus-university/au-lib-react-components 12.5.1 → 12.6.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 (115) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.eslintrc.js +35 -35
  3. package/.storybook/main.js +34 -34
  4. package/.storybook/preview.js +17 -17
  5. package/.vscode/settings.json +22 -0
  6. package/README.md +19 -19
  7. package/__tests__/jest/AUButtonComponent.test.tsx +165 -165
  8. package/__tests__/jest/AUDynamicContentComponent.test.tsx +386 -0
  9. package/__tests__/jest/AUErrorComponent.test.tsx +142 -142
  10. package/__tests__/jest/AUModalComponent.test.tsx +186 -186
  11. package/__tests__/jest/AUNotificationComponent.test.tsx +115 -115
  12. package/__tests__/jest/AUSpinnerComponent.test.tsx +57 -57
  13. package/__tests__/jest/AUToolbarComponent.test.tsx +46 -46
  14. package/__tests__/jest/context.test.ts +25 -25
  15. package/__tests__/jest/helpers.test.ts +15 -15
  16. package/__tests__/jest/setupTests.ts +2 -2
  17. package/babel.config.js +8 -8
  18. package/build/umd/all.css +3 -2
  19. package/build/umd/all.css.map +1 -7
  20. package/build/umd/all.js +2 -45
  21. package/build/umd/all.js.map +1 -7
  22. package/build/umd/alphabox.js +2 -45
  23. package/build/umd/alphabox.js.map +1 -7
  24. package/build/umd/databox.js +2 -45
  25. package/build/umd/databox.js.map +1 -7
  26. package/build/umd/diagramme.js +2 -44
  27. package/build/umd/diagramme.js.map +1 -7
  28. package/build/umd/flowbox.js +2 -44
  29. package/build/umd/flowbox.js.map +1 -7
  30. package/build/umd/universe.js +1 -1
  31. package/build-storybook.log +386 -386
  32. package/esbuild.mjs +22 -22
  33. package/package.json +107 -105
  34. package/src/components/AUAlertComponent.tsx +128 -128
  35. package/src/components/AUAutoSuggestComponent.js +148 -148
  36. package/src/components/AUButtonComponent.tsx +99 -97
  37. package/src/components/AUCalendarComponent.tsx +497 -497
  38. package/src/components/AUCharacterCountComponent.tsx +56 -56
  39. package/src/components/AUComboBoxComponent.tsx +195 -195
  40. package/src/components/AUContentToggleComponent.tsx +50 -50
  41. package/src/components/AUDatepickerComponent.tsx +124 -124
  42. package/src/components/AUDialogModalComponent.tsx +124 -124
  43. package/src/components/AUDynamicContentComponent.tsx +137 -0
  44. package/src/components/AUEditorComponent.tsx +126 -117
  45. package/src/components/AUErrorComponent.tsx +73 -73
  46. package/src/components/AUMobilePrefixComponent.tsx +20 -20
  47. package/src/components/AUModalComponent.tsx +72 -72
  48. package/src/components/AUNotificationComponent.tsx +44 -44
  49. package/src/components/AUReceiptComponent.tsx +34 -34
  50. package/src/components/AUSpinnerComponent.tsx +40 -40
  51. package/src/components/AUStepComponent.tsx +75 -75
  52. package/src/components/AUSubNavComponent.tsx +57 -57
  53. package/src/components/AUSubmitButtonContainerComponent.tsx +38 -38
  54. package/src/components/AUTabbedContentComponent.tsx +154 -154
  55. package/src/components/AUTableComponent.tsx +29 -29
  56. package/src/components/AUToastComponent.tsx +104 -104
  57. package/src/components/AUToolbarComponent.tsx +108 -108
  58. package/src/components/AUTruncatorComponent.tsx +141 -141
  59. package/src/components/wrapping/AUEmbedComponent.js +47 -47
  60. package/src/layout-2016/components/alphabox/AlphaBoxComponent.js +142 -143
  61. package/src/layout-2016/components/alphabox/AlphaBoxContentComponent.js +136 -136
  62. package/src/layout-2016/components/common/AUCollapsibleComponent.js +152 -152
  63. package/src/layout-2016/components/common/AUSpinnerComponent.js +103 -103
  64. package/src/layout-2016/components/databox/DataBoxAlphabetComponent.js +144 -144
  65. package/src/layout-2016/components/databox/DataBoxAssociationComponent.js +122 -122
  66. package/src/layout-2016/components/databox/DataBoxButtonComponent.js +157 -157
  67. package/src/layout-2016/components/databox/DataBoxComponent.js +297 -297
  68. package/src/layout-2016/components/databox/DataBoxGroupingComponent.js +64 -64
  69. package/src/layout-2016/components/databox/DataBoxSearchResultComponent.js +36 -36
  70. package/src/layout-2016/components/databox/DataBoxStackedAssociationComponent.js +54 -54
  71. package/src/layout-2016/components/databox/DataBoxSuggestionComponent.js +39 -39
  72. package/src/layout-2016/components/diagramme/AUDiagrammeComponent.js +309 -309
  73. package/src/layout-2016/components/flowbox/FlowBoxComponent.js +126 -126
  74. package/src/layout-2016/components/flowbox/FlowBoxPhoneComponent.js +104 -104
  75. package/src/layout-2016/lib/all.js +3 -3
  76. package/src/layout-2016/lib/au-alphabox.js +99 -100
  77. package/src/layout-2016/lib/au-databox.js +399 -400
  78. package/src/layout-2016/lib/au-diagramme.js +85 -85
  79. package/src/layout-2016/lib/au-flowbox.js +119 -93
  80. package/src/lib/context.tsx +59 -59
  81. package/src/lib/dates.ts +52 -52
  82. package/src/lib/helpers.ts +208 -208
  83. package/src/lib/hooks.ts +157 -157
  84. package/src/lib/i18n.ts +600 -600
  85. package/src/lib/portals.tsx +150 -150
  86. package/src/lib/tinymce.ts +84 -84
  87. package/src/lib/wrapping.ts +21 -21
  88. package/src/styles/_settings.scss +10 -10
  89. package/src/styles/alphabox.scss +222 -222
  90. package/src/styles/app.scss +7 -7
  91. package/src/styles/autosuggest.scss +57 -57
  92. package/src/styles/databox.scss +563 -563
  93. package/src/styles/diagramme.scss +119 -119
  94. package/src/styles/flowbox.scss +72 -72
  95. package/src/styles/maps.scss +395 -395
  96. package/stories/AUAlertComponent.stories.tsx +133 -133
  97. package/stories/AUAutoSuggestComponent.stories.tsx +95 -95
  98. package/stories/AUButtonComponent.stories.tsx +139 -139
  99. package/stories/AUCharacterCountComponent.stories.tsx +121 -121
  100. package/stories/AUComboBoxComponent.stories.tsx +101 -101
  101. package/stories/AUContentToggleComponent.stories.tsx +87 -87
  102. package/stories/AUDialogModalComponent.stories.tsx +75 -75
  103. package/stories/AUDynamicContentComponent.stories.tsx +119 -0
  104. package/stories/AUEditorComponent.stories.tsx +66 -66
  105. package/stories/AUErrorComponent.stories.tsx +132 -132
  106. package/stories/AUModalComponent.stories.tsx +160 -160
  107. package/stories/AUNotificationComponent.stories.tsx +151 -151
  108. package/stories/AUSpinnerComponent.stories.tsx +44 -44
  109. package/stories/AUStepComponent.stories.tsx +91 -91
  110. package/stories/AUToolbarComponent.stories.tsx +389 -389
  111. package/stories/AUTruncatorComponent.stories.tsx +123 -123
  112. package/stories/lib/helpers.tsx +146 -146
  113. package/tsconfig.json +46 -46
  114. package/webpack.config.js +88 -88
  115. package/src/lib/tracking.ts +0 -69
@@ -1,133 +1,133 @@
1
- import React, { FC, useState } from 'react';
2
- import { StoryObj, Meta } from '@storybook/react';
3
- import AUAlertComponent, { Props as AlertProps } from '../src/components/AUAlertComponent';
4
- import { ThemeWrapper } from './lib/helpers';
5
-
6
- type Props = {
7
- confirm: boolean;
8
- label: string;
9
- mode: AlertProps['mode'];
10
- header: string;
11
- message: string;
12
- okButtonText: string;
13
- cancelButtonText: string;
14
- };
15
-
16
- const AlertWrapper: FC<Props> = ({
17
- confirm,
18
- label,
19
- mode,
20
- header,
21
- message,
22
- okButtonText,
23
- cancelButtonText,
24
- }) => {
25
- const [processing, setProcessing] = useState<boolean>(false);
26
- const [done, setDone] = useState<boolean>(false);
27
-
28
- return (
29
- <AUAlertComponent
30
- modalId="alertModal"
31
- confirm={confirm}
32
- label={label}
33
- mode={mode}
34
- okMode="ireversable-action"
35
- header={header}
36
- message={message}
37
- okButtonText={okButtonText}
38
- cancelButtonText={cancelButtonText}
39
- processing={processing}
40
- done={done}
41
- onClick={() => {
42
- setDone(false);
43
- setProcessing(true);
44
- setTimeout(() => {
45
- setDone(true);
46
- setProcessing(false);
47
- }, 2500);
48
- }}
49
- />
50
- );
51
- };
52
-
53
- export default {
54
- title: 'Delphinus/Alert and Confirm',
55
- component: AlertWrapper,
56
- argTypes: {
57
- label: {
58
- table: {
59
- disable: true,
60
- }
61
- },
62
- mode: {
63
- table: {
64
- disable: true,
65
- }
66
- },
67
- onClick: {
68
- table: {
69
- disable: true,
70
- }
71
- },
72
- modalId: {
73
- table: {
74
- disable: true,
75
- }
76
- },
77
- confirm: {
78
- table: {
79
- disable: true,
80
- }
81
- },
82
- processing: {
83
- table: {
84
- disable: true,
85
- }
86
- },
87
- done: {
88
- table: {
89
- disable: true,
90
- }
91
- },
92
- cancelButtonText: {
93
- table: {
94
- disable: true,
95
- }
96
- },
97
- },
98
- decorators: [
99
- (Story, context) => (
100
- <ThemeWrapper theme={context.globals.theme}>
101
- {Story()}
102
- </ThemeWrapper>
103
- )
104
- ],
105
- } as Meta<typeof AlertWrapper>;
106
-
107
- type Story = StoryObj<typeof AlertWrapper>;
108
-
109
- export const Alert: Story = {
110
- args: {
111
- confirm: false,
112
- label: 'Slet',
113
- mode: 'ireversable-action',
114
- header: 'Advarsel',
115
- message: '<p>Den valgte fil vil blive slettet.</p>',
116
- okButtonText: 'Ok, forstået',
117
- cancelButtonText: 'Annuller',
118
- },
119
- render: (args) => <AlertWrapper {...args} />,
120
- };
121
-
122
- export const Confirm: Story = {
123
- args: {
124
- confirm: true,
125
- label: 'Slet',
126
- mode: 'ireversable-action',
127
- header: 'Bekræft',
128
- message: '<p>Er du sikker på, at du vil slette den valgte fil?</p>',
129
- okButtonText: 'Ja',
130
- cancelButtonText: 'Annuller',
131
- },
132
- render: (args) => <AlertWrapper {...args} />,
133
- };
1
+ import React, { FC, useState } from 'react';
2
+ import { StoryObj, Meta } from '@storybook/react';
3
+ import AUAlertComponent, { Props as AlertProps } from '../src/components/AUAlertComponent';
4
+ import { ThemeWrapper } from './lib/helpers';
5
+
6
+ type Props = {
7
+ confirm: boolean;
8
+ label: string;
9
+ mode: AlertProps['mode'];
10
+ header: string;
11
+ message: string;
12
+ okButtonText: string;
13
+ cancelButtonText: string;
14
+ };
15
+
16
+ const AlertWrapper: FC<Props> = ({
17
+ confirm,
18
+ label,
19
+ mode,
20
+ header,
21
+ message,
22
+ okButtonText,
23
+ cancelButtonText,
24
+ }) => {
25
+ const [processing, setProcessing] = useState<boolean>(false);
26
+ const [done, setDone] = useState<boolean>(false);
27
+
28
+ return (
29
+ <AUAlertComponent
30
+ modalId="alertModal"
31
+ confirm={confirm}
32
+ label={label}
33
+ mode={mode}
34
+ okMode="ireversable-action"
35
+ header={header}
36
+ message={message}
37
+ okButtonText={okButtonText}
38
+ cancelButtonText={cancelButtonText}
39
+ processing={processing}
40
+ done={done}
41
+ onClick={() => {
42
+ setDone(false);
43
+ setProcessing(true);
44
+ setTimeout(() => {
45
+ setDone(true);
46
+ setProcessing(false);
47
+ }, 2500);
48
+ }}
49
+ />
50
+ );
51
+ };
52
+
53
+ export default {
54
+ title: 'Delphinus/Alert and Confirm',
55
+ component: AlertWrapper,
56
+ argTypes: {
57
+ label: {
58
+ table: {
59
+ disable: true,
60
+ }
61
+ },
62
+ mode: {
63
+ table: {
64
+ disable: true,
65
+ }
66
+ },
67
+ onClick: {
68
+ table: {
69
+ disable: true,
70
+ }
71
+ },
72
+ modalId: {
73
+ table: {
74
+ disable: true,
75
+ }
76
+ },
77
+ confirm: {
78
+ table: {
79
+ disable: true,
80
+ }
81
+ },
82
+ processing: {
83
+ table: {
84
+ disable: true,
85
+ }
86
+ },
87
+ done: {
88
+ table: {
89
+ disable: true,
90
+ }
91
+ },
92
+ cancelButtonText: {
93
+ table: {
94
+ disable: true,
95
+ }
96
+ },
97
+ },
98
+ decorators: [
99
+ (Story, context) => (
100
+ <ThemeWrapper theme={context.globals.theme}>
101
+ {Story()}
102
+ </ThemeWrapper>
103
+ )
104
+ ],
105
+ } as Meta<typeof AlertWrapper>;
106
+
107
+ type Story = StoryObj<typeof AlertWrapper>;
108
+
109
+ export const Alert: Story = {
110
+ args: {
111
+ confirm: false,
112
+ label: 'Slet',
113
+ mode: 'ireversable-action',
114
+ header: 'Advarsel',
115
+ message: '<p>Den valgte fil vil blive slettet.</p>',
116
+ okButtonText: 'Ok, forstået',
117
+ cancelButtonText: 'Annuller',
118
+ },
119
+ render: (args) => <AlertWrapper {...args} />,
120
+ };
121
+
122
+ export const Confirm: Story = {
123
+ args: {
124
+ confirm: true,
125
+ label: 'Slet',
126
+ mode: 'ireversable-action',
127
+ header: 'Bekræft',
128
+ message: '<p>Er du sikker på, at du vil slette den valgte fil?</p>',
129
+ okButtonText: 'Ja',
130
+ cancelButtonText: 'Annuller',
131
+ },
132
+ render: (args) => <AlertWrapper {...args} />,
133
+ };
@@ -1,96 +1,96 @@
1
- import React from 'react';
2
- import { StoryObj, Meta } from '@storybook/react';
3
- import AUAutoSuggestComponent from '../src/components/AUAutoSuggestComponent';
4
- import { ThemeWrapper } from './lib/helpers';
5
-
6
- export default {
7
- title: 'Delphinus/AutoSuggest',
8
- component: AUAutoSuggestComponent,
9
- argTypes: {
10
- label: {
11
- table: {
12
- disable: true,
13
- }
14
- },
15
- },
16
- decorators: [
17
- (Story, context) => (
18
- <ThemeWrapper theme={context.globals.theme}>
19
- {Story()}
20
- </ThemeWrapper>
21
- )
22
- ],
23
- } as Meta<typeof AUAutoSuggestComponent>;
24
-
25
- type Story = StoryObj<typeof AUAutoSuggestComponent>;
26
-
27
- export const AutoComplete: Story = {
28
- args: {
29
- collection: [],
30
- getSuggestions: (value, _, callback) => {
31
- const inputValue = value.trim().toLowerCase();
32
- const inputLength = inputValue.length;
33
-
34
- const results = inputLength === 0
35
- ? []
36
- : [
37
- { id: 1, name: 'Copenhagen' },
38
- { id: 2, name: 'Aarhus' },
39
- { id: 3, name: 'Odense' },
40
- { id: 4, name: 'Aalborg' },
41
- { id: 5, name: 'Esbjerg' },
42
- { id: 6, name: 'Randers' },
43
- { id: 7, name: 'Kolding' },
44
- { id: 8, name: 'Horsens' },
45
- { id: 9, name: 'Vejle' },
46
- { id: 10, name: 'Herning' },
47
- { id: 11, name: 'Frederiksberg' },
48
- { id: 12, name: 'Fredericia' },
49
- { id: 13, name: 'Roskilde' },
50
- { id: 14, name: 'Silkeborg' },
51
- { id: 15, name: 'Næstved' },
52
- { id: 16, name: 'Helsingør' },
53
- { id: 17, name: 'Hvidovre' },
54
- { id: 18, name: 'Holstebro' },
55
- { id: 19, name: 'Hjørring' },
56
- { id: 20, name: 'Glostrup' },
57
- { id: 21, name: 'Hillerød' },
58
- { id: 22, name: 'Slagelse' },
59
- { id: 23, name: 'Viborg' },
60
- { id: 24, name: 'Ikast-Brande' },
61
- { id: 25, name: 'Frederikshavn' },
62
- { id: 26, name: 'Ringsted' },
63
- { id: 27, name: 'Taastrup' },
64
- { id: 28, name: 'Køge' },
65
- { id: 29, name: 'Nørresundby' },
66
- { id: 30, name: 'Haderslev' },
67
- { id: 31, name: 'Varde' },
68
- { id: 32, name: 'Hedensted' },
69
- { id: 33, name: 'Sønderborg' },
70
- { id: 34, name: 'Greve' },
71
- { id: 35, name: 'Albertslund' },
72
- { id: 36, name: 'Skive' },
73
- { id: 37, name: 'Hørsholm' },
74
- { id: 38, name: 'Horsens' },
75
- { id: 39, name: 'Herning' },
76
- { id: 40, name: 'Frederiksberg' },
77
- { id: 41, name: 'Fredericia' },
78
- { id: 42, name: 'Roskilde' },
79
- { id: 43, name: 'Silkeborg' },
80
- { id: 44, name: 'Næstved' },
81
- { id: 45, name: 'Helsingør' },
82
- { id: 46, name: 'Hvidovre' },
83
- { id: 47, name: 'Holstebro' },
84
-
85
- ].filter((lang) => lang.name.toLowerCase().slice(0, inputLength) === inputValue);
86
-
87
- callback(results);
88
- },
89
- getSuggestionValue: (suggestion) => suggestion.name,
90
- setResults: () => { },
91
- setQuery: () => { },
92
- renderSuggestion: (suggestion) => <span>{suggestion.name}</span>,
93
- placeholder: 'Search',
94
- },
95
- render: (args) => <AUAutoSuggestComponent {...args} />,
1
+ import React from 'react';
2
+ import { StoryObj, Meta } from '@storybook/react';
3
+ import AUAutoSuggestComponent from '../src/components/AUAutoSuggestComponent';
4
+ import { ThemeWrapper } from './lib/helpers';
5
+
6
+ export default {
7
+ title: 'Delphinus/AutoSuggest',
8
+ component: AUAutoSuggestComponent,
9
+ argTypes: {
10
+ label: {
11
+ table: {
12
+ disable: true,
13
+ }
14
+ },
15
+ },
16
+ decorators: [
17
+ (Story, context) => (
18
+ <ThemeWrapper theme={context.globals.theme}>
19
+ {Story()}
20
+ </ThemeWrapper>
21
+ )
22
+ ],
23
+ } as Meta<typeof AUAutoSuggestComponent>;
24
+
25
+ type Story = StoryObj<typeof AUAutoSuggestComponent>;
26
+
27
+ export const AutoComplete: Story = {
28
+ args: {
29
+ collection: [],
30
+ getSuggestions: (value, _, callback) => {
31
+ const inputValue = value.trim().toLowerCase();
32
+ const inputLength = inputValue.length;
33
+
34
+ const results = inputLength === 0
35
+ ? []
36
+ : [
37
+ { id: 1, name: 'Copenhagen' },
38
+ { id: 2, name: 'Aarhus' },
39
+ { id: 3, name: 'Odense' },
40
+ { id: 4, name: 'Aalborg' },
41
+ { id: 5, name: 'Esbjerg' },
42
+ { id: 6, name: 'Randers' },
43
+ { id: 7, name: 'Kolding' },
44
+ { id: 8, name: 'Horsens' },
45
+ { id: 9, name: 'Vejle' },
46
+ { id: 10, name: 'Herning' },
47
+ { id: 11, name: 'Frederiksberg' },
48
+ { id: 12, name: 'Fredericia' },
49
+ { id: 13, name: 'Roskilde' },
50
+ { id: 14, name: 'Silkeborg' },
51
+ { id: 15, name: 'Næstved' },
52
+ { id: 16, name: 'Helsingør' },
53
+ { id: 17, name: 'Hvidovre' },
54
+ { id: 18, name: 'Holstebro' },
55
+ { id: 19, name: 'Hjørring' },
56
+ { id: 20, name: 'Glostrup' },
57
+ { id: 21, name: 'Hillerød' },
58
+ { id: 22, name: 'Slagelse' },
59
+ { id: 23, name: 'Viborg' },
60
+ { id: 24, name: 'Ikast-Brande' },
61
+ { id: 25, name: 'Frederikshavn' },
62
+ { id: 26, name: 'Ringsted' },
63
+ { id: 27, name: 'Taastrup' },
64
+ { id: 28, name: 'Køge' },
65
+ { id: 29, name: 'Nørresundby' },
66
+ { id: 30, name: 'Haderslev' },
67
+ { id: 31, name: 'Varde' },
68
+ { id: 32, name: 'Hedensted' },
69
+ { id: 33, name: 'Sønderborg' },
70
+ { id: 34, name: 'Greve' },
71
+ { id: 35, name: 'Albertslund' },
72
+ { id: 36, name: 'Skive' },
73
+ { id: 37, name: 'Hørsholm' },
74
+ { id: 38, name: 'Horsens' },
75
+ { id: 39, name: 'Herning' },
76
+ { id: 40, name: 'Frederiksberg' },
77
+ { id: 41, name: 'Fredericia' },
78
+ { id: 42, name: 'Roskilde' },
79
+ { id: 43, name: 'Silkeborg' },
80
+ { id: 44, name: 'Næstved' },
81
+ { id: 45, name: 'Helsingør' },
82
+ { id: 46, name: 'Hvidovre' },
83
+ { id: 47, name: 'Holstebro' },
84
+
85
+ ].filter((lang) => lang.name.toLowerCase().slice(0, inputLength) === inputValue);
86
+
87
+ callback(results);
88
+ },
89
+ getSuggestionValue: (suggestion) => suggestion.name,
90
+ setResults: () => { },
91
+ setQuery: () => { },
92
+ renderSuggestion: (suggestion) => <span>{suggestion.name}</span>,
93
+ placeholder: 'Search',
94
+ },
95
+ render: (args) => <AUAutoSuggestComponent {...args} />,
96
96
  };