@progressive-development/pd-content 0.7.16 → 0.9.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 (101) hide show
  1. package/dist/index.d.ts +9 -5
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +21 -18
  4. package/dist/locales/be.js +2 -3
  5. package/dist/locales/de.js +2 -3
  6. package/dist/locales/en.js +2 -3
  7. package/dist/pd-box-view/PdBoxView.d.ts +9 -0
  8. package/dist/pd-box-view/PdBoxView.d.ts.map +1 -0
  9. package/dist/pd-box-view/PdBoxView.js +23 -0
  10. package/dist/pd-box-view/pd-box-view.d.ts +3 -0
  11. package/dist/pd-box-view/pd-box-view.d.ts.map +1 -0
  12. package/dist/{stories → pd-box-view}/pd-box-view.stories.d.ts +1 -1
  13. package/dist/pd-box-view/pd-box-view.stories.d.ts.map +1 -0
  14. package/dist/pd-box-view.d.ts +2 -6
  15. package/dist/pd-box-view.js +8 -33
  16. package/dist/pd-collapse/PdCollapse.d.ts +38 -0
  17. package/dist/pd-collapse/PdCollapse.d.ts.map +1 -0
  18. package/dist/pd-collapse/PdCollapse.js +216 -0
  19. package/dist/pd-collapse/pd-collapse.d.ts +3 -0
  20. package/dist/pd-collapse/pd-collapse.d.ts.map +1 -0
  21. package/dist/{stories → pd-collapse}/pd-collapse.stories.d.ts +1 -1
  22. package/dist/pd-collapse/pd-collapse.stories.d.ts.map +1 -0
  23. package/dist/pd-collapse-group/PdCollapseGroup.d.ts +28 -0
  24. package/dist/pd-collapse-group/PdCollapseGroup.d.ts.map +1 -0
  25. package/dist/pd-collapse-group/PdCollapseGroup.js +90 -0
  26. package/dist/pd-collapse-group/pd-collapse-group.d.ts +3 -0
  27. package/dist/pd-collapse-group/pd-collapse-group.d.ts.map +1 -0
  28. package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts.map +1 -0
  29. package/dist/pd-collapse-group.d.ts +2 -27
  30. package/dist/pd-collapse-group.js +8 -97
  31. package/dist/pd-collapse.d.ts +2 -36
  32. package/dist/pd-collapse.js +6 -216
  33. package/dist/pd-edit-content/PdEditContent.d.ts +32 -0
  34. package/dist/pd-edit-content/PdEditContent.d.ts.map +1 -0
  35. package/dist/pd-edit-content/PdEditContent.js +221 -0
  36. package/dist/pd-edit-content/pd-edit-content.d.ts +3 -0
  37. package/dist/pd-edit-content/pd-edit-content.d.ts.map +1 -0
  38. package/dist/{stories → pd-edit-content}/pd-edit-content.stories.d.ts +2 -2
  39. package/dist/pd-edit-content/pd-edit-content.stories.d.ts.map +1 -0
  40. package/dist/pd-edit-content.d.ts +2 -29
  41. package/dist/pd-edit-content.js +6 -222
  42. package/dist/pd-more-info/PdMoreInfo.d.ts +25 -0
  43. package/dist/pd-more-info/PdMoreInfo.d.ts.map +1 -0
  44. package/dist/pd-more-info/PdMoreInfo.js +82 -0
  45. package/dist/pd-more-info/pd-more-info.d.ts +3 -0
  46. package/dist/pd-more-info/pd-more-info.d.ts.map +1 -0
  47. package/dist/pd-more-info/pd-more-info.stories.d.ts.map +1 -0
  48. package/dist/pd-more-info.d.ts +2 -23
  49. package/dist/pd-more-info.js +6 -81
  50. package/dist/pd-panel-viewer/PdPanel.d.ts +9 -0
  51. package/dist/pd-panel-viewer/PdPanel.d.ts.map +1 -0
  52. package/dist/pd-panel-viewer/PdPanel.js +38 -0
  53. package/dist/pd-panel-viewer/PdPanelViewer.d.ts +20 -0
  54. package/dist/pd-panel-viewer/PdPanelViewer.d.ts.map +1 -0
  55. package/dist/pd-panel-viewer/PdPanelViewer.js +206 -0
  56. package/dist/pd-panel-viewer/pd-panel-viewer.d.ts +3 -0
  57. package/dist/pd-panel-viewer/pd-panel-viewer.d.ts.map +1 -0
  58. package/dist/pd-panel-viewer/pd-panel.d.ts +3 -0
  59. package/dist/pd-panel-viewer/pd-panel.d.ts.map +1 -0
  60. package/dist/pd-panel-viewer.d.ts +2 -17
  61. package/dist/pd-panel-viewer.js +6 -205
  62. package/dist/pd-panel.d.ts +2 -6
  63. package/dist/pd-panel.js +7 -47
  64. package/dist/pd-resize-content/PdResizeContent.d.ts +27 -0
  65. package/dist/pd-resize-content/PdResizeContent.d.ts.map +1 -0
  66. package/dist/pd-resize-content/PdResizeContent.js +62 -0
  67. package/dist/pd-resize-content/pd-resize-content.d.ts +3 -0
  68. package/dist/pd-resize-content/pd-resize-content.d.ts.map +1 -0
  69. package/dist/pd-resize-content/pd-resize-content.stories.d.ts.map +1 -0
  70. package/dist/pd-resize-content.d.ts +2 -25
  71. package/dist/pd-resize-content.js +6 -62
  72. package/dist/pd-tab/PdTab.d.ts +16 -0
  73. package/dist/pd-tab/PdTab.d.ts.map +1 -0
  74. package/dist/pd-tab/PdTab.js +179 -0
  75. package/dist/pd-tab/pd-tab.d.ts +3 -0
  76. package/dist/pd-tab/pd-tab.d.ts.map +1 -0
  77. package/dist/{stories → pd-tab}/pd-tab.stories.d.ts +1 -1
  78. package/dist/pd-tab/pd-tab.stories.d.ts.map +1 -0
  79. package/dist/pd-tab.d.ts +2 -13
  80. package/dist/pd-tab.js +6 -180
  81. package/dist/types.d.ts.map +1 -1
  82. package/package.json +27 -48
  83. package/dist/pd-box-view.d.ts.map +0 -1
  84. package/dist/pd-collapse-group.d.ts.map +0 -1
  85. package/dist/pd-collapse.d.ts.map +0 -1
  86. package/dist/pd-edit-content.d.ts.map +0 -1
  87. package/dist/pd-more-info.d.ts.map +0 -1
  88. package/dist/pd-panel-viewer.d.ts.map +0 -1
  89. package/dist/pd-panel.d.ts.map +0 -1
  90. package/dist/pd-resize-content.d.ts.map +0 -1
  91. package/dist/pd-tab.d.ts.map +0 -1
  92. package/dist/stories/pd-box-view.stories.d.ts.map +0 -1
  93. package/dist/stories/pd-collapse-group.stories.d.ts.map +0 -1
  94. package/dist/stories/pd-collapse.stories.d.ts.map +0 -1
  95. package/dist/stories/pd-edit-content.stories.d.ts.map +0 -1
  96. package/dist/stories/pd-more-info.stories.d.ts.map +0 -1
  97. package/dist/stories/pd-resize-content.stories.d.ts.map +0 -1
  98. package/dist/stories/pd-tab.stories.d.ts.map +0 -1
  99. /package/dist/{stories → pd-collapse-group}/pd-collapse-group.stories.d.ts +0 -0
  100. /package/dist/{stories → pd-more-info}/pd-more-info.stories.d.ts +0 -0
  101. /package/dist/{stories → pd-resize-content}/pd-resize-content.stories.d.ts +0 -0
package/dist/index.d.ts CHANGED
@@ -1,8 +1,12 @@
1
- export { PdBoxView } from './pd-box-view.js';
2
- export { PdCollapse } from './pd-collapse.js';
3
- export { PdEditContent } from './pd-edit-content.js';
4
- export { PdMoreInfo } from './pd-more-info.js';
5
- export { PdResizeContent } from './pd-resize-content.js';
1
+ export { PdBoxView } from './pd-box-view/pd-box-view.js';
2
+ export { PdCollapse } from './pd-collapse/pd-collapse.js';
3
+ export { PdCollapseGroup } from './pd-collapse-group/pd-collapse-group.js';
4
+ export { PdEditContent } from './pd-edit-content/pd-edit-content.js';
5
+ export { PdMoreInfo } from './pd-more-info/pd-more-info.js';
6
+ export { PdResizeContent } from './pd-resize-content/pd-resize-content.js';
7
+ export { PdTab } from './pd-tab/pd-tab.js';
8
+ export { PdPanel } from './pd-panel-viewer/pd-panel.js';
9
+ export { PdPanelViewer } from './pd-panel-viewer/pd-panel-viewer.js';
6
10
  export type { PdCollapseToggleEventDetail, PdEditLink, PdCollapseElement, } from './types.js';
7
11
  export { templates as beTemplates } from './generated/locales/be.js';
8
12
  export { templates as deTemplates } from './generated/locales/de.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,YAAY,EACV,2BAA2B,EAC3B,UAAU,EACV,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,YAAY,EACV,2BAA2B,EAC3B,UAAU,EACV,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -1,18 +1,21 @@
1
- import { PdBoxView } from "./pd-box-view.js";
2
- import { PdCollapse } from "./pd-collapse.js";
3
- import { PdEditContent } from "./pd-edit-content.js";
4
- import { PdMoreInfo } from "./pd-more-info.js";
5
- import { PdResizeContent } from "./pd-resize-content.js";
6
- import { templates } from "./locales/be.js";
7
- import { templates as templates2 } from "./locales/de.js";
8
- import { templates as templates3 } from "./locales/en.js";
9
- export {
10
- PdBoxView,
11
- PdCollapse,
12
- PdEditContent,
13
- PdMoreInfo,
14
- PdResizeContent,
15
- templates as beTemplates,
16
- templates2 as deTemplates,
17
- templates3 as enTemplates
18
- };
1
+ import './pd-box-view.js';
2
+ import './pd-collapse.js';
3
+ import './pd-collapse-group.js';
4
+ import './pd-edit-content.js';
5
+ import './pd-more-info.js';
6
+ import './pd-resize-content.js';
7
+ import './pd-tab.js';
8
+ import './pd-panel.js';
9
+ import './pd-panel-viewer.js';
10
+ export { templates as beTemplates } from './locales/be.js';
11
+ export { templates as deTemplates } from './locales/de.js';
12
+ export { templates as enTemplates } from './locales/en.js';
13
+ export { PdBoxView } from './pd-box-view/PdBoxView.js';
14
+ export { PdCollapse } from './pd-collapse/PdCollapse.js';
15
+ export { PdCollapseGroup } from './pd-collapse-group/PdCollapseGroup.js';
16
+ export { PdEditContent } from './pd-edit-content/PdEditContent.js';
17
+ export { PdMoreInfo } from './pd-more-info/PdMoreInfo.js';
18
+ export { PdResizeContent } from './pd-resize-content/PdResizeContent.js';
19
+ export { PdTab } from './pd-tab/PdTab.js';
20
+ export { PdPanel } from './pd-panel-viewer/PdPanel.js';
21
+ export { PdPanelViewer } from './pd-panel-viewer/PdPanelViewer.js';
@@ -2,6 +2,5 @@ const templates = {
2
2
  "pd.moreInfo.less": `Minder informatie`,
3
3
  "pd.moreInfo.more": `Meer informatie`
4
4
  };
5
- export {
6
- templates
7
- };
5
+
6
+ export { templates };
@@ -2,6 +2,5 @@ const templates = {
2
2
  "pd.moreInfo.more": `Mehr Informationen`,
3
3
  "pd.moreInfo.less": `Text ausblenden`
4
4
  };
5
- export {
6
- templates
7
- };
5
+
6
+ export { templates };
@@ -2,6 +2,5 @@ const templates = {
2
2
  "pd.moreInfo.less": `Less information`,
3
3
  "pd.moreInfo.more": `More information`
4
4
  };
5
- export {
6
- templates
7
- };
5
+
6
+ export { templates };
@@ -0,0 +1,9 @@
1
+ import { LitElement, CSSResultGroup } from 'lit';
2
+ /**
3
+ * @tagname pd-box-view
4
+ */
5
+ export declare class PdBoxView extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ render(): import('lit').TemplateResult<1>;
8
+ }
9
+ //# sourceMappingURL=PdBoxView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdBoxView.d.ts","sourceRoot":"","sources":["../../src/pd-box-view/PdBoxView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE5D;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,EAAE,cAAc,CAWpC;IAEO,MAAM;CAGhB"}
@@ -0,0 +1,23 @@
1
+ import { LitElement, css, html } from 'lit';
2
+
3
+ class PdBoxView extends LitElement {
4
+ static {
5
+ this.styles = [
6
+ css`
7
+ :host {
8
+ display: grid;
9
+ grid-template-columns: repeat(
10
+ var(--pd-box-columns, 4),
11
+ minmax(var(--pd-box-min-width, 100px), 1fr)
12
+ );
13
+ gap: var(--pd-box-gap, 25px);
14
+ }
15
+ `
16
+ ];
17
+ }
18
+ render() {
19
+ return html` <slot></slot> `;
20
+ }
21
+ }
22
+
23
+ export { PdBoxView };
@@ -0,0 +1,3 @@
1
+ import { PdBoxView } from './PdBoxView.js';
2
+ export { PdBoxView };
3
+ //# sourceMappingURL=pd-box-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-box-view.d.ts","sourceRoot":"","sources":["../../src/pd-box-view/pd-box-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import { StoryObj } from '@storybook/web-components';
2
2
  declare const meta: {
3
3
  title: string;
4
4
  component: string;
5
- render: () => import('lit-html').TemplateResult<1>;
5
+ render: () => import('lit').TemplateResult<1>;
6
6
  };
7
7
  export default meta;
8
8
  type Story = StoryObj;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-box-view.stories.d.ts","sourceRoot":"","sources":["../../src/pd-box-view/pd-box-view.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,kBAAkB,CAAC;AAE1B,QAAA,MAAM,IAAI;;;;CA6CM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,6 +1,2 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- export declare class PdBoxView extends LitElement {
3
- static styles: CSSResultGroup;
4
- render(): import('lit-html').TemplateResult<1>;
5
- }
6
- //# sourceMappingURL=pd-box-view.d.ts.map
1
+ export * from './pd-box-view/pd-box-view'
2
+ export {}
@@ -1,33 +1,8 @@
1
- import { css, LitElement, html } from "lit";
2
- import { customElement } from "lit/decorators.js";
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __decorateClass = (decorators, target, key, kind) => {
5
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
- if (decorator = decorators[i])
8
- result = decorator(result) || result;
9
- return result;
10
- };
11
- let PdBoxView = class extends LitElement {
12
- render() {
13
- return html` <slot></slot> `;
14
- }
15
- };
16
- PdBoxView.styles = [
17
- css`
18
- :host {
19
- display: grid;
20
- grid-template-columns: repeat(
21
- var(--pd-box-columns, 4),
22
- minmax(var(--pd-box-min-width, 100px), 1fr)
23
- );
24
- gap: var(--pd-box-gap, 25px);
25
- }
26
- `
27
- ];
28
- PdBoxView = __decorateClass([
29
- customElement("pd-box-view")
30
- ], PdBoxView);
31
- export {
32
- PdBoxView
33
- };
1
+ import { PdBoxView } from './pd-box-view/PdBoxView.js';
2
+
3
+ const tag = "pd-box-view";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdBoxView);
6
+ }
7
+
8
+ export { PdBoxView };
@@ -0,0 +1,38 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
+ /**
3
+ * @tagname pd-collapse
4
+ *
5
+ * Ein auf- und zuklappbarer Bereich mit Header und Inhalt.
6
+ *
7
+ * @fires toggle-accordion - Wird ausgelöst, wenn der Zustand gewechselt wird (true/false).
8
+ *
9
+ * @slot header - Slot für den sichtbaren Headerbereich
10
+ * @slot content - Slot für den Inhalt, der ein- und ausgeklappt wird
11
+ */
12
+ export declare class PdCollapse extends LitElement {
13
+ /**
14
+ * Optionales Icon für den Toggle Button (standardmäßig `ICON_TOGGLE_COLLAPSE`)
15
+ */
16
+ icon: string;
17
+ startOpen: boolean;
18
+ /**
19
+ * Gibt an, ob der Bereich geöffnet ist.
20
+ */
21
+ _active: boolean;
22
+ static styles: CSSResultGroup;
23
+ firstUpdated(): void;
24
+ disconnectedCallback(): void;
25
+ willUpdate(changedProps: PropertyValues<this>): void;
26
+ render(): import('lit').TemplateResult<1>;
27
+ /**
28
+ * Öffnet den Collapse-Bereich
29
+ */
30
+ set active(activeVal: boolean);
31
+ get active(): boolean;
32
+ private _onClick;
33
+ protected _registerAtContainer(): void;
34
+ protected _unRegisterAtContainer(): void;
35
+ private _internalId?;
36
+ private _getInternalId;
37
+ }
38
+ //# sourceMappingURL=PdCollapse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdCollapse.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/PdCollapse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5E,OAAO,0CAA0C,CAAC;AAOlD;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAgC;IAG5C,SAAS,EAAE,OAAO,CAAS;IAE3B;;OAEG;IAEH,OAAO,UAAS;IAEhB,OAAgB,MAAM,EAAE,cAAc,CA+FpC;IAEO,YAAY,IAAI,IAAI;IAKpB,oBAAoB,IAAI,IAAI;IAK5B,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpD,MAAM;IAmBf;;OAEG;IACH,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,EAe5B;IAED,IAAI,MAAM,IAjBY,OAAO,CAmB5B;IAED,OAAO,CAAC,QAAQ;IAIhB,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAatC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAaxC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc;CAMvB"}
@@ -0,0 +1,216 @@
1
+ import { LitElement, css, html } from 'lit';
2
+ import { property, state } from 'lit/decorators.js';
3
+ import { pdIcons } from '@progressive-development/pd-icon';
4
+ import '@progressive-development/pd-icon/pd-icon';
5
+ import { PdColorStyles, PdFontStyles } from '@progressive-development/pd-shared-styles';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __decorateClass = (decorators, target, key, kind) => {
9
+ var result = void 0 ;
10
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
11
+ if (decorator = decorators[i])
12
+ result = (decorator(target, key, result) ) || result;
13
+ if (result) __defProp(target, key, result);
14
+ return result;
15
+ };
16
+ class PdCollapse extends LitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.icon = pdIcons.ICON_TOGGLE_COLLAPSE;
20
+ this.startOpen = false;
21
+ this._active = false;
22
+ }
23
+ static {
24
+ this.styles = [
25
+ PdColorStyles,
26
+ PdFontStyles,
27
+ css`
28
+ :host {
29
+ display: block;
30
+ width: 100%;
31
+ position: relative;
32
+ overflow: visible;
33
+ }
34
+
35
+ .trigger {
36
+ position: relative;
37
+ z-index: 2;
38
+
39
+ display: flex;
40
+ justify-content: space-between;
41
+ box-sizing: border-box;
42
+ padding: 0.5rem;
43
+ cursor: pointer;
44
+
45
+ font-family: var(--pd-default-font-title-family);
46
+ font-size: var(--pd-collapse-header-font-size, 1rem);
47
+ font-weight: bold;
48
+ color: var(--pd-collapse-font-col, var(--pd-default-bg-col));
49
+ background: var(--pd-collapse-bg-col, var(--pd-default-col));
50
+ border-radius: var(--pd-border-radius) var(--pd-border-radius) 0 0;
51
+
52
+ transition-property: box-shadow, background;
53
+ transition: 0.2s ease-in;
54
+ }
55
+
56
+ .trigger pd-icon {
57
+ --pd-icon-col-active: var(--pd-default-dark-col);
58
+ /*
59
+ --pd-icon-col-hover: var(--pd-default-dark-col);
60
+ --pd-icon-col-active-hover: var(--pd-default-dark-col);
61
+ */
62
+ }
63
+
64
+ .trigger:hover {
65
+ background: var(--pd-collapse-hover-col, var(--pd-default-dark-col));
66
+ }
67
+
68
+ .trigger.closed {
69
+ border-radius: var(--pd-border-radius);
70
+ }
71
+
72
+ ::slotted(.header) {
73
+ display: flex;
74
+ align-items: center;
75
+ }
76
+
77
+ .content {
78
+ position: relative;
79
+ z-index: 1;
80
+
81
+ height: 0;
82
+ visibility: hidden;
83
+ overflow: hidden;
84
+ opacity: 0;
85
+ box-sizing: border-box;
86
+ padding: 0.5em;
87
+
88
+ border: 2px solid var(--pd-default-light-col);
89
+ background: var(--pd-collapse-content-bg-col, var(--pd-default-bg-col));
90
+ border-radius: 0 0 var(--pd-border-radius) var(--pd-border-radius);
91
+
92
+ will-change: transform, opacity;
93
+ transform: translate3d(0, -1.5em, 0);
94
+ pointer-events: none;
95
+
96
+ transform-origin: top;
97
+ transition:
98
+ transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
99
+ opacity 0.3s ease,
100
+ visibility 0s linear 0.3s; /* sichtbar wird später deaktiviert */
101
+ }
102
+
103
+ .content.open {
104
+ height: auto;
105
+ visibility: visible;
106
+ overflow: visible;
107
+ overflow-y: auto;
108
+ opacity: 1;
109
+
110
+ transform: translate3d(0, 0, 0);
111
+ pointer-events: auto;
112
+
113
+ transition:
114
+ transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
115
+ opacity 0.3s ease,
116
+ visibility 0s linear 0s; /* sichtbar wird sofort gesetzt */
117
+ }
118
+ `
119
+ ];
120
+ }
121
+ firstUpdated() {
122
+ this._registerAtContainer();
123
+ }
124
+ disconnectedCallback() {
125
+ this._unRegisterAtContainer();
126
+ super.disconnectedCallback();
127
+ }
128
+ willUpdate(changedProps) {
129
+ if (changedProps.has("startOpen")) {
130
+ this._active = this.startOpen;
131
+ }
132
+ }
133
+ render() {
134
+ return html`
135
+ <div
136
+ class="trigger ${this._active ? "open" : "closed"}"
137
+ @click=${this._onClick}
138
+ >
139
+ <slot name="header"></slot>
140
+ <pd-icon
141
+ icon=${this.icon}
142
+ ?activeIcon=${this.active}
143
+ class="small primary"
144
+ ></pd-icon>
145
+ </div>
146
+ <div class="content ${this._active ? "open" : "closed"}">
147
+ <slot name="content"></slot>
148
+ </div>
149
+ `;
150
+ }
151
+ /**
152
+ * Öffnet den Collapse-Bereich
153
+ */
154
+ set active(activeVal) {
155
+ const oldActive = this._active;
156
+ this._active = activeVal;
157
+ if (oldActive !== activeVal) {
158
+ this.dispatchEvent(
159
+ new CustomEvent("pd-collapse-toggle", {
160
+ bubbles: true,
161
+ composed: true,
162
+ detail: {
163
+ active: this._active,
164
+ name: this.id || this._getInternalId()
165
+ }
166
+ })
167
+ );
168
+ }
169
+ }
170
+ get active() {
171
+ return this._active;
172
+ }
173
+ _onClick() {
174
+ this.active = !this._active;
175
+ }
176
+ _registerAtContainer() {
177
+ this.dispatchEvent(
178
+ new CustomEvent("pd-collapse-register", {
179
+ detail: {
180
+ name: this.id || this._getInternalId(),
181
+ collapse: this
182
+ },
183
+ bubbles: true,
184
+ composed: true
185
+ })
186
+ );
187
+ }
188
+ _unRegisterAtContainer() {
189
+ document.dispatchEvent(
190
+ new CustomEvent("pd-collapse-unregister", {
191
+ detail: {
192
+ name: this.id || this._getInternalId()
193
+ },
194
+ bubbles: true,
195
+ composed: true
196
+ })
197
+ );
198
+ }
199
+ _getInternalId() {
200
+ if (!this._internalId) {
201
+ this._internalId = `id${(/* @__PURE__ */ new Date()).getMilliseconds()}_${Math.random()}`;
202
+ }
203
+ return this._internalId;
204
+ }
205
+ }
206
+ __decorateClass([
207
+ property({ type: String })
208
+ ], PdCollapse.prototype, "icon");
209
+ __decorateClass([
210
+ property({ type: Boolean })
211
+ ], PdCollapse.prototype, "startOpen");
212
+ __decorateClass([
213
+ state()
214
+ ], PdCollapse.prototype, "_active");
215
+
216
+ export { PdCollapse };
@@ -0,0 +1,3 @@
1
+ import { PdCollapse } from './PdCollapse.js';
2
+ export { PdCollapse };
3
+ //# sourceMappingURL=pd-collapse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-collapse.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/pd-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { StoryObj } from '@storybook/web-components';
2
2
  declare const meta: {
3
3
  title: string;
4
- render: ({ active, header, content, }: import('@storybook/web-components').Args) => import('lit-html').TemplateResult<1>;
4
+ render: ({ active, header, content, }: import('@storybook/web-components').Args) => import('lit').TemplateResult<1>;
5
5
  argTypes: {
6
6
  active: {
7
7
  control: "boolean";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-collapse.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/pd-collapse.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,kBAAkB,CAAC;AAE1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAiBM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAkD7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { LitElement, CSSResultGroup } from 'lit';
2
+ /**
3
+ * @element pd-collapse-group
4
+ * @tagname pd-collapse-group
5
+ *
6
+ * Gruppiert mehrere <pd-collapse> Elemente.
7
+ * Stellt sicher, dass immer nur ein Element geöffnet (active) ist.
8
+ *
9
+ * @slot default - Erwartet eine Liste von <pd-collapse> Elementen
10
+ *
11
+ * @csspart container - Container der Collapse-Gruppe
12
+ */
13
+ export declare class PdCollapseGroup extends LitElement {
14
+ /**
15
+ * Enthält alle zugewiesenen <pd-collapse>-Elemente
16
+ */
17
+ private _assignedCollapses;
18
+ static styles: CSSResultGroup;
19
+ connectedCallback(): void;
20
+ disconnectedCallback(): void;
21
+ render(): import('lit').TemplateResult<1>;
22
+ private _onRegister;
23
+ private _onUnRegister;
24
+ private _onUnRegisterBound;
25
+ private _onToggle;
26
+ private _deactivateOtherCollapses;
27
+ }
28
+ //# sourceMappingURL=PdCollapseGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdCollapseGroup.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/PdCollapseGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,OAAgB,MAAM,EAAE,cAAc,CAWpC;IAEO,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAkBrC,MAAM;IAQN,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,kBAAkB,CAAiC;IAE3D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,yBAAyB;CAOlC"}
@@ -0,0 +1,90 @@
1
+ import { LitElement, css, html } from 'lit';
2
+
3
+ class PdCollapseGroup extends LitElement {
4
+ constructor() {
5
+ super(...arguments);
6
+ /**
7
+ * Enthält alle zugewiesenen <pd-collapse>-Elemente
8
+ */
9
+ this._assignedCollapses = /* @__PURE__ */ new Map();
10
+ this._onRegister = (e) => {
11
+ const { name, collapse } = e.detail;
12
+ console.debug("###### _onRegister collapse", name);
13
+ this._assignedCollapses.set(name, collapse);
14
+ e.stopPropagation();
15
+ };
16
+ this._onUnRegister = (e) => {
17
+ const { name } = e.detail;
18
+ console.debug("###### _onUnRegister collapse", name);
19
+ this._assignedCollapses.delete(name);
20
+ e.stopPropagation();
21
+ };
22
+ this._onUnRegisterBound = this._onUnRegister.bind(this);
23
+ }
24
+ static {
25
+ this.styles = [
26
+ css`
27
+ :host {
28
+ display: block;
29
+ }
30
+ .container {
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: var(--pd-collapse-group-gap, 0.5rem);
34
+ }
35
+ `
36
+ ];
37
+ }
38
+ connectedCallback() {
39
+ super.connectedCallback();
40
+ this.addEventListener(
41
+ "pd-collapse-register",
42
+ this._onRegister
43
+ );
44
+ this.addEventListener(
45
+ "pd-collapse-toggle",
46
+ this._onToggle
47
+ );
48
+ document.addEventListener(
49
+ "pd-collapse-unregister",
50
+ this._onUnRegisterBound
51
+ );
52
+ }
53
+ disconnectedCallback() {
54
+ super.disconnectedCallback();
55
+ this.removeEventListener(
56
+ "pd-collapse-register",
57
+ this._onRegister
58
+ );
59
+ this.removeEventListener(
60
+ "pd-collapse-toogle",
61
+ this._onToggle
62
+ );
63
+ document.removeEventListener(
64
+ "pd-collapse-unregister",
65
+ this._onUnRegisterBound
66
+ );
67
+ }
68
+ render() {
69
+ return html`
70
+ <div class="container" part="container">
71
+ <slot></slot>
72
+ </div>
73
+ `;
74
+ }
75
+ _onToggle(e) {
76
+ if (e.detail.active === true) {
77
+ this._deactivateOtherCollapses(e.detail.name);
78
+ }
79
+ e.stopPropagation();
80
+ }
81
+ _deactivateOtherCollapses(targetKey) {
82
+ this._assignedCollapses.forEach((collapse, key) => {
83
+ if (key !== targetKey) {
84
+ collapse.active = false;
85
+ }
86
+ });
87
+ }
88
+ }
89
+
90
+ export { PdCollapseGroup };
@@ -0,0 +1,3 @@
1
+ import { PdCollapseGroup } from './PdCollapseGroup.js';
2
+ export { PdCollapseGroup };
3
+ //# sourceMappingURL=pd-collapse-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-collapse-group.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/pd-collapse-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-collapse-group.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/pd-collapse-group.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,wBAAwB,CAAC;wBAQ3B,IAAI;AANT,wBAMU;AAiCV,eAAO,MAAM,OAAO,SAAoB,CAAC"}
@@ -1,27 +1,2 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- /**
3
- * @element pd-collapse-group
4
- *
5
- * Gruppiert mehrere <pd-collapse> Elemente.
6
- * Stellt sicher, dass immer nur ein Element geöffnet (active) ist.
7
- *
8
- * @slot default - Erwartet eine Liste von <pd-collapse> Elementen
9
- *
10
- * @csspart container - Container der Collapse-Gruppe
11
- */
12
- export declare class PdCollapseGroup extends LitElement {
13
- /**
14
- * Enthält alle zugewiesenen <pd-collapse>-Elemente
15
- */
16
- private _assignedCollapses;
17
- static styles: CSSResultGroup;
18
- connectedCallback(): void;
19
- disconnectedCallback(): void;
20
- render(): import('lit-html').TemplateResult<1>;
21
- private _onRegister;
22
- private _onUnRegister;
23
- private _onUnRegisterBound;
24
- private _onToggle;
25
- private _deactivateOtherCollapses;
26
- }
27
- //# sourceMappingURL=pd-collapse-group.d.ts.map
1
+ export * from './pd-collapse-group/pd-collapse-group'
2
+ export {}