@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
@@ -1,13 +1,2 @@
1
- import { CSSResultGroup } from 'lit';
2
- import { PdBaseUIInput } from './pd-base-ui-input.js';
3
- export declare class PdRadioGroup extends PdBaseUIInput {
4
- static styles: CSSResultGroup;
5
- firstUpdated(): void;
6
- render(): import('lit-html').TemplateResult<1>;
7
- private _onInternalBlur;
8
- private _onInternalFocus;
9
- private _onInternalChange;
10
- private _onInternalRegister;
11
- private _onInternalUnRegister;
12
- }
13
- //# sourceMappingURL=pd-radio-group.d.ts.map
1
+ export * from './pd-radio-group/pd-radio-group'
2
+ export {}
@@ -1,114 +1,8 @@
1
- import { css, html } from "lit";
2
- import { customElement } from "lit/decorators.js";
3
- import { classMap } from "lit/directives/class-map.js";
4
- import { PdBaseUIInput } from "./pd-base-ui-input.js";
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 = decorator(result) || result;
11
- return result;
12
- };
13
- let PdRadioGroup = class extends PdBaseUIInput {
14
- firstUpdated() {
15
- this.addEventListener("pd-form-element-register", this._onInternalRegister);
16
- this.addEventListener("pd-form-element-change", this._onInternalChange);
17
- this.addEventListener("pd-form-element-focus", this._onInternalFocus);
18
- this.addEventListener("pd-form-element-blur", this._onInternalBlur);
19
- super.firstUpdated();
20
- }
21
- render() {
22
- const radioInputId = `${this.id}RadioGroup`;
23
- return html`
24
- ${this._renderLabel(radioInputId)}
25
- <div
26
- id=${radioInputId}
27
- class="${classMap(
28
- this.getClassmap({
29
- "group-style": true,
30
- input: true
31
- })
32
- )}"
33
- >
34
- <slot></slot>
35
- </div>
36
- ${this._renderErrorMsg()}
37
- `;
38
- }
39
- _onInternalBlur(e) {
40
- e.stopPropagation();
41
- }
42
- _onInternalFocus(e) {
43
- e.stopPropagation();
44
- }
45
- _onInternalChange(e) {
46
- if (e.target !== this) {
47
- e.stopPropagation();
48
- const target = e.target;
49
- const checkboxes = this.querySelectorAll("pd-checkbox");
50
- let newValue;
51
- checkboxes.forEach((el) => {
52
- const isActive = el === target;
53
- el.readonly = isActive;
54
- el.setCheckedState(isActive ? "true" : "false");
55
- if (isActive) {
56
- newValue = el.valueName;
57
- }
58
- });
59
- this.value = newValue || "";
60
- }
61
- }
62
- _onInternalRegister(e) {
63
- if (e.target !== this) {
64
- e.stopPropagation();
65
- if (e.detail.value === "true") {
66
- this.value = e.detail.name;
67
- }
68
- }
69
- }
70
- _onInternalUnRegister(e) {
71
- if (e.target !== this) {
72
- e.stopPropagation();
73
- }
74
- }
75
- /*
76
- public reset(): void {
77
- const checkboxes = this.querySelectorAll("pd-checkbox");
78
- checkboxes.forEach((el) => {
79
- (el as any).reset();
80
- });
81
- super.reset();
82
- }
83
-
84
- public clear(): void {
85
- this.reset();
86
- }
87
- */
88
- };
89
- PdRadioGroup.styles = [
90
- PdBaseUIInput.styles,
91
- css`
92
- .group-style {
93
- display: flex;
94
- gap: var(--pd-cb-group-gap, 20px);
95
- flex-direction: var(--pd-cb-group-direction, row);
96
- flex-wrap: wrap;
97
- padding: var(--pd-input-label-padding, 0);
98
- padding-top: 5px;
99
- }
1
+ import { PdRadioGroup } from './pd-radio-group/PdRadioGroup.js';
100
2
 
101
- ::slotted(pd-checkbox) {
102
- --pd-cb-border-col-readonly: var(
103
- --pd-cb-border-col,
104
- var(--pd-default-col)
105
- );
106
- }
107
- `
108
- ];
109
- PdRadioGroup = __decorateClass([
110
- customElement("pd-radio-group")
111
- ], PdRadioGroup);
112
- export {
113
- PdRadioGroup
114
- };
3
+ const tag = "pd-radio-group";
4
+ if (!customElements.get(tag)) {
5
+ customElements.define(tag, PdRadioGroup);
6
+ }
7
+
8
+ export { PdRadioGroup };
@@ -0,0 +1,25 @@
1
+ import { CSSResultGroup, PropertyValues } from 'lit';
2
+ import { PdBaseUIInput } from '../base/pd-base-ui-input.js';
3
+ /**
4
+ * @tagname pd-range
5
+ */
6
+ export declare class PdRange extends PdBaseUIInput {
7
+ min: number;
8
+ max: number;
9
+ step: number;
10
+ optionValueMapper: Record<string, string>;
11
+ name: string;
12
+ protected _input: HTMLInputElement | null | undefined;
13
+ static styles: CSSResultGroup;
14
+ constructor();
15
+ update(changedProps: PropertyValues<this>): void;
16
+ firstUpdated(): void;
17
+ protected _onChange(e: Event): void;
18
+ protected _onBlur(event: Event): void;
19
+ protected _onFocus(event: Event): void;
20
+ focus(): void;
21
+ render(): import('lit').TemplateResult<1>;
22
+ _getInitialValue(): string;
23
+ clear(): void;
24
+ }
25
+ //# sourceMappingURL=PdRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdRange.d.ts","sourceRoot":"","sources":["../../src/pd-range/PdRange.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAE9E;;GAEG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IAExC,GAAG,EAAE,MAAM,CAAK;IAGhB,GAAG,EAAE,MAAM,CAAM;IAGjB,IAAI,SAAK;IAGT,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAG/C,IAAI,SAAM;IAEV,SAAS,CAAC,MAAM,EAAG,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvD,OAAgB,MAAM,EAAE,cAAc,CAqJpC;;IAOO,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOhD,YAAY,IAAI,IAAI;IAK7B,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAInC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgBrC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IActC,KAAK,IAAI,IAAI;IAIJ,MAAM;IAuCN,gBAAgB,IAAI,MAAM;IAI5B,KAAK,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,280 @@
1
+ import { css, html } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { classMap } from 'lit/directives/class-map.js';
4
+ import { PdBaseUIInput, INPUT_TYPE_RANGE } from '../base/pd-base-ui-input.js';
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = void 0 ;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (decorator(target, key, result) ) || result;
12
+ if (result) __defProp(target, key, result);
13
+ return result;
14
+ };
15
+ class PdRange extends PdBaseUIInput {
16
+ constructor() {
17
+ super();
18
+ this.min = 0;
19
+ this.max = 10;
20
+ this.step = 1;
21
+ this.optionValueMapper = {};
22
+ this.name = "";
23
+ this._inputType = INPUT_TYPE_RANGE;
24
+ }
25
+ static {
26
+ this.styles = [
27
+ PdBaseUIInput.styles,
28
+ css`
29
+ :host([disabled]) {
30
+ --pd-range-bg-col: grey;
31
+ --pd-range-thumb-col: lightgrey;
32
+ }
33
+
34
+ input[type="range"] {
35
+ -webkit-appearance: none;
36
+ width: var(--pd-input-field-width, 250px);
37
+ background: transparent;
38
+ background-color: var(--pd-range-bg-col, var(--pd-default-col));
39
+ padding: 0.5rem;
40
+ height: var(--pd-input-field-range-height, 1.7rem);
41
+ box-sizing: border-box;
42
+ border-radius: 0.75rem;
43
+ }
44
+
45
+ input[type="range"]:focus {
46
+ outline: none;
47
+ }
48
+
49
+ input[type="range"]::-webkit-slider-thumb {
50
+ -webkit-appearance: none;
51
+ margin-top: -6px;
52
+ cursor: pointer;
53
+ height: 15px;
54
+ width: 39px;
55
+ background: var(--pd-range-thumb-col, var(--pd-default-hover-col));
56
+ border: 1px solid var(--pd-default-dark-col);
57
+ border-radius: 3px;
58
+ box-shadow:
59
+ 1px 1px 1px #000000,
60
+ 0px 0px 1px #0d0d0d;
61
+ }
62
+
63
+ input[type="range"]::-moz-range-thumb {
64
+ cursor: pointer;
65
+ height: 15px;
66
+ width: 39px;
67
+ background: var(--pd-range-thumb-col, var(--pd-default-hover-col));
68
+ border: 1px solid var(--pd-default-dark-col);
69
+ border-radius: 3px;
70
+ box-shadow:
71
+ 1px 1px 1px #000000,
72
+ 0px 0px 1px #0d0d0d;
73
+ }
74
+
75
+ input[type="range"]::-ms-thumb {
76
+ cursor: pointer;
77
+ height: 15px;
78
+ width: 39px;
79
+ background: var(--pd-range-thumb-col, var(--pd-default-hover-col));
80
+ border: 1px solid var(--pd-default-dark-col);
81
+ border-radius: 3px;
82
+ box-shadow:
83
+ 1px 1px 1px #000000,
84
+ 0px 0px 1px #0d0d0d;
85
+ }
86
+
87
+ input[type="range"]::-webkit-slider-runnable-track {
88
+ width: 100%;
89
+ height: 8.4px;
90
+ cursor: pointer;
91
+ box-shadow:
92
+ 1px 1px 1px #000000,
93
+ 0px 0px 1px #0d0d0d;
94
+ background: var(--pd-range-track-col, var(--pd-default-light-col));
95
+ border: 0.2px solid #010101;
96
+ border-radius: 0.75rem;
97
+ }
98
+
99
+ input[type="range"]:focus::-webkit-slider-runnable-track {
100
+ background: var(
101
+ --pd-range-track-hover-col,
102
+ var(--pd-default-light-col)
103
+ );
104
+ border: 0.2px solid var(--pd-default-hover-col);
105
+ }
106
+
107
+ input[type="range"]::-moz-range-track {
108
+ width: 100%;
109
+ height: 8.4px;
110
+ cursor: pointer;
111
+ box-shadow:
112
+ 1px 1px 1px #000000,
113
+ 0px 0px 1px #0d0d0d;
114
+ background: var(--pd-range-track-col, var(--pd-default-light-col));
115
+ border-radius: 0.75rem;
116
+ border: 0.2px solid #010101;
117
+ }
118
+
119
+ input[type="range"]::-ms-track {
120
+ height: 8.4px;
121
+ width: 100%;
122
+ cursor: pointer;
123
+ background: transparent;
124
+ border-color: transparent;
125
+ color: transparent;
126
+ border-width: 16px 0;
127
+ }
128
+
129
+ input[type="range"]::-ms-fill-lower,
130
+ input[type="range"]::-ms-fill-upper {
131
+ background: var(--pd-range-track-col, var(--pd-default-light-col));
132
+ border: 0.2px solid #010101;
133
+ border-radius: 0.75rem;
134
+ box-shadow:
135
+ 1px 1px 1px #000000,
136
+ 0px 0px 1px #0d0d0d;
137
+ }
138
+
139
+ input[type="range"]:focus::-ms-fill-lower {
140
+ background: #3071a9;
141
+ }
142
+
143
+ input[type="range"]:focus::-ms-fill-upper {
144
+ background: #367ebd;
145
+ }
146
+
147
+ .ticks {
148
+ display: flex;
149
+ justify-content: space-between;
150
+ padding: 10px 30px;
151
+ }
152
+
153
+ .tick {
154
+ line-height: 5px;
155
+ height: 5px;
156
+ margin-top: -13px;
157
+ font-size: 8pt;
158
+ font-weight: bolder;
159
+ }
160
+
161
+ .ticks.disabled {
162
+ color: grey;
163
+ }
164
+
165
+ .ticks.enabled {
166
+ color: var(--pd-default-col);
167
+ }
168
+
169
+ @media (max-width: 650px) {
170
+ label {
171
+ font-size: 12px;
172
+ }
173
+ }
174
+ `
175
+ ];
176
+ }
177
+ update(changedProps) {
178
+ if (changedProps.has("optionValueMapper") && !this.initValue) {
179
+ this._value = Object.keys(this.optionValueMapper)[0];
180
+ }
181
+ super.update(changedProps);
182
+ }
183
+ firstUpdated() {
184
+ this._input = this.shadowRoot?.querySelector("input");
185
+ super.firstUpdated();
186
+ }
187
+ _onChange(e) {
188
+ this._handleChangedValue(this._input?.value ?? "", e, true);
189
+ }
190
+ _onBlur(event) {
191
+ this._focused = false;
192
+ this._touched = true;
193
+ this.dispatchEvent(
194
+ new CustomEvent("pd-form-element-blur", {
195
+ detail: {
196
+ name: this.valueName || this.id || "field",
197
+ value: this._input?.value
198
+ },
199
+ bubbles: true,
200
+ composed: true
201
+ })
202
+ );
203
+ }
204
+ _onFocus(event) {
205
+ this._focused = true;
206
+ this.dispatchEvent(
207
+ new CustomEvent("pd-form-element-focus", {
208
+ detail: {
209
+ name: this.valueName || this.id || "field",
210
+ value: this._input?.value
211
+ },
212
+ bubbles: true,
213
+ composed: true
214
+ })
215
+ );
216
+ }
217
+ focus() {
218
+ this._input?.focus();
219
+ }
220
+ render() {
221
+ const inputId = `${this.id}Range`;
222
+ const labelDetail = this.optionValueMapper[this._value] || this._value;
223
+ return html`
224
+ ${this._renderLabel(inputId, labelDetail)}
225
+ <div
226
+ class="${classMap(
227
+ this.getClassmap({
228
+ "input-range": true
229
+ })
230
+ )}"
231
+ >
232
+ <input
233
+ id=${inputId}
234
+ name=${this.name || this.valueName || ""}
235
+ class="input-range-style ${this.gradient ? "gradient" : ""}"
236
+ type="range"
237
+ .value=${this._value}
238
+ ?readonly=${this.readonly}
239
+ ?disabled=${this.disabled}
240
+ min=${this.min}
241
+ max=${this.max}
242
+ step=${this.step}
243
+ @change=${this._onChange}
244
+ @input=${this._onChange}
245
+ @blur=${this._onBlur}
246
+ @focus=${this._onFocus}
247
+ />
248
+ <div class="ticks ${this.disabled ? "disabled" : "enabled"}">
249
+ ${Array.from({ length: this.max - this.min + 1 }).map(
250
+ () => html`<span class="tick">|</span>`
251
+ )}
252
+ </div>
253
+ </div>
254
+ ${this._renderErrorMsg()}
255
+ `;
256
+ }
257
+ _getInitialValue() {
258
+ return this.initValue || Object.keys(this.optionValueMapper)[0] || "0";
259
+ }
260
+ clear() {
261
+ this.reset();
262
+ }
263
+ }
264
+ __decorateClass([
265
+ property({ type: Number })
266
+ ], PdRange.prototype, "min");
267
+ __decorateClass([
268
+ property({ type: Number })
269
+ ], PdRange.prototype, "max");
270
+ __decorateClass([
271
+ property({ type: Number })
272
+ ], PdRange.prototype, "step");
273
+ __decorateClass([
274
+ property({ type: Object })
275
+ ], PdRange.prototype, "optionValueMapper");
276
+ __decorateClass([
277
+ property({ type: String })
278
+ ], PdRange.prototype, "name");
279
+
280
+ export { PdRange };
@@ -0,0 +1,3 @@
1
+ import { PdRange } from './PdRange.js';
2
+ export { PdRange };
3
+ //# sourceMappingURL=pd-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-range.d.ts","sourceRoot":"","sources":["../../src/pd-range/pd-range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -6,4 +6,4 @@ declare const meta: {
6
6
  export default meta;
7
7
  type Story = StoryObj;
8
8
  export declare const Range: Story;
9
- //# sourceMappingURL=range.stories.d.ts.map
9
+ //# sourceMappingURL=pd-range.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-range.stories.d.ts","sourceRoot":"","sources":["../../src/pd-range/pd-range.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,eAAe,CAAC;AACvB,OAAO,2CAA2C,CAAC;AACnD,OAAO,+BAA+B,CAAC;AAGvC,QAAA,MAAM,IAAI;;;CAGM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAUtB,eAAO,MAAM,KAAK,EAAE,KAkFnB,CAAC"}
@@ -1,22 +1,2 @@
1
- import { CSSResultGroup, PropertyValues } from 'lit';
2
- import { PdBaseUIInput } from './pd-base-ui-input.js';
3
- export declare class PdRange extends PdBaseUIInput {
4
- min: number;
5
- max: number;
6
- step: number;
7
- optionValueMapper: Record<string, string>;
8
- name: string;
9
- protected _input: HTMLInputElement | null | undefined;
10
- static styles: CSSResultGroup;
11
- constructor();
12
- update(changedProps: PropertyValues<this>): void;
13
- firstUpdated(): void;
14
- protected _onChange(e: Event): void;
15
- protected _onBlur(event: Event): void;
16
- protected _onFocus(event: Event): void;
17
- focus(): void;
18
- render(): import('lit-html').TemplateResult<1>;
19
- _getInitialValue(): string;
20
- clear(): void;
21
- }
22
- //# sourceMappingURL=pd-range.d.ts.map
1
+ export * from './pd-range/pd-range'
2
+ export {}