@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
@@ -1,97 +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 PdCollapseGroup = class extends LitElement {
12
- constructor() {
13
- super(...arguments);
14
- this._assignedCollapses = /* @__PURE__ */ new Map();
15
- this._onRegister = (e) => {
16
- const { name, collapse } = e.detail;
17
- console.debug("###### _onRegister collapse", name);
18
- this._assignedCollapses.set(name, collapse);
19
- e.stopPropagation();
20
- };
21
- this._onUnRegister = (e) => {
22
- const { name } = e.detail;
23
- console.debug("###### _onUnRegister collapse", name);
24
- this._assignedCollapses.delete(name);
25
- e.stopPropagation();
26
- };
27
- this._onUnRegisterBound = this._onUnRegister.bind(this);
28
- }
29
- connectedCallback() {
30
- super.connectedCallback();
31
- this.addEventListener(
32
- "pd-collapse-register",
33
- this._onRegister
34
- );
35
- this.addEventListener(
36
- "pd-collapse-toggle",
37
- this._onToggle
38
- );
39
- document.addEventListener(
40
- "pd-collapse-unregister",
41
- this._onUnRegisterBound
42
- );
43
- }
44
- disconnectedCallback() {
45
- super.disconnectedCallback();
46
- this.removeEventListener(
47
- "pd-collapse-register",
48
- this._onRegister
49
- );
50
- this.removeEventListener(
51
- "pd-collapse-toogle",
52
- this._onToggle
53
- );
54
- document.removeEventListener(
55
- "pd-collapse-unregister",
56
- this._onUnRegisterBound
57
- );
58
- }
59
- render() {
60
- return html`
61
- <div class="container" part="container">
62
- <slot></slot>
63
- </div>
64
- `;
65
- }
66
- _onToggle(e) {
67
- if (e.detail.active === true) {
68
- this._deactivateOtherCollapses(e.detail.name);
69
- }
70
- e.stopPropagation();
71
- }
72
- _deactivateOtherCollapses(targetKey) {
73
- this._assignedCollapses.forEach((collapse, key) => {
74
- if (key !== targetKey) {
75
- collapse.active = false;
76
- }
77
- });
78
- }
79
- };
80
- PdCollapseGroup.styles = [
81
- css`
82
- :host {
83
- display: block;
84
- }
85
- .container {
86
- display: flex;
87
- flex-direction: column;
88
- gap: var(--pd-collapse-group-gap, 0.5rem);
89
- }
90
- `
91
- ];
92
- PdCollapseGroup = __decorateClass([
93
- customElement("pd-collapse-group")
94
- ], PdCollapseGroup);
95
- export {
96
- PdCollapseGroup
97
- };
1
+ import { PdCollapseGroup } from './pd-collapse-group/PdCollapseGroup.js';
2
+
3
+ const tag = "pd-collapse-group";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdCollapseGroup);
6
+ }
7
+
8
+ export { PdCollapseGroup };
@@ -1,36 +1,2 @@
1
- import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
- /**
3
- * Ein auf- und zuklappbarer Bereich mit Header und Inhalt.
4
- *
5
- * @fires toggle-accordion - Wird ausgelöst, wenn der Zustand gewechselt wird (true/false).
6
- *
7
- * @slot header - Slot für den sichtbaren Headerbereich
8
- * @slot content - Slot für den Inhalt, der ein- und ausgeklappt wird
9
- */
10
- export declare class PdCollapse extends LitElement {
11
- /**
12
- * Optionales Icon für den Toggle Button (standardmäßig `ICON_TOGGLE_COLLAPSE`)
13
- */
14
- icon: string;
15
- startOpen: boolean;
16
- /**
17
- * Gibt an, ob der Bereich geöffnet ist.
18
- */
19
- _active: boolean;
20
- static styles: CSSResultGroup;
21
- firstUpdated(): void;
22
- disconnectedCallback(): void;
23
- willUpdate(changedProps: PropertyValues<this>): void;
24
- render(): import('lit-html').TemplateResult<1>;
25
- /**
26
- * Öffnet den Collapse-Bereich
27
- */
28
- set active(activeVal: boolean);
29
- get active(): boolean;
30
- private _onClick;
31
- protected _registerAtContainer(): void;
32
- protected _unRegisterAtContainer(): void;
33
- private _internalId?;
34
- private _getInternalId;
35
- }
36
- //# sourceMappingURL=pd-collapse.d.ts.map
1
+ export * from './pd-collapse/pd-collapse'
2
+ export {}
@@ -1,218 +1,8 @@
1
- import { css, LitElement, html } from "lit";
2
- import { property, state, customElement } 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
- var __defProp = Object.defineProperty;
7
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
- var __decorateClass = (decorators, target, key, kind) => {
9
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
10
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
11
- if (decorator = decorators[i])
12
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
13
- if (kind && result) __defProp(target, key, result);
14
- return result;
15
- };
16
- let PdCollapse = class extends LitElement {
17
- constructor() {
18
- super(...arguments);
19
- this.icon = pdIcons.ICON_TOGGLE_COLLAPSE;
20
- this.startOpen = false;
21
- this._active = false;
22
- }
23
- firstUpdated() {
24
- this._registerAtContainer();
25
- }
26
- disconnectedCallback() {
27
- this._unRegisterAtContainer();
28
- super.disconnectedCallback();
29
- }
30
- willUpdate(changedProps) {
31
- if (changedProps.has("startOpen")) {
32
- this._active = this.startOpen;
33
- }
34
- }
35
- render() {
36
- return html`
37
- <div
38
- class="trigger ${this._active ? "open" : "closed"}"
39
- @click=${this._onClick}
40
- >
41
- <slot name="header"></slot>
42
- <pd-icon
43
- icon=${this.icon}
44
- ?activeIcon=${this.active}
45
- class="small primary"
46
- ></pd-icon>
47
- </div>
48
- <div class="content ${this._active ? "open" : "closed"}">
49
- <slot name="content"></slot>
50
- </div>
51
- `;
52
- }
53
- /**
54
- * Öffnet den Collapse-Bereich
55
- */
56
- set active(activeVal) {
57
- const oldActive = this._active;
58
- this._active = activeVal;
59
- if (oldActive !== activeVal) {
60
- this.dispatchEvent(
61
- new CustomEvent("pd-collapse-toggle", {
62
- bubbles: true,
63
- composed: true,
64
- detail: {
65
- active: this._active,
66
- name: this.id || this._getInternalId()
67
- }
68
- })
69
- );
70
- }
71
- }
72
- get active() {
73
- return this._active;
74
- }
75
- _onClick() {
76
- this.active = !this._active;
77
- }
78
- _registerAtContainer() {
79
- this.dispatchEvent(
80
- new CustomEvent("pd-collapse-register", {
81
- detail: {
82
- name: this.id || this._getInternalId(),
83
- collapse: this
84
- },
85
- bubbles: true,
86
- composed: true
87
- })
88
- );
89
- }
90
- _unRegisterAtContainer() {
91
- document.dispatchEvent(
92
- new CustomEvent("pd-collapse-unregister", {
93
- detail: {
94
- name: this.id || this._getInternalId()
95
- },
96
- bubbles: true,
97
- composed: true
98
- })
99
- );
100
- }
101
- _getInternalId() {
102
- if (!this._internalId) {
103
- this._internalId = `id${(/* @__PURE__ */ new Date()).getMilliseconds()}_${Math.random()}`;
104
- }
105
- return this._internalId;
106
- }
107
- };
108
- PdCollapse.styles = [
109
- PdColorStyles,
110
- PdFontStyles,
111
- css`
112
- :host {
113
- display: block;
114
- width: 100%;
115
- position: relative;
116
- overflow: visible;
117
- }
1
+ import { PdCollapse } from './pd-collapse/PdCollapse.js';
118
2
 
119
- .trigger {
120
- position: relative;
121
- z-index: 2;
3
+ const tag = "pd-collapse";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdCollapse);
6
+ }
122
7
 
123
- display: flex;
124
- justify-content: space-between;
125
- box-sizing: border-box;
126
- padding: 0.5rem;
127
- cursor: pointer;
128
-
129
- font-family: var(--pd-default-font-title-family);
130
- font-size: var(--pd-collapse-header-font-size, 1rem);
131
- font-weight: bold;
132
- color: var(--pd-collapse-font-col, var(--pd-default-bg-col));
133
- background: var(--pd-collapse-bg-col, var(--pd-default-col));
134
- border-radius: var(--pd-border-radius) var(--pd-border-radius) 0 0;
135
-
136
- transition-property: box-shadow, background;
137
- transition: 0.2s ease-in;
138
- }
139
-
140
- .trigger pd-icon {
141
- --pd-icon-col-active: var(--pd-default-dark-col);
142
- /*
143
- --pd-icon-col-hover: var(--pd-default-dark-col);
144
- --pd-icon-col-active-hover: var(--pd-default-dark-col);
145
- */
146
- }
147
-
148
- .trigger:hover {
149
- background: var(--pd-collapse-hover-col, var(--pd-default-dark-col));
150
- }
151
-
152
- .trigger.closed {
153
- border-radius: var(--pd-border-radius);
154
- }
155
-
156
- ::slotted(.header) {
157
- display: flex;
158
- align-items: center;
159
- }
160
-
161
- .content {
162
- position: relative;
163
- z-index: 1;
164
-
165
- height: 0;
166
- visibility: hidden;
167
- overflow: hidden;
168
- opacity: 0;
169
- box-sizing: border-box;
170
- padding: 0.5em;
171
-
172
- border: 2px solid var(--pd-default-light-col);
173
- background: var(--pd-collapse-content-bg-col, var(--pd-default-bg-col));
174
- border-radius: 0 0 var(--pd-border-radius) var(--pd-border-radius);
175
-
176
- will-change: transform, opacity;
177
- transform: translate3d(0, -1.5em, 0);
178
- pointer-events: none;
179
-
180
- transform-origin: top;
181
- transition:
182
- transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
183
- opacity 0.3s ease,
184
- visibility 0s linear 0.3s; /* sichtbar wird später deaktiviert */
185
- }
186
-
187
- .content.open {
188
- height: auto;
189
- visibility: visible;
190
- overflow: visible;
191
- overflow-y: auto;
192
- opacity: 1;
193
-
194
- transform: translate3d(0, 0, 0);
195
- pointer-events: auto;
196
-
197
- transition:
198
- transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
199
- opacity 0.3s ease,
200
- visibility 0s linear 0s; /* sichtbar wird sofort gesetzt */
201
- }
202
- `
203
- ];
204
- __decorateClass([
205
- property({ type: String })
206
- ], PdCollapse.prototype, "icon", 2);
207
- __decorateClass([
208
- property({ type: Boolean })
209
- ], PdCollapse.prototype, "startOpen", 2);
210
- __decorateClass([
211
- state()
212
- ], PdCollapse.prototype, "_active", 2);
213
- PdCollapse = __decorateClass([
214
- customElement("pd-collapse")
215
- ], PdCollapse);
216
- export {
217
- PdCollapse
218
- };
8
+ export { PdCollapse };
@@ -0,0 +1,32 @@
1
+ import { LitElement, CSSResultGroup } from 'lit';
2
+ import { PdEditContentDataEntry, PdEditLink } from '../types';
3
+ /**
4
+ * @tagname pd-edit-content
5
+ */
6
+ export declare class PdEditContent extends LitElement {
7
+ /**
8
+ * Aktuelle Schritt-Nummer (z.B. im Wizard)
9
+ */
10
+ stepNumber?: number;
11
+ /**
12
+ * Titel des Abschnitts
13
+ */
14
+ contentTitle: string;
15
+ /**
16
+ * Datenobjekte mit Label + Wert
17
+ */
18
+ data: Array<PdEditContentDataEntry>;
19
+ /**
20
+ * Liste an editierbaren Links mit Icons
21
+ */
22
+ editLinks: PdEditLink[];
23
+ /**
24
+ * Bearbeitung generell deaktivieren
25
+ */
26
+ editDisabled: boolean;
27
+ static styles: CSSResultGroup;
28
+ render(): import('lit').TemplateResult<1>;
29
+ private static _getLinkLogo;
30
+ private _editContent;
31
+ }
32
+ //# sourceMappingURL=PdEditContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdEditContent.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/PdEditContent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM5D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuB9D;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;OAEG;IAEH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAM;IAEzC;;OAEG;IAEH,SAAS,EAAE,UAAU,EAAE,CAAM;IAE7B;;OAEG;IAEH,YAAY,UAAS;IAErB,OAAgB,MAAM,EAAE,cAAc,CAoGpC;IAEO,MAAM;IAmDf,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B,OAAO,CAAC,YAAY;CAUrB"}
@@ -0,0 +1,221 @@
1
+ import { html, LitElement, css } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { PdColorStyles, PdFontStyles } from '@progressive-development/pd-shared-styles';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = void 0 ;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (decorator(target, key, result) ) || result;
11
+ if (result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ const editIcon = html`<svg
15
+ class="edit"
16
+ viewBox="0 0 19 19"
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ >
19
+ <g>
20
+ <path
21
+ d="M8.44,7.25C8.348,7.342,8.277,7.447,8.215,7.557L8.174,7.516L8.149,7.69 C8.049,7.925,8.014,8.183,8.042,8.442l-0.399,2.796l2.797-0.399c0.259,0.028,0.517-0.007,0.752-0.107l0.174-0.024l-0.041-0.041 c0.109-0.062,0.215-0.133,0.307-0.225l5.053-5.053l-3.191-3.191L8.44,7.25z"
22
+ fill="var(--edit-fill-color)"
23
+ />
24
+ <path
25
+ d="M18.183,1.568l-0.87-0.87c-0.641-0.641-1.637-0.684-2.225-0.097l-0.797,0.797l3.191,3.191l0.797-0.798 C18.867,3.205,18.824,2.209,18.183,1.568z"
26
+ fill="var(--edit-fill-color)"
27
+ />
28
+ <path
29
+ d="M15,9.696V17H2V2h8.953l1.523-1.42c0.162-0.161,0.353-0.221,0.555-0.293 c0.043-0.119,0.104-0.18,0.176-0.287H0v19h17V7.928L15,9.696z"
30
+ fill="var(--edit-fill-color)"
31
+ />
32
+ </g>
33
+ </svg>`;
34
+ const _PdEditContent = class _PdEditContent extends LitElement {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.contentTitle = "";
38
+ this.data = [];
39
+ this.editLinks = [];
40
+ this.editDisabled = false;
41
+ }
42
+ static {
43
+ this.styles = [
44
+ PdColorStyles,
45
+ PdFontStyles,
46
+ css`
47
+ :host {
48
+ display: block;
49
+ }
50
+
51
+ h4 {
52
+ font-family: var(--pd-default-font-title-family);
53
+ font-size: var(--pd-ec-font-title-size, 1.2em);
54
+ margin: 0 0 2px 0;
55
+ line-height: 40px;
56
+ color: var(--pd-ec-font-title-col, var(--pd-default-bg-col));
57
+ padding-left: 5px;
58
+ }
59
+
60
+ .header {
61
+ display: flex;
62
+ gap: 5px;
63
+ background-color: var(--pd-ec-bg-col, var(--pd-default-col));
64
+ align-items: center;
65
+ }
66
+
67
+ .circle {
68
+ margin-left: 5px;
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ width: 27px;
73
+ height: 27px;
74
+ border-radius: 50%;
75
+ background-color: var(--pd-ec-font-title-col, var(--pd-default-bg-col));
76
+ }
77
+
78
+ .step-number {
79
+ font-family: var(--pd-default-font-title-family);
80
+ font-size: var(--pd-ec-font-title-size, 1.2em);
81
+ font-weight: var(--pd-ec-nr-font-weight, bold);
82
+ color: var(--pd-ec-bg-col, var(--pd-default-col));
83
+ }
84
+
85
+ .label {
86
+ display: inline-block;
87
+ font-weight: bold;
88
+ width: 200px;
89
+ padding-top: 10px;
90
+ }
91
+
92
+ a {
93
+ cursor: pointer;
94
+ font-family: var(--pd-default-font-link-family);
95
+ font-size: var(--pd-default-font-link-size);
96
+ color: var(--pd-default-font-link-col);
97
+ --edit-fill-color: var(--pd-default-font-link-col);
98
+ }
99
+
100
+ a:hover {
101
+ color: var(--pd-default-font-link-col-hover);
102
+ --edit-fill-color: var(--pd-default-font-link-col-hover);
103
+ }
104
+
105
+ .edit {
106
+ width: 1.1em;
107
+ }
108
+
109
+ /*
110
+ could used as class for given svg icons, workaround class
111
+ hard coded for specific icon => maybe use custom properties here, but not for that hack...
112
+ */
113
+ .own-edit-icon {
114
+ width: 2em;
115
+ margin-top: -10px;
116
+ }
117
+
118
+ .link-row {
119
+ padding: 5px 0;
120
+ display: flex;
121
+ flex-wrap: wrap;
122
+ gap: 15px;
123
+ }
124
+
125
+ .link-item {
126
+ display: flex;
127
+ gap: 2px;
128
+ white-space: nowrap;
129
+ align-items: center;
130
+ pointer-events: none;
131
+ }
132
+
133
+ .param-data {
134
+ padding-bottom: 10px;
135
+ }
136
+
137
+ @media (max-width: 360px) {
138
+ .label {
139
+ width: 130px;
140
+ }
141
+ }
142
+ `
143
+ ];
144
+ }
145
+ render() {
146
+ return html`
147
+ <div class="header">
148
+ ${this.stepNumber ? html`
149
+ <div class="circle">
150
+ <span class="step-number">${this.stepNumber}</span>
151
+ </div>
152
+ ` : null}
153
+ <h4>${this.contentTitle}</h4>
154
+ </div>
155
+ <div>
156
+ ${this.data?.length ? html`
157
+ <div class="param-data">
158
+ ${this.data.map(
159
+ (entry) => html`<div>
160
+ <span class="label">${entry.name}</span>
161
+ <span class="value">${entry.val}</span>
162
+ </div>`
163
+ )}
164
+ </div>
165
+ ` : null}
166
+ <slot></slot>
167
+ <div class="link-row">
168
+ ${!this.editDisabled ? html`
169
+ <a @click="${this._editContent}">
170
+ <div class="link-item">
171
+ ${editIcon} Bewerk ${this.contentTitle}
172
+ </div>
173
+ </a>
174
+ ` : null}
175
+ ${this.editLinks.map(
176
+ (link) => html`
177
+ <a data-link="${link.key}" @click="${this._editContent}">
178
+ <div class="link-item">
179
+ ${_PdEditContent._getLinkLogo(link)} ${link.txt}
180
+ </div>
181
+ </a>
182
+ `
183
+ )}
184
+ </div>
185
+ </div>
186
+ `;
187
+ }
188
+ static _getLinkLogo(link) {
189
+ if (link.icon) return link.icon;
190
+ if (link.defaultIcon) return editIcon;
191
+ return "";
192
+ }
193
+ _editContent(e) {
194
+ const link = e.currentTarget?.dataset?.link;
195
+ this.dispatchEvent(
196
+ new CustomEvent("edit-content", {
197
+ detail: { step: this.stepNumber, link },
198
+ bubbles: true,
199
+ composed: true
200
+ })
201
+ );
202
+ }
203
+ };
204
+ __decorateClass([
205
+ property({ type: Number })
206
+ ], _PdEditContent.prototype, "stepNumber");
207
+ __decorateClass([
208
+ property({ type: String })
209
+ ], _PdEditContent.prototype, "contentTitle");
210
+ __decorateClass([
211
+ property({ type: Array })
212
+ ], _PdEditContent.prototype, "data");
213
+ __decorateClass([
214
+ property({ type: Array })
215
+ ], _PdEditContent.prototype, "editLinks");
216
+ __decorateClass([
217
+ property({ type: Boolean })
218
+ ], _PdEditContent.prototype, "editDisabled");
219
+ let PdEditContent = _PdEditContent;
220
+
221
+ export { PdEditContent };
@@ -0,0 +1,3 @@
1
+ import { PdEditContent } from './PdEditContent.js';
2
+ export { PdEditContent };
3
+ //# sourceMappingURL=pd-edit-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-edit-content.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/pd-edit-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -6,6 +6,6 @@ export declare const WithEditLinks: StoryFn<any>;
6
6
  export declare const EditDisabled: StoryFn<any>;
7
7
  export declare const WithoutStepNumber: StoryFn<any>;
8
8
  export declare const CustomSlotContent: StoryFn<any>;
9
- export declare const EditContent: () => import('lit-html').TemplateResult<1>;
10
- export declare const NumberEditContent: () => import('lit-html').TemplateResult<1>;
9
+ export declare const EditContent: () => import('lit').TemplateResult<1>;
10
+ export declare const NumberEditContent: () => import('lit').TemplateResult<1>;
11
11
  //# sourceMappingURL=pd-edit-content.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-edit-content.stories.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/pd-edit-content.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,sBAAsB,CAAC;wBASzB,IAAI;AAPT,wBAOU;AA+FV,eAAO,MAAM,OAAO,cAAoB,CAAC;AASzC,eAAO,MAAM,aAAa,cAAoB,CAAC;AAS/C,eAAO,MAAM,YAAY,cAAoB,CAAC;AAS9C,eAAO,MAAM,iBAAiB,cAAoB,CAAC;AAQnD,eAAO,MAAM,iBAAiB,cAAoB,CAAC;AAenD,eAAO,MAAM,WAAW,uCAsDvB,CAAC;AAGF,eAAO,MAAM,iBAAiB,uCA0B7B,CAAC"}
@@ -1,29 +1,2 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- import { PdEditContentDataEntry, PdEditLink } from './types';
3
- export declare class PdEditContent extends LitElement {
4
- /**
5
- * Aktuelle Schritt-Nummer (z.B. im Wizard)
6
- */
7
- stepNumber?: number;
8
- /**
9
- * Titel des Abschnitts
10
- */
11
- contentTitle: string;
12
- /**
13
- * Datenobjekte mit Label + Wert
14
- */
15
- data: Array<PdEditContentDataEntry>;
16
- /**
17
- * Liste an editierbaren Links mit Icons
18
- */
19
- editLinks: PdEditLink[];
20
- /**
21
- * Bearbeitung generell deaktivieren
22
- */
23
- editDisabled: boolean;
24
- static styles: CSSResultGroup;
25
- render(): import('lit-html').TemplateResult<1>;
26
- private static _getLinkLogo;
27
- private _editContent;
28
- }
29
- //# sourceMappingURL=pd-edit-content.d.ts.map
1
+ export * from './pd-edit-content/pd-edit-content'
2
+ export {}