@progressive-development/pd-dialog 0.5.8 → 0.6.0

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 (36) hide show
  1. package/dist/generated/locale-codes.d.ts +14 -0
  2. package/dist/generated/locale-codes.d.ts.map +1 -0
  3. package/dist/generated/locales/be.d.ts +5 -0
  4. package/dist/generated/locales/be.d.ts.map +1 -0
  5. package/dist/generated/locales/de.d.ts +5 -0
  6. package/dist/generated/locales/de.d.ts.map +1 -0
  7. package/dist/generated/locales/en.d.ts +5 -0
  8. package/dist/generated/locales/en.d.ts.map +1 -0
  9. package/dist/index.d.ts +8 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +3 -6
  12. package/dist/locales/be.d.ts +2 -0
  13. package/dist/locales/de.d.ts +2 -0
  14. package/dist/locales/en.d.ts +2 -0
  15. package/dist/pd-popup-dialog.d.ts +30 -0
  16. package/dist/pd-popup-dialog.d.ts.map +1 -0
  17. package/dist/pd-popup-dialog.js +210 -4
  18. package/dist/pd-popup.d.ts +25 -0
  19. package/dist/pd-popup.d.ts.map +1 -0
  20. package/dist/pd-popup.js +117 -4
  21. package/dist/pd-submit-dialog.d.ts +30 -0
  22. package/dist/pd-submit-dialog.d.ts.map +1 -0
  23. package/dist/pd-submit-dialog.js +202 -4
  24. package/dist/stories/pd-popup-dialog.stories.d.ts +20 -0
  25. package/dist/stories/pd-popup-dialog.stories.d.ts.map +1 -0
  26. package/dist/stories/pd-popup.stories.d.ts +24 -0
  27. package/dist/stories/pd-popup.stories.d.ts.map +1 -0
  28. package/dist/stories/pd-submit-dialog.stories.d.ts +33 -0
  29. package/dist/stories/pd-submit-dialog.stories.d.ts.map +1 -0
  30. package/dist/types.d.ts +29 -0
  31. package/dist/types.d.ts.map +1 -0
  32. package/dist/types.js +9 -0
  33. package/package.json +81 -95
  34. package/dist/src/PdPopup.js +0 -112
  35. package/dist/src/PdPopupDialog.js +0 -188
  36. package/dist/src/PdSubmitDialog.js +0 -185
@@ -1,188 +0,0 @@
1
- import { LitElement, css, html } from "lit";
2
- import "@progressive-development/pd-forms/pd-button";
3
- import { PDColorStyles, PDFontStyles } from "@progressive-development/pd-shared-styles";
4
- /**
5
- * @license
6
- * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
7
- */
8
- class PdPopupDialog extends LitElement {
9
- /**
10
- * @event submit-button-clicked - fired if one of the configured buttons was clicked.
11
- */
12
- static get styles() {
13
- return [
14
- PDColorStyles,
15
- PDFontStyles,
16
- css`
17
- :host {
18
- display: block;
19
- }
20
-
21
- /* The Modal (background) */
22
- .modal {
23
- position: fixed; /* Stay in place */
24
- z-index: 100; /* Sit on top */
25
- left: 0;
26
- top: 0;
27
- width: 100%; /* Full width */
28
- height: 100%; /* Full height */
29
- overflow: auto; /* Enable scroll if needed */
30
- /* RGBA Wert muss hier verwendet werden #AFC1D2 to rgba for opacity */
31
- background-color: var(--pd-popup-modal-bg-rgba, rgba(175, 193, 210, 0.8));
32
-
33
- display: block;
34
- padding-top: 150px; /* Location of the box */
35
- padding-left: 10px;
36
- padding-right: 10px;
37
- }
38
-
39
- .modal-content {
40
- margin: auto;
41
- border: 1px solid var(--pd-default-light-col);
42
- box-shadow: -4px 4px 10px var(--pd-default-dark-col);
43
- max-width: var(--pd-popup-max-width, 700px);
44
- }
45
-
46
- .header {
47
- display: flex;
48
- gap: 0.5em;
49
- align-items: center;
50
- background-color: var(--pd-popup-header-col, var(--pd-default-col));
51
- height: var(--pd-popup-header-height, 45px);
52
- padding-left: 0.5em;
53
- }
54
-
55
- .header-txt {
56
- font-family: var(--pd-default-font-title-family);
57
- font-size: var(--pd-popup-header-font-size, 1.3em);
58
- color: var(--pd-popup-header-font-col, var(--pd-default-bg-col));
59
- }
60
-
61
- .info-logo {
62
- width: 2em;
63
- }
64
-
65
- .error {
66
- --pd-icon-col: #FF3232;
67
- --pd-icon-stroke-width: 0;
68
- }
69
-
70
- .info, .help {
71
- --pd-icon-col: #6B86FF;
72
- --pd-icon-stroke-width: 0;
73
- }
74
-
75
- .warn {
76
- --pd-icon-col: #FFBF00;
77
- --pd-icon-stroke-width: 0;
78
- }
79
-
80
- .content {
81
- padding: 0.5rem 1rem 1rem 1rem;
82
- background-color: var(--pd-popup-header-font-col, var(--pd-default-bg-col));
83
- height: 100%;
84
- }
85
-
86
- .footer {
87
- display: flex;
88
-
89
- background: linear-gradient(to right,
90
- var(--pd-popup-footer-col, var(--pd-default-light-col)) 0%, var(--pd-default-disabled-light-col) 100%);
91
-
92
- height: 70px;
93
- align-items: center;
94
- justify-content: space-around;
95
- }
96
- `
97
- ];
98
- }
99
- static get properties() {
100
- return {
101
- type: { type: String },
102
- title: { type: String },
103
- buttons: { type: Array }
104
- };
105
- }
106
- constructor() {
107
- super();
108
- this.type = "info";
109
- this.title = "Popup Title";
110
- this.buttons = [];
111
- }
112
- render() {
113
- return html`
114
- <!-- The Modal -->
115
- <div id="modalId" class="modal">
116
- <!-- Modal content -->
117
- <div class="modal-content">
118
- <div class="header">
119
- ${this._getIconForType()}
120
- <span class="header-txt">${this.title}</span>
121
- </div>
122
- <div class="content">
123
- <slot name="content"></slot>
124
- </div>
125
- <div class="footer">
126
- ${this.buttons.map(
127
- (bt) => html`
128
- <pd-button
129
- data-key="${bt.key}"
130
- @button-clicked="${this._handleButtonEvent}"
131
- ?disabled="${bt.disabled}"
132
- ?primary="${bt.primary}"
133
- text="${bt.name}"
134
- ></pd-button>
135
- `
136
- )}
137
- </div>
138
- </div>
139
- </div>
140
- `;
141
- }
142
- _handleButtonEvent(e) {
143
- this.dispatchEvent(
144
- new CustomEvent("submit-button-clicked", {
145
- detail: {
146
- button: e.target.dataset.key
147
- }
148
- })
149
- );
150
- }
151
- _getIconForType() {
152
- if (!this.type || this.type === "") {
153
- return "";
154
- }
155
- switch (this.type) {
156
- case "warn":
157
- return html`<pd-icon icon="warningIconFld" class="info-logo warn"></pd-icon>`;
158
- case "error":
159
- return html`<pd-icon icon="errorIconFld" class="info-logo error"></pd-icon>`;
160
- case "help":
161
- return html`<pd-icon icon="helpIconFld" class="info-logo help"></pd-icon>`;
162
- default:
163
- return html`<pd-icon icon="infoIconFld" class="info-logo info"></pd-icon>`;
164
- }
165
- }
166
- showPopup() {
167
- this._activatePopup();
168
- }
169
- _activatePopup() {
170
- const modal = this.shadowRoot.getElementById("modalId");
171
- modal.style.display = "block";
172
- }
173
- _closePopup() {
174
- const modal = this.shadowRoot.getElementById("modalId");
175
- modal.style.display = "none";
176
- }
177
- /*
178
- // When the user clicks anywhere outside of the modal, close it
179
- window.onclick = function(event) {
180
- if (event.target == modal) {
181
- modal.style.display = "none";
182
- }
183
- }
184
- */
185
- }
186
- export {
187
- PdPopupDialog
188
- };
@@ -1,185 +0,0 @@
1
- import { LitElement, css, html } from "lit";
2
- import { msg } from "@lit/localize";
3
- import "@progressive-development/pd-icon/pd-icon";
4
- import { PDColorStyles } from "@progressive-development/pd-shared-styles";
5
- import "../pd-popup-dialog.js";
6
- /**
7
- * @license
8
- * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
9
- */
10
- const STATUS_SEND = 1;
11
- const STATUS_SEND_SUCCESS = 2;
12
- const STATUS_SEND_FAILED = 3;
13
- class PdSubmitDialog extends LitElement {
14
- /**
15
- * @event button-clicked - navigate to start page or close popup (failure case).
16
- */
17
- static get styles() {
18
- return [
19
- PDColorStyles,
20
- css`
21
- :host {
22
- display: block;
23
- }
24
-
25
- .progress-container {
26
- padding: 20px;
27
- }
28
-
29
- .progress-row {
30
- display: flex;
31
- justify-content: start;
32
- align-items: center;
33
- }
34
-
35
- .first-row-tmp {
36
- width: 80px;
37
- height: 40px;
38
- }
39
-
40
- .loader {
41
- border: 16px solid var(--pd-default-disabled-light-col);
42
- border-top: 16px solid var(--pd-default-col); /* Blue */
43
- border-radius: 50%;
44
- width: 10px;
45
- height: 10px;
46
- animation: spin 2s linear infinite;
47
- }
48
-
49
- .success-icon {
50
- padding-top: 5px;
51
- --pd-icon-col-active: var(--pd-default-success-light-col);
52
- --pd-icon-stroke-col-active: var(--pd-default-success-col);
53
- }
54
-
55
- .error-icon {
56
- padding-top: 5px;
57
- --pd-icon-col: var(--pd-default-error-light-col);
58
- --pd-icon-stroke-col: var(--pd-default-error-col);
59
- }
60
-
61
- .progress-txt {
62
- font-size: 1em;
63
- color: var(--pd-default-dark-col);
64
- }
65
-
66
- @keyframes spin {
67
- 0% {
68
- transform: rotate(0deg);
69
- }
70
- 100% {
71
- transform: rotate(360deg);
72
- }
73
- }
74
- `
75
- ];
76
- }
77
- static get properties() {
78
- return {
79
- title: { type: String },
80
- type: { type: String },
81
- // mail, editDate, order (default)
82
- status: { type: Number },
83
- statusMsg: { type: String },
84
- confirmMail: { type: String },
85
- progressTxtMap: { type: Object },
86
- _buttons: { type: Array }
87
- };
88
- }
89
- constructor() {
90
- super();
91
- this.title = "Order Submit Title";
92
- this.type = "order";
93
- this.status = 0;
94
- this.statusMsg = "";
95
- this.confirmMail = "";
96
- this._buttons = [];
97
- }
98
- updated(changedProps) {
99
- if (changedProps.has("status")) {
100
- if (this.status === STATUS_SEND_SUCCESS) {
101
- this._buttons = [
102
- { name: "Close", key: 2 }
103
- ];
104
- } else if (this.status === STATUS_SEND_FAILED) {
105
- this._buttons = [];
106
- if (this.type === "mail") {
107
- this._buttons = [{ name: "Close" }];
108
- } else {
109
- this._buttons = [
110
- { name: msg("Daten bearbeiten", { id: "pd.submit.dialog.closeStay" }), key: 2 },
111
- { name: msg("Zur Startseite", { id: "pd.submit.dialog.startPage" }) }
112
- ];
113
- }
114
- } else {
115
- this._buttons = [];
116
- }
117
- }
118
- }
119
- render() {
120
- return html`
121
- <pd-popup-dialog
122
- class="popup-dialog"
123
- title="${this.title}"
124
- .buttons="${this._buttons}"
125
- @submit-button-clicked="${this._goToStartpage}"
126
- >
127
- <div slot="content">
128
- <slot name="submit-content"></slot>
129
- <div class="progress-container">
130
- <div class="progress-row">${this._renderProgressRow()}</div>
131
- </div>
132
- <p>${this.statusMsg}</p>
133
- </div>
134
- </pd-popup-dialog>
135
- `;
136
- }
137
- _renderProgressRow() {
138
- let value;
139
- switch (this.status) {
140
- case STATUS_SEND:
141
- value = html`
142
- <div class="first-row-tmp">
143
- <div class="loader"></div>
144
- </div>
145
- <span class="progress-txt">${this.progressTxtMap.get(STATUS_SEND)}</span>`;
146
- break;
147
- case STATUS_SEND_SUCCESS:
148
- value = html`
149
- <div class="first-row-tmp">
150
- <pd-icon
151
- class="success-icon"
152
- icon="checkBox"
153
- activeIcon
154
- ></pd-icon>
155
- </div>
156
- <span class="progress-txt">${this.progressTxtMap.get(STATUS_SEND_SUCCESS)}</span>`;
157
- break;
158
- case STATUS_SEND_FAILED:
159
- value = html` <div class="first-row-tmp">
160
- <pd-icon class="error-icon" icon="checkBox"></pd-icon>
161
- </div>
162
- <span class="progress-txt">${this.progressTxtMap.get(STATUS_SEND_FAILED)}</span>`;
163
- break;
164
- default:
165
- console.warn("Unexpected value");
166
- }
167
- return value;
168
- }
169
- _goToStartpage() {
170
- this.dispatchEvent(
171
- new CustomEvent("submit-button-clicked", {
172
- detail: {
173
- // TODO: Get index from event
174
- button: this._buttons[0].key
175
- }
176
- })
177
- );
178
- }
179
- }
180
- export {
181
- PdSubmitDialog,
182
- STATUS_SEND,
183
- STATUS_SEND_FAILED,
184
- STATUS_SEND_SUCCESS
185
- };