@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,123 +1,123 @@
1
- import React from 'react';
2
- import { StoryObj, Meta } from '@storybook/react';
3
- import AUTruncatorComponent from '../src/components/AUTruncatorComponent';
4
- import { ThemeWrapper } from './lib/helpers';
5
-
6
- export default {
7
- title: 'Delphinus/Truncator',
8
- component: AUTruncatorComponent,
9
- argTypes: {
10
- children: {
11
- table: {
12
- disable: true,
13
- }
14
- },
15
- buttonChild: {
16
- table: {
17
- disable: true,
18
- }
19
- },
20
- classNames: {
21
- table: {
22
- disable: true,
23
- }
24
- },
25
- header: {
26
- table: {
27
- disable: true,
28
- }
29
- },
30
- headerLevel: {
31
- table: {
32
- disable: true,
33
- }
34
- },
35
- },
36
- decorators: [
37
- (Story, context) => (
38
- <ThemeWrapper theme={context.globals.theme}>
39
- {Story()}
40
- </ThemeWrapper>
41
- )
42
- ],
43
- } as Meta<typeof AUTruncatorComponent>;
44
-
45
- type Story = StoryObj<typeof AUTruncatorComponent>;
46
-
47
- export const Truncated: Story = {
48
- args: {
49
- maxLines: 10,
50
- buttonChild: <span>Læs mere</span>,
51
- children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
52
- Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
53
- Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
54
- Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. Aliquid enim libero ullam iste!
55
- Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
56
- Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
57
- Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
58
- },
59
- render: (args) => <AUTruncatorComponent {...args} />,
60
- };
61
-
62
- export const Not_Truncated: Story = {
63
- args: {
64
- maxLines: 100,
65
- buttonChild: <span>Læs mere</span>,
66
- children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
67
- Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
68
- Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
69
- Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. Aliquid enim libero ullam iste!
70
- Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
71
- Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
72
- Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
73
- },
74
- render: (args) => <AUTruncatorComponent {...args} />,
75
- };
76
-
77
- export const With_Focusable_Content: Story = {
78
- args: {
79
- maxLines: 10,
80
- buttonChild: <span>Læs mere</span>,
81
- children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
82
- Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
83
- Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
84
- Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
85
- Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
86
- Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
87
- Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
88
- },
89
- render: (args) => <AUTruncatorComponent {...args} />,
90
- };
91
-
92
- export const Narrow_Viewport: Story = {
93
- args: {
94
- classNames: 'truncator truncator--not-on-medium',
95
- maxLines: 10,
96
- buttonChild: <span>Læs mere</span>,
97
- children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
98
- Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
99
- Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
100
- Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
101
- Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
102
- Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
103
- Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
104
- },
105
- render: (args) => <AUTruncatorComponent {...args} />,
106
- };
107
-
108
-
109
- export const Not_On_Wide_Viewport: Story = {
110
- args: {
111
- classNames: 'truncator truncator--not-on-wide',
112
- maxLines: 10,
113
- buttonChild: <span>Læs mere</span>,
114
- children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
115
- Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
116
- Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
117
- Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
118
- Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
119
- Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
120
- Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
121
- },
122
- render: (args) => <AUTruncatorComponent {...args} />,
123
- };
1
+ import React from 'react';
2
+ import { StoryObj, Meta } from '@storybook/react';
3
+ import AUTruncatorComponent from '../src/components/AUTruncatorComponent';
4
+ import { ThemeWrapper } from './lib/helpers';
5
+
6
+ export default {
7
+ title: 'Delphinus/Truncator',
8
+ component: AUTruncatorComponent,
9
+ argTypes: {
10
+ children: {
11
+ table: {
12
+ disable: true,
13
+ }
14
+ },
15
+ buttonChild: {
16
+ table: {
17
+ disable: true,
18
+ }
19
+ },
20
+ classNames: {
21
+ table: {
22
+ disable: true,
23
+ }
24
+ },
25
+ header: {
26
+ table: {
27
+ disable: true,
28
+ }
29
+ },
30
+ headerLevel: {
31
+ table: {
32
+ disable: true,
33
+ }
34
+ },
35
+ },
36
+ decorators: [
37
+ (Story, context) => (
38
+ <ThemeWrapper theme={context.globals.theme}>
39
+ {Story()}
40
+ </ThemeWrapper>
41
+ )
42
+ ],
43
+ } as Meta<typeof AUTruncatorComponent>;
44
+
45
+ type Story = StoryObj<typeof AUTruncatorComponent>;
46
+
47
+ export const Truncated: Story = {
48
+ args: {
49
+ maxLines: 10,
50
+ buttonChild: <span>Læs mere</span>,
51
+ children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
52
+ Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
53
+ Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
54
+ Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. Aliquid enim libero ullam iste!
55
+ Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
56
+ Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
57
+ Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
58
+ },
59
+ render: (args) => <AUTruncatorComponent {...args} />,
60
+ };
61
+
62
+ export const Not_Truncated: Story = {
63
+ args: {
64
+ maxLines: 100,
65
+ buttonChild: <span>Læs mere</span>,
66
+ children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
67
+ Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
68
+ Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
69
+ Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. Aliquid enim libero ullam iste!
70
+ Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
71
+ Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
72
+ Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
73
+ },
74
+ render: (args) => <AUTruncatorComponent {...args} />,
75
+ };
76
+
77
+ export const With_Focusable_Content: Story = {
78
+ args: {
79
+ maxLines: 10,
80
+ buttonChild: <span>Læs mere</span>,
81
+ children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
82
+ Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
83
+ Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
84
+ Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
85
+ Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
86
+ Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
87
+ Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
88
+ },
89
+ render: (args) => <AUTruncatorComponent {...args} />,
90
+ };
91
+
92
+ export const Narrow_Viewport: Story = {
93
+ args: {
94
+ classNames: 'truncator truncator--not-on-medium',
95
+ maxLines: 10,
96
+ buttonChild: <span>Læs mere</span>,
97
+ children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
98
+ Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
99
+ Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
100
+ Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
101
+ Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
102
+ Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
103
+ Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
104
+ },
105
+ render: (args) => <AUTruncatorComponent {...args} />,
106
+ };
107
+
108
+
109
+ export const Not_On_Wide_Viewport: Story = {
110
+ args: {
111
+ classNames: 'truncator truncator--not-on-wide',
112
+ maxLines: 10,
113
+ buttonChild: <span>Læs mere</span>,
114
+ children: <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus odit temporibus illo hic esse minus, ab molestiae! Aperiam accusantium, facilis sunt sit corporis autem similique. Cum dolorum unde expedita vitae?
115
+ Reiciendis facere sapiente dolor saepe earum id itaque sit culpa quaerat fuga deleniti quo illum, iusto dolorem fugit odit nisi quos ut! Perspiciatis delectus explicabo sunt vel harum et provident?
116
+ Ipsum quas incidunt nostrum a quisquam error, nisi repellat pariatur sunt enim! Odio, veritatis, quas exercitationem pariatur debitis commodi doloremque illo eos sint eveniet maiores nobis necessitatibus, sapiente tempora error?
117
+ Cupiditate amet nostrum architecto esse, vero, nisi expedita tempore ullam suscipit velit enim nobis. Explicabo tempora earum, accusamus facilis minima dolore facere saepe doloremque soluta. <a href="#">Aliquid enim libero ullam iste!</a>
118
+ Perspiciatis odio sunt, illum nobis excepturi et itaque praesentium suscipit dolore, ipsa obcaecati reprehenderit aspernatur placeat quod maiores vel quas repellendus. Sed incidunt dicta harum accusamus enim earum doloribus hic?
119
+ Mollitia perferendis, repellendus odio molestiae ducimus, ut sed quasi voluptates ea assumenda ullam vero nam earum voluptas facilis aspernatur quo magni ipsam consequatur ipsa, eius doloremque! Maiores consequatur iure aut!
120
+ Excepturi non saepe ex esse asperiores, possimus et magnam! Quaerat exercitationem, ipsam quisquam aliquid tempora beatae officia facere? A autem numquam quae repudiandae illo repellendus natus commodi fugit facilis modi.</p>
121
+ },
122
+ render: (args) => <AUTruncatorComponent {...args} />,
123
+ };
@@ -1,146 +1,146 @@
1
- import { useTranslation } from '../../src/lib/hooks';
2
- import React, { useEffect, StrictMode } from 'react';
3
-
4
- const globalTheme = {
5
- theme: {
6
- name: 'Theme',
7
- description: 'Global theme for components',
8
- defaultValue: 'light',
9
- toolbar: {
10
- icon: 'circlehollow',
11
- items: ['normal', 'dark'],
12
- showName: true,
13
- dynamicTitle: true,
14
- },
15
- },
16
- };
17
-
18
- const globalLang = (items = ['da', 'en'], defaultValue = 'da') => ({
19
- lang: {
20
- name: 'Language',
21
- description: 'Global language for components',
22
- defaultValue,
23
- toolbar: {
24
- icon: 'circlehollow',
25
- items,
26
- showName: true,
27
- dynamicTitle: true,
28
- },
29
- },
30
- });
31
-
32
- const ThemeWrapper = ({ theme, children, withPageContentBlock = true }) => {
33
- useEffect(() => {
34
- const body = document.querySelector('body');
35
- if (body) {
36
- body.classList.remove('theme--normal');
37
- body.classList.remove('theme--dark');
38
- body.classList.add(`theme--${theme}`);
39
- }
40
- });
41
-
42
- if (withPageContentBlock) {
43
- return (
44
- <StrictMode>
45
- <div className="page">
46
- <main className={`theme--${theme} page__content`}>
47
- <div className="page__content__block">
48
- {children}
49
- </div>
50
- </main>
51
- </div>
52
- </StrictMode>
53
- );
54
- }
55
-
56
- return (
57
- <StrictMode>
58
- <div className="page">
59
- <main className={`theme--${theme} page__content`}>
60
- {children}
61
- </main>
62
- </div>
63
- </StrictMode>
64
- );
65
- }
66
-
67
- const ThemeLanguageWrapper = ({
68
- theme,
69
- children,
70
- defaultLabels,
71
- importPromises,
72
- translationContext,
73
- lang,
74
- withPageContentBlock = true,
75
- }) => {
76
- const translations = useTranslation<typeof defaultLabels>(defaultLabels, importPromises, lang);
77
- useEffect(() => {
78
- const body = document.querySelector('body');
79
- if (body) {
80
- body.classList.remove('theme--normal');
81
- body.classList.remove('theme--dark');
82
- body.classList.add(`theme--${theme}`);
83
- }
84
- });
85
-
86
- if (withPageContentBlock) {
87
- return (
88
- <StrictMode>
89
- <translationContext.Provider value={translations}>
90
- <div className="page">
91
- <main className={`theme--${theme} page__content`}>
92
- <div className="page__content__block">
93
- {children}
94
- </div>
95
- </main>
96
- </div>
97
- </translationContext.Provider>
98
- </StrictMode>
99
- );
100
- }
101
-
102
- return (
103
- <StrictMode>
104
- <translationContext.Provider value={translations}>
105
- <div className="page">
106
- <main className={`theme--${theme} page__content`}>
107
- {children}
108
- </main>
109
- </div>
110
- </translationContext.Provider>
111
- </StrictMode>
112
- );
113
- }
114
-
115
- const translations = {
116
- character_count: {
117
- overflow: {
118
- message: {
119
- recommended: 'Vi anbefaler, at du maksimalt skriver {{maxchars}} tegn.',
120
- allowed: 'Du må maks. skrive {{maxchars}} tegn.'
121
- },
122
- count: {
123
- recommended: {
124
- one: 'Du har skrevet 1 tegn mere end anbefalet.',
125
- other: 'Du har skrevet {{overflow}} tegn mere end anbefalet.'
126
- },
127
- allowed: {
128
- one: 'Du har skrevet 1 tegn for meget.',
129
- other: 'Du har skrevet {{overflow}} tegn for meget.'
130
- }
131
- }
132
- },
133
- count_down: {
134
- one: 'Du har 1 tegn tilbage',
135
- other: 'Du har {{remaining}} tegn tilbage'
136
- }
137
- },
138
- };
139
-
140
- export {
141
- globalTheme,
142
- globalLang,
143
- ThemeWrapper,
144
- ThemeLanguageWrapper,
145
- translations,
146
- };
1
+ import { useTranslation } from '../../src/lib/hooks';
2
+ import React, { useEffect, StrictMode } from 'react';
3
+
4
+ const globalTheme = {
5
+ theme: {
6
+ name: 'Theme',
7
+ description: 'Global theme for components',
8
+ defaultValue: 'light',
9
+ toolbar: {
10
+ icon: 'circlehollow',
11
+ items: ['normal', 'dark'],
12
+ showName: true,
13
+ dynamicTitle: true,
14
+ },
15
+ },
16
+ };
17
+
18
+ const globalLang = (items = ['da', 'en'], defaultValue = 'da') => ({
19
+ lang: {
20
+ name: 'Language',
21
+ description: 'Global language for components',
22
+ defaultValue,
23
+ toolbar: {
24
+ icon: 'circlehollow',
25
+ items,
26
+ showName: true,
27
+ dynamicTitle: true,
28
+ },
29
+ },
30
+ });
31
+
32
+ const ThemeWrapper = ({ theme, children, withPageContentBlock = true }) => {
33
+ useEffect(() => {
34
+ const body = document.querySelector('body');
35
+ if (body) {
36
+ body.classList.remove('theme--normal');
37
+ body.classList.remove('theme--dark');
38
+ body.classList.add(`theme--${theme}`);
39
+ }
40
+ });
41
+
42
+ if (withPageContentBlock) {
43
+ return (
44
+ <StrictMode>
45
+ <div className="page">
46
+ <main className={`theme--${theme} page__content`}>
47
+ <div className="page__content__block">
48
+ {children}
49
+ </div>
50
+ </main>
51
+ </div>
52
+ </StrictMode>
53
+ );
54
+ }
55
+
56
+ return (
57
+ <StrictMode>
58
+ <div className="page">
59
+ <main className={`theme--${theme} page__content`}>
60
+ {children}
61
+ </main>
62
+ </div>
63
+ </StrictMode>
64
+ );
65
+ }
66
+
67
+ const ThemeLanguageWrapper = ({
68
+ theme,
69
+ children,
70
+ defaultLabels,
71
+ importPromises,
72
+ translationContext,
73
+ lang,
74
+ withPageContentBlock = true,
75
+ }) => {
76
+ const translations = useTranslation<typeof defaultLabels>(defaultLabels, importPromises, lang);
77
+ useEffect(() => {
78
+ const body = document.querySelector('body');
79
+ if (body) {
80
+ body.classList.remove('theme--normal');
81
+ body.classList.remove('theme--dark');
82
+ body.classList.add(`theme--${theme}`);
83
+ }
84
+ });
85
+
86
+ if (withPageContentBlock) {
87
+ return (
88
+ <StrictMode>
89
+ <translationContext.Provider value={translations}>
90
+ <div className="page">
91
+ <main className={`theme--${theme} page__content`}>
92
+ <div className="page__content__block">
93
+ {children}
94
+ </div>
95
+ </main>
96
+ </div>
97
+ </translationContext.Provider>
98
+ </StrictMode>
99
+ );
100
+ }
101
+
102
+ return (
103
+ <StrictMode>
104
+ <translationContext.Provider value={translations}>
105
+ <div className="page">
106
+ <main className={`theme--${theme} page__content`}>
107
+ {children}
108
+ </main>
109
+ </div>
110
+ </translationContext.Provider>
111
+ </StrictMode>
112
+ );
113
+ }
114
+
115
+ const translations = {
116
+ character_count: {
117
+ overflow: {
118
+ message: {
119
+ recommended: 'Vi anbefaler, at du maksimalt skriver {{maxchars}} tegn.',
120
+ allowed: 'Du må maks. skrive {{maxchars}} tegn.'
121
+ },
122
+ count: {
123
+ recommended: {
124
+ one: 'Du har skrevet 1 tegn mere end anbefalet.',
125
+ other: 'Du har skrevet {{overflow}} tegn mere end anbefalet.'
126
+ },
127
+ allowed: {
128
+ one: 'Du har skrevet 1 tegn for meget.',
129
+ other: 'Du har skrevet {{overflow}} tegn for meget.'
130
+ }
131
+ }
132
+ },
133
+ count_down: {
134
+ one: 'Du har 1 tegn tilbage',
135
+ other: 'Du har {{remaining}} tegn tilbage'
136
+ }
137
+ },
138
+ };
139
+
140
+ export {
141
+ globalTheme,
142
+ globalLang,
143
+ ThemeWrapper,
144
+ ThemeLanguageWrapper,
145
+ translations,
146
+ };
package/tsconfig.json CHANGED
@@ -1,47 +1,47 @@
1
- {
2
- "compilerOptions": {
3
- // Target latest version of ECMAScript.
4
- "target": "esnext",
5
- // path to output directory
6
- "outDir": "../wwwroot/js",
7
- // enable strict null checks as a best practice
8
- "strictNullChecks": true,
9
- // Search under node_modules for non-relative imports.
10
- "moduleResolution": "node",
11
- // Process & infer types from .js files.
12
- "allowJs": true,
13
- // Don't emit; allow Babel to transform files.
14
- "noEmit": true,
15
- // Enable strictest settings like strictNullChecks & noImplicitAny.
16
- "strict": true,
17
- // Import non-ES modules as default imports.
18
- "esModuleInterop": true,
19
- // use typescript to transpile jsx to js
20
- "jsx": "react",
21
- "baseUrl": "./src",
22
- "lib": [
23
- "es2015",
24
- "dom.iterable",
25
- "es2016.array.include",
26
- "es2017.object",
27
- "dom"
28
- ],
29
- "module": "esnext",
30
- "removeComments": true,
31
- "alwaysStrict": true,
32
- "allowUnreachableCode": false,
33
- "noImplicitAny": false,
34
- "noImplicitThis": true,
35
- "noUnusedLocals": true,
36
- "noUnusedParameters": true,
37
- "noImplicitReturns": true,
38
- "noFallthroughCasesInSwitch": true,
39
- "forceConsistentCasingInFileNames": true,
40
- "importHelpers": true,
41
- "resolveJsonModule": true,
42
- "typeRoots": [
43
- "./node_modules/@types",
44
- "./node_modules/@aarhus-university/types"
45
- ]
46
- },
1
+ {
2
+ "compilerOptions": {
3
+ // Target latest version of ECMAScript.
4
+ "target": "esnext",
5
+ // path to output directory
6
+ "outDir": "../wwwroot/js",
7
+ // enable strict null checks as a best practice
8
+ "strictNullChecks": true,
9
+ // Search under node_modules for non-relative imports.
10
+ "moduleResolution": "node",
11
+ // Process & infer types from .js files.
12
+ "allowJs": true,
13
+ // Don't emit; allow Babel to transform files.
14
+ "noEmit": true,
15
+ // Enable strictest settings like strictNullChecks & noImplicitAny.
16
+ "strict": true,
17
+ // Import non-ES modules as default imports.
18
+ "esModuleInterop": true,
19
+ // use typescript to transpile jsx to js
20
+ "jsx": "react",
21
+ "baseUrl": "./src",
22
+ "lib": [
23
+ "es2015",
24
+ "dom.iterable",
25
+ "es2016.array.include",
26
+ "es2017.object",
27
+ "dom"
28
+ ],
29
+ "module": "esnext",
30
+ "removeComments": true,
31
+ "alwaysStrict": true,
32
+ "allowUnreachableCode": false,
33
+ "noImplicitAny": false,
34
+ "noImplicitThis": true,
35
+ "noUnusedLocals": true,
36
+ "noUnusedParameters": true,
37
+ "noImplicitReturns": true,
38
+ "noFallthroughCasesInSwitch": true,
39
+ "forceConsistentCasingInFileNames": true,
40
+ "importHelpers": true,
41
+ "resolveJsonModule": true,
42
+ "typeRoots": [
43
+ "./node_modules/@types",
44
+ "./node_modules/@aarhus-university/types"
45
+ ]
46
+ },
47
47
  }