@public-ui/sample-react 2.0.0-rc.7 → 2.0.0-rc.9

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 (97) hide show
  1. package/dist/1474.js +1 -1
  2. package/dist/183.js +1 -1
  3. package/dist/2337.js +1 -1
  4. package/dist/2412.js +1 -1
  5. package/dist/2597.js +2 -0
  6. package/dist/3303.js +1 -1
  7. package/dist/3325.js +1 -1
  8. package/dist/3429.js +1 -1
  9. package/dist/3459.js +1 -1
  10. package/dist/3932.js +1 -1
  11. package/dist/3961.js +2 -0
  12. package/dist/4022.js +1 -1
  13. package/dist/4164.js +1 -1
  14. package/dist/4195.js +1 -1
  15. package/dist/4291.js +1 -1
  16. package/dist/4323.js +1 -1
  17. package/dist/4355.js +1 -1
  18. package/dist/4446.js +2 -0
  19. package/dist/4564.js +1 -1
  20. package/dist/4891.js +1 -1
  21. package/dist/5183.js +1 -1
  22. package/dist/5369.js +1 -1
  23. package/dist/5390.js +1 -1
  24. package/dist/540.js +1 -1
  25. package/dist/5717.js +1 -1
  26. package/dist/5862.js +1 -1
  27. package/dist/5866.js +1 -1
  28. package/dist/6012.js +1 -1
  29. package/dist/6068.js +1 -1
  30. package/dist/6210.js +1 -1
  31. package/dist/6320.js +1 -1
  32. package/dist/6558.js +1 -1
  33. package/dist/6813.js +1 -1
  34. package/dist/6908.js +1 -1
  35. package/dist/7029.js +1 -1
  36. package/dist/{2288.js → 7052.js} +2 -2
  37. package/dist/7255.js +1 -1
  38. package/dist/7447.js +1 -1
  39. package/dist/7535.js +1 -1
  40. package/dist/7715.js +1 -1
  41. package/dist/7722.js +1 -1
  42. package/dist/7734.js +2 -0
  43. package/dist/7801.js +1 -1
  44. package/dist/7858.js +1 -1
  45. package/dist/7955.js +1 -1
  46. package/dist/7995.js +1 -1
  47. package/dist/{6487.js → 8026.js} +2 -2
  48. package/dist/8061.js +1 -1
  49. package/dist/8065.js +1 -1
  50. package/dist/8073.js +1 -1
  51. package/dist/8111.js +1 -1
  52. package/dist/8255.js +1 -1
  53. package/dist/8291.js +1 -1
  54. package/dist/8709.js +1 -1
  55. package/dist/8761.js +1 -1
  56. package/dist/{8139.js → 9091.js} +2 -2
  57. package/dist/9734.js +1 -1
  58. package/dist/9747.js +1 -1
  59. package/dist/9792.js +1 -1
  60. package/dist/9895.js +1 -1
  61. package/dist/9963.js +1 -1
  62. package/dist/9972.js +1 -1
  63. package/dist/abgrenzung.jpg +0 -0
  64. package/dist/main.css +2 -2
  65. package/dist/main.js +16 -4
  66. package/dist/main.js.LICENSE.txt +2 -2
  67. package/package.json +11 -11
  68. package/public/abgrenzung.jpg +0 -0
  69. package/src/components/badge/basic.tsx +5 -5
  70. package/src/components/button-link/image.tsx +1 -1
  71. package/src/components/card/selection.tsx +3 -3
  72. package/src/components/handout/basic.tsx +4 -2
  73. package/src/components/heading/badged.tsx +18 -6
  74. package/src/components/image/basic.tsx +1 -1
  75. package/src/components/link/image.tsx +2 -2
  76. package/src/components/logo/basic.tsx +1 -1
  77. package/src/components/nav/active.tsx +8 -9
  78. package/src/components/nav/basic.tsx +1 -1
  79. package/src/components/table/with-pagination.tsx +2 -3
  80. package/src/components/toast/basic.tsx +58 -34
  81. package/src/scenarios/appointment-form/AvailableAppointmentsForm.tsx +1 -1
  82. package/src/scenarios/complex-form/component.tsx +6 -6
  83. package/src/shares/routes.ts +0 -2
  84. package/src/style.scss +2 -5
  85. package/dist/3337.js +0 -2
  86. package/dist/4556.js +0 -2
  87. package/dist/5771.js +0 -2
  88. package/dist/6655.js +0 -2
  89. package/src/components/popover/basic.tsx +0 -36
  90. package/src/components/popover/routes.ts +0 -8
  91. /package/dist/{2288.js.LICENSE.txt → 2597.js.LICENSE.txt} +0 -0
  92. /package/dist/{3337.js.LICENSE.txt → 3961.js.LICENSE.txt} +0 -0
  93. /package/dist/{4556.js.LICENSE.txt → 4446.js.LICENSE.txt} +0 -0
  94. /package/dist/{5771.js.LICENSE.txt → 7052.js.LICENSE.txt} +0 -0
  95. /package/dist/{6487.js.LICENSE.txt → 7734.js.LICENSE.txt} +0 -0
  96. /package/dist/{6655.js.LICENSE.txt → 8026.js.LICENSE.txt} +0 -0
  97. /package/dist/{8139.js.LICENSE.txt → 9091.js.LICENSE.txt} +0 -0
@@ -35,7 +35,7 @@
35
35
  */
36
36
 
37
37
  /**
38
- * @remix-run/router v1.10.0
38
+ * @remix-run/router v1.11.0
39
39
  *
40
40
  * Copyright (c) Remix Software Inc.
41
41
  *
@@ -46,7 +46,7 @@
46
46
  */
47
47
 
48
48
  /**
49
- * React Router v6.17.0
49
+ * React Router v6.18.0
50
50
  *
51
51
  * Copyright (c) Remix Software Inc.
52
52
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/sample-react",
3
- "version": "2.0.0-rc.7",
3
+ "version": "2.0.0-rc.9",
4
4
  "description": "This app contains samples for the KoliBri/Public UI",
5
5
  "license": "EUPL-1.2",
6
6
  "dependencies": {
@@ -8,26 +8,26 @@
8
8
  "@leanup/stack-react": "1.3.48",
9
9
  "@leanup/stack-webpack": "1.3.48",
10
10
  "@public-oss/kolibri-themes": "0.0.3",
11
- "@public-ui/components": "2.0.0-rc.7",
12
- "@public-ui/react": "2.0.0-rc.7",
13
- "@public-ui/themes": "2.0.0-rc.7",
14
- "@types/node": "20.8.9",
15
- "@types/react": "18.2.33",
11
+ "@public-ui/components": "2.0.0-rc.9",
12
+ "@public-ui/react": "2.0.0-rc.9",
13
+ "@public-ui/themes": "2.0.0-rc.9",
14
+ "@types/node": "20.8.10",
15
+ "@types/react": "18.2.36",
16
16
  "@types/react-dom": "18.2.14",
17
- "@unocss/preset-uno": "0.57.1",
18
- "@unocss/webpack": "0.57.1",
17
+ "@unocss/preset-uno": "0.57.2",
18
+ "@unocss/webpack": "0.57.2",
19
19
  "ajv": "8.12.0",
20
20
  "chromedriver": "118.0.1",
21
21
  "cpy-cli": "5.0.0",
22
- "eslint-plugin-jsx-a11y": "6.7.1",
22
+ "eslint-plugin-jsx-a11y": "6.8.0",
23
23
  "eslint-plugin-react": "7.33.2",
24
24
  "formik": "2.4.5",
25
25
  "nightwatch-axe-verbose": "2.2.2",
26
26
  "npm-run-all": "4.1.5",
27
27
  "react": "18.2.0",
28
28
  "react-dom": "18.2.0",
29
- "react-router": "6.17.0",
30
- "react-router-dom": "6.17.0",
29
+ "react-router": "6.18.0",
30
+ "react-router-dom": "6.18.0",
31
31
  "rimraf": "3.0.2",
32
32
  "ts-prune": "0.10.3",
33
33
  "typescript": "5.2.2",
Binary file
@@ -8,11 +8,11 @@ const PROPS = {
8
8
  };
9
9
 
10
10
  export const BadgeBasic: FC = () => (
11
- <div className="d-flex gap-2">
11
+ <div className="flex gap-2">
12
12
  <KolBadge {...PROPS}></KolBadge>
13
- <KolBadge _color="#B22222" {...PROPS}></KolBadge>
14
- <KolBadge _color="#4682B4" {...PROPS}></KolBadge>
15
- <KolBadge _color="#228B22" {...PROPS}></KolBadge>
16
- <KolBadge _color="#8B008B" {...PROPS}></KolBadge>
13
+ <KolBadge _color="#86ffc6" {...PROPS}></KolBadge>
14
+ <KolBadge _color="#06539e" {...PROPS}></KolBadge>
15
+ <KolBadge _color="#ae0000" {...PROPS}></KolBadge>
16
+ <KolBadge _color="#8b008b" {...PROPS}></KolBadge>
17
17
  </div>
18
18
  );
@@ -8,7 +8,7 @@ export const ButtonLinkImage: FC = () => (
8
8
  <KolButtonLink _label="Ich bin ein Link, der als Text gerendert wird" />
9
9
  <br />
10
10
  <KolButtonLink _label="">
11
- <img alt="Abgrenzung" slot="expert" src="https://public-ui.github.io/assets/abgrenzung.jpg" width="300" />
11
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
12
12
  </KolButtonLink>
13
13
  </div>
14
14
  );
@@ -21,7 +21,7 @@ export const CardSelection: FC = () => (
21
21
  </div>
22
22
  <div>
23
23
  <div>
24
- <img alt="Beispielbild" src="https://via.placeholder.com/200" />
24
+ <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
25
25
  </div>
26
26
  </div>
27
27
  <div>
@@ -41,7 +41,7 @@ export const CardSelection: FC = () => (
41
41
  </div>
42
42
  <div>
43
43
  <div>
44
- <img alt="Beispielbild" src="https://via.placeholder.com/200" />
44
+ <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
45
45
  </div>
46
46
  </div>
47
47
  <div>
@@ -61,7 +61,7 @@ export const CardSelection: FC = () => (
61
61
  </div>
62
62
  <div>
63
63
  <div>
64
- <img alt="Beispielbild" src="https://via.placeholder.com/200" />
64
+ <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
65
65
  </div>
66
66
  </div>
67
67
  <div>
@@ -689,7 +689,9 @@ export const HandoutBasic: FC = () => (
689
689
  <div className="grid gap-4 grid-cols-[auto_1fr_1fr] items-center">
690
690
  <KolKolibri className="block w-75px" _labeled={false}></KolKolibri>
691
691
  <KolHeading _label="" _level={1}>
692
- Kolibri-Handout <small>for {getThemeName(getTheme())}</small>
692
+ <span slot="expert">
693
+ Kolibri-Handout <small>for {getThemeName(getTheme())}</small>
694
+ </span>
693
695
  </KolHeading>
694
696
  <KolDetails _label="Abstract" _open>
695
697
  The handout shows a selection of KoliBri components in the style of <strong>{getThemeName(getTheme())}</strong>. Since KoliBri offers self-contained,
@@ -987,7 +989,7 @@ export const HandoutBasic: FC = () => (
987
989
  </KolCard>
988
990
  </div>
989
991
  <KolVersion _label="5.0.2-test.2"></KolVersion>
990
- {/* <KolImage _src="assets/images/abgrenzung.jpg" _alt="KoliBri Darstellung"></KolImage> */}
992
+ {/* <KolImage _src="/abgrenzung.jpg" _alt="KoliBri Darstellung"></KolImage> */}
991
993
  {/* <KolIndentedText></KolIndentedText> */}
992
994
  {/* <KolQuote></KolQuote> */}
993
995
  </div>
@@ -6,22 +6,34 @@ import { FC } from 'react';
6
6
  export const HeadingBadged: FC = () => (
7
7
  <div className="grid gap-4">
8
8
  <KolHeading _label="" _level={1}>
9
- Eine Überschrift mit einem <KolBadge _color="#f00" _label="Label"></KolBadge>
9
+ <span slot="expert">
10
+ Eine Überschrift mit einem <KolBadge _color="#f00" _label="Label"></KolBadge>
11
+ </span>
10
12
  </KolHeading>
11
13
  <KolHeading _label="" _level={2}>
12
- Eine Überschrift mit einem <KolBadge _color="#0f0" _label="Label"></KolBadge>
14
+ <span slot="expert">
15
+ Eine Überschrift mit einem <KolBadge _color="#0f0" _label="Label"></KolBadge>
16
+ </span>
13
17
  </KolHeading>
14
18
  <KolHeading _label="" _level={3}>
15
- Eine Überschrift mit einem <KolBadge _color="#00f" _label="Label"></KolBadge>
19
+ <span slot="expert">
20
+ Eine Überschrift mit einem <KolBadge _color="#00f" _label="Label"></KolBadge>
21
+ </span>
16
22
  </KolHeading>
17
23
  <KolHeading _label="" _level={4}>
18
- Eine Überschrift mit einem <KolBadge _color="#800080" _label="Label"></KolBadge>
24
+ <span slot="expert">
25
+ Eine Überschrift mit einem <KolBadge _color="#800080" _label="Label"></KolBadge>
26
+ </span>
19
27
  </KolHeading>
20
28
  <KolHeading _label="" _level={5}>
21
- Eine Überschrift mit einem <KolBadge _color="#ff0" _label="Label"></KolBadge>
29
+ <span slot="expert">
30
+ Eine Überschrift mit einem <KolBadge _color="#ff0" _label="Label"></KolBadge>
31
+ </span>
22
32
  </KolHeading>
23
33
  <KolHeading _label="" _level={6}>
24
- Eine Überschrift mit einem <KolBadge _color="#ffc0cb" _label="Label"></KolBadge>
34
+ <span slot="expert">
35
+ Eine Überschrift mit einem <KolBadge _color="#ffc0cb" _label="Label"></KolBadge>
36
+ </span>
25
37
  </KolHeading>
26
38
  </div>
27
39
  );
@@ -2,4 +2,4 @@ import { FC } from 'react';
2
2
  import { KolImage } from '@public-ui/react';
3
3
  import React from 'react';
4
4
 
5
- export const ImageBasic: FC = () => <KolImage _src="https://placehold.co/100x100/cc006e/white" _alt="Beispielbild: 100 × 100" />;
5
+ export const ImageBasic: FC = () => <KolImage className="w-80%" _src="/abgrenzung.jpg" _alt="Darstellung des KoliBri-Theming" />;
@@ -8,12 +8,12 @@ export const LinkImage: FC = () => (
8
8
  <KolLink _href="#" _label="Ich bin ein Link, der als Text gerendert wird" />
9
9
  <br />
10
10
  <KolLink _href="#" _label="">
11
- <img alt="Abgrenzung" slot="expert" src="https://public-ui.github.io/assets/abgrenzung.jpg" width="300" />
11
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
12
12
  <KolKolibri style={{ width: '300px' }}></KolKolibri>
13
13
  </KolLink>
14
14
  <br />
15
15
  <KolLink _href="#" _label="">
16
- <img alt="Abgrenzung" slot="expert" src="https://public-ui.github.io/assets/abgrenzung.jpg" width="300" />
16
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
17
17
  </KolLink>
18
18
  </div>
19
19
  );
@@ -2,4 +2,4 @@ import React, { FC } from 'react';
2
2
  import { KolLogo } from '@public-ui/react';
3
3
  import { Bundesministerium } from '@public-ui/components';
4
4
 
5
- export const LogoBasic: FC = () => <KolLogo _org={Bundesministerium['Die Bundesregierung']} style={{ width: 300 }} />;
5
+ export const LogoBasic: FC = () => <KolLogo className="w-50%" _org={Bundesministerium['Die Bundesregierung']} />;
@@ -2,23 +2,22 @@ import React from 'react';
2
2
  import { KolNav } from '@public-ui/react';
3
3
 
4
4
  import { FC, useEffect, useState } from 'react';
5
-
6
- import { useNavigate } from 'react-router';
5
+ import { ButtonOrLinkOrTextWithChildrenProps } from '@public-ui/components';
7
6
 
8
7
  export const NavActive: FC = () => {
9
- const [links, setLinks] = useState([]);
8
+ const [links, setLinks] = useState<ButtonOrLinkOrTextWithChildrenProps[]>([]);
10
9
 
11
10
  const handleLinks = (route: string) => {
12
11
  const link = links.find((link) => link._label === route);
12
+ if (!link) return;
13
13
  link._active = !link._active;
14
14
  setLinks(links);
15
15
  };
16
-
17
16
  useEffect(() => {
18
17
  setLinks([
19
18
  {
20
19
  _label: 'Main',
21
- _icons: 'fa-solid fa-house',
20
+ _icons: 'codicon codicon-home',
22
21
  _on: {
23
22
  onClick: () => handleLinks('Main'),
24
23
  },
@@ -36,7 +35,7 @@ export const NavActive: FC = () => {
36
35
  },
37
36
  },
38
37
  {
39
- _active: false,
38
+ _active: true,
40
39
  _label: 'Alert',
41
40
  _on: {
42
41
  onClick: () => handleLinks('Alert'),
@@ -44,12 +43,13 @@ export const NavActive: FC = () => {
44
43
  _children: [
45
44
  {
46
45
  _label: 'Main',
47
- _icons: 'fa-solid fa-house',
46
+ _icons: 'codicon codicon-home',
48
47
  _on: {
49
48
  onClick: () => handleLinks('/'),
50
49
  },
51
50
  },
52
51
  {
52
+ _active: true,
53
53
  _label: 'Abbr',
54
54
  _href: '/abbr',
55
55
  _on: {
@@ -83,6 +83,5 @@ export const NavActive: FC = () => {
83
83
  },
84
84
  ]);
85
85
  }, []);
86
-
87
- return <KolNav _label="Main navigation" _links={links} />;
86
+ return <KolNav _ariaLabel="Main navigation" _links={links} />;
88
87
  };
@@ -9,7 +9,7 @@ export const NavBasic: FC = () => (
9
9
  _links={[
10
10
  {
11
11
  _label: 'Homepage',
12
- _icons: 'fa-solid fa-house',
12
+ _icons: 'codicon codicon-home',
13
13
  _href: '#/',
14
14
  },
15
15
  {
@@ -1,8 +1,7 @@
1
1
  import React, { FC } from 'react';
2
2
 
3
3
  import { KolTable } from '@public-ui/react';
4
- import { KoliBriTableHeaders } from '@public-ui/components';
5
- import { KoliBriTablePaginationProps } from '@public-ui/components/src';
4
+ import { KoliBriTableHeaders, KoliBriTablePaginationProps } from '@public-ui/components';
6
5
  import { DATA } from './test-data';
7
6
 
8
7
  const HEADERS: KoliBriTableHeaders = {
@@ -13,7 +12,7 @@ const HEADERS: KoliBriTableHeaders = {
13
12
  ],
14
13
  ],
15
14
  };
16
- const PAGINATION: KoliBriTablePaginationProps = { _page: 2, _total: 1 };
15
+ const PAGINATION: KoliBriTablePaginationProps = { _page: 2, _max: 1 };
17
16
 
18
17
  export const TableWithPagination: FC = () => (
19
18
  <div>
@@ -5,39 +5,63 @@ import { getRoot } from '../../shares/react-roots';
5
5
 
6
6
  const toaster = ToasterService.getInstance(document);
7
7
 
8
- const handleButtonClickSimple = () => {
9
- void toaster.enqueue({
10
- description: 'Toasty',
11
- label: `Initial Toast`,
12
- type: 'warning',
13
- });
14
- };
8
+ export const ToastBasic: FC = () => {
9
+ const handleButtonClickSimple = () => {
10
+ void toaster.enqueue({
11
+ description: 'Toasty',
12
+ label: `Initial Toast`,
13
+ type: 'warning',
14
+ });
15
+ };
15
16
 
16
- const handleButtonClickComplex = () => {
17
- void toaster.enqueue({
18
- render: (element: HTMLElement, { close }) => {
19
- getRoot(element).render(
20
- <>
21
- <KolButton
22
- _label={'Hello World from Toast!'}
23
- _on={{
24
- onClick: () => {
25
- console.log('Toast Button clicked!');
26
- close();
27
- },
28
- }}
29
- />
30
- </>,
31
- );
32
- },
33
- label: `Initial Toast`,
34
- type: 'warning',
35
- });
36
- };
17
+ const handleButtonClickComplex = () => {
18
+ void toaster.enqueue({
19
+ render: (element: HTMLElement, { close }) => {
20
+ getRoot(element).render(
21
+ <>
22
+ <KolButton
23
+ _label={'Hello World from Toast!'}
24
+ _on={{
25
+ onClick: () => {
26
+ console.log('Toast Button clicked!');
27
+ close();
28
+ },
29
+ }}
30
+ />
31
+ </>,
32
+ );
33
+ },
34
+ label: `Initial Toast`,
35
+ type: 'warning',
36
+ });
37
+ };
38
+
39
+ const handleButtonClickOpenAndClose = async () => {
40
+ const close = await toaster.enqueue({
41
+ description: 'I will disappear in two seconds...',
42
+ label: `Good Bye`,
43
+ type: 'warning',
44
+ });
37
45
 
38
- export const ToastBasic: FC = () => (
39
- <div>
40
- <KolButton _label="Show simple toast" _on={{ onClick: handleButtonClickSimple }}></KolButton>
41
- <KolButton _label="Show complex toast" _on={{ onClick: handleButtonClickComplex }}></KolButton>
42
- </div>
43
- );
46
+ if (close) {
47
+ setTimeout(close, 2000);
48
+ }
49
+ };
50
+
51
+ const closeAll = () => {
52
+ toaster.closeAll();
53
+ };
54
+
55
+ return (
56
+ <div>
57
+ <KolButton _label="Show simple toast" _on={{ onClick: handleButtonClickSimple }}></KolButton>
58
+ <KolButton _label="Show complex toast" _on={{ onClick: handleButtonClickComplex }}></KolButton>
59
+ <br />
60
+ <br />
61
+ <KolButton _label="Show toast and close after 2 seconds" _on={{ onClick: () => void handleButtonClickOpenAndClose() }}></KolButton>
62
+ <br />
63
+ <br />
64
+ <KolButton _label="Close all toasts" _on={{ onClick: closeAll }}></KolButton>
65
+ </div>
66
+ );
67
+ };
@@ -4,7 +4,7 @@ import { FormValues } from './AppointmentForm';
4
4
  import { ErrorList } from './ErrorList';
5
5
  import { Field, FieldProps, useFormikContext } from 'formik';
6
6
  import { fetchAvailableTimes } from './appointmentService';
7
- import { Option } from '@public-ui/components/src';
7
+ import { Option } from '@public-ui/components';
8
8
 
9
9
  export function AvailableAppointmentsForm() {
10
10
  const form = useFormikContext<FormValues>();
@@ -19,8 +19,8 @@ type Zeiten = {
19
19
  export const TerminComponent: FC = () => (
20
20
  <>
21
21
  <div className="grid sm:grid-cols-1 gap-2 my-3">
22
- <KolHeading>Terminreservierung</KolHeading>
23
- <KolHeading _level={2}>Termine für Einwohnermelde- (incl. Pass- und Ausweisangelegenheiten) und Kraftfahrzeugangelegenheiten</KolHeading>
22
+ <KolHeading _label="Terminreservierung" />
23
+ <KolHeading _label="Termine für Einwohnermelde- (incl. Pass- und Ausweisangelegenheiten) und Kraftfahrzeugangelegenheiten" _level={2} />
24
24
  <div style={{ fontFamily: 'Arial' }}>
25
25
  <p className="py-2">Derzeit kann generell nur mit vorheriger Terminvereinbarung bei den Bürgerdiensten vorgesprochen werden.</p>
26
26
  <p className="py-2">
@@ -141,22 +141,22 @@ export const TerminComponent: FC = () => (
141
141
  ]}
142
142
  >
143
143
  <div>
144
- <KolHeading _level={2}>Wählen Sie einen Stadtteil aus</KolHeading>
144
+ <KolHeading _level={2} _label="Wählen Sie einen Stadtteil aus" />
145
145
  <TerminLocationComponent onSubmitted={() => {}} />
146
146
  </div>
147
147
  <div>
148
- <KolHeading _level={2}>Wählen Sie einen Termin aus</KolHeading>
148
+ <KolHeading _level={2} _label="Wählen Sie einen Termin aus" />
149
149
  <TerminScheduleComponent onSubmitted={() => {}} />
150
150
  </div>
151
151
  <div>
152
- <KolHeading _level={2}>Geben Sie Ihre Kontaktdaten ein</KolHeading>
152
+ <KolHeading _level={2} _label="Geben Sie Ihre Kontaktdaten ein" />
153
153
  <TerminKopfdatenComponent onSubmitted={() => {}} />
154
154
  </div>
155
155
  </KolTabs>
156
156
  </div>
157
157
  <div className="grid sm:grid-cols-1 gap-2">
158
158
  <div className="border-top"></div>
159
- <KolHeading _level={3}>Fortschritt</KolHeading>
159
+ <KolHeading _level={3} _label="Fortschritt" />
160
160
  <KolProgress _value={0} _max={100} _unit="Prozent des Formulars"></KolProgress>
161
161
  </div>
162
162
  </>
@@ -33,7 +33,6 @@ import { LOGO_ROUTES } from '../components/logo/routes';
33
33
  import { MODAL_ROUTES } from '../components/modal/routes';
34
34
  import { NAV_ROUTES } from '../components/nav/routes';
35
35
  import { PAGINATION_ROUTES } from '../components/pagination/routes';
36
- import { POPOVER_ROUTES } from '../components/popover/routes';
37
36
  import { PROGRESS_ROUTES } from '../components/progress/routes';
38
37
  import { QUOTE_ROUTES } from '../components/quote/routes';
39
38
  import { SELECT_ROUTES } from '../components/select/routes';
@@ -84,7 +83,6 @@ export const ROUTES: Routes = {
84
83
  ...MODAL_ROUTES,
85
84
  ...NAV_ROUTES,
86
85
  ...PAGINATION_ROUTES,
87
- ...POPOVER_ROUTES,
88
86
  ...PROGRESS_ROUTES,
89
87
  ...QUOTE_ROUTES,
90
88
  ...SELECT_ROUTES,
package/src/style.scss CHANGED
@@ -1,9 +1,6 @@
1
- * {
2
- font-family: Verdana;
3
- }
4
-
5
1
  body {
6
2
  margin: 0;
3
+ font-family: Verdana;
7
4
  }
8
5
 
9
6
  dl,
@@ -45,4 +42,4 @@ hr {
45
42
  .no-print * {
46
43
  display: none !important;
47
44
  }
48
- }
45
+ }
package/dist/3337.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 3337.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[3337],{5866:(t,e,n)=>{n.r(e),n.d(e,{kol_progress:()=>h});var a,r,i=n(1167),l=n(1786),s=n(2288);(r=a||(a={})).bar="bar",r.cycle="cycle",r["cycle-value-label"]="cycle-value-label",r["cycle-label-value"]="cycle-label-value";const o=Object.keys(a),h=class{constructor(t){(0,i.r)(this,t),this._label=void 0,this._max=void 0,this._unit="%",this._value=void 0,this._variant=void 0,this.state={_max:100,_unit:"%",_value:0,_variant:"bar",_liveValue:0}}render(){return(0,i.h)(i.H,null,(t=>{let e="43%",n=t._label?"57%":"50%";switch(t._variant){case"cycle-value-label":t._label&&(e="57%",n="43%");case"cycle":case"cycle-label-value":return(0,i.h)("svg",{class:"cycle",width:"100",viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},(0,i.h)("circle",{class:"background",cx:"60",cy:"60",r:"54.5",fill:"currentColor",stroke:"currentColor","stroke-width":"8"}),(0,i.h)("circle",{class:"whitespace",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"3"}),(0,i.h)("circle",{class:"border",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),(0,i.h)("circle",{class:"whitespace",cx:"60",cy:"60",r:"51",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),(0,i.h)("circle",{class:"border",cx:"60",cy:"60",r:"50",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),(0,i.h)("circle",{class:"progress",fill:"currentColor",stroke:"currentColor","stroke-linecap":"round","stroke-dasharray":`${Math.round(t._value/t._max*342)}px 342px`,"stroke-width":"6",cx:"60",cy:"60",r:"54.5"}),t._label&&(0,i.h)("text",{"aria-hidden":"true",x:"50%",y:e,"text-anchor":"middle",fill:"currentColor"},t._label),(0,i.h)("text",{"aria-hidden":"true",x:"50%",y:n,"text-anchor":"middle",fill:"currentColor"},t._value,t._unit));default:return(0,i.h)("div",{class:"bar"},t._label&&(0,i.h)("div",null,t._label),(0,i.h)("div",{style:{display:"flex",gap:"0.3em"}},(0,i.h)("svg",{width:"100",viewBox:"0 0 102 8",xmlns:"http://www.w3.org/2000/svg"},(0,i.h)("rect",{class:"background",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:"100"}),(0,i.h)("rect",{class:"progress",x:"2.5",y:"2.5",height:"7",rx:"3.5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:t._value/t._max*95}),(0,i.h)("rect",{class:"border",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"1",width:"100"})),(0,i.h)("text",{"aria-hidden":"true","text-anchor":"middle","dominant-baseline":"central",fill:"currentColor"},t._value,t._unit)))}})(this.state),(0,i.h)("progress",{"aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),(0,i.h)("span",{"aria-live":"polite","aria-relevant":"removals text",hidden:!0},this.state._liveValue," von ",this.state._max," ",this.state._unit))}validateLabel(t){(0,l.v)(this,t)}validateMax(t){"number"!=typeof t&&(t=100),(0,s.e)(this,"_max",t,{required:!0})}validateUnit(t){(0,s.d)(this,"_unit",t)}validateValue(t){"number"!=typeof t&&(t=0),(0,s.e)(this,"_value",t,{required:!0})}validateVariant(t){(0,s.w)(this,"_variant",(t=>"string"==typeof t&&o.includes(t)),new Set(o),t)}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateUnit(this._unit),this.validateValue(this._value),this.validateVariant(this._variant),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_label:["validateLabel"],_max:["validateMax"],_unit:["validateUnit"],_value:["validateValue"],_variant:["validateVariant"]}}};h.style={default:"@layer kol-global {\n\t/*\n\t * This file contains all rules for accessibility.\n\t */\n\t:host {\n\t\t/*\n\t\t * Minimum size of interactive elements.\n\t\t */\n\t\t--a11y-min-size: 44px;\n\t\tfont-size: inherit;\n\t}\n\n\t* {\n\t\t/*\n\t\t * Verdana is an accessible font that can be used without requiring additional loading time.\n\t\t */\n\t\tfont-family: Verdana;\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\thyphens: auto;\n\t\t/*\n\t\t * Letter spacing is required for all texts.\n\t\t */\n\t\tletter-spacing: inherit;\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\tword-break: break-word;\n\t\t/*\n\t\t * Word spacing is required for all texts.\n\t\t */\n\t\tword-spacing: inherit;\n\t}\n\n\t/*\n\t * All interactive elements should have a minimum size of 44px.\n\t */\n\t/* input:not([type='checkbox'], [type='radio'], [type='range']), */\n\t/* option, */\n\t/* select, */\n\t/* textarea, */\n\t[role='button'],\n\tbutton:not([role='link']),\n\tkol-input .input {\n\t\tmin-height: var(--a11y-min-size);\n\t\tmin-width: var(--a11y-min-size);\n\t}\n\n\t/*\n\t * Some interactive elements should not inherit the font-family and font-size.\n\t */\n\ta,\n\tbutton,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6,\n\tinput,\n\toption,\n\tselect,\n\ttextarea {\n\t\t/*\n\t\t * All elements should inherit the font family from his parent element.\n\t\t */\n\t\tfont-family: inherit;\n\t\t/*\n\t\t * All elements should inherit the font size from his parent element.\n\t\t */\n\t\tfont-size: inherit;\n\t}\n}\n\n@layer kol-global {\n\t/*\n\t * Dieses CSS stellt sicher, dass der Standard-Style\n\t * von A und Button resettet werden.\n\t */\n\t:is(a, button) {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\twidth: 100%; /* 100% needed for custom width from outside */\n\t}\n}\n\n@layer kol-global {\n\t:host {\n\t\t/*\n\t\t * The max-width is needed to prevent the table from overflowing the\n\t\t * parent node, if the table is wider than the parent node.\n\t\t */\n\t\tmax-width: 100%;\n\t}\n\n\t* {\n\t\t/*\n\t\t * We prefer to box-sizing: border-box for all elements.\n\t\t */\n\t\tbox-sizing: border-box;\n\t}\n\n\t/* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n\tkol-span-wc {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t/* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n\tkol-span-wc > span {\n\t\tdisplay: flex;\n\t\tplace-items: center;\n\t}\n\n\ta,\n\tbutton {\n\t\tcursor: pointer;\n\t}\n\n\t/* font-family is NOT inherited all HTML elements. */\n\tbutton,\n\tinput,\n\toption,\n\tselect,\n\ttextarea {\n\t\tfont-family: inherit;\n\t}\n\n\t/* This is the text label. */\n\t.icon-only > kol-span-wc > span > span {\n\t\tdisplay: none;\n\t}\n}\n\n@layer kol-component {\n\tprogress {\n\t\tdisplay: block;\n\t\theight: 0;\n\t\toverflow: hidden;\n\t\twidth: 0;\n\t}\n\n\t.bar .border {\n\t\tfill: transparent;\n\t\tstroke: black;\n\t}\n\n\t.bar .background {\n\t\tfill: lightgray;\n\t\tstroke: white;\n\t}\n\n\t.bar .progress {\n\t\tfill: #0075ff;\n\t\tstroke: transparent;\n\t\ttransition: 250ms ease-in-out 50ms;\n\t}\n\n\t.cycle .background {\n\t\tfill: transparent;\n\t\tstroke: lightgray;\n\t}\n\n\t.cycle .border {\n\t\tfill: transparent;\n\t\tstroke: black;\n\t}\n\n\t.cycle .whitespace {\n\t\tfill: transparent;\n\t\tstroke: white;\n\t}\n\n\t.cycle .progress {\n\t\tfill: transparent;\n\t\tstroke: #0075ff;\n\t\ttransform-origin: 50% 50%;\n\t\ttransform: rotate(-90deg);\n\t\ttransition: 250ms ease-in-out 50ms;\n\t}\n\n\t/* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion */\n\t@media (prefers-reduced-motion) {\n\t\t.progress {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t}\n\t}\n}\n"}},1786:(t,e,n)=>{n.d(e,{a:()=>d,c:()=>o,h:()=>s,v:()=>c});var a=n(4272),r=n(2288);const i=/[a-zA-Z0-9äöüÄÖÜß]/g,l=/^\d+$/;function s(t,e=1){return function(t){var e;return"string"==typeof t&&(null===(e=t.match(i))||void 0===e?void 0:e.length)||0}(t)>=e}function o(t){return l.test(t)}const h=new Set(["string"]),c=(t,e,n={})=>{(0,r.w)(t,"_label",(t=>"string"==typeof t),h,e,function(t){var e;return{hooks:{afterPatch:(e,n,r,i)=>{var l,h;"function"==typeof(null===(l=t.hooks)||void 0===l?void 0:l.afterPatch)&&(null===(h=t.hooks)||void 0===h||h.afterPatch(e,n,r,i)),"string"==typeof e&&!1===s(e,3)&&!1===o(e)&&(0,a.a)(`The heading or label ("${e}") is not accessible. A label should consist of at least three readable characters.`),"string"==typeof e&&e.length>80&&(0,a.u)("A heading or label should not be longer than 80 characters.")},beforePatch:null===(e=t.hooks)||void 0===e?void 0:e.beforePatch}}}(n))},d=c}}]);
package/dist/4556.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 4556.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[4556],{4556:(e,t,a)=>{switch(location.pathname){case"/dev/toaster.html":a.e(6487).then(a.bind(a,6487));break;case"/dev/reprod-accordion-does-not-toggle-with-open.html":a.e(9598).then(a.bind(a,9598));break;case"/dev/details-synced-open-state.html":a.e(5327).then(a.bind(a,5327))}}}]);
package/dist/5771.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 5771.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[5771],{3453:(t,e,n)=>{n.d(e,{a:()=>r,v:()=>l});var o=n(2288);const i=["left","right","top","bottom"],r=(t,e)=>{l(t,"_align",e)},l=(t,e,n)=>{(0,o.w)(t,e,(t=>"string"==typeof t&&i.includes(t)),new Set(i),n,{defaultValue:"top"})}},4604:(t,e,n)=>{n.d(e,{a:()=>W,b:()=>ht,c:()=>yt,f:()=>_,o:()=>V,s:()=>B});var o=Object.defineProperty,i=Object.defineProperties,r=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,f=(t,e,n)=>e in t?o(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,a=(t,e)=>{for(var n in e||(e={}))c.call(e,n)&&f(t,n,e[n]);if(l)for(var n of l(e))s.call(e,n)&&f(t,n,e[n]);return t},u=(t,e)=>i(t,r(e)),d=(t,e)=>{var n={};for(var o in t)c.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&l)for(var o of l(t))e.indexOf(o)<0&&s.call(t,o)&&(n[o]=t[o]);return n},p=(t,e,n)=>new Promise(((o,i)=>{var r=t=>{try{c(n.next(t))}catch(t){i(t)}},l=t=>{try{c(n.throw(t))}catch(t){i(t)}},c=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,l);c((n=n.apply(t,e)).next())}));const m=Math.min,h=Math.max,y=Math.round,g=Math.floor,x=t=>({x:t,y:t}),v={left:"right",right:"left",bottom:"top",top:"bottom"},b={start:"end",end:"start"};function w(t,e,n){return h(t,m(e,n))}function R(t,e){return"function"==typeof t?t(e):t}function E(t){return t.split("-")[0]}function T(t){return t.split("-")[1]}function L(t){return"x"===t?"y":"x"}function A(t){return"y"===t?"height":"width"}function O(t){return["top","bottom"].includes(E(t))?"y":"x"}function P(t){return L(O(t))}function S(t){return t.replace(/start|end/g,(t=>b[t]))}function k(t){return t.replace(/left|right|bottom|top/g,(t=>v[t]))}function D(t){return"number"!=typeof t?function(t){return a({top:0,right:0,bottom:0,left:0},t)}(t):{top:t,right:t,bottom:t,left:t}}function C(t){return u(a({},t),{top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height})}function F(t,e,n){let{reference:o,floating:i}=t;const r=O(e),l=P(e),c=A(l),s=E(e),f="y"===r,a=o.x+o.width/2-i.width/2,u=o.y+o.height/2-i.height/2,d=o[c]/2-i[c]/2;let p;switch(s){case"top":p={x:a,y:o.y-i.height};break;case"bottom":p={x:a,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:u};break;case"left":p={x:o.x-i.width,y:u};break;default:p={x:o.x,y:o.y}}switch(T(e)){case"start":p[l]-=d*(n&&f?-1:1);break;case"end":p[l]+=d*(n&&f?-1:1)}return p}function H(t,e){return p(this,null,(function*(){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:l,elements:c,strategy:s}=t,{boundary:f="clippingAncestors",rootBoundary:d="viewport",elementContext:p="floating",altBoundary:m=!1,padding:h=0}=R(e,t),y=D(h),g=c[m?"floating"===p?"reference":"floating":p],x=C(yield r.getClippingRect({element:null==(n=yield null==r.isElement?void 0:r.isElement(g))||n?g:g.contextElement||(yield null==r.getDocumentElement?void 0:r.getDocumentElement(c.floating)),boundary:f,rootBoundary:d,strategy:s})),v="floating"===p?u(a({},l.floating),{x:o,y:i}):l.reference,b=yield null==r.getOffsetParent?void 0:r.getOffsetParent(c.floating),w=(yield null==r.isElement?void 0:r.isElement(b))&&(yield null==r.getScale?void 0:r.getScale(b))||{x:1,y:1},E=C(r.convertOffsetParentRelativeRectToViewportRelativeRect?yield r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:v,offsetParent:b,strategy:s}):v);return{top:(x.top-E.top+y.top)/w.y,bottom:(E.bottom-x.bottom+y.bottom)/w.y,left:(x.left-E.left+y.left)/w.x,right:(E.right-x.right+y.right)/w.x}}))}const W=t=>({name:"arrow",options:t,fn(e){return p(this,null,(function*(){const{x:n,y:o,placement:i,rects:r,platform:l,elements:c,middlewareData:s}=e,{element:f,padding:a=0}=R(t,e)||{};if(null==f)return{};const u=D(a),d={x:n,y:o},p=P(i),h=A(p),y=yield l.getDimensions(f),g="y"===p,x=g?"top":"left",v=g?"bottom":"right",b=g?"clientHeight":"clientWidth",E=r.reference[h]+r.reference[p]-d[p]-r.floating[h],L=d[p]-r.reference[p],O=yield null==l.getOffsetParent?void 0:l.getOffsetParent(f);let S=O?O[b]:0;S&&(yield null==l.isElement?void 0:l.isElement(O))||(S=c.floating[b]||r.floating[h]);const k=E/2-L/2,C=S/2-y[h]/2-1,F=m(u[x],C),H=m(u[v],C),W=F,_=S-y[h]-H,V=S/2-y[h]/2+k,B=w(W,V,_),M=!s.arrow&&null!=T(i)&&V!=B&&r.reference[h]/2-(V<W?F:H)-y[h]/2<0,j=M?V<W?W-V:_-V:0;return{[p]:d[p]-j,data:{[p]:B,centerOffset:V-B+j},reset:M}}))}}),_=function(t){return void 0===t&&(t={}),{name:"flip",options:t,fn(e){return p(this,null,(function*(){var n;const{placement:o,middlewareData:i,rects:r,initialPlacement:l,platform:c,elements:s}=e,f=R(t,e),{mainAxis:a=!0,crossAxis:u=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:y=!0}=f,g=d(f,["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment"]),x=E(o),v=E(l)===l,b=yield null==c.isRTL?void 0:c.isRTL(s.floating),w=p||(v||!y?[k(l)]:function(t){const e=k(t);return[S(t),e,S(e)]}(l));p||"none"===h||w.push(...function(t,e,n,o){const i=T(t);let r=function(t,e,n){const o=["left","right"],i=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(t){case"top":case"bottom":return n?e?i:o:e?o:i;case"left":case"right":return e?r:l;default:return[]}}(E(t),"start"===n,o);return i&&(r=r.map((t=>t+"-"+i)),e&&(r=r.concat(r.map(S)))),r}(l,y,h,b));const L=[l,...w],O=yield H(e,g),D=[];let C=(null==(n=i.flip)?void 0:n.overflows)||[];if(a&&D.push(O[x]),u){const t=function(t,e,n){void 0===n&&(n=!1);const o=T(t),i=P(t),r=A(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=k(l)),[l,k(l)]}(o,r,b);D.push(O[t[0]],O[t[1]])}if(C=[...C,{placement:o,overflows:D}],!D.every((t=>t<=0))){var F,W;const t=((null==(F=i.flip)?void 0:F.index)||0)+1,e=L[t];if(e)return{data:{index:t,overflows:C},reset:{placement:e}};let n=null==(W=C.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:W.placement;if(!n)switch(m){case"bestFit":{var _;const t=null==(_=C.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:_[0];t&&(n=t);break}case"initialPlacement":n=l}if(o!==n)return{reset:{placement:n}}}return{}}))}}},V=function(t){return void 0===t&&(t=0),{name:"offset",options:t,fn(e){return p(this,null,(function*(){const{x:n,y:o}=e,i=yield function(t,e){return p(this,null,(function*(){const{placement:n,platform:o,elements:i}=t,r=yield null==o.isRTL?void 0:o.isRTL(i.floating),l=E(n),c=T(n),s="y"===O(n),f=["left","top"].includes(l)?-1:1,u=r&&s?-1:1,d=R(e,t);let{mainAxis:p,crossAxis:m,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:a({mainAxis:0,crossAxis:0,alignmentAxis:null},d);return c&&"number"==typeof h&&(m="end"===c?-1*h:h),s?{x:m*u,y:p*f}:{x:p*f,y:m*u}}))}(e,t);return{x:n+i.x,y:o+i.y,data:i}}))}}},B=function(t){return void 0===t&&(t={}),{name:"shift",options:t,fn(e){return p(this,null,(function*(){const{x:n,y:o,placement:i}=e,r=R(t,e),{mainAxis:l=!0,crossAxis:c=!1,limiter:s={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}}}=r,f=d(r,["mainAxis","crossAxis","limiter"]),p={x:n,y:o},m=yield H(e,f),h=O(E(i)),y=L(h);let g=p[y],x=p[h];if(l){const t="y"===y?"bottom":"right";g=w(g+m["y"===y?"top":"left"],g,g-m[t])}if(c){const t="y"===h?"bottom":"right";x=w(x+m["y"===h?"top":"left"],x,x-m[t])}const v=s.fn(u(a({},e),{[y]:g,[h]:x}));return u(a({},v),{data:{x:v.x-n,y:v.y-o}})}))}}};function M(t){return N(t)?(t.nodeName||"").toLowerCase():"#document"}function j(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function z(t){var e;return null==(e=(N(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function N(t){return t instanceof Node||t instanceof j(t).Node}function I(t){return t instanceof Element||t instanceof j(t).Element}function q(t){return t instanceof HTMLElement||t instanceof j(t).HTMLElement}function X(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ShadowRoot||t instanceof j(t).ShadowRoot)}function Y(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=Q(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function $(t){return["table","td","th"].includes(M(t))}function G(t){const e=J(),n=Q(t);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function J(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function K(t){return["html","body","#document"].includes(M(t))}function Q(t){return j(t).getComputedStyle(t)}function U(t){return I(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Z(t){if("html"===M(t))return t;const e=t.assignedSlot||t.parentNode||X(t)&&t.host||z(t);return X(e)?e.host:e}function tt(t){const e=Z(t);return K(e)?t.ownerDocument?t.ownerDocument.body:t.body:q(e)&&Y(e)?e:tt(e)}function et(t,e,n){var o;void 0===e&&(e=[]),void 0===n&&(n=!0);const i=tt(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=j(i);return r?e.concat(l,l.visualViewport||[],Y(i)?i:[],l.frameElement&&n?et(l.frameElement):[]):e.concat(i,et(i))}function nt(t){const e=Q(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const i=q(t),r=i?t.offsetWidth:n,l=i?t.offsetHeight:o,c=y(n)!==r||y(o)!==l;return c&&(n=r,o=l),{width:n,height:o,$:c}}function ot(t){return I(t)?t:t.contextElement}function it(t){const e=ot(t);if(!q(e))return x(1);const n=e.getBoundingClientRect(),{width:o,height:i,$:r}=nt(e);let l=(r?y(n.width):n.width)/o,c=(r?y(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),c&&Number.isFinite(c)||(c=1),{x:l,y:c}}const rt=x(0);function lt(t){const e=j(t);return J()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:rt}function ct(t,e,n,o){void 0===e&&(e=!1),void 0===n&&(n=!1);const i=t.getBoundingClientRect(),r=ot(t);let l=x(1);e&&(o?I(o)&&(l=it(o)):l=it(t));const c=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==j(t))&&e}(r,n,o)?lt(r):x(0);let s=(i.left+c.x)/l.x,f=(i.top+c.y)/l.y,a=i.width/l.x,u=i.height/l.y;if(r){const t=j(r),e=o&&I(o)?j(o):o;let n=t.frameElement;for(;n&&o&&e!==t;){const t=it(n),e=n.getBoundingClientRect(),o=Q(n),i=e.left+(n.clientLeft+parseFloat(o.paddingLeft))*t.x,r=e.top+(n.clientTop+parseFloat(o.paddingTop))*t.y;s*=t.x,f*=t.y,a*=t.x,u*=t.y,s+=i,f+=r,n=j(n).frameElement}}return C({width:a,height:u,x:s,y:f})}function st(t){return ct(z(t)).left+U(t).scrollLeft}function ft(t,e,n){let o;if("viewport"===e)o=function(t,e){const n=j(t),o=z(t),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,c=0,s=0;if(i){r=i.width,l=i.height;const t=J();(!t||t&&"fixed"===e)&&(c=i.offsetLeft,s=i.offsetTop)}return{width:r,height:l,x:c,y:s}}(t,n);else if("document"===e)o=function(t){const e=z(t),n=U(t),o=t.ownerDocument.body,i=h(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),r=h(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+st(t);const c=-n.scrollTop;return"rtl"===Q(o).direction&&(l+=h(e.clientWidth,o.clientWidth)-i),{width:i,height:r,x:l,y:c}}(z(t));else if(I(e))o=function(t,e){const n=ct(t,!0,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=q(t)?it(t):x(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(e,n);else{const n=lt(t);o=u(a({},e),{x:e.x-n.x,y:e.y-n.y})}return C(o)}function at(t,e){const n=Z(t);return!(n===e||!I(n)||K(n))&&("fixed"===Q(n).position||at(n,e))}function ut(t,e,n){const o=q(e),i=z(e),r="fixed"===n,l=ct(t,!0,r,e);let c={scrollLeft:0,scrollTop:0};const s=x(0);if(o||!o&&!r)if(("body"!==M(e)||Y(i))&&(c=U(e)),o){const t=ct(e,!0,r,e);s.x=t.x+e.clientLeft,s.y=t.y+e.clientTop}else i&&(s.x=st(i));return{x:l.left+c.scrollLeft-s.x,y:l.top+c.scrollTop-s.y,width:l.width,height:l.height}}function dt(t,e){return q(t)&&"fixed"!==Q(t).position?e?e(t):t.offsetParent:null}function pt(t,e){const n=j(t);if(!q(t))return n;let o=dt(t,e);for(;o&&$(o)&&"static"===Q(o).position;)o=dt(o,e);return o&&("html"===M(o)||"body"===M(o)&&"static"===Q(o).position&&!G(o))?n:o||function(t){let e=Z(t);for(;q(e)&&!K(e);){if(G(e))return e;e=Z(e)}return null}(t)||n}const mt={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=q(n),r=z(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c=x(1);const s=x(0);if((i||!i&&"fixed"!==o)&&(("body"!==M(n)||Y(r))&&(l=U(n)),q(n))){const t=ct(n);c=it(n),s.x=t.x+n.clientLeft,s.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+s.x,y:e.y*c.y-l.scrollTop*c.y+s.y}},getDocumentElement:z,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:o,strategy:i}=t;const r=[..."clippingAncestors"===n?function(t,e){const n=e.get(t);if(n)return n;let o=et(t,[],!1).filter((t=>I(t)&&"body"!==M(t))),i=null;const r="fixed"===Q(t).position;let l=r?Z(t):t;for(;I(l)&&!K(l);){const e=Q(l),n=G(l);n||"fixed"!==e.position||(i=null),(r?!n&&!i:!n&&"static"===e.position&&i&&["absolute","fixed"].includes(i.position)||Y(l)&&!n&&at(t,l))?o=o.filter((t=>t!==l)):i=e,l=Z(l)}return e.set(t,o),o}(e,this._c):[].concat(n),o],l=r[0],c=r.reduce(((t,n)=>{const o=ft(e,n,i);return t.top=h(o.top,t.top),t.right=m(o.right,t.right),t.bottom=m(o.bottom,t.bottom),t.left=h(o.left,t.left),t}),ft(e,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:pt,getElementRects:function(t){return p(this,null,(function*(){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||pt,r=this.getDimensions;return{reference:ut(e,yield i(n),o),floating:a({x:0,y:0},yield r(n))}}))},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){return nt(t)},getScale:it,isElement:I,isRTL:function(t){return"rtl"===Q(t).direction}};function ht(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:s=!1}=o,f=ot(t),d=i||r?[...f?et(f):[],...et(e)]:[];d.forEach((t=>{i&&t.addEventListener("scroll",n,{passive:!0}),r&&t.addEventListener("resize",n)}));const p=f&&c?function(t,e){let n,o=null;const i=z(t);function r(){clearTimeout(n),o&&o.disconnect(),o=null}return function l(c,s){void 0===c&&(c=!1),void 0===s&&(s=1),r();const{left:f,top:d,width:p,height:y}=t.getBoundingClientRect();if(c||e(),!p||!y)return;const x={rootMargin:-g(d)+"px "+-g(i.clientWidth-(f+p))+"px "+-g(i.clientHeight-(d+y))+"px "+-g(f)+"px",threshold:h(0,m(1,s))||1};let v=!0;function b(t){const e=t[0].intersectionRatio;if(e!==s){if(!v)return l();e?l(!1,e):n=setTimeout((()=>{l(!1,1e-7)}),100)}v=!1}try{o=new IntersectionObserver(b,u(a({},x),{root:i.ownerDocument}))}catch(t){o=new IntersectionObserver(b,x)}o.observe(t)}(!0),r}(f,n):null;let y,x=-1,v=null;l&&(v=new ResizeObserver((t=>{let[o]=t;o&&o.target===f&&v&&(v.unobserve(e),cancelAnimationFrame(x),x=requestAnimationFrame((()=>{v&&v.observe(e)}))),n()})),f&&!s&&v.observe(f),v.observe(e));let b=s?ct(t):null;return s&&function e(){const o=ct(t);!b||o.x===b.x&&o.y===b.y&&o.width===b.width&&o.height===b.height||n(),b=o,y=requestAnimationFrame(e)}(),n(),()=>{d.forEach((t=>{i&&t.removeEventListener("scroll",n),r&&t.removeEventListener("resize",n)})),p&&p(),v&&v.disconnect(),v=null,s&&cancelAnimationFrame(y)}}const yt=(t,e,n)=>{const o=new Map,i=a({platform:mt},n),r=u(a({},i.platform),{_c:o});return((t,e,n)=>p(void 0,null,(function*(){const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,c=r.filter(Boolean),s=yield null==l.isRTL?void 0:l.isRTL(e);let f=yield l.getElementRects({reference:t,floating:e,strategy:i}),{x:d,y:p}=F(f,o,s),m=o,h={},y=0;for(let n=0;n<c.length;n++){const{name:r,fn:g}=c[n],{x,y:v,data:b,reset:w}=yield g({x:d,y:p,initialPlacement:o,placement:m,strategy:i,middlewareData:h,rects:f,platform:l,elements:{reference:t,floating:e}});d=null!=x?x:d,p=null!=v?v:p,h=u(a({},h),{[r]:a(a({},h[r]),b)}),w&&y<=50&&(y++,"object"==typeof w&&(w.placement&&(m=w.placement),w.rects&&(f=!0===w.rects?yield l.getElementRects({reference:t,floating:e,strategy:i}):w.rects),({x:d,y:p}=F(f,m,s))),n=-1)}return{x:d,y:p,placement:m,strategy:i,middlewareData:h}})))(t,e,u(a({},i),{platform:r}))}}}]);
package/dist/6655.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 6655.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_public_ui_sample_react=self.webpackChunk_public_ui_sample_react||[]).push([[6655],{6655:(t,e,n)=>{n.r(e),n.d(e,{kol_popover:()=>h});var i=n(1167),o=n(4604),s=n(3453),a=n(4182),r=n(5767),l=n(2180);const h=class{constructor(t){(0,i.r)(this,t),this.alignPopover=t=>{setTimeout((()=>{var e;if("test"!==l.p&&this.triggerElement&&this.popoverElement){const n=this.triggerElement,i=this.popoverElement,s=this.arrowElement,a=[(0,o.o)(null!==(e=null==s?void 0:s.offsetHeight)&&void 0!==e?e:10),(0,o.f)(),(0,o.s)()];s&&a.push((0,o.a)({element:s})),(0,o.c)(n,i,{placement:this.state._align,middleware:a}).then((({x:e,y:n,middlewareData:i,placement:o})=>{this.setPosition(e,n,i,o,t)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=t=>{"Escape"===t.key&&this.hidePopover()},this.hidePopoverByClickOutside=t=>{this.host&&!this.host.contains(t.target)&&this.hidePopover()},this.catchHostAndTriggerElement=t=>{t&&(this.host=t,this.triggerElement=t.previousElementSibling)},this.catchPopoverElement=t=>{this.popoverElement=t},this.catchArrowElement=t=>{this.arrowElement=t},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}setPosition(t,e,n,i,o){if(this.popoverElement){const s={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${e}px`}),this.arrowElement&&n.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${n.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${n.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${n.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${n.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}s.left!==this.popoverElement.style.left||s.top!==this.popoverElement.style.top?this.alignPopover(o):"function"==typeof o&&o()}}hidePopover(){var t;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody()}addListenersToBody(){var t;const e=(0,r.b)().body;e.addEventListener("keyup",this.hidePopoverByEscape),e.addEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var t;const e=(0,r.b)().body;e.removeEventListener("keyup",this.hidePopoverByEscape),e.removeEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.removeEventListener("scroll",this.showPopover)}render(){return(0,i.h)(i.H,{ref:this.catchHostAndTriggerElement},(0,i.h)("div",{class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},(0,i.h)("div",{class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),(0,i.h)("slot",null)))}validateAlign(t){(0,s.a)(this,t)}validateShow(t){(0,a.v)(this,t),t&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};h.style="@layer kol-global {\n\t/*\n\t * This file contains all rules for accessibility.\n\t */\n\t:host {\n\t\t/*\n\t\t * Minimum size of interactive elements.\n\t\t */\n\t\t--a11y-min-size: 44px;\n\t\tfont-size: inherit;\n\t}\n\n\t* {\n\t\t/*\n\t\t * Verdana is an accessible font that can be used without requiring additional loading time.\n\t\t */\n\t\tfont-family: Verdana;\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\thyphens: auto;\n\t\t/*\n\t\t * Letter spacing is required for all texts.\n\t\t */\n\t\tletter-spacing: inherit;\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\tword-break: break-word;\n\t\t/*\n\t\t * Word spacing is required for all texts.\n\t\t */\n\t\tword-spacing: inherit;\n\t}\n\n\t/*\n\t * All interactive elements should have a minimum size of 44px.\n\t */\n\t/* input:not([type='checkbox'], [type='radio'], [type='range']), */\n\t/* option, */\n\t/* select, */\n\t/* textarea, */\n\t[role='button'],\n\tbutton:not([role='link']),\n\tkol-input .input {\n\t\tmin-height: var(--a11y-min-size);\n\t\tmin-width: var(--a11y-min-size);\n\t}\n\n\t/*\n\t * Some interactive elements should not inherit the font-family and font-size.\n\t */\n\ta,\n\tbutton,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6,\n\tinput,\n\toption,\n\tselect,\n\ttextarea {\n\t\t/*\n\t\t * All elements should inherit the font family from his parent element.\n\t\t */\n\t\tfont-family: inherit;\n\t\t/*\n\t\t * All elements should inherit the font size from his parent element.\n\t\t */\n\t\tfont-size: inherit;\n\t}\n}\n\n@layer kol-global {\n\t/*\n\t * Dieses CSS stellt sicher, dass der Standard-Style\n\t * von A und Button resettet werden.\n\t */\n\t:is(a, button) {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\twidth: 100%; /* 100% needed for custom width from outside */\n\t}\n}\n\n@layer kol-global {\n\t:host {\n\t\t/*\n\t\t * The max-width is needed to prevent the table from overflowing the\n\t\t * parent node, if the table is wider than the parent node.\n\t\t */\n\t\tmax-width: 100%;\n\t}\n\n\t* {\n\t\t/*\n\t\t * We prefer to box-sizing: border-box for all elements.\n\t\t */\n\t\tbox-sizing: border-box;\n\t}\n\n\t/* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n\tkol-span-wc {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t/* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n\tkol-span-wc > span {\n\t\tdisplay: flex;\n\t\tplace-items: center;\n\t}\n\n\ta,\n\tbutton {\n\t\tcursor: pointer;\n\t}\n\n\t/* font-family is NOT inherited all HTML elements. */\n\tbutton,\n\tinput,\n\toption,\n\tselect,\n\ttextarea {\n\t\tfont-family: inherit;\n\t}\n\n\t/* This is the text label. */\n\t.icon-only > kol-span-wc > span > span {\n\t\tdisplay: none;\n\t}\n}\n\n@layer kol-component {\n\tkol-popover {\n\t\theight: 0;\n\t\tposition: absolute;\n\t}\n\n\tkol-popover .popover {\n\t\tbackground-color: #fff;\n\t\tmin-height: max-content;\n\t\tmin-width: max-content;\n\t\topacity: 0;\n\t\tposition: absolute;\n\t}\n\n\tkol-popover .hidden {\n\t\tdisplay: none;\n\t}\n\n\tkol-popover .show {\n\t\tanimation: 0.3s ease-in forwards fadeInOpacity;\n\t}\n\n\tkol-popover .disappear {\n\t\tanimation: 0.3s ease-in backwards fadeInOpacity;\n\t}\n\n\tkol-popover .arrow {\n\t\tbackground-color: inherit;\n\t\theight: var(--font-size);\n\t\tposition: absolute;\n\t\trotate: 0.125turn;\n\t\twidth: var(--font-size);\n\t\tz-index: -1;\n\t}\n\n\t@keyframes fadeInOpacity {\n\t\t0% {\n\t\t\topacity: 0;\n\t\t}\n\t\t100% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n"},4182:(t,e,n)=>{n.d(e,{v:()=>o});var i=n(2288);const o=(t,e,n)=>{(0,i.a)(t,"_show",e,n)}}}]);
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { KolButton, KolInputPassword, KolInputText, KolPopover } from '@public-ui/react';
3
-
4
- import { FC } from 'react';
5
-
6
- export const PopoverBasic: FC = () => {
7
- const [top, setTop] = React.useState(false);
8
- const [right, setRight] = React.useState(false);
9
- const [bottom, setBottom] = React.useState(false);
10
- const [left, setLeft] = React.useState(false);
11
- const [login, setLogin] = React.useState(false);
12
-
13
- return (
14
- <div className="grid gap-4 max-w-[400px] mx-auto pt-8">
15
- <KolButton _label="Oben" _icons="codicon codicon-arrow-up" _variant="primary" _on={{ onClick: () => setTop(!top) }}></KolButton>
16
- <KolPopover _show={top}>Ich bin oberhalb</KolPopover>
17
- <KolButton _label="Rechts" _icons="codicon codicon-arrow-right" _variant="danger" _on={{ onClick: () => setRight(!right) }}></KolButton>
18
- <KolPopover _align="right" _show={right}>
19
- Ich bin rechts
20
- </KolPopover>
21
- <KolButton _label="Unten" _icons="codicon codicon-arrow-down" _variant="secondary" _on={{ onClick: () => setBottom(!bottom) }}></KolButton>
22
- <KolPopover _align="bottom" _show={bottom}>
23
- Ich bin unterhalb
24
- </KolPopover>
25
- <KolButton _label="Links" _icons="codicon codicon-arrow-left" _variant="normal" _on={{ onClick: () => setLeft(!left) }}></KolButton>
26
- <KolPopover _align="left" _show={left}>
27
- Ich bin links
28
- </KolPopover>
29
- <KolButton _label="PR starten" _icons="codicon codicon-git-pull-request" _variant="normal" _on={{ onClick: () => setLogin(!login) }}></KolButton>
30
- <KolPopover _show={login}>
31
- <KolInputText _label={`Benutzername`} />
32
- <KolInputPassword _label={`Passwort`} />
33
- </KolPopover>
34
- </div>
35
- );
36
- };
@@ -1,8 +0,0 @@
1
- import { Routes } from '../../shares/types';
2
- import { PopoverBasic } from './basic';
3
-
4
- export const POPOVER_ROUTES: Routes = {
5
- popover: {
6
- basic: PopoverBasic,
7
- },
8
- };