@aarhus-university/au-lib-react-components 9.11.8 → 9.11.12

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 (141) hide show
  1. package/.eslintrc +18 -18
  2. package/README.md +20 -20
  3. package/babel.config.js +6 -6
  4. package/build/dev.html +328 -328
  5. package/build/umd/all.css +2 -2
  6. package/build/umd/all.js +1 -1
  7. package/build/umd/alphabox.js +1 -1
  8. package/build/umd/auAuth.js +1 -1
  9. package/build/umd/databox.js +2 -2
  10. package/build/umd/databox.js.LICENSE.txt +5 -5
  11. package/build/umd/diagramme.js +1 -1
  12. package/build/umd/flowbox.js +1 -1
  13. package/build/umd/news.js +1 -1
  14. package/build/umd/universe.js +1 -1
  15. package/package.json +60 -60
  16. package/src/all.js +3 -3
  17. package/src/app.js +263 -263
  18. package/src/components/AUAlertComponent.js +158 -158
  19. package/src/components/AUAmountComponent.js +84 -84
  20. package/src/components/AUBannerComponent.js +99 -99
  21. package/src/components/AUCalendarComponent.js +393 -393
  22. package/src/components/AUCollapsibleComponent.js +173 -173
  23. package/src/components/AUDatepickerComponent.js +105 -105
  24. package/src/components/AUDiagrammeComponent.js +310 -310
  25. package/src/components/AUFilterCheckboxComponent.js +122 -122
  26. package/src/components/AUFocusComponent.js +55 -55
  27. package/src/components/AUModalComponent.js +94 -94
  28. package/src/components/AUPaginationComponent.js +103 -103
  29. package/src/components/AUSpinnerComponent.js +125 -125
  30. package/src/components/AutoSuggestComponent.js +132 -132
  31. package/src/components/alphabox/AlphaBoxComponent.js +140 -140
  32. package/src/components/alphabox/AlphaBoxContentComponent.js +125 -125
  33. package/src/components/context/AUUserContextComponent.js +91 -91
  34. package/src/components/context/ImpersonateComponent.js +54 -54
  35. package/src/components/databox/DataBoxAlphabetComponent.js +144 -144
  36. package/src/components/databox/DataBoxAssociationComponent.js +122 -122
  37. package/src/components/databox/DataBoxButtonComponent.js +153 -153
  38. package/src/components/databox/DataBoxComponent.js +297 -297
  39. package/src/components/databox/DataBoxGroupingComponent.js +62 -62
  40. package/src/components/databox/DataBoxSearchResultComponent.js +40 -40
  41. package/src/components/databox/DataBoxStackedAssociationComponent.js +58 -58
  42. package/src/components/databox/DataBoxSuggestionComponent.js +39 -39
  43. package/src/components/delphinus/AUAlertComponent.js +85 -85
  44. package/src/components/delphinus/AUCalendarComponent.js +487 -487
  45. package/src/components/delphinus/AUContentToggleComponent.js +32 -32
  46. package/src/components/delphinus/AUDatepickerComponent.js +164 -164
  47. package/src/components/delphinus/AULoginComponent.js +65 -65
  48. package/src/components/delphinus/AUModalComponent.js +89 -88
  49. package/src/components/delphinus/AUSpinnerComponent.js +77 -114
  50. package/src/components/delphinus/AUSubNavComponent.js +53 -53
  51. package/src/components/delphinus/AUTabbedContentComponent.js +150 -150
  52. package/src/components/delphinus/AUTableComponent.js +28 -28
  53. package/src/components/delphinus/AUToastComponent.js +91 -91
  54. package/src/components/delphinus/AUToolbarComponent.js +48 -48
  55. package/src/components/delphinus/hooks.js +28 -26
  56. package/src/components/flowbox/FlowBoxComponent.js +126 -126
  57. package/src/components/flowbox/FlowBoxPhoneComponent.js +106 -106
  58. package/src/components/form/AUMobilePrefixComponent.js +18 -18
  59. package/src/components/form/AUReceiptComponent.js +40 -40
  60. package/src/components/form/AUSubmitButtonContainerComponent.js +39 -39
  61. package/src/components/news/EventLayout1Component.js +94 -94
  62. package/src/components/news/EventLayout2Component.js +90 -90
  63. package/src/components/news/EventLayout3Component.js +68 -68
  64. package/src/components/news/NewsCategoriesComponent.js +21 -21
  65. package/src/components/news/NewsCollageBannerComponent.js +71 -71
  66. package/src/components/news/NewsCollageBannerRSSComponent.js +79 -79
  67. package/src/components/news/NewsColumnsComponent.js +125 -125
  68. package/src/components/news/NewsLanguageChangeComponent.js +74 -74
  69. package/src/components/news/NewsLayout1Component.js +80 -80
  70. package/src/components/news/NewsLayout2Component.js +80 -80
  71. package/src/components/news/NewsLayout3Component.js +81 -81
  72. package/src/components/news/NewsLayout4Component.js +80 -80
  73. package/src/components/news/NewsLayout5Component.js +61 -61
  74. package/src/components/news/NewsLayout6Component.js +55 -55
  75. package/src/components/news/NewsLayout7Component.js +58 -58
  76. package/src/components/news/NewsLayout8Component.js +57 -57
  77. package/src/components/news/NewsListComponent.js +291 -291
  78. package/src/components/news/NewsPopUpComponent.js +591 -591
  79. package/src/components/news/NewsRSSComponent.js +74 -74
  80. package/src/components/news/NewsSocialComponent.js +104 -104
  81. package/src/components/news/NewsSubHeaderComponent.js +19 -19
  82. package/src/components/password/AUChangePasswordComponent.js +177 -177
  83. package/src/components/password/AUCurrentPasswordComponent.js +72 -72
  84. package/src/components/password/AUNewPasswordComponent.js +143 -143
  85. package/src/components/password/AUPasswordActions.js +101 -101
  86. package/src/components/password/AUPasswordHooks.js +47 -47
  87. package/src/components/password/AUPasswordReducer.js +78 -78
  88. package/src/components/password/AUPasswordRequirementsComponent.js +29 -29
  89. package/src/components/profile/AUProfileActions.js +128 -128
  90. package/src/components/profile/AUProfileAvatar2016Component.js +99 -99
  91. package/src/components/profile/AUProfileAvatarComponent.js +83 -83
  92. package/src/components/profile/AUProfileAvatarV2Component.js +91 -91
  93. package/src/components/profile/AUProfileAvatarV3Component.js +79 -79
  94. package/src/components/profile/AUProfileContainerComponent.js +283 -283
  95. package/src/components/profile/AUProfileHooks.js +30 -30
  96. package/src/components/profile/AUProfileItemComponent.js +54 -54
  97. package/src/components/profile/AUProfileLanguageComponent.js +131 -131
  98. package/src/components/profile/AUProfileLoginComponent.js +41 -41
  99. package/src/components/profile/AUProfileMailComponent.js +307 -307
  100. package/src/components/profile/AUProfileMobileComponent.js +164 -164
  101. package/src/components/profile/AUProfileNameComponent.js +253 -253
  102. package/src/components/profile/AUProfileNextOfKinComponent.js +216 -216
  103. package/src/components/profile/AUProfileReducer.js +230 -230
  104. package/src/components/profile/AUProfileWidgetComponent.js +95 -95
  105. package/src/components/profile/AUProfileWidgetV2Component.js +116 -116
  106. package/src/components/profile/AUProfileWidgetV3Component.js +129 -129
  107. package/src/components/universe/StaffTopComponent.js +362 -362
  108. package/src/components/universe/StudentTopComponent.js +137 -137
  109. package/src/components/universe/UniverseContainerComponent.js +62 -62
  110. package/src/components/wrapping/AUEmbedComponent.js +47 -47
  111. package/src/config/webpack.dev.config.js +47 -47
  112. package/src/config/webpack.umd.config.js +85 -85
  113. package/src/index.js +6 -6
  114. package/src/lib/au-alphabox.js +102 -102
  115. package/src/lib/au-auth.js +227 -227
  116. package/src/lib/au-databox.js +403 -403
  117. package/src/lib/au-diagramme.js +87 -87
  118. package/src/lib/au-flowbox.js +95 -95
  119. package/src/lib/au-news.js +371 -371
  120. package/src/lib/helpers.js +216 -216
  121. package/src/lib/i18n.js +601 -601
  122. package/src/lib/menu.js +10 -10
  123. package/src/lib/tracking.js +65 -65
  124. package/src/lib/universe.js +9 -9
  125. package/src/lib/urlHandler.js +63 -63
  126. package/src/lib/validation.js +181 -181
  127. package/src/lib/wrapping.js +16 -16
  128. package/src/styles/_settings.scss +10 -10
  129. package/src/styles/alert.scss +39 -39
  130. package/src/styles/alphabox.scss +208 -208
  131. package/src/styles/app.scss +13 -13
  132. package/src/styles/autosuggest.scss +57 -57
  133. package/src/styles/calendar.scss +111 -111
  134. package/src/styles/databox.scss +563 -563
  135. package/src/styles/diagramme.scss +119 -119
  136. package/src/styles/filtercheckbox.scss +4 -4
  137. package/src/styles/flowbox.scss +72 -72
  138. package/src/styles/maps.scss +395 -395
  139. package/src/styles/modal.scss +34 -34
  140. package/src/styles/pagination.scss +10 -10
  141. package/src/styles/spinner.scss +30 -30
@@ -1,173 +1,173 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
-
4
- /**
5
- * AU Kollapserbart Komponent
6
- *
7
- * Eksempel:
8
- * ```jsx
9
- * <AUCollapsibleComponent
10
- key="collapse"
11
- collapsed
12
- header="Collapsible element"
13
- level={2}
14
- className="hide-for-small-only"
15
- onClick={(collapsed, node) => {
16
- this.setState({
17
- spinnerVisible: !collapsed,
18
- });
19
- }}
20
- >
21
- <h1>Test</h1>
22
- </AUCollapsibleComponent>
23
- * ```
24
- */
25
-
26
- class AUCollapsibleComponent extends React.Component {
27
- constructor(props) {
28
- super(props);
29
-
30
- this.state = {
31
- collapsed: props.collapsed,
32
- };
33
- }
34
-
35
- componentDidMount() {
36
- const { attributes } = this.props;
37
- attributes.forEach((a) => {
38
- if (a.selector) {
39
- const el = this.node.querySelector(a.selector);
40
- if (el) {
41
- el.setAttribute(a.attr, a.value);
42
- }
43
- } else {
44
- this.node.setAttribute(a.attr, a.value);
45
- }
46
- });
47
- }
48
-
49
- render() {
50
- const {
51
- header,
52
- level,
53
- content,
54
- classNames,
55
- onClick,
56
- children,
57
- dataID,
58
- headerElement,
59
- } = this.props;
60
- const { collapsed } = this.state;
61
- let className = 'csc-frame au_collapsible';
62
- if (collapsed) {
63
- className += ' au_collapsed';
64
- }
65
-
66
- if (classNames) {
67
- className += ` ${classNames}`;
68
- }
69
-
70
- return (
71
- <div data-id={dataID} ref={(node) => { this.node = node; }} className={className}>
72
- {(() => {
73
- if (level > -1) {
74
- return (
75
- <div
76
- className="csc-header"
77
- onClick={() => {
78
- this.setState((prevState) => ({
79
- collapsed: !prevState.collapsed,
80
- }), () => {
81
- const { collapsed: newCollapsed } = this.state;
82
- onClick(newCollapsed, this.node);
83
- });
84
- }}
85
- onKeyUp={() => {
86
-
87
- }}
88
- role="button"
89
- tabIndex={0}
90
- >
91
- {(() => {
92
- switch (level) {
93
- case 0 && headerElement != null:
94
- return headerElement;
95
- case 1:
96
- return (
97
- <h1>
98
- {header}
99
- </h1>
100
- );
101
- case 2:
102
- return (
103
- <h2>
104
- {header}
105
- </h2>
106
- );
107
- case 3:
108
- return (
109
- <h3>
110
- {header}
111
- </h3>
112
- );
113
- case 4:
114
- return (
115
- <h4>
116
- {header}
117
- </h4>
118
- );
119
- case 5:
120
- return (
121
- <h5>
122
- {header}
123
- </h5>
124
- );
125
- default:
126
- return (
127
- <h6>
128
- {header}
129
- </h6>
130
- );
131
- }
132
- })()}
133
- </div>
134
- );
135
- }
136
- return null;
137
- })()}
138
- {children || content}
139
- </div>
140
- );
141
- }
142
- }
143
-
144
- AUCollapsibleComponent.defaultProps = {
145
- dataID: null,
146
- children: null,
147
- content: null,
148
- header: '',
149
- headerElement: null,
150
- level: 1,
151
- classNames: '',
152
- onClick: () => { },
153
- attributes: [],
154
- };
155
-
156
- AUCollapsibleComponent.propTypes = {
157
- dataID: PropTypes.string,
158
- children: PropTypes.element,
159
- collapsed: PropTypes.bool.isRequired,
160
- header: PropTypes.string,
161
- headerElement: PropTypes.element,
162
- level: PropTypes.number,
163
- content: PropTypes.element,
164
- classNames: PropTypes.string,
165
- onClick: PropTypes.func,
166
- attributes: PropTypes.arrayOf(PropTypes.shape({
167
- attr: PropTypes.string,
168
- value: PropTypes.string,
169
- selector: PropTypes.string,
170
- })),
171
- };
172
- AUCollapsibleComponent.displayName = 'AUCollapsibleComponent';
173
- export default AUCollapsibleComponent;
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+
4
+ /**
5
+ * AU Kollapserbart Komponent
6
+ *
7
+ * Eksempel:
8
+ * ```jsx
9
+ * <AUCollapsibleComponent
10
+ key="collapse"
11
+ collapsed
12
+ header="Collapsible element"
13
+ level={2}
14
+ className="hide-for-small-only"
15
+ onClick={(collapsed, node) => {
16
+ this.setState({
17
+ spinnerVisible: !collapsed,
18
+ });
19
+ }}
20
+ >
21
+ <h1>Test</h1>
22
+ </AUCollapsibleComponent>
23
+ * ```
24
+ */
25
+
26
+ class AUCollapsibleComponent extends React.Component {
27
+ constructor(props) {
28
+ super(props);
29
+
30
+ this.state = {
31
+ collapsed: props.collapsed,
32
+ };
33
+ }
34
+
35
+ componentDidMount() {
36
+ const { attributes } = this.props;
37
+ attributes.forEach((a) => {
38
+ if (a.selector) {
39
+ const el = this.node.querySelector(a.selector);
40
+ if (el) {
41
+ el.setAttribute(a.attr, a.value);
42
+ }
43
+ } else {
44
+ this.node.setAttribute(a.attr, a.value);
45
+ }
46
+ });
47
+ }
48
+
49
+ render() {
50
+ const {
51
+ header,
52
+ level,
53
+ content,
54
+ classNames,
55
+ onClick,
56
+ children,
57
+ dataID,
58
+ headerElement,
59
+ } = this.props;
60
+ const { collapsed } = this.state;
61
+ let className = 'csc-frame au_collapsible';
62
+ if (collapsed) {
63
+ className += ' au_collapsed';
64
+ }
65
+
66
+ if (classNames) {
67
+ className += ` ${classNames}`;
68
+ }
69
+
70
+ return (
71
+ <div data-id={dataID} ref={(node) => { this.node = node; }} className={className}>
72
+ {(() => {
73
+ if (level > -1) {
74
+ return (
75
+ <div
76
+ className="csc-header"
77
+ onClick={() => {
78
+ this.setState((prevState) => ({
79
+ collapsed: !prevState.collapsed,
80
+ }), () => {
81
+ const { collapsed: newCollapsed } = this.state;
82
+ onClick(newCollapsed, this.node);
83
+ });
84
+ }}
85
+ onKeyUp={() => {
86
+
87
+ }}
88
+ role="button"
89
+ tabIndex={0}
90
+ >
91
+ {(() => {
92
+ switch (level) {
93
+ case 0 && headerElement != null:
94
+ return headerElement;
95
+ case 1:
96
+ return (
97
+ <h1>
98
+ {header}
99
+ </h1>
100
+ );
101
+ case 2:
102
+ return (
103
+ <h2>
104
+ {header}
105
+ </h2>
106
+ );
107
+ case 3:
108
+ return (
109
+ <h3>
110
+ {header}
111
+ </h3>
112
+ );
113
+ case 4:
114
+ return (
115
+ <h4>
116
+ {header}
117
+ </h4>
118
+ );
119
+ case 5:
120
+ return (
121
+ <h5>
122
+ {header}
123
+ </h5>
124
+ );
125
+ default:
126
+ return (
127
+ <h6>
128
+ {header}
129
+ </h6>
130
+ );
131
+ }
132
+ })()}
133
+ </div>
134
+ );
135
+ }
136
+ return null;
137
+ })()}
138
+ {children || content}
139
+ </div>
140
+ );
141
+ }
142
+ }
143
+
144
+ AUCollapsibleComponent.defaultProps = {
145
+ dataID: null,
146
+ children: null,
147
+ content: null,
148
+ header: '',
149
+ headerElement: null,
150
+ level: 1,
151
+ classNames: '',
152
+ onClick: () => { },
153
+ attributes: [],
154
+ };
155
+
156
+ AUCollapsibleComponent.propTypes = {
157
+ dataID: PropTypes.string,
158
+ children: PropTypes.element,
159
+ collapsed: PropTypes.bool.isRequired,
160
+ header: PropTypes.string,
161
+ headerElement: PropTypes.element,
162
+ level: PropTypes.number,
163
+ content: PropTypes.element,
164
+ classNames: PropTypes.string,
165
+ onClick: PropTypes.func,
166
+ attributes: PropTypes.arrayOf(PropTypes.shape({
167
+ attr: PropTypes.string,
168
+ value: PropTypes.string,
169
+ selector: PropTypes.string,
170
+ })),
171
+ };
172
+ AUCollapsibleComponent.displayName = 'AUCollapsibleComponent';
173
+ export default AUCollapsibleComponent;
@@ -1,105 +1,105 @@
1
- /* eslint-env browser */
2
- import React from 'react';
3
- import PropTypes from 'prop-types';
4
- import moment from 'moment';
5
- import AUCalendarComponent from './AUCalendarComponent';
6
-
7
- class AUDatepickerComponent extends React.Component {
8
- constructor(props) {
9
- super(props);
10
-
11
- this.state = {
12
- showCalendar: false,
13
- date: props.date,
14
- dateFormatted: props.date ? moment(props.date).format(props.format) : '',
15
- };
16
-
17
- this.hideDatePicker = this.hideDatePicker.bind(this);
18
- }
19
-
20
- hideDatePicker() {
21
- const { onHide } = this.props;
22
- const { date, dateFormatted } = this.state;
23
- this.setState({
24
- showCalendar: false,
25
- }, () => {
26
- onHide(date, dateFormatted);
27
- });
28
- }
29
-
30
- render() {
31
- const { showCalendar, dateFormatted } = this.state;
32
- let { date } = this.state;
33
- if (!date) {
34
- date = new Date();
35
- }
36
- const { onDateChange, format, showTime } = this.props;
37
- return (
38
- <div className="au-datepicker">
39
- <input
40
- type="text"
41
- value={dateFormatted}
42
- readOnly
43
- onClick={() => {
44
- this.setState((prevState) => ({
45
- showCalendar: !prevState.showCalendar,
46
- }));
47
- }}
48
- />
49
- {
50
- showCalendar && [
51
- <div key={0} className="au-calendar-close">
52
- <button
53
- type="button"
54
- onClick={() => {
55
- this.hideDatePicker();
56
- }}
57
- >
58
- c
59
- </button>
60
- </div>,
61
- <AUCalendarComponent
62
- key={showCalendar}
63
- minuteInterval={1}
64
- selected={date}
65
- day={date.getDate()}
66
- month={date.getMonth() + 1}
67
- year={date.getFullYear()}
68
- hour={date.getHours()}
69
- minute={date.getMinutes()}
70
- onSelected={(selected) => {
71
- const formatted = moment(selected).format(format);
72
- this.setState({
73
- date: selected,
74
- dateFormatted: formatted,
75
- }, () => {
76
- onDateChange(selected, formatted);
77
- });
78
- }}
79
- showTime={showTime}
80
- />,
81
- ]
82
- }
83
- </div>
84
- );
85
- }
86
- }
87
-
88
- AUDatepickerComponent.defaultProps = {
89
- date: null,
90
- onDateChange: () => { },
91
- onHide: () => { },
92
- format: 'YYYY-MM-DD HH:mm',
93
- showTime: true,
94
- };
95
-
96
- AUDatepickerComponent.propTypes = {
97
- date: PropTypes.instanceOf(Date),
98
- onDateChange: PropTypes.func,
99
- onHide: PropTypes.func,
100
- format: PropTypes.string,
101
- showTime: PropTypes.bool,
102
- };
103
-
104
- AUDatepickerComponent.displayName = 'AUDatepickerComponent';
105
- export default AUDatepickerComponent;
1
+ /* eslint-env browser */
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import moment from 'moment';
5
+ import AUCalendarComponent from './AUCalendarComponent';
6
+
7
+ class AUDatepickerComponent extends React.Component {
8
+ constructor(props) {
9
+ super(props);
10
+
11
+ this.state = {
12
+ showCalendar: false,
13
+ date: props.date,
14
+ dateFormatted: props.date ? moment(props.date).format(props.format) : '',
15
+ };
16
+
17
+ this.hideDatePicker = this.hideDatePicker.bind(this);
18
+ }
19
+
20
+ hideDatePicker() {
21
+ const { onHide } = this.props;
22
+ const { date, dateFormatted } = this.state;
23
+ this.setState({
24
+ showCalendar: false,
25
+ }, () => {
26
+ onHide(date, dateFormatted);
27
+ });
28
+ }
29
+
30
+ render() {
31
+ const { showCalendar, dateFormatted } = this.state;
32
+ let { date } = this.state;
33
+ if (!date) {
34
+ date = new Date();
35
+ }
36
+ const { onDateChange, format, showTime } = this.props;
37
+ return (
38
+ <div className="au-datepicker">
39
+ <input
40
+ type="text"
41
+ value={dateFormatted}
42
+ readOnly
43
+ onClick={() => {
44
+ this.setState((prevState) => ({
45
+ showCalendar: !prevState.showCalendar,
46
+ }));
47
+ }}
48
+ />
49
+ {
50
+ showCalendar && [
51
+ <div key={0} className="au-calendar-close">
52
+ <button
53
+ type="button"
54
+ onClick={() => {
55
+ this.hideDatePicker();
56
+ }}
57
+ >
58
+ c
59
+ </button>
60
+ </div>,
61
+ <AUCalendarComponent
62
+ key={showCalendar}
63
+ minuteInterval={1}
64
+ selected={date}
65
+ day={date.getDate()}
66
+ month={date.getMonth() + 1}
67
+ year={date.getFullYear()}
68
+ hour={date.getHours()}
69
+ minute={date.getMinutes()}
70
+ onSelected={(selected) => {
71
+ const formatted = moment(selected).format(format);
72
+ this.setState({
73
+ date: selected,
74
+ dateFormatted: formatted,
75
+ }, () => {
76
+ onDateChange(selected, formatted);
77
+ });
78
+ }}
79
+ showTime={showTime}
80
+ />,
81
+ ]
82
+ }
83
+ </div>
84
+ );
85
+ }
86
+ }
87
+
88
+ AUDatepickerComponent.defaultProps = {
89
+ date: null,
90
+ onDateChange: () => { },
91
+ onHide: () => { },
92
+ format: 'YYYY-MM-DD HH:mm',
93
+ showTime: true,
94
+ };
95
+
96
+ AUDatepickerComponent.propTypes = {
97
+ date: PropTypes.instanceOf(Date),
98
+ onDateChange: PropTypes.func,
99
+ onHide: PropTypes.func,
100
+ format: PropTypes.string,
101
+ showTime: PropTypes.bool,
102
+ };
103
+
104
+ AUDatepickerComponent.displayName = 'AUDatepickerComponent';
105
+ export default AUDatepickerComponent;