@progressive-development/pd-forms 0.9.2 → 1.0.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.
- package/LICENSE +21 -2
- package/README.md +56 -62
- package/dist/base/pd-base-input-element.d.ts +10 -10
- package/dist/base/pd-base-input-element.d.ts.map +1 -1
- package/dist/base/pd-base-input-element.js +8 -1
- package/dist/base/pd-base-ui-input.d.ts +41 -16
- package/dist/base/pd-base-ui-input.d.ts.map +1 -1
- package/dist/base/pd-base-ui-input.js +25 -6
- package/dist/base/pd-base-ui.js +0 -18
- package/dist/generated/locales/be.d.ts +3 -0
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/de.d.ts +3 -0
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/en.d.ts +3 -0
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/locales/be.js +4 -1
- package/dist/locales/de.js +4 -1
- package/dist/locales/en.js +4 -1
- package/dist/pd-button/PdButton.d.ts +171 -37
- package/dist/pd-button/PdButton.d.ts.map +1 -1
- package/dist/pd-button/PdButton.js +502 -71
- package/dist/pd-button/pd-button.stories.d.ts +82 -10
- package/dist/pd-button/pd-button.stories.d.ts.map +1 -1
- package/dist/pd-button-group/PdButtonGroup.d.ts +25 -0
- package/dist/pd-button-group/PdButtonGroup.d.ts.map +1 -1
- package/dist/pd-button-group/PdButtonGroup.js +52 -27
- package/dist/pd-button-group/pd-button-group.stories.d.ts +42 -17
- package/dist/pd-button-group/pd-button-group.stories.d.ts.map +1 -1
- package/dist/pd-button-select-group/PdButtonSelectGroup.d.ts +17 -3
- package/dist/pd-button-select-group/PdButtonSelectGroup.d.ts.map +1 -1
- package/dist/pd-button-select-group/PdButtonSelectGroup.js +23 -19
- package/dist/pd-button-select-group/pd-button-select-group.stories.d.ts +43 -18
- package/dist/pd-button-select-group/pd-button-select-group.stories.d.ts.map +1 -1
- package/dist/pd-checkbox/PdCheckbox.d.ts +23 -2
- package/dist/pd-checkbox/PdCheckbox.d.ts.map +1 -1
- package/dist/pd-checkbox/PdCheckbox.js +85 -21
- package/dist/pd-checkbox/pd-checkbox.stories.d.ts +43 -27
- package/dist/pd-checkbox/pd-checkbox.stories.d.ts.map +1 -1
- package/dist/pd-form-container/PdFormContainer.d.ts +30 -9
- package/dist/pd-form-container/PdFormContainer.d.ts.map +1 -1
- package/dist/pd-form-container/PdFormContainer.js +59 -8
- package/dist/pd-form-container/pd-form-container.stories.d.ts +49 -0
- package/dist/pd-form-container/pd-form-container.stories.d.ts.map +1 -0
- package/dist/pd-form-field/PdFormField.d.ts +35 -0
- package/dist/pd-form-field/PdFormField.d.ts.map +1 -0
- package/dist/pd-form-field/PdFormField.js +38 -0
- package/dist/pd-form-field/pd-form-field.d.ts +3 -0
- package/dist/pd-form-field/pd-form-field.d.ts.map +1 -0
- package/dist/pd-form-field/pd-form-field.stories.d.ts +40 -0
- package/dist/pd-form-field/pd-form-field.stories.d.ts.map +1 -0
- package/dist/pd-form-field.d.ts +2 -0
- package/dist/pd-form-field.js +8 -0
- package/dist/pd-form-fieldset/PdFormFieldset.d.ts +144 -0
- package/dist/pd-form-fieldset/PdFormFieldset.d.ts.map +1 -0
- package/dist/pd-form-fieldset/PdFormFieldset.js +364 -0
- package/dist/pd-form-fieldset/index.d.ts +2 -0
- package/dist/pd-form-fieldset/index.d.ts.map +1 -0
- package/dist/pd-form-fieldset/pd-form-fieldset.d.ts +3 -0
- package/dist/pd-form-fieldset/pd-form-fieldset.d.ts.map +1 -0
- package/dist/pd-form-fieldset/pd-form-fieldset.js +8 -0
- package/dist/pd-form-fieldset/pd-form-fieldset.stories.d.ts +38 -0
- package/dist/pd-form-fieldset/pd-form-fieldset.stories.d.ts.map +1 -0
- package/dist/pd-form-row/PdFormRow.d.ts +35 -5
- package/dist/pd-form-row/PdFormRow.d.ts.map +1 -1
- package/dist/pd-form-row/PdFormRow.js +135 -69
- package/dist/pd-form-row/pd-form-row.stories.d.ts +41 -25
- package/dist/pd-form-row/pd-form-row.stories.d.ts.map +1 -1
- package/dist/pd-generic-form/PdGenericForm.d.ts +50 -0
- package/dist/pd-generic-form/PdGenericForm.d.ts.map +1 -0
- package/dist/pd-generic-form/PdGenericForm.js +334 -0
- package/dist/pd-generic-form/pd-generic-form.d.ts +3 -0
- package/dist/pd-generic-form/pd-generic-form.d.ts.map +1 -0
- package/dist/pd-generic-form/pd-generic-form.stories.d.ts +35 -0
- package/dist/pd-generic-form/pd-generic-form.stories.d.ts.map +1 -0
- package/dist/pd-generic-form/pd-generic-form.styles.d.ts +2 -0
- package/dist/pd-generic-form/pd-generic-form.styles.d.ts.map +1 -0
- package/dist/pd-generic-form/pd-generic-form.styles.js +110 -0
- package/dist/pd-generic-form/pd-generic-form.test.d.ts +1 -0
- package/dist/pd-generic-form/pd-generic-form.test.d.ts.map +1 -0
- package/dist/pd-generic-form.d.ts +2 -0
- package/dist/pd-generic-form.js +8 -0
- package/dist/pd-hover-box/PdHoverBox.d.ts +61 -11
- package/dist/pd-hover-box/PdHoverBox.d.ts.map +1 -1
- package/dist/pd-hover-box/PdHoverBox.js +130 -28
- package/dist/pd-hover-box/pd-hover-box.stories.d.ts +28 -5
- package/dist/pd-hover-box/pd-hover-box.stories.d.ts.map +1 -1
- package/dist/pd-input/PdComboboxInput.d.ts +20 -0
- package/dist/pd-input/PdComboboxInput.d.ts.map +1 -0
- package/dist/pd-input/PdComboboxInput.js +67 -0
- package/dist/pd-input/PdInput.d.ts +33 -15
- package/dist/pd-input/PdInput.d.ts.map +1 -1
- package/dist/pd-input/PdInput.js +49 -21
- package/dist/pd-input/pd-input.stories.d.ts +71 -35
- package/dist/pd-input/pd-input.stories.d.ts.map +1 -1
- package/dist/pd-input-area/PdInputArea.d.ts +19 -6
- package/dist/pd-input-area/PdInputArea.d.ts.map +1 -1
- package/dist/pd-input-area/PdInputArea.js +17 -15
- package/dist/pd-input-area/pd-input-area.stories.d.ts +65 -52
- package/dist/pd-input-area/pd-input-area.stories.d.ts.map +1 -1
- package/dist/pd-input-file/PdInputFile.d.ts +24 -0
- package/dist/pd-input-file/PdInputFile.d.ts.map +1 -1
- package/dist/pd-input-file/PdInputFile.js +53 -22
- package/dist/pd-input-file/pd-input-file.stories.d.ts +51 -47
- package/dist/pd-input-file/pd-input-file.stories.d.ts.map +1 -1
- package/dist/pd-input-time/PdInputTime.d.ts +21 -0
- package/dist/pd-input-time/PdInputTime.d.ts.map +1 -1
- package/dist/pd-input-time/PdInputTime.js +48 -22
- package/dist/pd-input-time/pd-input-time.stories.d.ts +94 -0
- package/dist/pd-input-time/pd-input-time.stories.d.ts.map +1 -0
- package/dist/pd-panel-button/PdPanelButton.d.ts +50 -34
- package/dist/pd-panel-button/PdPanelButton.d.ts.map +1 -1
- package/dist/pd-panel-button/PdPanelButton.js +149 -262
- package/dist/pd-panel-button/pd-panel-button.stories.d.ts +55 -25
- package/dist/pd-panel-button/pd-panel-button.stories.d.ts.map +1 -1
- package/dist/pd-radio-group/PdRadioGroup.d.ts +14 -0
- package/dist/pd-radio-group/PdRadioGroup.d.ts.map +1 -1
- package/dist/pd-radio-group/PdRadioGroup.js +48 -11
- package/dist/pd-radio-group/pd-radio-group.stories.d.ts +37 -7
- package/dist/pd-radio-group/pd-radio-group.stories.d.ts.map +1 -1
- package/dist/pd-range/PdRange.d.ts +22 -2
- package/dist/pd-range/PdRange.d.ts.map +1 -1
- package/dist/pd-range/PdRange.js +54 -43
- package/dist/pd-range/pd-range.stories.d.ts +49 -7
- package/dist/pd-range/pd-range.stories.d.ts.map +1 -1
- package/dist/pd-select/PdSelect.d.ts +16 -4
- package/dist/pd-select/PdSelect.d.ts.map +1 -1
- package/dist/pd-select/PdSelect.js +23 -21
- package/dist/pd-select/pd-select.stories.d.ts +56 -35
- package/dist/pd-select/pd-select.stories.d.ts.map +1 -1
- package/dist/pd-suggestion-box/PdSuggestionBox.d.ts +74 -0
- package/dist/pd-suggestion-box/PdSuggestionBox.d.ts.map +1 -0
- package/dist/pd-suggestion-box/PdSuggestionBox.js +277 -0
- package/dist/pd-suggestion-box/PdSuggestionPanel.d.ts +42 -0
- package/dist/pd-suggestion-box/PdSuggestionPanel.d.ts.map +1 -0
- package/dist/pd-suggestion-box/PdSuggestionPanel.js +227 -0
- package/dist/pd-suggestion-box/pd-suggestion-box.d.ts +3 -0
- package/dist/pd-suggestion-box/pd-suggestion-box.d.ts.map +1 -0
- package/dist/pd-suggestion-box/pd-suggestion-box.stories.d.ts +79 -0
- package/dist/pd-suggestion-box/pd-suggestion-box.stories.d.ts.map +1 -0
- package/dist/pd-suggestion-box.d.ts +2 -0
- package/dist/pd-suggestion-box.js +8 -0
- package/dist/pd-utils/dist/position-helper.js +35 -0
- package/dist/stories/pd-forms-overview.stories.d.ts +48 -0
- package/dist/stories/pd-forms-overview.stories.d.ts.map +1 -0
- package/dist/stories/story-helpers.d.ts +10 -0
- package/dist/stories/story-helpers.d.ts.map +1 -0
- package/dist/styles/shared-input-field-styles.d.ts.map +1 -1
- package/dist/styles/shared-input-field-styles.js +13 -19
- package/dist/styles/shared-input-styles.d.ts.map +1 -1
- package/dist/styles/shared-input-styles.js +18 -14
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -4
- package/dist/pd-form-container/form-container.stories.d.ts +0 -28
- package/dist/pd-form-container/form-container.stories.d.ts.map +0 -1
- package/dist/pd-form-container/form-container2.stories.d.ts +0 -8
- package/dist/pd-form-container/form-container2.stories.d.ts.map +0 -1
- package/dist/pd-form-container/form-container3.stories.d.ts +0 -11
- package/dist/pd-form-container/form-container3.stories.d.ts.map +0 -1
- package/dist/stories/01_index.stories.d.ts +0 -58
- package/dist/stories/01_index.stories.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { css, html } from 'lit';
|
|
1
|
+
import { css, nothing, html } from 'lit';
|
|
2
2
|
import { property } from 'lit/decorators.js';
|
|
3
3
|
import { classMap } from 'lit/directives/class-map.js';
|
|
4
4
|
import '@progressive-development/pd-icon/pd-icon';
|
|
@@ -15,6 +15,12 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
15
15
|
return result;
|
|
16
16
|
};
|
|
17
17
|
class PdInputTime extends PdBaseInputElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.clickableIcon = false;
|
|
21
|
+
this.iconLabel = "";
|
|
22
|
+
this._inputType = INPUT_TYPE_TIME;
|
|
23
|
+
}
|
|
18
24
|
static get styles() {
|
|
19
25
|
return [
|
|
20
26
|
PdBaseInputElement.styles,
|
|
@@ -25,12 +31,9 @@ class PdInputTime extends PdBaseInputElement {
|
|
|
25
31
|
`
|
|
26
32
|
];
|
|
27
33
|
}
|
|
28
|
-
constructor() {
|
|
29
|
-
super();
|
|
30
|
-
this._inputType = INPUT_TYPE_TIME;
|
|
31
|
-
}
|
|
32
34
|
render() {
|
|
33
35
|
const inputId = `${this.id}Input`;
|
|
36
|
+
const errorId = `${this.id}Error`;
|
|
34
37
|
return html`
|
|
35
38
|
${this._renderLabel(inputId)}
|
|
36
39
|
<div
|
|
@@ -40,38 +43,61 @@ class PdInputTime extends PdBaseInputElement {
|
|
|
40
43
|
})
|
|
41
44
|
)}"
|
|
42
45
|
>
|
|
43
|
-
${this.icon ? html
|
|
44
|
-
icon
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
${this.icon ? html`
|
|
47
|
+
<pd-icon
|
|
48
|
+
icon="${this.icon}"
|
|
49
|
+
?activeIcon="${this.clickableIcon}"
|
|
50
|
+
class="infield-icon"
|
|
51
|
+
tabindex="${this.clickableIcon ? 0 : -1}"
|
|
52
|
+
role="${this.clickableIcon ? "button" : "img"}"
|
|
53
|
+
aria-label="${this.clickableIcon ? this.iconLabel : ""}"
|
|
54
|
+
aria-hidden="${!this.clickableIcon}"
|
|
55
|
+
@click="${this.clickableIcon ? this._iconClicked : null}"
|
|
56
|
+
@keydown="${this.clickableIcon ? this._onIconKeyDown : null}"
|
|
57
|
+
></pd-icon>
|
|
58
|
+
` : nothing}
|
|
49
59
|
<input
|
|
50
|
-
id
|
|
51
|
-
name
|
|
60
|
+
id="${inputId}"
|
|
61
|
+
name="${this.name || this.valueName || this.autoCompleteName}"
|
|
52
62
|
class="input-style ${this.gradient ? "gradient" : ""}"
|
|
53
63
|
type="time"
|
|
54
|
-
.value
|
|
55
|
-
?readonly
|
|
56
|
-
?disabled
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
@
|
|
60
|
-
@
|
|
64
|
+
.value="${this._value}"
|
|
65
|
+
?readonly="${this.readonly}"
|
|
66
|
+
?disabled="${this.disabled}"
|
|
67
|
+
aria-invalid="${this._invalid}"
|
|
68
|
+
aria-describedby="${this._errorMsg ? errorId : ""}"
|
|
69
|
+
@keyup="${this._onKeyUp}"
|
|
70
|
+
@change="${this._onChange}"
|
|
71
|
+
@blur="${this._onBlur}"
|
|
72
|
+
@focus="${this._onFocus}"
|
|
61
73
|
/>
|
|
62
74
|
</div>
|
|
63
|
-
${this._renderErrorMsg()}
|
|
75
|
+
${this._renderErrorMsg(errorId)}
|
|
64
76
|
`;
|
|
65
77
|
}
|
|
66
78
|
_onChange(e) {
|
|
67
79
|
this._handleChangedValue(this._input.value, e, true);
|
|
68
80
|
}
|
|
69
81
|
_iconClicked() {
|
|
70
|
-
this.dispatchEvent(
|
|
82
|
+
this.dispatchEvent(
|
|
83
|
+
new CustomEvent("input-icon-click", { bubbles: true, composed: true })
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
_onIconKeyDown(event) {
|
|
87
|
+
if (event.key === " " || event.key === "Enter") {
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
this._iconClicked();
|
|
90
|
+
}
|
|
71
91
|
}
|
|
72
92
|
}
|
|
73
93
|
__decorateClass([
|
|
74
94
|
property({ type: String })
|
|
75
95
|
], PdInputTime.prototype, "icon");
|
|
96
|
+
__decorateClass([
|
|
97
|
+
property({ type: Boolean })
|
|
98
|
+
], PdInputTime.prototype, "clickableIcon");
|
|
99
|
+
__decorateClass([
|
|
100
|
+
property({ type: String })
|
|
101
|
+
], PdInputTime.prototype, "iconLabel");
|
|
76
102
|
|
|
77
103
|
export { PdInputTime };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
/**
|
|
3
|
+
* Args interface for pd-input-time stories.
|
|
4
|
+
*/
|
|
5
|
+
interface PdInputTimeArgs {
|
|
6
|
+
/** Label text displayed above the input */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Initial value in HH:MM format */
|
|
9
|
+
initValue: string;
|
|
10
|
+
/** Helper text displayed on hover */
|
|
11
|
+
helperTxt: string;
|
|
12
|
+
/** Whether the field is required */
|
|
13
|
+
required: boolean;
|
|
14
|
+
/** Custom required field error message */
|
|
15
|
+
requiredMsg: string;
|
|
16
|
+
/** Whether the field is disabled */
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
/** Whether the field is readonly */
|
|
19
|
+
readonly: boolean;
|
|
20
|
+
/** Icon name to display */
|
|
21
|
+
icon: string;
|
|
22
|
+
/** Whether to show gradient styling */
|
|
23
|
+
gradient: boolean;
|
|
24
|
+
/** Value name for form registration */
|
|
25
|
+
valueName: string;
|
|
26
|
+
/** Placeholder text */
|
|
27
|
+
placeHolder: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* pd-input-time is a web component for time input with native browser support.
|
|
31
|
+
*
|
|
32
|
+
* ## Features
|
|
33
|
+
* - Native HTML5 time input with browser picker
|
|
34
|
+
* - Optional icon display
|
|
35
|
+
* - Form integration with validation
|
|
36
|
+
* - Required field validation
|
|
37
|
+
* - Disabled and readonly states
|
|
38
|
+
* - Helper text support via hover
|
|
39
|
+
*/
|
|
40
|
+
declare const meta: {
|
|
41
|
+
title: string;
|
|
42
|
+
component: string;
|
|
43
|
+
tags: string[];
|
|
44
|
+
render: (args: PdInputTimeArgs) => import('lit').TemplateResult<1>;
|
|
45
|
+
args: {
|
|
46
|
+
label: string;
|
|
47
|
+
initValue: string;
|
|
48
|
+
helperTxt: string;
|
|
49
|
+
required: false;
|
|
50
|
+
requiredMsg: string;
|
|
51
|
+
disabled: false;
|
|
52
|
+
readonly: false;
|
|
53
|
+
icon: string;
|
|
54
|
+
gradient: false;
|
|
55
|
+
valueName: string;
|
|
56
|
+
placeHolder: string;
|
|
57
|
+
};
|
|
58
|
+
parameters: {
|
|
59
|
+
actions: {
|
|
60
|
+
handles: string[];
|
|
61
|
+
};
|
|
62
|
+
pdDocs: {
|
|
63
|
+
accessibility: {
|
|
64
|
+
keyboard: {
|
|
65
|
+
key: string;
|
|
66
|
+
description: string;
|
|
67
|
+
}[];
|
|
68
|
+
aria: string[];
|
|
69
|
+
};
|
|
70
|
+
usage: {
|
|
71
|
+
title: string;
|
|
72
|
+
code: string;
|
|
73
|
+
}[];
|
|
74
|
+
relatedComponents: {
|
|
75
|
+
tag: string;
|
|
76
|
+
package: string;
|
|
77
|
+
reason: string;
|
|
78
|
+
}[];
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export default meta;
|
|
83
|
+
type Story = StoryObj<PdInputTimeArgs>;
|
|
84
|
+
/** Default time input with label. Interactive via Controls panel. */
|
|
85
|
+
export declare const Default: Story;
|
|
86
|
+
/** All visual states of the time input at a glance. */
|
|
87
|
+
export declare const AllStates: Story;
|
|
88
|
+
/** Time range selection with start and end times in a form row. */
|
|
89
|
+
export declare const TimeRange: Story;
|
|
90
|
+
/** Time input in form container with validation, reset, and value retrieval. */
|
|
91
|
+
export declare const InFormContainer: Story;
|
|
92
|
+
/** CSS Custom Properties -- Branded and Redesigned variants. */
|
|
93
|
+
export declare const CustomStyling: Story;
|
|
94
|
+
//# sourceMappingURL=pd-input-time.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-input-time.stories.d.ts","sourceRoot":"","sources":["../../src/pd-input-time/pd-input-time.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,+BAA+B,CAAC;AACvC,OAAO,2CAA2C,CAAC;AACnD,OAAO,2BAA2B,CAAC;AAMnC;;GAEG;AACH,UAAU,eAAe;IACvB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAyCD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAMvC,qEAAqE;AACrE,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAMF,uDAAuD;AACvD,eAAO,MAAM,SAAS,EAAE,KAkFvB,CAAC;AAMF,mEAAmE;AACnE,eAAO,MAAM,SAAS,EAAE,KA2BvB,CAAC;AAMF,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,KAqE7B,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KAuG3B,CAAC"}
|
|
@@ -1,49 +1,65 @@
|
|
|
1
|
-
import { CSSResultGroup } from 'lit';
|
|
2
|
-
import {
|
|
1
|
+
import { CSSResultGroup, nothing, TemplateResult } from 'lit';
|
|
2
|
+
import { PdButton } from '../pd-button/PdButton.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Button with dropdown panel functionality. Extends PdButton with panel support.
|
|
5
5
|
*
|
|
6
|
-
* @
|
|
6
|
+
* @tagname pd-panel-button
|
|
7
|
+
* @summary Button with dropdown panel that opens on click.
|
|
7
8
|
*
|
|
8
|
-
* @slot
|
|
9
|
+
* @slot - Content displayed inside the dropdown panel.
|
|
9
10
|
*
|
|
10
|
-
* @event button-
|
|
11
|
-
* @event panel-button-toggled - Wird ausgelöst, wenn das Panel geöffnet oder geschlossen wird.
|
|
11
|
+
* @event panel-button-toggled - Fired when panel opens or closes. Emits `{open: boolean}`.
|
|
12
12
|
*
|
|
13
|
-
* @cssprop --pd-
|
|
14
|
-
* @cssprop --pd-
|
|
15
|
-
* @cssprop --pd-
|
|
16
|
-
* @cssprop --pd-
|
|
17
|
-
* @cssprop --pd-
|
|
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`.
|
|
13
|
+
* @cssprop --pd-panel-bg-col - Panel background color. Default: `--pd-default-bg-col`.
|
|
14
|
+
* @cssprop --pd-panel-min-width - Panel minimum width. Default: `auto`.
|
|
15
|
+
* @cssprop --pd-panel-max-width - Panel maximum width. Default: `300px`.
|
|
16
|
+
* @cssprop --pd-panel-padding - Panel content padding. Default: `1rem`.
|
|
17
|
+
* @cssprop --pd-panel-z-index - Panel stacking order. Default: `100`.
|
|
27
18
|
*/
|
|
28
|
-
export declare class PdPanelButton extends
|
|
29
|
-
|
|
30
|
-
buttonText: string;
|
|
31
|
-
value?: string;
|
|
32
|
-
panelButton: boolean;
|
|
33
|
-
loading: boolean;
|
|
34
|
-
selected: boolean;
|
|
35
|
-
primary: boolean;
|
|
36
|
-
disableOnClickTime: number;
|
|
19
|
+
export declare class PdPanelButton extends PdButton {
|
|
20
|
+
/** Hide close button in the panel. */
|
|
37
21
|
hideClose: boolean;
|
|
38
|
-
|
|
22
|
+
/** Open panel upward instead of downward. */
|
|
23
|
+
up: boolean;
|
|
24
|
+
/** Align panel to the right edge of the button. */
|
|
25
|
+
right: boolean;
|
|
26
|
+
/** @ignore */
|
|
39
27
|
private _panelOpen;
|
|
28
|
+
/** @ignore - Unique ID for aria-controls */
|
|
29
|
+
private _panelId;
|
|
30
|
+
/** @ignore - Bound method reference for event listener cleanup */
|
|
31
|
+
private _boundClosePanel;
|
|
32
|
+
/** @ignore - Bound method reference for keyboard event listener */
|
|
33
|
+
private _boundHandleKeyDown;
|
|
34
|
+
/** @ignore */
|
|
35
|
+
private _buttonEl;
|
|
40
36
|
static styles: CSSResultGroup;
|
|
41
37
|
connectedCallback(): void;
|
|
42
38
|
disconnectedCallback(): void;
|
|
39
|
+
protected get buttonAriaExpanded(): "true" | "false";
|
|
40
|
+
protected get buttonAriaHasPopup(): "true";
|
|
41
|
+
protected get buttonAriaControls(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Renders the toggle arrow inside the button (as suffix content).
|
|
44
|
+
* Uses activeIcon to switch between up/down arrow states.
|
|
45
|
+
* activeIcon=true shows arrow up (panel open), activeIcon=false shows arrow down (panel closed).
|
|
46
|
+
*/
|
|
47
|
+
protected renderSuffixContent(): TemplateResult | typeof nothing;
|
|
48
|
+
/**
|
|
49
|
+
* Renders the dropdown panel after the button.
|
|
50
|
+
*/
|
|
51
|
+
protected renderAfterButton(): TemplateResult | typeof nothing;
|
|
52
|
+
/**
|
|
53
|
+
* Override: Click toggles the panel instead of emitting button-clicked.
|
|
54
|
+
*/
|
|
55
|
+
protected handleClick(): void;
|
|
56
|
+
/** Focuses the internal button element. */
|
|
57
|
+
focus(): void;
|
|
43
58
|
private _closePanel;
|
|
44
|
-
render(): import('lit').TemplateResult<1>;
|
|
45
|
-
private _onKeyDown;
|
|
46
|
-
private _buttonClicked;
|
|
47
59
|
private _togglePanel;
|
|
60
|
+
/** Handles Escape key to close the panel */
|
|
61
|
+
private _handlePanelKeyDown;
|
|
62
|
+
/** Handles keyboard events on the close button */
|
|
63
|
+
private _handleCloseButtonKeyDown;
|
|
48
64
|
}
|
|
49
65
|
//# sourceMappingURL=PdPanelButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdPanelButton.d.ts","sourceRoot":"","sources":["../../src/pd-panel-button/PdPanelButton.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"PdPanelButton.d.ts","sourceRoot":"","sources":["../../src/pd-panel-button/PdPanelButton.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAa,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAKzC,sCAAsC;IAEtC,SAAS,UAAS;IAElB,6CAA6C;IAE7C,EAAE,UAAS;IAEX,mDAAmD;IAEnD,KAAK,UAAS;IAMd,cAAc;IAEd,OAAO,CAAC,UAAU,CAAS;IAE3B,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAkC;IAElD,kEAAkE;IAClE,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,mEAAmE;IACnE,OAAO,CAAC,mBAAmB,CAAuC;IAElE,cAAc;IAEd,OAAO,CAAC,SAAS,CAAqB;IAMtC,OAAgB,MAAM,EAAE,cAAc,CA+FpC;IAMO,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAarC,cAAuB,kBAAkB,IAAI,MAAM,GAAG,OAAO,CAE5D;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAElD;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAElD;IAMD;;;;OAIG;cACgB,mBAAmB,IAAI,cAAc,GAAG,OAAO,OAAO;IAUzE;;OAEG;cACgB,iBAAiB,IAAI,cAAc,GAAG,OAAO,OAAO;IAgCvE;;OAEG;cACgB,WAAW,IAAI,IAAI;IAUtC,2CAA2C;IAC3B,KAAK,IAAI,IAAI;IAQ7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAWpB,4CAA4C;IAC5C,OAAO,CAAC,mBAAmB;IAO3B,kDAAkD;IAClD,OAAO,CAAC,yBAAyB;CAMlC"}
|