@eccenca/gui-elements 23.7.0-rc.0 → 23.7.0-rc.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 (49) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/common/index.js +2 -0
  3. package/dist/cjs/common/index.js.map +1 -1
  4. package/dist/cjs/common/utils/getScrollParent.js +24 -0
  5. package/dist/cjs/common/utils/getScrollParent.js.map +1 -0
  6. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +19 -2
  7. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  8. package/dist/cjs/components/MultiSelect/MultiSelect.js +3 -4
  9. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  10. package/dist/cjs/components/Sticky/StickyTarget.js +85 -0
  11. package/dist/cjs/components/Sticky/StickyTarget.js.map +1 -0
  12. package/dist/cjs/components/Sticky/index.js +14 -0
  13. package/dist/cjs/components/Sticky/index.js.map +1 -0
  14. package/dist/cjs/components/index.js +1 -0
  15. package/dist/cjs/components/index.js.map +1 -1
  16. package/dist/esm/common/index.js +2 -0
  17. package/dist/esm/common/index.js.map +1 -1
  18. package/dist/esm/common/utils/getScrollParent.js +20 -0
  19. package/dist/esm/common/utils/getScrollParent.js.map +1 -0
  20. package/dist/esm/components/AutocompleteField/AutoCompleteField.js +27 -2
  21. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  22. package/dist/esm/components/MultiSelect/MultiSelect.js +3 -4
  23. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  24. package/dist/esm/components/Sticky/StickyTarget.js +89 -0
  25. package/dist/esm/components/Sticky/StickyTarget.js.map +1 -0
  26. package/dist/esm/components/Sticky/index.js +2 -0
  27. package/dist/esm/components/Sticky/index.js.map +1 -0
  28. package/dist/esm/components/index.js +1 -0
  29. package/dist/esm/components/index.js.map +1 -1
  30. package/dist/types/common/index.d.ts +2 -0
  31. package/dist/types/common/utils/getScrollParent.d.ts +9 -0
  32. package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +2 -0
  33. package/dist/types/components/Sticky/StickyTarget.d.ts +32 -0
  34. package/dist/types/components/Sticky/index.d.ts +1 -0
  35. package/dist/types/components/index.d.ts +1 -0
  36. package/package.json +1 -1
  37. package/src/common/index.ts +3 -0
  38. package/src/common/utils/getScrollParent.ts +20 -0
  39. package/src/components/AutocompleteField/AutoCompleteField.tsx +28 -0
  40. package/src/components/AutocompleteField/autocompletefield.scss +1 -1
  41. package/src/components/MultiSelect/MultiSelect.tsx +3 -4
  42. package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +76 -1
  43. package/src/components/MultiSuggestField/tests/MultiSuggestField.test.tsx +297 -109
  44. package/src/components/Sticky/StickyTarget.tsx +119 -0
  45. package/src/components/Sticky/index.ts +1 -0
  46. package/src/components/Sticky/sticky.scss +69 -0
  47. package/src/components/Sticky/stories/StickyTarget.stories.tsx +63 -0
  48. package/src/components/index.scss +1 -0
  49. package/src/components/index.ts +1 -0
@@ -0,0 +1,63 @@
1
+ import React from "react";
2
+ import { LoremIpsum } from "react-lorem-ipsum";
3
+ import { Meta, Story } from "@storybook/react";
4
+
5
+ import { HtmlContentBlock, StickyTarget } from "../../../../index";
6
+
7
+ export default {
8
+ title: "Components/StickyTarget",
9
+ component: StickyTarget,
10
+ argTypes: {},
11
+ } as Meta<typeof StickyTarget>;
12
+
13
+ const Template: Story<typeof StickyTarget> = (args) => (
14
+ <div style={{ height: "10rem", overflow: "auto", position: "relative" }}>
15
+ <HtmlContentBlock>
16
+ {args.getConnectedElement && args.to !== "bottom" && (
17
+ <p
18
+ id="connected-element"
19
+ style={{ background: "red", color: "white", padding: "0.5rem", position: "fixed", top: "20px" }}
20
+ >
21
+ Top element.
22
+ </p>
23
+ )}
24
+ <LoremIpsum p={3} avgSentencesPerParagraph={5} random={false} />
25
+ <StickyTarget {...args} style={args.to === "bottom" ? { zIndex: 2 } : undefined}>
26
+ <p style={{ color: "red", padding: "0.5rem" }}>First sticky element.</p>
27
+ </StickyTarget>
28
+ <LoremIpsum p={5} avgSentencesPerParagraph={5} random={false} />
29
+ <div>
30
+ <StickyTarget {...args}>
31
+ <p style={{ color: "green", padding: "0.5rem" }}>Sticky element.</p>
32
+ </StickyTarget>
33
+ <LoremIpsum p={5} avgSentencesPerParagraph={5} random={false} />
34
+ </div>
35
+ <StickyTarget {...args}>
36
+ <p style={{ color: "blue", padding: "0.5rem" }}>Another sticky element.</p>
37
+ </StickyTarget>
38
+ <LoremIpsum p={5} avgSentencesPerParagraph={5} random={false} />
39
+ {args.getConnectedElement && args.to === "bottom" && (
40
+ <p
41
+ id="connected-element"
42
+ style={{ background: "red", color: "white", padding: "0.5rem", position: "fixed", bottom: "20px" }}
43
+ >
44
+ Bottom element.
45
+ </p>
46
+ )}
47
+ </HtmlContentBlock>
48
+ </div>
49
+ );
50
+
51
+ export const Default = Template.bind({});
52
+ Default.args = {
53
+ className: "stickytarget-extraclass",
54
+ "data-test-id": "stickytarget-test-id",
55
+ "data-testid": "stickytarget-testid",
56
+ };
57
+
58
+ export const ConnectedElement = Template.bind({});
59
+ ConnectedElement.args = {
60
+ getConnectedElement: () => {
61
+ return window.document.getElementById("connected-element") || false;
62
+ },
63
+ };
@@ -24,6 +24,7 @@
24
24
  @import "./Separation/separation";
25
25
  @import "./Skeleton/skeleton";
26
26
  @import "./Spinner/spinner";
27
+ @import "./Sticky/sticky";
27
28
  @import "./Structure/titles";
28
29
  @import "./Table/table";
29
30
  @import "./Tabs/tabs";
@@ -36,6 +36,7 @@ export * from "./Separation/Divider";
36
36
  export * from "./Separation/Spacing";
37
37
  export * from "./Skeleton/Skeleton";
38
38
  export * from "./Spinner/Spinner";
39
+ export * from "./Sticky";
39
40
  export * from "./Structure";
40
41
  export * from "./Switch/Switch";
41
42
  export * from "./Table";