@progressive-development/pd-forms 0.8.7 → 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 (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} +10 -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} +110 -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 +21 -41
  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;AAO9C;;;;;;;;;;;;;;;;;;;;;;;;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,CA6OpC;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,20 @@
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 { PdColorStyles, PdFontStyles } from '@progressive-development/pd-shared-styles';
6
+ import { pdIcons } from '@progressive-development/pd-icon';
7
+
7
8
  var __defProp = Object.defineProperty;
8
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
9
  var __decorateClass = (decorators, target, key, kind) => {
10
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
10
+ var result = void 0 ;
11
11
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
12
  if (decorator = decorators[i])
13
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
14
- if (kind && result) __defProp(target, key, result);
13
+ result = (decorator(target, key, result) ) || result;
14
+ if (result) __defProp(target, key, result);
15
15
  return result;
16
16
  };
17
- let PdIconPanelButton = class extends PdBaseUI {
17
+ class PdPanelButton extends PdBaseUI {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.buttonText = "Ok";
@@ -30,88 +30,11 @@ let PdIconPanelButton = class extends PdBaseUI {
30
30
  this._panelOpen = false;
31
31
  };
32
32
  }
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`
33
+ static {
34
+ this.styles = [
35
+ PdColorStyles,
36
+ PdFontStyles,
37
+ css`
115
38
  :host {
116
39
  display: inline-block; /* Verhindert, dass :host die volle Breite bekommt */
117
40
  position: relative;
@@ -267,7 +190,7 @@ PdIconPanelButton.styles = [
267
190
  }
268
191
 
269
192
  .panel-content {
270
- padding: var(--pd-icon-panel-button-panel-padding, 1rem);
193
+ padding: var(--pd-panel-button-panel-padding, 1rem);
271
194
  min-height: 50px;
272
195
  }
273
196
 
@@ -345,43 +268,118 @@ PdIconPanelButton.styles = [
345
268
  }
346
269
  }
347
270
  `
348
- ];
271
+ ];
272
+ }
273
+ connectedCallback() {
274
+ super.connectedCallback();
275
+ window.addEventListener("close-button-panel-event", this._closePanel);
276
+ }
277
+ disconnectedCallback() {
278
+ window.removeEventListener("close-button-panel-event", this._closePanel);
279
+ super.disconnectedCallback();
280
+ }
281
+ // ${this._daySyncDisabled ? "element-hint" : ""} => for div class
282
+ render() {
283
+ return html`
284
+ <div
285
+ class="icon-button-style"
286
+ role="button"
287
+ tabindex="0"
288
+ @click="${this._buttonClicked}"
289
+ @keydown="${this._onKeyDown}"
290
+ >
291
+ ${this.loading ? html`<div class="loader"></div>` : this.pdButtonIcon ? html`
292
+ <pd-icon
293
+ class="button-icon action-icon-color"
294
+ icon="${this.pdButtonIcon}"
295
+ ></pd-icon>
296
+ ` : ""}
297
+ ${this.buttonText ? html`<span class="button-text">${this.buttonText}</span>` : ""}
298
+ ${this.panelButton ? html` <pd-icon
299
+ icon=${pdIcons.ICON_TOOGLE_ARROW}
300
+ ?activeIcon=${!this._panelOpen}
301
+ class="small toggle-button"
302
+ ></pd-icon>` : ""}
303
+ </div>
304
+
305
+ <div class="panel ${this._panelOpen ? "open" : ""}">
306
+ ${this.hideClose ? "" : html`
307
+ <button class="close-button" @click="${this._togglePanel}">
308
+ &times;
309
+ </button>
310
+ `}
311
+ <div class="panel-content">
312
+ <slot></slot>
313
+ </div>
314
+ </div>
315
+ `;
316
+ }
317
+ _onKeyDown(event) {
318
+ if (event.key === "Enter" || event.key === " ") {
319
+ event.preventDefault();
320
+ this._buttonClicked();
321
+ }
322
+ }
323
+ _buttonClicked() {
324
+ if (this.panelButton) {
325
+ this._togglePanel();
326
+ } else {
327
+ if (this.disableOnClickTime > 0) {
328
+ this._timerDisabled = true;
329
+ window.setTimeout(() => {
330
+ this._timerDisabled = false;
331
+ }, this.disableOnClickTime);
332
+ }
333
+ this.dispatchEvent(
334
+ new CustomEvent("button-clicked", {
335
+ detail: this.value,
336
+ bubbles: true,
337
+ composed: true
338
+ })
339
+ );
340
+ }
341
+ }
342
+ _togglePanel() {
343
+ this._panelOpen = !this._panelOpen;
344
+ this.dispatchEvent(
345
+ new CustomEvent("panel-button-toggled", {
346
+ detail: { open: this._panelOpen }
347
+ })
348
+ );
349
+ }
350
+ }
349
351
  __decorateClass([
350
352
  property({ type: String })
351
- ], PdIconPanelButton.prototype, "pdButtonIcon", 2);
353
+ ], PdPanelButton.prototype, "pdButtonIcon");
352
354
  __decorateClass([
353
355
  property({ type: String })
354
- ], PdIconPanelButton.prototype, "buttonText", 2);
356
+ ], PdPanelButton.prototype, "buttonText");
355
357
  __decorateClass([
356
358
  property({ type: String })
357
- ], PdIconPanelButton.prototype, "value", 2);
359
+ ], PdPanelButton.prototype, "value");
358
360
  __decorateClass([
359
361
  property({ type: Boolean })
360
- ], PdIconPanelButton.prototype, "panelButton", 2);
362
+ ], PdPanelButton.prototype, "panelButton");
361
363
  __decorateClass([
362
364
  property({ type: Boolean, reflect: true })
363
- ], PdIconPanelButton.prototype, "loading", 2);
365
+ ], PdPanelButton.prototype, "loading");
364
366
  __decorateClass([
365
367
  property({ type: Boolean, reflect: true })
366
- ], PdIconPanelButton.prototype, "selected", 2);
368
+ ], PdPanelButton.prototype, "selected");
367
369
  __decorateClass([
368
370
  property({ type: Boolean, reflect: true })
369
- ], PdIconPanelButton.prototype, "primary", 2);
371
+ ], PdPanelButton.prototype, "primary");
370
372
  __decorateClass([
371
373
  property({ type: Number })
372
- ], PdIconPanelButton.prototype, "disableOnClickTime", 2);
374
+ ], PdPanelButton.prototype, "disableOnClickTime");
373
375
  __decorateClass([
374
376
  property({ type: Boolean })
375
- ], PdIconPanelButton.prototype, "hideClose", 2);
377
+ ], PdPanelButton.prototype, "hideClose");
376
378
  __decorateClass([
377
379
  property({ type: Boolean, reflect: true })
378
- ], PdIconPanelButton.prototype, "_timerDisabled", 2);
380
+ ], PdPanelButton.prototype, "_timerDisabled");
379
381
  __decorateClass([
380
382
  state()
381
- ], PdIconPanelButton.prototype, "_panelOpen", 2);
382
- PdIconPanelButton = __decorateClass([
383
- customElement("pd-icon-panel-button")
384
- ], PdIconPanelButton);
385
- export {
386
- PdIconPanelButton
387
- };
383
+ ], PdPanelButton.prototype, "_panelOpen");
384
+
385
+ 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"}