@progressive-development/pd-forms 0.5.6 → 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 (107) 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 +10 -0
  4. package/dist/generated/locales/be.d.ts.map +1 -0
  5. package/dist/generated/locales/de.d.ts +10 -0
  6. package/dist/generated/locales/de.d.ts.map +1 -0
  7. package/dist/generated/locales/en.d.ts +10 -0
  8. package/dist/generated/locales/en.d.ts.map +1 -0
  9. package/dist/index.d.ts +15 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +10 -10
  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-base-input-element.d.ts +28 -0
  16. package/dist/pd-base-input-element.d.ts.map +1 -0
  17. package/dist/pd-base-input-element.js +82 -0
  18. package/dist/pd-base-ui-input.d.ts +54 -0
  19. package/dist/pd-base-ui-input.d.ts.map +1 -0
  20. package/dist/pd-base-ui-input.js +208 -0
  21. package/dist/pd-base-ui.d.ts +12 -0
  22. package/dist/pd-base-ui.d.ts.map +1 -0
  23. package/dist/{src/PdBaseUi.js → pd-base-ui.js} +9 -15
  24. package/dist/pd-button.d.ts +16 -0
  25. package/dist/pd-button.d.ts.map +1 -0
  26. package/dist/pd-button.js +154 -4
  27. package/dist/pd-checkbox.d.ts +14 -0
  28. package/dist/pd-checkbox.d.ts.map +1 -0
  29. package/dist/pd-checkbox.js +251 -4
  30. package/dist/pd-form-container.d.ts +25 -0
  31. package/dist/pd-form-container.d.ts.map +1 -0
  32. package/dist/pd-form-container.js +183 -4
  33. package/dist/pd-form-row.d.ts +12 -0
  34. package/dist/pd-form-row.d.ts.map +1 -0
  35. package/dist/pd-form-row.js +108 -4
  36. package/dist/pd-hover-box.d.ts +23 -0
  37. package/dist/pd-hover-box.d.ts.map +1 -0
  38. package/dist/pd-hover-box.js +122 -4
  39. package/dist/pd-icon-panel-button.d.ts +18 -0
  40. package/dist/pd-icon-panel-button.d.ts.map +1 -0
  41. package/dist/pd-input-area.d.ts +18 -0
  42. package/dist/pd-input-area.d.ts.map +1 -0
  43. package/dist/pd-input-area.js +74 -4
  44. package/dist/pd-input-file.d.ts +15 -0
  45. package/dist/pd-input-file.d.ts.map +1 -0
  46. package/dist/pd-input-file.js +91 -4
  47. package/dist/pd-input-time.d.ts +10 -0
  48. package/dist/pd-input-time.d.ts.map +1 -0
  49. package/dist/pd-input-time.js +68 -0
  50. package/dist/pd-input.d.ts +30 -0
  51. package/dist/pd-input.d.ts.map +1 -0
  52. package/dist/pd-input.js +99 -4
  53. package/dist/pd-radio-group.d.ts +9 -0
  54. package/dist/pd-radio-group.d.ts.map +1 -0
  55. package/dist/pd-radio-group.js +89 -4
  56. package/dist/pd-range.d.ts +16 -0
  57. package/dist/pd-range.d.ts.map +1 -0
  58. package/dist/pd-range.js +236 -4
  59. package/dist/pd-select.d.ts +14 -0
  60. package/dist/pd-select.d.ts.map +1 -0
  61. package/dist/pd-select.js +121 -4
  62. package/dist/stories/01_index.stories.d.ts +58 -0
  63. package/dist/stories/01_index.stories.d.ts.map +1 -0
  64. package/dist/stories/button.stories.d.ts +22 -0
  65. package/dist/stories/button.stories.d.ts.map +1 -0
  66. package/dist/stories/checkbox.stories.d.ts +28 -0
  67. package/dist/stories/checkbox.stories.d.ts.map +1 -0
  68. package/dist/stories/form-container.stories.d.ts +28 -0
  69. package/dist/stories/form-container.stories.d.ts.map +1 -0
  70. package/dist/stories/form-row.stories.d.ts +27 -0
  71. package/dist/stories/form-row.stories.d.ts.map +1 -0
  72. package/dist/stories/input-area.stories.d.ts +54 -0
  73. package/dist/stories/input-area.stories.d.ts.map +1 -0
  74. package/dist/stories/input-file.stories.d.ts +49 -0
  75. package/dist/stories/input-file.stories.d.ts.map +1 -0
  76. package/dist/stories/input.stories.d.ts +37 -0
  77. package/dist/stories/input.stories.d.ts.map +1 -0
  78. package/dist/stories/pd-icon-button.stories.d.ts +30 -0
  79. package/dist/stories/pd-icon-button.stories.d.ts.map +1 -0
  80. package/dist/stories/radio-group.stories.d.ts +9 -0
  81. package/dist/stories/radio-group.stories.d.ts.map +1 -0
  82. package/dist/stories/range.stories.d.ts +9 -0
  83. package/dist/stories/range.stories.d.ts.map +1 -0
  84. package/dist/stories/select.stories.d.ts +37 -0
  85. package/dist/stories/select.stories.d.ts.map +1 -0
  86. package/dist/styles/shared-input-field-styles.d.ts +9 -0
  87. package/dist/styles/shared-input-field-styles.d.ts.map +1 -0
  88. package/dist/{src → styles}/shared-input-field-styles.js +37 -25
  89. package/dist/styles/shared-input-styles.d.ts +10 -0
  90. package/dist/styles/shared-input-styles.d.ts.map +1 -0
  91. package/dist/{src → styles}/shared-input-styles.js +7 -6
  92. package/dist/types.d.ts +10 -0
  93. package/dist/types.d.ts.map +1 -0
  94. package/package.json +32 -47
  95. package/dist/src/PdBaseInputElement.js +0 -86
  96. package/dist/src/PdBaseUiInput.js +0 -229
  97. package/dist/src/PdButton.js +0 -194
  98. package/dist/src/PdCheckbox.js +0 -230
  99. package/dist/src/PdFormContainer.js +0 -167
  100. package/dist/src/PdFormRow.js +0 -92
  101. package/dist/src/PdHoverBox.js +0 -108
  102. package/dist/src/PdInput.js +0 -79
  103. package/dist/src/PdInputArea.js +0 -61
  104. package/dist/src/PdInputFile.js +0 -73
  105. package/dist/src/PdRadioGroup.js +0 -72
  106. package/dist/src/PdRange.js +0 -267
  107. package/dist/src/PdSelect.js +0 -125
@@ -1,4 +1,108 @@
1
- import { PdFormRow } from "./src/PdFormRow.js";
2
- if (!customElements.get("pd-form-row")) {
3
- window.customElements.define("pd-form-row", PdFormRow);
4
- }
1
+ import { css, html } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
+ import { PdBaseUI } from "./pd-base-ui.js";
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = decorator(result) || result;
10
+ return result;
11
+ };
12
+ let PdFormRow = class extends PdBaseUI {
13
+ render() {
14
+ return html`<slot></slot>`;
15
+ }
16
+ };
17
+ PdFormRow.styles = [
18
+ PdBaseUI.styles,
19
+ css`
20
+ :host {
21
+ /* Define size for row, depends on media queries */
22
+ --my-row-width: var(--pd-form-row-base-width, 800px);
23
+ --my-gap: var(--pd-form-row-gap, 20px);
24
+ display: flex;
25
+ flex: 1 1 100%;
26
+ /*margin: 0 0 .5rem 0;*/
27
+ box-sizing: border-box;
28
+ width: 100%;
29
+ gap: var(--my-gap);
30
+ align-items: var(--pd-form-row-align-item, flex-start);
31
+ padding-top: var(--pd-form-row-padding-top, 10px);
32
+ }
33
+
34
+ ::slotted(.full-size) {
35
+ --pd-input-field-width: 100%;
36
+ }
37
+
38
+ ::slotted(.quarter1) {
39
+ --pd-input-field-width: calc(
40
+ var(--my-row-width) * 0.25 - (var(--my-gap) * 0.75)
41
+ );
42
+ }
43
+
44
+ ::slotted(.quarter1-area) {
45
+ --pd-input-field-width: calc(
46
+ (var(--my-row-width) - 5px) * 0.25 - (var(--my-gap) * 0.75)
47
+ );
48
+ }
49
+
50
+ ::slotted(.quarter2) {
51
+ --pd-input-field-width: calc(
52
+ (var(--my-row-width) * 0.5) - (var(--my-gap) / 2)
53
+ );
54
+ }
55
+
56
+ ::slotted(.quarter2-area) {
57
+ --pd-input-field-width: calc(
58
+ ((var(--my-row-width) - 8px) * 0.5) - (var(--my-gap) / 2)
59
+ );
60
+ }
61
+
62
+ ::slotted(.quarter3) {
63
+ --pd-input-field-width: calc(
64
+ var(--my-row-width) * 0.75 - (var(--my-gap) * 0.25)
65
+ );
66
+ }
67
+
68
+ ::slotted(.quarter3-area) {
69
+ --pd-input-field-width: calc(
70
+ (var(--my-row-width) - 10px) * 0.75 - (var(--my-gap) * 0.25)
71
+ );
72
+ }
73
+
74
+ ::slotted(.quarter4) {
75
+ --pd-input-field-width: var(--my-row-width);
76
+ }
77
+
78
+ ::slotted(.quarter4-area) {
79
+ --pd-input-field-width: calc(var(--my-row-width) - 15px);
80
+ }
81
+
82
+ @media (max-width: 930px) {
83
+ :host {
84
+ --my-row-width: 600px;
85
+ }
86
+ }
87
+
88
+ @media (max-width: 650px) {
89
+ :host {
90
+ --my-row-width: 400px;
91
+ --my-gap: 10px;
92
+ }
93
+ }
94
+
95
+ @media (max-width: 450px) {
96
+ :host {
97
+ --my-row-width: 300px;
98
+ --my-gap: 8px;
99
+ }
100
+ }
101
+ `
102
+ ];
103
+ PdFormRow = __decorateClass([
104
+ customElement("pd-form-row")
105
+ ], PdFormRow);
106
+ export {
107
+ PdFormRow
108
+ };
@@ -0,0 +1,23 @@
1
+ import { TemplateResult, CSSResultGroup } from 'lit';
2
+ import { PdBaseUI } from './pd-base-ui.js';
3
+ export declare class PdHoverBox extends PdBaseUI {
4
+ /**
5
+ * Controls visibility of the info box
6
+ */
7
+ private _visible;
8
+ /**
9
+ * True if the info box should open downward
10
+ */
11
+ private _toBottom;
12
+ static styles: CSSResultGroup;
13
+ render(): TemplateResult;
14
+ /**
15
+ * Activates and positions the info box based on current viewport height.
16
+ */
17
+ private _activateInfo;
18
+ /**
19
+ * Hides the info box again
20
+ */
21
+ private _closeInfo;
22
+ }
23
+ //# sourceMappingURL=pd-hover-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-hover-box.d.ts","sourceRoot":"","sources":["../src/pd-hover-box.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qBACa,UAAW,SAAQ,QAAQ;IACtC;;OAEG;IAEH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IAEH,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAgB,MAAM,EAAE,cAAc,CAqDpC;IAEO,MAAM,IAAI,cAAc;IAqBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
@@ -1,4 +1,122 @@
1
- import { PdHoverBox } from "./src/PdHoverBox.js";
2
- if (!customElements.get("pd-hover-box")) {
3
- window.customElements.define("pd-hover-box", PdHoverBox);
4
- }
1
+ import { css, html } from "lit";
2
+ import { state, customElement } from "lit/decorators.js";
3
+ import { PdBaseUI } from "./pd-base-ui.js";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ let PdHoverBox = class extends PdBaseUI {
15
+ constructor() {
16
+ super(...arguments);
17
+ this._visible = false;
18
+ this._toBottom = false;
19
+ }
20
+ render() {
21
+ return html`
22
+ <div class="hover-box">
23
+ <div @click=${this._activateInfo}>
24
+ <slot name="normal-view"></slot>
25
+ </div>
26
+
27
+ <div
28
+ id="infoViewId"
29
+ @click=${this._closeInfo}
30
+ class="info-view ${this._visible ? "visible" : "hidden"} ${this._toBottom ? "to-bottom" : "to-top"}"
31
+ >
32
+ <slot name="info-view"></slot>
33
+ </div>
34
+ </div>
35
+ `;
36
+ }
37
+ /**
38
+ * Activates and positions the info box based on current viewport height.
39
+ */
40
+ _activateInfo(e) {
41
+ var _a;
42
+ const modal = (_a = this.shadowRoot) == null ? void 0 : _a.getElementById("infoViewId");
43
+ if (!modal) return;
44
+ const rect = modal.getBoundingClientRect();
45
+ const fitsBelow = modal.offsetHeight + rect.top + rect.height <= window.innerHeight;
46
+ this._toBottom = fitsBelow;
47
+ this._visible = true;
48
+ e.stopPropagation();
49
+ }
50
+ /**
51
+ * Hides the info box again
52
+ */
53
+ _closeInfo() {
54
+ this._visible = false;
55
+ }
56
+ };
57
+ PdHoverBox.styles = [
58
+ PdBaseUI.styles,
59
+ css`
60
+ :host {
61
+ display: block;
62
+ }
63
+
64
+ .hover-box {
65
+ position: relative;
66
+ }
67
+
68
+ .info-view {
69
+ position: absolute;
70
+ z-index: 100;
71
+ background-color: var(
72
+ --pd-hover-box-bg-col,
73
+ var(--pd-default-dark-col)
74
+ );
75
+ border: 1px solid var(--pd-hover-box-border-col, var(--pd-default-col));
76
+ text-align: center;
77
+ padding: 10px;
78
+ width: 240px;
79
+ color: var(--pd-hover-box-font-col, white);
80
+ font-size: var(--pd-hover-box-font-size, 0.8em);
81
+ transition: opacity 0.2s ease-in;
82
+ }
83
+
84
+ .visible {
85
+ visibility: visible;
86
+ opacity: 1;
87
+ }
88
+
89
+ .hidden {
90
+ visibility: hidden;
91
+ opacity: 0;
92
+ }
93
+
94
+ .to-bottom {
95
+ right: -3px;
96
+ top: -3px;
97
+ }
98
+
99
+ .to-top {
100
+ right: -3px;
101
+ bottom: -3px;
102
+ }
103
+
104
+ @media (max-width: 640px) {
105
+ .info-view {
106
+ width: 190px;
107
+ }
108
+ }
109
+ `
110
+ ];
111
+ __decorateClass([
112
+ state()
113
+ ], PdHoverBox.prototype, "_visible", 2);
114
+ __decorateClass([
115
+ state()
116
+ ], PdHoverBox.prototype, "_toBottom", 2);
117
+ PdHoverBox = __decorateClass([
118
+ customElement("pd-hover-box")
119
+ ], PdHoverBox);
120
+ export {
121
+ PdHoverBox
122
+ };
@@ -0,0 +1,18 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseUI } from './pd-base-ui';
3
+ export declare class PdIconPanelButton extends PdBaseUI {
4
+ pdButtonIcon?: string;
5
+ buttonText: string;
6
+ value?: string;
7
+ panelButton: boolean;
8
+ private _panelOpen;
9
+ static styles: CSSResultGroup;
10
+ connectedCallback(): void;
11
+ disconnectedCallback(): void;
12
+ private _closePanel;
13
+ render(): import('lit-html').TemplateResult<1>;
14
+ private _onKeyDown;
15
+ private _buttonClicked;
16
+ private _togglePanel;
17
+ }
18
+ //# sourceMappingURL=pd-icon-panel-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-icon-panel-button.d.ts","sourceRoot":"","sources":["../src/pd-icon-panel-button.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAGhD,OAAO,0CAA0C,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,qBACa,iBAAkB,SAAQ,QAAQ;IAE7C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAQ;IAG1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,OAAO,CAAS;IAG7B,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAgB,MAAM,EAAE,cAAc,CAoIpC;IAEF,iBAAiB;IAKjB,oBAAoB;IAKpB,OAAO,CAAC,WAAW,CAEjB;IAGF,MAAM;IAgCN,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;CAQrB"}
@@ -0,0 +1,18 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseInputElement } from './pd-base-input-element.js';
3
+ export declare class PdInputArea extends PdBaseInputElement {
4
+ rows: number;
5
+ cols?: number;
6
+ /**
7
+ * Minimum length constraint
8
+ */
9
+ minlength?: number;
10
+ /**
11
+ * Maximum length constraint
12
+ */
13
+ maxlength?: number;
14
+ constructor();
15
+ static styles: CSSResultGroup;
16
+ render(): import('lit-html').TemplateResult<1>;
17
+ }
18
+ //# sourceMappingURL=pd-input-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-input-area.d.ts","sourceRoot":"","sources":["../src/pd-input-area.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,qBACa,WAAY,SAAQ,kBAAkB;IAEjD,IAAI,SAAK;IAGT,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAO;;IAOzB,OAAgB,MAAM,EAAE,cAAc,CAQpC;IAEO,MAAM;CAyBhB"}
@@ -1,4 +1,74 @@
1
- import { PdInputArea } from "./src/PdInputArea.js";
2
- if (!customElements.get("pd-input-area")) {
3
- window.customElements.define("pd-input-area", PdInputArea);
4
- }
1
+ import { css, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import { PdBaseInputElement } from "./pd-base-input-element.js";
4
+ import { INPUT_TYPE_AREA } from "./pd-base-ui-input.js";
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
12
+ if (kind && result) __defProp(target, key, result);
13
+ return result;
14
+ };
15
+ let PdInputArea = class extends PdBaseInputElement {
16
+ constructor() {
17
+ super();
18
+ this.rows = 2;
19
+ this.maxlength = 500;
20
+ this._inputType = INPUT_TYPE_AREA;
21
+ }
22
+ render() {
23
+ const inputAreaId = `${this.id}InputArea`;
24
+ return html`
25
+ ${this._renderLabel(inputAreaId)}
26
+ <div class="input ${this.errorMsg.length > 0 ? "error" : ""}">
27
+ <textarea
28
+ id=${inputAreaId}
29
+ name=${this.name || this.valueName || this.autoCompleteName}
30
+ autocomplete=${this.autoCompleteName ?? "off"}
31
+ class="input-style ${this.gradient ? "gradient" : ""}"
32
+ rows=${this.rows}
33
+ cols=${this.cols ?? ""}
34
+ placeholder=${this.placeHolder}
35
+ minlength=${this.minlength ?? ""}
36
+ maxlength=${this.maxlength ?? ""}
37
+ ?disabled=${this.disabled}
38
+ ?readonly=${this.readonly}
39
+ .value=${this.value}
40
+ @keyup=${this._onKeyUp}
41
+ @blur=${this._onBlur}
42
+ ></textarea>
43
+ </div>
44
+ ${this._renderErrorMsg()}
45
+ `;
46
+ }
47
+ };
48
+ PdInputArea.styles = [
49
+ PdBaseInputElement.styles,
50
+ css`
51
+ /* override default width for area */
52
+ .input-style {
53
+ width: var(--pd-input-field-width, 240px);
54
+ }
55
+ `
56
+ ];
57
+ __decorateClass([
58
+ property({ type: Number })
59
+ ], PdInputArea.prototype, "rows", 2);
60
+ __decorateClass([
61
+ property({ type: Number })
62
+ ], PdInputArea.prototype, "cols", 2);
63
+ __decorateClass([
64
+ property({ type: Number })
65
+ ], PdInputArea.prototype, "minlength", 2);
66
+ __decorateClass([
67
+ property({ type: Number })
68
+ ], PdInputArea.prototype, "maxlength", 2);
69
+ PdInputArea = __decorateClass([
70
+ customElement("pd-input-area")
71
+ ], PdInputArea);
72
+ export {
73
+ PdInputArea
74
+ };
@@ -0,0 +1,15 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseInputElement } from './pd-base-input-element.js';
3
+ export declare class PdInputFile extends PdBaseInputElement {
4
+ icon?: string;
5
+ accept?: string;
6
+ maxlength?: number;
7
+ constructor();
8
+ static styles: CSSResultGroup;
9
+ render(): import('lit-html').TemplateResult<1>;
10
+ _onKeyUp(e: KeyboardEvent): void;
11
+ private _iconClicked;
12
+ private _onChange;
13
+ get files(): FileList | null | undefined;
14
+ }
15
+ //# sourceMappingURL=pd-input-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-input-file.d.ts","sourceRoot":"","sources":["../src/pd-input-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhD,OAAO,0CAA0C,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,qBACa,WAAY,SAAQ,kBAAkB;IAEjD,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;;IAOnB,OAAgB,MAAM,EAAE,cAAc,CAOpC;IAEO,MAAM;IA6BN,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAIzC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAYjB,IAAI,KAAK,IAAI,QAAQ,GAAG,IAAI,GAAG,SAAS,CAIvC;CACF"}
@@ -1,4 +1,91 @@
1
- import { PdInputFile } from "./src/PdInputFile.js";
2
- if (!customElements.get("pd-input-file")) {
3
- window.customElements.define("pd-input-file", PdInputFile);
4
- }
1
+ import { css, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import "@progressive-development/pd-icon/pd-icon";
4
+ import { PdBaseInputElement } from "./pd-base-input-element.js";
5
+ import { INPUT_TYPE_FILE } from "./pd-base-ui-input.js";
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 PdInputFile = class extends PdBaseInputElement {
17
+ constructor() {
18
+ super();
19
+ this._inputType = INPUT_TYPE_FILE;
20
+ }
21
+ render() {
22
+ const inputId = `${this.id}Input`;
23
+ return html`
24
+ ${this._renderLabel(inputId)}
25
+ <div class="input ${this.errorMsg.length > 0 ? "error" : ""}">
26
+ ${this.icon ? html`<pd-icon
27
+ icon=${this.icon}
28
+ activeIcon
29
+ @click=${this._iconClicked}
30
+ ></pd-icon>` : ""}
31
+ <input
32
+ id=${inputId}
33
+ name=${this.name || this.valueName || this.autoCompleteName}
34
+ class="input-style ${this.gradient ? "gradient" : ""}"
35
+ type="file"
36
+ maxlength=${this.maxlength ?? ""}
37
+ accept=${this.accept ?? ""}
38
+ ?disabled=${this.disabled}
39
+ @keyup=${this._onKeyUp}
40
+ @blur=${this._onBlur}
41
+ @change=${this._onChange}
42
+ />
43
+ </div>
44
+ ${this._renderErrorMsg()}
45
+ `;
46
+ }
47
+ _onKeyUp(e) {
48
+ super._onKeyUp(e);
49
+ }
50
+ _iconClicked() {
51
+ this.dispatchEvent(new CustomEvent("input-icon-click"));
52
+ }
53
+ _onChange() {
54
+ this.dispatchEvent(
55
+ new CustomEvent("file-change", {
56
+ detail: {
57
+ files: this.files
58
+ },
59
+ bubbles: true,
60
+ composed: true
61
+ })
62
+ );
63
+ }
64
+ get files() {
65
+ var _a, _b;
66
+ return (_b = (_a = this.shadowRoot) == null ? void 0 : _a.getElementById(`${this.id}Input`)) == null ? void 0 : _b.files;
67
+ }
68
+ };
69
+ PdInputFile.styles = [
70
+ PdBaseInputElement.styles,
71
+ css`
72
+ * {
73
+ box-sizing: border-box;
74
+ }
75
+ `
76
+ ];
77
+ __decorateClass([
78
+ property({ type: String })
79
+ ], PdInputFile.prototype, "icon", 2);
80
+ __decorateClass([
81
+ property({ type: String })
82
+ ], PdInputFile.prototype, "accept", 2);
83
+ __decorateClass([
84
+ property({ type: Number })
85
+ ], PdInputFile.prototype, "maxlength", 2);
86
+ PdInputFile = __decorateClass([
87
+ customElement("pd-input-file")
88
+ ], PdInputFile);
89
+ export {
90
+ PdInputFile
91
+ };
@@ -0,0 +1,10 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import { PdBaseInputElement } from './pd-base-input-element.js';
3
+ export declare class PdInputTime extends PdBaseInputElement {
4
+ icon?: string;
5
+ constructor();
6
+ static get styles(): CSSResultGroup;
7
+ render(): import('lit-html').TemplateResult<1>;
8
+ private _iconClicked;
9
+ }
10
+ //# sourceMappingURL=pd-input-time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-input-time.d.ts","sourceRoot":"","sources":["../src/pd-input-time.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhD,OAAO,0CAA0C,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,qBACa,WAAY,SAAQ,kBAAkB;IAEjD,IAAI,CAAC,EAAE,MAAM,CAAC;;IAOd,WAAoB,MAAM,IAAI,cAAc,CAS3C;IAEQ,MAAM;IA4Bf,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1,68 @@
1
+ import { css, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import "@progressive-development/pd-icon/pd-icon";
4
+ import { PdBaseInputElement } from "./pd-base-input-element.js";
5
+ import { INPUT_TYPE_TIME } from "./pd-base-ui-input.js";
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 PdInputTime = class extends PdBaseInputElement {
17
+ constructor() {
18
+ super();
19
+ this._inputType = INPUT_TYPE_TIME;
20
+ }
21
+ static get styles() {
22
+ return [
23
+ PdBaseInputElement.styles,
24
+ css`
25
+ * {
26
+ box-sizing: border-box;
27
+ }
28
+ `
29
+ ];
30
+ }
31
+ render() {
32
+ const inputId = `${this.id}Input`;
33
+ return html`
34
+ ${this._renderLabel(inputId)}
35
+ <div class="input ${this.errorMsg.length > 0 ? "error" : ""}">
36
+ ${this.icon ? html`<pd-icon
37
+ icon=${this.icon}
38
+ activeIcon
39
+ @click=${this._iconClicked}
40
+ ></pd-icon>` : ""}
41
+ <input
42
+ id=${inputId}
43
+ name=${this.name || this.valueName || this.autoCompleteName}
44
+ class="input-style ${this.gradient ? "gradient" : ""}"
45
+ type="time"
46
+ .value=${this.value}
47
+ ?readonly=${this.readonly}
48
+ ?disabled=${this.disabled}
49
+ @keyup=${this._onKeyUp}
50
+ @blur=${this._onBlur}
51
+ />
52
+ </div>
53
+ ${this._renderErrorMsg()}
54
+ `;
55
+ }
56
+ _iconClicked() {
57
+ this.dispatchEvent(new CustomEvent("input-icon-click"));
58
+ }
59
+ };
60
+ __decorateClass([
61
+ property({ type: String })
62
+ ], PdInputTime.prototype, "icon", 2);
63
+ PdInputTime = __decorateClass([
64
+ customElement("pd-input-time")
65
+ ], PdInputTime);
66
+ export {
67
+ PdInputTime
68
+ };
@@ -0,0 +1,30 @@
1
+ import { TemplateResult, CSSResultGroup } from 'lit';
2
+ import { PdBaseInputElement } from './pd-base-input-element.js';
3
+ export declare class PdInput extends PdBaseInputElement {
4
+ /**
5
+ * Optional icon to display inside input
6
+ */
7
+ icon: string;
8
+ /**
9
+ * If true, uses input type password
10
+ */
11
+ secret: boolean;
12
+ /**
13
+ * Minimum length constraint
14
+ */
15
+ minlength?: number;
16
+ /**
17
+ * Maximum length constraint
18
+ */
19
+ maxlength?: number;
20
+ /**
21
+ * If true, restricts input to numbers only (legacy, use type="number" langfristig)
22
+ */
23
+ onlyNumbers: boolean;
24
+ constructor();
25
+ static styles: CSSResultGroup;
26
+ render(): TemplateResult;
27
+ protected _onKeyUp(e: KeyboardEvent): void;
28
+ private _iconClicked;
29
+ }
30
+ //# sourceMappingURL=pd-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-input.d.ts","sourceRoot":"","sources":["../src/pd-input.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAa,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,qBACa,OAAQ,SAAQ,kBAAkB;IAC7C;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAO;IAEzB;;OAEG;IAEH,WAAW,UAAS;;IAOpB,OAAgB,MAAM,EAAE,cAAc,CAOpC;IAEO,MAAM,IAAI,cAAc;cAmCd,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYnD,OAAO,CAAC,YAAY;CAKrB"}