@progressive-development/pd-forms 0.8.7 → 0.9.2

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 (195) hide show
  1. package/dist/{pd-base-input-element.d.ts → base/pd-base-input-element.d.ts} +2 -3
  2. package/dist/base/pd-base-input-element.d.ts.map +1 -0
  3. package/dist/{pd-base-input-element.js → base/pd-base-input-element.js} +20 -23
  4. package/dist/{pd-base-ui-input.d.ts → base/pd-base-ui-input.d.ts} +3 -3
  5. package/dist/base/pd-base-ui-input.d.ts.map +1 -0
  6. package/dist/{pd-base-ui-input.js → base/pd-base-ui-input.js} +35 -42
  7. package/dist/base/pd-base-ui.d.ts.map +1 -0
  8. package/dist/{pd-base-ui.js → base/pd-base-ui.js} +9 -9
  9. package/dist/index.d.ts +11 -10
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +27 -32
  12. package/dist/locales/be.js +4 -4
  13. package/dist/locales/de.js +4 -4
  14. package/dist/locales/en.js +4 -4
  15. package/dist/pd-button/PdButton.d.ts +57 -0
  16. package/dist/pd-button/PdButton.d.ts.map +1 -0
  17. package/dist/pd-button/PdButton.js +152 -0
  18. package/dist/pd-button/pd-button.d.ts +3 -0
  19. package/dist/pd-button/pd-button.d.ts.map +1 -0
  20. package/dist/pd-button/pd-button.spec.d.ts +2 -0
  21. package/dist/pd-button/pd-button.spec.d.ts.map +1 -0
  22. package/dist/pd-button/pd-button.stories.d.ts +12 -0
  23. package/dist/pd-button/pd-button.stories.d.ts.map +1 -0
  24. package/dist/pd-button-group/PdButtonGroup.d.ts +14 -0
  25. package/dist/pd-button-group/PdButtonGroup.d.ts.map +1 -0
  26. package/dist/pd-button-group/PdButtonGroup.js +115 -0
  27. package/dist/pd-button-group/pd-button-group.d.ts +3 -0
  28. package/dist/pd-button-group/pd-button-group.d.ts.map +1 -0
  29. package/dist/pd-button-group/pd-button-group.stories.d.ts.map +1 -0
  30. package/dist/pd-button-group.d.ts +2 -14
  31. package/dist/pd-button-group.js +6 -116
  32. package/dist/{pd-icon-button-select-group.d.ts → pd-button-select-group/PdButtonSelectGroup.d.ts} +8 -5
  33. package/dist/pd-button-select-group/PdButtonSelectGroup.d.ts.map +1 -0
  34. package/dist/{pd-icon-button-select-group.js → pd-button-select-group/PdButtonSelectGroup.js} +38 -40
  35. package/dist/pd-button-select-group/pd-button-select-group.d.ts +3 -0
  36. package/dist/pd-button-select-group/pd-button-select-group.d.ts.map +1 -0
  37. package/dist/{stories/pd-icon-button-select-group.stories.d.ts → pd-button-select-group/pd-button-select-group.stories.d.ts} +2 -2
  38. package/dist/pd-button-select-group/pd-button-select-group.stories.d.ts.map +1 -0
  39. package/dist/pd-button-select-group.d.ts +2 -0
  40. package/dist/pd-button-select-group.js +8 -0
  41. package/dist/pd-button.d.ts +2 -16
  42. package/dist/pd-button.js +6 -152
  43. package/dist/pd-checkbox/PdCheckbox.d.ts +18 -0
  44. package/dist/pd-checkbox/PdCheckbox.d.ts.map +1 -0
  45. package/dist/pd-checkbox/PdCheckbox.js +279 -0
  46. package/dist/pd-checkbox/pd-checkbox.d.ts +3 -0
  47. package/dist/pd-checkbox/pd-checkbox.d.ts.map +1 -0
  48. package/dist/{stories/checkbox.stories.d.ts → pd-checkbox/pd-checkbox.stories.d.ts} +1 -1
  49. package/dist/pd-checkbox/pd-checkbox.stories.d.ts.map +1 -0
  50. package/dist/pd-checkbox.d.ts +2 -15
  51. package/dist/pd-checkbox.js +6 -279
  52. package/dist/pd-form-container/PdFormContainer.d.ts +42 -0
  53. package/dist/pd-form-container/PdFormContainer.d.ts.map +1 -0
  54. package/dist/pd-form-container/PdFormContainer.js +269 -0
  55. package/dist/pd-form-container/form-container.stories.d.ts.map +1 -0
  56. package/dist/pd-form-container/form-container2.stories.d.ts.map +1 -0
  57. package/dist/pd-form-container/form-container3.stories.d.ts.map +1 -0
  58. package/dist/pd-form-container/pd-form-container.d.ts +3 -0
  59. package/dist/pd-form-container/pd-form-container.d.ts.map +1 -0
  60. package/dist/pd-form-container.d.ts +2 -39
  61. package/dist/pd-form-container.js +6 -271
  62. package/dist/pd-form-row/PdFormRow.d.ts +15 -0
  63. package/dist/pd-form-row/PdFormRow.d.ts.map +1 -0
  64. package/dist/pd-form-row/PdFormRow.js +110 -0
  65. package/dist/pd-form-row/pd-form-row.d.ts +3 -0
  66. package/dist/pd-form-row/pd-form-row.d.ts.map +1 -0
  67. package/dist/{stories/form-row.stories.d.ts → pd-form-row/pd-form-row.stories.d.ts} +1 -1
  68. package/dist/pd-form-row/pd-form-row.stories.d.ts.map +1 -0
  69. package/dist/pd-form-row.d.ts +2 -12
  70. package/dist/pd-form-row.js +6 -114
  71. package/dist/pd-hover-box/PdHoverBox.d.ts +31 -0
  72. package/dist/pd-hover-box/PdHoverBox.d.ts.map +1 -0
  73. package/dist/pd-hover-box/PdHoverBox.js +119 -0
  74. package/dist/pd-hover-box/pd-hover-box.d.ts +3 -0
  75. package/dist/pd-hover-box/pd-hover-box.d.ts.map +1 -0
  76. package/dist/pd-hover-box/pd-hover-box.stories.d.ts.map +1 -0
  77. package/dist/pd-hover-box.d.ts +2 -23
  78. package/dist/pd-hover-box.js +6 -120
  79. package/dist/pd-input/PdInput.d.ts +35 -0
  80. package/dist/pd-input/PdInput.d.ts.map +1 -0
  81. package/dist/pd-input/PdInput.js +123 -0
  82. package/dist/pd-input/pd-input.d.ts +3 -0
  83. package/dist/pd-input/pd-input.d.ts.map +1 -0
  84. package/dist/{stories/input.stories.d.ts → pd-input/pd-input.stories.d.ts} +1 -1
  85. package/dist/pd-input/pd-input.stories.d.ts.map +1 -0
  86. package/dist/pd-input-area/PdInputArea.d.ts +23 -0
  87. package/dist/pd-input-area/PdInputArea.d.ts.map +1 -0
  88. package/dist/pd-input-area/PdInputArea.js +99 -0
  89. package/dist/pd-input-area/pd-input-area.d.ts +3 -0
  90. package/dist/pd-input-area/pd-input-area.d.ts.map +1 -0
  91. package/dist/{stories/input-area.stories.d.ts → pd-input-area/pd-input-area.stories.d.ts} +1 -1
  92. package/dist/pd-input-area/pd-input-area.stories.d.ts.map +1 -0
  93. package/dist/pd-input-area.d.ts +2 -20
  94. package/dist/pd-input-area.js +8 -101
  95. package/dist/pd-input-file/PdInputFile.d.ts +19 -0
  96. package/dist/pd-input-file/PdInputFile.d.ts.map +1 -0
  97. package/dist/pd-input-file/PdInputFile.js +93 -0
  98. package/dist/pd-input-file/pd-input-file.d.ts +3 -0
  99. package/dist/pd-input-file/pd-input-file.d.ts.map +1 -0
  100. package/dist/{stories/input-file.stories.d.ts → pd-input-file/pd-input-file.stories.d.ts} +1 -1
  101. package/dist/pd-input-file/pd-input-file.stories.d.ts.map +1 -0
  102. package/dist/pd-input-file.d.ts +2 -16
  103. package/dist/pd-input-file.js +8 -96
  104. package/dist/pd-input-time/PdInputTime.d.ts +14 -0
  105. package/dist/pd-input-time/PdInputTime.d.ts.map +1 -0
  106. package/dist/pd-input-time/PdInputTime.js +77 -0
  107. package/dist/pd-input-time/pd-input-time.d.ts +3 -0
  108. package/dist/pd-input-time/pd-input-time.d.ts.map +1 -0
  109. package/dist/pd-input-time.d.ts +2 -11
  110. package/dist/pd-input-time.js +8 -81
  111. package/dist/pd-input.d.ts +2 -32
  112. package/dist/pd-input.js +8 -126
  113. package/dist/pd-panel-button/PdPanelButton.d.ts +49 -0
  114. package/dist/pd-panel-button/PdPanelButton.d.ts.map +1 -0
  115. package/dist/{pd-icon-panel-button.js → pd-panel-button/PdPanelButton.js} +107 -112
  116. package/dist/pd-panel-button/pd-panel-button.d.ts +3 -0
  117. package/dist/pd-panel-button/pd-panel-button.d.ts.map +1 -0
  118. package/dist/{stories/pd-icon-button.stories.d.ts → pd-panel-button/pd-panel-button.stories.d.ts} +3 -13
  119. package/dist/{stories/pd-icon-button.stories.d.ts.map → pd-panel-button/pd-panel-button.stories.d.ts.map} +1 -1
  120. package/dist/pd-panel-button.d.ts +2 -0
  121. package/dist/pd-panel-button.js +8 -0
  122. package/dist/pd-radio-group/PdRadioGroup.d.ts +16 -0
  123. package/dist/pd-radio-group/PdRadioGroup.d.ts.map +1 -0
  124. package/dist/pd-radio-group/PdRadioGroup.js +114 -0
  125. package/dist/pd-radio-group/pd-radio-group.d.ts +3 -0
  126. package/dist/pd-radio-group/pd-radio-group.d.ts.map +1 -0
  127. package/dist/{stories/radio-group.stories.d.ts → pd-radio-group/pd-radio-group.stories.d.ts} +1 -1
  128. package/dist/pd-radio-group/pd-radio-group.stories.d.ts.map +1 -0
  129. package/dist/pd-radio-group.d.ts +2 -13
  130. package/dist/pd-radio-group.js +7 -113
  131. package/dist/pd-range/PdRange.d.ts +25 -0
  132. package/dist/pd-range/PdRange.d.ts.map +1 -0
  133. package/dist/pd-range/PdRange.js +280 -0
  134. package/dist/pd-range/pd-range.d.ts +3 -0
  135. package/dist/pd-range/pd-range.d.ts.map +1 -0
  136. package/dist/{stories/range.stories.d.ts → pd-range/pd-range.stories.d.ts} +1 -1
  137. package/dist/pd-range/pd-range.stories.d.ts.map +1 -0
  138. package/dist/pd-range.d.ts +2 -22
  139. package/dist/pd-range.js +6 -285
  140. package/dist/pd-select/PdSelect.d.ts +21 -0
  141. package/dist/pd-select/PdSelect.d.ts.map +1 -0
  142. package/dist/pd-select/PdSelect.js +142 -0
  143. package/dist/pd-select/pd-select.d.ts +3 -0
  144. package/dist/pd-select/pd-select.d.ts.map +1 -0
  145. package/dist/{stories/select.stories.d.ts → pd-select/pd-select.stories.d.ts} +1 -1
  146. package/dist/pd-select/pd-select.stories.d.ts.map +1 -0
  147. package/dist/pd-select.d.ts +2 -18
  148. package/dist/pd-select.js +6 -144
  149. package/dist/stories/01_index.stories.d.ts.map +1 -1
  150. package/dist/styles/shared-input-field-styles.js +4 -4
  151. package/dist/styles/shared-input-styles.js +4 -4
  152. package/dist/types.js +2 -3
  153. package/dist/validators.js +5 -12
  154. package/package.json +22 -42
  155. package/dist/pd-base-input-element.d.ts.map +0 -1
  156. package/dist/pd-base-ui-input.d.ts.map +0 -1
  157. package/dist/pd-base-ui.d.ts.map +0 -1
  158. package/dist/pd-button-group.d.ts.map +0 -1
  159. package/dist/pd-button.d.ts.map +0 -1
  160. package/dist/pd-checkbox.d.ts.map +0 -1
  161. package/dist/pd-form-container.d.ts.map +0 -1
  162. package/dist/pd-form-row.d.ts.map +0 -1
  163. package/dist/pd-hover-box.d.ts.map +0 -1
  164. package/dist/pd-icon-button-select-group.d.ts.map +0 -1
  165. package/dist/pd-icon-panel-button.d.ts +0 -24
  166. package/dist/pd-icon-panel-button.d.ts.map +0 -1
  167. package/dist/pd-input-area.d.ts.map +0 -1
  168. package/dist/pd-input-file.d.ts.map +0 -1
  169. package/dist/pd-input-time.d.ts.map +0 -1
  170. package/dist/pd-input.d.ts.map +0 -1
  171. package/dist/pd-radio-group.d.ts.map +0 -1
  172. package/dist/pd-range.d.ts.map +0 -1
  173. package/dist/pd-select.d.ts.map +0 -1
  174. package/dist/stories/button.stories.d.ts +0 -22
  175. package/dist/stories/button.stories.d.ts.map +0 -1
  176. package/dist/stories/checkbox.stories.d.ts.map +0 -1
  177. package/dist/stories/form-container.stories.d.ts.map +0 -1
  178. package/dist/stories/form-container2.stories.d.ts.map +0 -1
  179. package/dist/stories/form-container3.stories.d.ts.map +0 -1
  180. package/dist/stories/form-row.stories.d.ts.map +0 -1
  181. package/dist/stories/input-area.stories.d.ts.map +0 -1
  182. package/dist/stories/input-file.stories.d.ts.map +0 -1
  183. package/dist/stories/input.stories.d.ts.map +0 -1
  184. package/dist/stories/pd-button-group.stories.d.ts.map +0 -1
  185. package/dist/stories/pd-hover-box.stories.d.ts.map +0 -1
  186. package/dist/stories/pd-icon-button-select-group.stories.d.ts.map +0 -1
  187. package/dist/stories/radio-group.stories.d.ts.map +0 -1
  188. package/dist/stories/range.stories.d.ts.map +0 -1
  189. package/dist/stories/select.stories.d.ts.map +0 -1
  190. /package/dist/{pd-base-ui.d.ts → base/pd-base-ui.d.ts} +0 -0
  191. /package/dist/{stories → pd-button-group}/pd-button-group.stories.d.ts +0 -0
  192. /package/dist/{stories → pd-form-container}/form-container.stories.d.ts +0 -0
  193. /package/dist/{stories → pd-form-container}/form-container2.stories.d.ts +0 -0
  194. /package/dist/{stories → pd-form-container}/form-container3.stories.d.ts +0 -0
  195. /package/dist/{stories → pd-hover-box}/pd-hover-box.stories.d.ts +0 -0
package/dist/pd-input.js CHANGED
@@ -1,126 +1,8 @@
1
- import { css, html } from "lit";
2
- import { msg, str } from "@lit/localize";
3
- import { property, customElement } from "lit/decorators.js";
4
- import { classMap } from "lit/directives/class-map.js";
5
- import "@progressive-development/pd-icon/pd-icon";
6
- import { INPUT_TYPE_TEXT } from "./pd-base-ui-input.js";
7
- import { PdBaseInputElement } from "./pd-base-input-element.js";
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
- var __decorateClass = (decorators, target, key, kind) => {
11
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
12
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
13
- if (decorator = decorators[i])
14
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
15
- if (kind && result) __defProp(target, key, result);
16
- return result;
17
- };
18
- const onlyContainsNumbers = (str2) => /^\d+$/.test(str2);
19
- let PdInput = class extends PdBaseInputElement {
20
- constructor() {
21
- super();
22
- this.icon = "";
23
- this.secret = false;
24
- this.maxlength = 500;
25
- this.onlyNumbers = false;
26
- this._inputType = INPUT_TYPE_TEXT;
27
- }
28
- connectedCallback() {
29
- this._setupValidators();
30
- super.connectedCallback();
31
- }
32
- _setupValidators() {
33
- const validators = [];
34
- if (this.minlength !== void 0) {
35
- validators.push(
36
- (value) => value.length < this.minlength ? msg(str`Mindestens ${this.minlength} Zeichen`) : null
37
- );
38
- }
39
- if (this.maxlength !== void 0) {
40
- validators.push(
41
- (value) => value.length > this.maxlength ? msg(str`Maximal ${this.maxlength} Zeichen`) : null
42
- );
43
- }
44
- this._validators = validators;
45
- }
46
- render() {
47
- const inputId = `${this.id}Input`;
48
- return html`
49
- ${this._renderLabel(inputId)}
50
- <div
51
- class="${classMap(
52
- this.getClassmap({
53
- input: true
54
- })
55
- )}"
56
- >
57
- ${this.icon ? html`
58
- <pd-icon
59
- icon=${this.icon}
60
- activeIcon
61
- @click=${this._iconClicked}
62
- class="infield-icon"
63
- ></pd-icon>
64
- ` : ""}
65
- <input
66
- id=${inputId}
67
- name=${this.name || this.valueName || this.autoCompleteName}
68
- autocomplete=${this.autoCompleteName ?? "off"}
69
- class="input-style ${this.gradient ? "gradient" : ""}"
70
- type=${this.secret ? "password" : "text"}
71
- placeholder=${this.placeHolder}
72
- .value=${this._value}
73
- minlength=${this.minlength ?? ""}
74
- maxlength=${this.maxlength ?? ""}
75
- ?readonly=${this.readonly}
76
- ?disabled=${this.disabled}
77
- @keyup=${this._onKeyUp}
78
- @blur=${this._onBlur}
79
- @focus=${this._onFocus}
80
- />
81
- </div>
82
- ${this._renderErrorMsg()}
83
- `;
84
- }
85
- _onKeyUp(e) {
86
- var _a;
87
- if (this.onlyNumbers && ((_a = this._input) == null ? void 0 : _a.value) && !onlyContainsNumbers(this._input.value)) {
88
- this._input.value = this._input.value.replace(/\D/g, "");
89
- }
90
- super._onKeyUp(e);
91
- }
92
- _iconClicked() {
93
- this.dispatchEvent(
94
- new CustomEvent("input-icon-click", { bubbles: true, composed: true })
95
- );
96
- }
97
- };
98
- PdInput.styles = [
99
- PdBaseInputElement.styles,
100
- css`
101
- * {
102
- box-sizing: border-box;
103
- }
104
- `
105
- ];
106
- __decorateClass([
107
- property({ type: String })
108
- ], PdInput.prototype, "icon", 2);
109
- __decorateClass([
110
- property({ type: Boolean })
111
- ], PdInput.prototype, "secret", 2);
112
- __decorateClass([
113
- property({ type: Number })
114
- ], PdInput.prototype, "minlength", 2);
115
- __decorateClass([
116
- property({ type: Number })
117
- ], PdInput.prototype, "maxlength", 2);
118
- __decorateClass([
119
- property({ type: Boolean })
120
- ], PdInput.prototype, "onlyNumbers", 2);
121
- PdInput = __decorateClass([
122
- customElement("pd-input")
123
- ], PdInput);
124
- export {
125
- PdInput
126
- };
1
+ import { PdInput } from './pd-input/PdInput.js';
2
+
3
+ const tag = "pd-input";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdInput);
6
+ }
7
+
8
+ export { PdInput };
@@ -0,0 +1,49 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseUI } from '../base/pd-base-ui';
3
+ /**
4
+ * Ein kombinierter Icon-Button mit optionalem Panel (Dropdown-artig).
5
+ *
6
+ * @tag pd-panel-button
7
+ *
8
+ * @slot default - Inhalt des Panels, das unter dem Button angezeigt wird.
9
+ *
10
+ * @event button-clicked - Wird ausgelöst, wenn auf den Button geklickt wird (nur bei `panelButton = false`).
11
+ * @event panel-button-toggled - Wird ausgelöst, wenn das Panel geöffnet oder geschlossen wird.
12
+ *
13
+ * @cssprop --pd-icon-button-size - Größe des Icons im Button.
14
+ * @cssprop --pd-icon-button-bgcol - Hintergrundfarbe des Buttons.
15
+ * @cssprop --pd-icon-button-bordercol - Randfarbe des Buttons.
16
+ * @cssprop --pd-icon-button-padding - Innenabstand des Buttons.
17
+ * @cssprop --pd-icon-button-gap - Abstand zwischen Icon und Text.
18
+ * @cssprop --pd-icon-button-txtcol - Textfarbe des Buttons.
19
+ * @cssprop --pd-icon-button-font-size - Schriftgröße des Button-Texts.
20
+ * @cssprop --pd-icon-button-panel-bg-col - Hintergrundfarbe des Panels.
21
+ * @cssprop --pd-icon-button-panel-min-width - Mindestbreite des Panels.
22
+ * @cssprop --pd-icon-button-panel-max-width - Maximalbreite des Panels.
23
+ * @cssprop --pd-panel-button-panel-padding - Innenabstand des Panelinhalts.
24
+ * @cssprop --pd-icon-button-selected-bgcol - Hintergrundfarbe bei `selected`.
25
+ * @cssprop --pd-icon-button-selected-txtcol - Textfarbe bei `selected`.
26
+ * @cssprop --pd-icon-button-selected-shadow - Schatteneffekt bei `selected`.
27
+ */
28
+ export declare class PdPanelButton extends PdBaseUI {
29
+ pdButtonIcon?: string;
30
+ buttonText: string;
31
+ value?: string;
32
+ panelButton: boolean;
33
+ loading: boolean;
34
+ selected: boolean;
35
+ primary: boolean;
36
+ disableOnClickTime: number;
37
+ hideClose: boolean;
38
+ private _timerDisabled;
39
+ private _panelOpen;
40
+ static styles: CSSResultGroup;
41
+ connectedCallback(): void;
42
+ disconnectedCallback(): void;
43
+ private _closePanel;
44
+ render(): import('lit').TemplateResult<1>;
45
+ private _onKeyDown;
46
+ private _buttonClicked;
47
+ private _togglePanel;
48
+ }
49
+ //# sourceMappingURL=PdPanelButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdPanelButton.d.ts","sourceRoot":"","sources":["../../src/pd-panel-button/PdPanelButton.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAGhD,OAAO,0CAA0C,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAEzC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAQ;IAG1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,OAAO,CAAS;IAG7B,OAAO,EAAE,OAAO,CAAS;IAGzB,QAAQ,EAAE,OAAO,CAAS;IAG1B,OAAO,EAAE,OAAO,CAAS;IAGzB,kBAAkB,EAAE,MAAM,CAAM;IAGhC,SAAS,EAAE,OAAO,CAAS;IAI3B,OAAO,CAAC,cAAc,CAAkB;IAGxC,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAgB,MAAM,EAAE,cAAc,CA2OpC;IAEF,iBAAiB;IAKjB,oBAAoB;IAKpB,OAAO,CAAC,WAAW,CAEjB;IAGF,MAAM;IA8CN,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;CAQrB"}
@@ -1,20 +1,19 @@
1
- import { css, html } from "lit";
2
- import { property, state, customElement } from "lit/decorators.js";
3
- import "@progressive-development/pd-icon/pd-icon";
4
- import { PdBaseUI } from "./pd-base-ui.js";
5
- import { PdColorStyles, PdFontStyles } from "@progressive-development/pd-shared-styles";
6
- import { pdIcons } from "@progressive-development/pd-icon";
1
+ import { css, html } from 'lit';
2
+ import { property, state } from 'lit/decorators.js';
3
+ import '@progressive-development/pd-icon/pd-icon';
4
+ import { PdBaseUI } from '../base/pd-base-ui.js';
5
+ import { pdIcons } from '@progressive-development/pd-icon';
6
+
7
7
  var __defProp = Object.defineProperty;
8
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
8
  var __decorateClass = (decorators, target, key, kind) => {
10
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
9
+ var result = void 0 ;
11
10
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
11
  if (decorator = decorators[i])
13
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
14
- if (kind && result) __defProp(target, key, result);
12
+ result = (decorator(target, key, result) ) || result;
13
+ if (result) __defProp(target, key, result);
15
14
  return result;
16
15
  };
17
- let PdIconPanelButton = class extends PdBaseUI {
16
+ class PdPanelButton extends PdBaseUI {
18
17
  constructor() {
19
18
  super(...arguments);
20
19
  this.buttonText = "Ok";
@@ -30,88 +29,9 @@ let PdIconPanelButton = class extends PdBaseUI {
30
29
  this._panelOpen = false;
31
30
  };
32
31
  }
33
- connectedCallback() {
34
- super.connectedCallback();
35
- window.addEventListener("close-button-panel-event", this._closePanel);
36
- }
37
- disconnectedCallback() {
38
- window.removeEventListener("close-button-panel-event", this._closePanel);
39
- super.disconnectedCallback();
40
- }
41
- // ${this._daySyncDisabled ? "element-hint" : ""} => for div class
42
- render() {
43
- return html`
44
- <div
45
- class="icon-button-style"
46
- role="button"
47
- tabindex="0"
48
- @click="${this._buttonClicked}"
49
- @keydown="${this._onKeyDown}"
50
- >
51
- ${this.loading ? html`<div class="loader"></div>` : this.pdButtonIcon ? html`
52
- <pd-icon
53
- class="button-icon action-icon-color"
54
- icon="${this.pdButtonIcon}"
55
- ></pd-icon>
56
- ` : ""}
57
- ${this.buttonText ? html`<span class="button-text">${this.buttonText}</span>` : ""}
58
- ${this.panelButton ? html` <pd-icon
59
- icon=${pdIcons.ICON_TOOGLE_ARROW}
60
- ?activeIcon=${!this._panelOpen}
61
- class="small toggle-button"
62
- ></pd-icon>` : ""}
63
- </div>
64
-
65
- <div class="panel ${this._panelOpen ? "open" : ""}">
66
- ${this.hideClose ? "" : html`
67
- <button class="close-button" @click="${this._togglePanel}">
68
- &times;
69
- </button>
70
- `}
71
- <div class="panel-content">
72
- <slot></slot>
73
- </div>
74
- </div>
75
- `;
76
- }
77
- _onKeyDown(event) {
78
- if (event.key === "Enter" || event.key === " ") {
79
- event.preventDefault();
80
- this._buttonClicked();
81
- }
82
- }
83
- _buttonClicked() {
84
- if (this.panelButton) {
85
- this._togglePanel();
86
- } else {
87
- if (this.disableOnClickTime > 0) {
88
- this._timerDisabled = true;
89
- window.setTimeout(() => {
90
- this._timerDisabled = false;
91
- }, this.disableOnClickTime);
92
- }
93
- this.dispatchEvent(
94
- new CustomEvent("button-clicked", {
95
- detail: this.value,
96
- bubbles: true,
97
- composed: true
98
- })
99
- );
100
- }
101
- }
102
- _togglePanel() {
103
- this._panelOpen = !this._panelOpen;
104
- this.dispatchEvent(
105
- new CustomEvent("panel-button-toggled", {
106
- detail: { open: this._panelOpen }
107
- })
108
- );
109
- }
110
- };
111
- PdIconPanelButton.styles = [
112
- PdColorStyles,
113
- PdFontStyles,
114
- css`
32
+ static {
33
+ this.styles = [
34
+ css`
115
35
  :host {
116
36
  display: inline-block; /* Verhindert, dass :host die volle Breite bekommt */
117
37
  position: relative;
@@ -267,7 +187,7 @@ PdIconPanelButton.styles = [
267
187
  }
268
188
 
269
189
  .panel-content {
270
- padding: var(--pd-icon-panel-button-panel-padding, 1rem);
190
+ padding: var(--pd-panel-button-panel-padding, 1rem);
271
191
  min-height: 50px;
272
192
  }
273
193
 
@@ -345,43 +265,118 @@ PdIconPanelButton.styles = [
345
265
  }
346
266
  }
347
267
  `
348
- ];
268
+ ];
269
+ }
270
+ connectedCallback() {
271
+ super.connectedCallback();
272
+ window.addEventListener("close-button-panel-event", this._closePanel);
273
+ }
274
+ disconnectedCallback() {
275
+ window.removeEventListener("close-button-panel-event", this._closePanel);
276
+ super.disconnectedCallback();
277
+ }
278
+ // ${this._daySyncDisabled ? "element-hint" : ""} => for div class
279
+ render() {
280
+ return html`
281
+ <div
282
+ class="icon-button-style"
283
+ role="button"
284
+ tabindex="0"
285
+ @click="${this._buttonClicked}"
286
+ @keydown="${this._onKeyDown}"
287
+ >
288
+ ${this.loading ? html`<div class="loader"></div>` : this.pdButtonIcon ? html`
289
+ <pd-icon
290
+ class="button-icon action-icon-color"
291
+ icon="${this.pdButtonIcon}"
292
+ ></pd-icon>
293
+ ` : ""}
294
+ ${this.buttonText ? html`<span class="button-text">${this.buttonText}</span>` : ""}
295
+ ${this.panelButton ? html` <pd-icon
296
+ icon=${pdIcons.ICON_TOOGLE_ARROW}
297
+ ?activeIcon=${!this._panelOpen}
298
+ class="small toggle-button"
299
+ ></pd-icon>` : ""}
300
+ </div>
301
+
302
+ <div class="panel ${this._panelOpen ? "open" : ""}">
303
+ ${this.hideClose ? "" : html`
304
+ <button class="close-button" @click="${this._togglePanel}">
305
+ &times;
306
+ </button>
307
+ `}
308
+ <div class="panel-content">
309
+ <slot></slot>
310
+ </div>
311
+ </div>
312
+ `;
313
+ }
314
+ _onKeyDown(event) {
315
+ if (event.key === "Enter" || event.key === " ") {
316
+ event.preventDefault();
317
+ this._buttonClicked();
318
+ }
319
+ }
320
+ _buttonClicked() {
321
+ if (this.panelButton) {
322
+ this._togglePanel();
323
+ } else {
324
+ if (this.disableOnClickTime > 0) {
325
+ this._timerDisabled = true;
326
+ window.setTimeout(() => {
327
+ this._timerDisabled = false;
328
+ }, this.disableOnClickTime);
329
+ }
330
+ this.dispatchEvent(
331
+ new CustomEvent("button-clicked", {
332
+ detail: this.value,
333
+ bubbles: true,
334
+ composed: true
335
+ })
336
+ );
337
+ }
338
+ }
339
+ _togglePanel() {
340
+ this._panelOpen = !this._panelOpen;
341
+ this.dispatchEvent(
342
+ new CustomEvent("panel-button-toggled", {
343
+ detail: { open: this._panelOpen }
344
+ })
345
+ );
346
+ }
347
+ }
349
348
  __decorateClass([
350
349
  property({ type: String })
351
- ], PdIconPanelButton.prototype, "pdButtonIcon", 2);
350
+ ], PdPanelButton.prototype, "pdButtonIcon");
352
351
  __decorateClass([
353
352
  property({ type: String })
354
- ], PdIconPanelButton.prototype, "buttonText", 2);
353
+ ], PdPanelButton.prototype, "buttonText");
355
354
  __decorateClass([
356
355
  property({ type: String })
357
- ], PdIconPanelButton.prototype, "value", 2);
356
+ ], PdPanelButton.prototype, "value");
358
357
  __decorateClass([
359
358
  property({ type: Boolean })
360
- ], PdIconPanelButton.prototype, "panelButton", 2);
359
+ ], PdPanelButton.prototype, "panelButton");
361
360
  __decorateClass([
362
361
  property({ type: Boolean, reflect: true })
363
- ], PdIconPanelButton.prototype, "loading", 2);
362
+ ], PdPanelButton.prototype, "loading");
364
363
  __decorateClass([
365
364
  property({ type: Boolean, reflect: true })
366
- ], PdIconPanelButton.prototype, "selected", 2);
365
+ ], PdPanelButton.prototype, "selected");
367
366
  __decorateClass([
368
367
  property({ type: Boolean, reflect: true })
369
- ], PdIconPanelButton.prototype, "primary", 2);
368
+ ], PdPanelButton.prototype, "primary");
370
369
  __decorateClass([
371
370
  property({ type: Number })
372
- ], PdIconPanelButton.prototype, "disableOnClickTime", 2);
371
+ ], PdPanelButton.prototype, "disableOnClickTime");
373
372
  __decorateClass([
374
373
  property({ type: Boolean })
375
- ], PdIconPanelButton.prototype, "hideClose", 2);
374
+ ], PdPanelButton.prototype, "hideClose");
376
375
  __decorateClass([
377
376
  property({ type: Boolean, reflect: true })
378
- ], PdIconPanelButton.prototype, "_timerDisabled", 2);
377
+ ], PdPanelButton.prototype, "_timerDisabled");
379
378
  __decorateClass([
380
379
  state()
381
- ], PdIconPanelButton.prototype, "_panelOpen", 2);
382
- PdIconPanelButton = __decorateClass([
383
- customElement("pd-icon-panel-button")
384
- ], PdIconPanelButton);
385
- export {
386
- PdIconPanelButton
387
- };
380
+ ], PdPanelButton.prototype, "_panelOpen");
381
+
382
+ export { PdPanelButton };
@@ -0,0 +1,3 @@
1
+ import { PdPanelButton } from './PdPanelButton.js';
2
+ export { PdPanelButton };
3
+ //# sourceMappingURL=pd-panel-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-panel-button.d.ts","sourceRoot":"","sources":["../../src/pd-panel-button/pd-panel-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,18 +1,8 @@
1
1
  import { StoryObj } from '@storybook/web-components';
2
2
  declare const meta: {
3
3
  title: string;
4
- render: (args: import('@storybook/web-components').Args) => import('lit-html').TemplateResult<1>;
5
- argTypes: {
6
- pdButtonIcon: {
7
- control: "text";
8
- };
9
- buttonText: {
10
- control: "text";
11
- };
12
- panelButton: {
13
- control: "boolean";
14
- };
15
- };
4
+ component: string;
5
+ render: (args: import('@storybook/web-components').Args) => import('lit').TemplateResult<1>;
16
6
  tags: string[];
17
7
  };
18
8
  export default meta;
@@ -34,4 +24,4 @@ export declare const PanelButtonWithContentRightUp: Story;
34
24
  export declare const ButtonSelected: Story;
35
25
  export declare const ButtonSelectedWithIcon: Story;
36
26
  export declare const ButtonTransparent: Story;
37
- //# sourceMappingURL=pd-icon-button.stories.d.ts.map
27
+ //# sourceMappingURL=pd-panel-button.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pd-icon-button.stories.d.ts","sourceRoot":"","sources":["../../src/stories/pd-icon-button.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,4BAA4B,CAAC;AAIpC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;CAuBM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAGtB,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,KAO/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAQvC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAQ5C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAQtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAQtC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,KAQ/C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,KAS9C,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,KAgBpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,KAiBzC,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,KAiBtC,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,KAkB3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAuB5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAwBpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAgH/B,CAAC"}
1
+ {"version":3,"file":"pd-panel-button.stories.d.ts","sourceRoot":"","sources":["../../src/pd-panel-button/pd-panel-button.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,sBAAsB,CAAC;AAI9B,QAAA,MAAM,IAAI;;;;;CAoBM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAGtB,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,KAO/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAQvC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAQ5C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAQtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAQtC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,KAQ/C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,KAS9C,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,KAgBpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,KAiBzC,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,KAiBtC,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,KAkB3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAuB5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAwBpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAgH/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './pd-panel-button/pd-panel-button'
2
+ export {}
@@ -0,0 +1,8 @@
1
+ import { PdPanelButton } from './pd-panel-button/PdPanelButton.js';
2
+
3
+ const tag = "pd-panel-button";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdPanelButton);
6
+ }
7
+
8
+ export { PdPanelButton };
@@ -0,0 +1,16 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseUIInput } from '../base/pd-base-ui-input.js';
3
+ /**
4
+ * @tagname pd-radio-group
5
+ */
6
+ export declare class PdRadioGroup extends PdBaseUIInput {
7
+ static styles: CSSResultGroup;
8
+ firstUpdated(): void;
9
+ render(): import('lit').TemplateResult<1>;
10
+ private _onInternalBlur;
11
+ private _onInternalFocus;
12
+ private _onInternalChange;
13
+ private _onInternalRegister;
14
+ private _onInternalUnRegister;
15
+ }
16
+ //# sourceMappingURL=PdRadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdRadioGroup.d.ts","sourceRoot":"","sources":["../../src/pd-radio-group/PdRadioGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAgB,MAAM,EAAE,cAAc,CAmBpC;IAEO,YAAY,IAAI,IAAI;IAyBpB,MAAM;IAmBf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;CAmB9B"}
@@ -0,0 +1,114 @@
1
+ import { css, html } from 'lit';
2
+ import { classMap } from 'lit/directives/class-map.js';
3
+ import { PdBaseUIInput } from '../base/pd-base-ui-input.js';
4
+
5
+ /**
6
+ * @license
7
+ * Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
8
+ *
9
+ * RadioGroup für pd-checkbox Elemente.
10
+ *
11
+ * - Erlaubt Auswahl genau eines Wertes aus mehreren Checkboxen
12
+ * - Setzt `readonly` auf die selektierte Option
13
+ * - Sendet `validate-form` Event nach Änderungen
14
+ */
15
+ class PdRadioGroup extends PdBaseUIInput {
16
+ static {
17
+ this.styles = [
18
+ PdBaseUIInput.styles,
19
+ css`
20
+ .group-style {
21
+ display: flex;
22
+ gap: var(--pd-cb-group-gap, 20px);
23
+ flex-direction: var(--pd-cb-group-direction, row);
24
+ flex-wrap: wrap;
25
+ padding: var(--pd-input-label-padding, 0);
26
+ padding-top: 5px;
27
+ }
28
+
29
+ ::slotted(pd-checkbox) {
30
+ --pd-cb-border-col-readonly: var(
31
+ --pd-cb-border-col,
32
+ var(--pd-default-col)
33
+ );
34
+ }
35
+ `
36
+ ];
37
+ }
38
+ firstUpdated() {
39
+ this.addEventListener("pd-form-element-register", this._onInternalRegister);
40
+ this.addEventListener("pd-form-element-change", this._onInternalChange);
41
+ this.addEventListener("pd-form-element-focus", this._onInternalFocus);
42
+ this.addEventListener("pd-form-element-blur", this._onInternalBlur);
43
+ super.firstUpdated();
44
+ }
45
+ render() {
46
+ const radioInputId = `${this.id}RadioGroup`;
47
+ return html`
48
+ ${this._renderLabel(radioInputId)}
49
+ <div
50
+ id=${radioInputId}
51
+ class="${classMap(
52
+ this.getClassmap({
53
+ "group-style": true,
54
+ input: true
55
+ })
56
+ )}"
57
+ >
58
+ <slot></slot>
59
+ </div>
60
+ ${this._renderErrorMsg()}
61
+ `;
62
+ }
63
+ _onInternalBlur(e) {
64
+ e.stopPropagation();
65
+ }
66
+ _onInternalFocus(e) {
67
+ e.stopPropagation();
68
+ }
69
+ _onInternalChange(e) {
70
+ if (e.target !== this) {
71
+ e.stopPropagation();
72
+ const target = e.target;
73
+ const checkboxes = this.querySelectorAll("pd-checkbox");
74
+ let newValue;
75
+ checkboxes.forEach((el) => {
76
+ const isActive = el === target;
77
+ el.readonly = isActive;
78
+ el.setCheckedState(isActive ? "true" : "false");
79
+ if (isActive) {
80
+ newValue = el.valueName;
81
+ }
82
+ });
83
+ this.value = newValue || "";
84
+ }
85
+ }
86
+ _onInternalRegister(e) {
87
+ if (e.target !== this) {
88
+ e.stopPropagation();
89
+ if (e.detail.value === "true") {
90
+ this.value = e.detail.name;
91
+ }
92
+ }
93
+ }
94
+ _onInternalUnRegister(e) {
95
+ if (e.target !== this) {
96
+ e.stopPropagation();
97
+ }
98
+ }
99
+ /*
100
+ public reset(): void {
101
+ const checkboxes = this.querySelectorAll("pd-checkbox");
102
+ checkboxes.forEach((el) => {
103
+ (el as any).reset();
104
+ });
105
+ super.reset();
106
+ }
107
+
108
+ public clear(): void {
109
+ this.reset();
110
+ }
111
+ */
112
+ }
113
+
114
+ export { PdRadioGroup };
@@ -0,0 +1,3 @@
1
+ import { PdRadioGroup } from './PdRadioGroup.js';
2
+ export { PdRadioGroup };
3
+ //# sourceMappingURL=pd-radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-radio-group.d.ts","sourceRoot":"","sources":["../../src/pd-radio-group/pd-radio-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOjD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -6,4 +6,4 @@ declare const meta: {
6
6
  export default meta;
7
7
  type Story = StoryObj;
8
8
  export declare const RadioGroup: Story;
9
- //# sourceMappingURL=radio-group.stories.d.ts.map
9
+ //# sourceMappingURL=pd-radio-group.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-radio-group.stories.d.ts","sourceRoot":"","sources":["../../src/pd-radio-group/pd-radio-group.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,+BAA+B,CAAC;AACvC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2CAA2C,CAAC;AAGnD,QAAA,MAAM,IAAI;;;CAGM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,UAAU,EAAE,KAiDxB,CAAC"}