@progressive-development/pd-content 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 +42 -57
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/prism-java.js +3 -0
- package/dist/_virtual/prism-java2.js +3 -0
- package/dist/_virtual/prism-python.js +3 -0
- package/dist/_virtual/prism-python2.js +3 -0
- package/dist/_virtual/prism-typescript.js +3 -0
- package/dist/_virtual/prism-typescript2.js +3 -0
- package/dist/_virtual/prism.js +7 -0
- package/dist/_virtual/prism2.js +3 -0
- package/dist/generated/locales/be.d.ts +10 -0
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/de.d.ts +10 -0
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/en.d.ts +10 -0
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/locales/be.js +11 -1
- package/dist/locales/de.js +11 -1
- package/dist/locales/en.js +11 -1
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-bash.js +235 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-java.js +135 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-json.js +27 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.js +415 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-python.js +76 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-sql.js +32 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-typescript.js +71 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-yaml.js +83 -0
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/prism.js +1959 -0
- package/dist/pd-box-view/PdBoxView.d.ts +9 -0
- package/dist/pd-box-view/PdBoxView.d.ts.map +1 -1
- package/dist/pd-box-view/pd-box-view.stories.d.ts +41 -8
- package/dist/pd-box-view/pd-box-view.stories.d.ts.map +1 -1
- package/dist/pd-code-snippet/PdCodeSnippet.d.ts +105 -0
- package/dist/pd-code-snippet/PdCodeSnippet.d.ts.map +1 -0
- package/dist/pd-code-snippet/PdCodeSnippet.js +504 -0
- package/dist/pd-code-snippet/pd-code-snippet.d.ts +4 -0
- package/dist/pd-code-snippet/pd-code-snippet.d.ts.map +1 -0
- package/dist/pd-code-snippet/pd-code-snippet.js +5 -0
- package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts +55 -0
- package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts.map +1 -0
- package/dist/pd-collapse/PdCollapse.d.ts +31 -7
- package/dist/pd-collapse/PdCollapse.d.ts.map +1 -1
- package/dist/pd-collapse/PdCollapse.js +73 -15
- package/dist/pd-collapse/pd-collapse.stories.d.ts +49 -21
- package/dist/pd-collapse/pd-collapse.stories.d.ts.map +1 -1
- package/dist/pd-collapse-group/PdCollapseGroup.d.ts +8 -7
- package/dist/pd-collapse-group/PdCollapseGroup.d.ts.map +1 -1
- package/dist/pd-collapse-group/PdCollapseGroup.js +7 -6
- package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts +39 -4
- package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts.map +1 -1
- package/dist/pd-edit-content/PdEditContent.d.ts +13 -0
- package/dist/pd-edit-content/PdEditContent.d.ts.map +1 -1
- package/dist/pd-edit-content/PdEditContent.js +33 -7
- package/dist/pd-edit-content/pd-edit-content.stories.d.ts +54 -10
- package/dist/pd-edit-content/pd-edit-content.stories.d.ts.map +1 -1
- package/dist/pd-loading-state/PdLoadingState.d.ts +64 -0
- package/dist/pd-loading-state/PdLoadingState.d.ts.map +1 -0
- package/dist/pd-loading-state/PdLoadingState.js +219 -0
- package/dist/pd-loading-state/pd-loading-state.d.ts +6 -0
- package/dist/pd-loading-state/pd-loading-state.d.ts.map +1 -0
- package/dist/pd-loading-state/pd-loading-state.stories.d.ts +48 -0
- package/dist/pd-loading-state/pd-loading-state.stories.d.ts.map +1 -0
- package/dist/pd-loading-state.d.ts +2 -0
- package/dist/pd-loading-state.js +1 -0
- package/dist/pd-more-info/PdMoreInfo.d.ts +6 -2
- package/dist/pd-more-info/PdMoreInfo.d.ts.map +1 -1
- package/dist/pd-more-info/PdMoreInfo.js +30 -2
- package/dist/pd-more-info/pd-more-info.stories.d.ts +41 -5
- package/dist/pd-more-info/pd-more-info.stories.d.ts.map +1 -1
- package/dist/pd-notice-box/PdNoticeBox.d.ts +88 -0
- package/dist/pd-notice-box/PdNoticeBox.d.ts.map +1 -0
- package/dist/pd-notice-box/PdNoticeBox.js +224 -0
- package/dist/pd-notice-box/pd-notice-box.d.ts +3 -0
- package/dist/pd-notice-box/pd-notice-box.d.ts.map +1 -0
- package/dist/pd-notice-box/pd-notice-box.js +8 -0
- package/dist/pd-notice-box/pd-notice-box.stories.d.ts +58 -0
- package/dist/pd-notice-box/pd-notice-box.stories.d.ts.map +1 -0
- package/dist/pd-panel-viewer/PdPanel.d.ts +5 -0
- package/dist/pd-panel-viewer/PdPanel.d.ts.map +1 -1
- package/dist/pd-panel-viewer/PdPanelViewer.d.ts +53 -2
- package/dist/pd-panel-viewer/PdPanelViewer.d.ts.map +1 -1
- package/dist/pd-panel-viewer/PdPanelViewer.js +188 -33
- package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts +46 -0
- package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts.map +1 -0
- package/dist/pd-resize-content/PdResizeContent.d.ts +12 -10
- package/dist/pd-resize-content/PdResizeContent.d.ts.map +1 -1
- package/dist/pd-resize-content/PdResizeContent.js +19 -9
- package/dist/pd-resize-content/pd-resize-content.stories.d.ts +36 -4
- package/dist/pd-resize-content/pd-resize-content.stories.d.ts.map +1 -1
- package/dist/pd-tab/PdTab.d.ts +35 -2
- package/dist/pd-tab/PdTab.d.ts.map +1 -1
- package/dist/pd-tab/PdTab.js +181 -68
- package/dist/pd-tab/pd-tab.stories.d.ts +51 -21
- package/dist/pd-tab/pd-tab.stories.d.ts.map +1 -1
- package/dist/pd-timeline/PdTimeline.d.ts +50 -0
- package/dist/pd-timeline/PdTimeline.d.ts.map +1 -0
- package/dist/pd-timeline/PdTimeline.js +315 -0
- package/dist/pd-timeline/pd-timeline.d.ts +3 -0
- package/dist/pd-timeline/pd-timeline.d.ts.map +1 -0
- package/dist/pd-timeline/pd-timeline.stories.d.ts +56 -0
- package/dist/pd-timeline/pd-timeline.stories.d.ts.map +1 -0
- package/dist/pd-timeline-wizard/PdTimelineWizard.d.ts +39 -0
- package/dist/pd-timeline-wizard/PdTimelineWizard.d.ts.map +1 -0
- package/dist/pd-timeline-wizard/PdTimelineWizard.js +150 -0
- package/dist/pd-timeline-wizard/pd-timeline-wizard.d.ts +3 -0
- package/dist/pd-timeline-wizard/pd-timeline-wizard.d.ts.map +1 -0
- package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts +54 -0
- package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts.map +1 -0
- package/dist/pd-timeline-wizard.d.ts +2 -0
- package/dist/pd-timeline-wizard.js +8 -0
- package/dist/pd-timeline.d.ts +2 -0
- package/dist/pd-timeline.js +8 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +16 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { html, LitElement, css } from 'lit';
|
|
1
|
+
import { html, LitElement, css, nothing } from 'lit';
|
|
2
2
|
import { property } from 'lit/decorators.js';
|
|
3
|
+
import { msg } from '@lit/localize';
|
|
3
4
|
|
|
4
5
|
var __defProp = Object.defineProperty;
|
|
5
6
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -14,6 +15,7 @@ const editIcon = html`<svg
|
|
|
14
15
|
class="edit"
|
|
15
16
|
viewBox="0 0 19 19"
|
|
16
17
|
xmlns="http://www.w3.org/2000/svg"
|
|
18
|
+
aria-hidden="true"
|
|
17
19
|
>
|
|
18
20
|
<g>
|
|
19
21
|
<path
|
|
@@ -99,6 +101,12 @@ const _PdEditContent = class _PdEditContent extends LitElement {
|
|
|
99
101
|
--edit-fill-color: var(--pd-default-font-link-col-hover);
|
|
100
102
|
}
|
|
101
103
|
|
|
104
|
+
a:focus-visible {
|
|
105
|
+
outline: 2px solid var(--pd-focus-ring-col);
|
|
106
|
+
outline-offset: 2px;
|
|
107
|
+
border-radius: var(--pd-radius-sm, 2px);
|
|
108
|
+
}
|
|
109
|
+
|
|
102
110
|
.edit {
|
|
103
111
|
width: 1.1em;
|
|
104
112
|
}
|
|
@@ -146,7 +154,7 @@ const _PdEditContent = class _PdEditContent extends LitElement {
|
|
|
146
154
|
<div class="circle">
|
|
147
155
|
<span class="step-number">${this.stepNumber}</span>
|
|
148
156
|
</div>
|
|
149
|
-
` :
|
|
157
|
+
` : nothing}
|
|
150
158
|
<h4>${this.contentTitle}</h4>
|
|
151
159
|
</div>
|
|
152
160
|
<div>
|
|
@@ -159,19 +167,31 @@ const _PdEditContent = class _PdEditContent extends LitElement {
|
|
|
159
167
|
</div>`
|
|
160
168
|
)}
|
|
161
169
|
</div>
|
|
162
|
-
` :
|
|
170
|
+
` : nothing}
|
|
163
171
|
<slot></slot>
|
|
164
172
|
<div class="link-row">
|
|
165
173
|
${!this.editDisabled ? html`
|
|
166
|
-
<a
|
|
174
|
+
<a
|
|
175
|
+
@click="${this._editContent}"
|
|
176
|
+
@keydown="${this._onLinkKeyDown}"
|
|
177
|
+
role="button"
|
|
178
|
+
tabindex="0"
|
|
179
|
+
>
|
|
167
180
|
<div class="link-item">
|
|
168
|
-
${editIcon}
|
|
181
|
+
${editIcon} ${msg("Edit", { id: "pd.edit.content.edit" })}
|
|
182
|
+
${this.contentTitle}
|
|
169
183
|
</div>
|
|
170
184
|
</a>
|
|
171
|
-
` :
|
|
185
|
+
` : nothing}
|
|
172
186
|
${this.editLinks.map(
|
|
173
187
|
(link) => html`
|
|
174
|
-
<a
|
|
188
|
+
<a
|
|
189
|
+
data-link="${link.key}"
|
|
190
|
+
@click="${this._editContent}"
|
|
191
|
+
@keydown="${this._onLinkKeyDown}"
|
|
192
|
+
role="button"
|
|
193
|
+
tabindex="0"
|
|
194
|
+
>
|
|
175
195
|
<div class="link-item">
|
|
176
196
|
${_PdEditContent._getLinkLogo(link)} ${link.txt}
|
|
177
197
|
</div>
|
|
@@ -197,6 +217,12 @@ const _PdEditContent = class _PdEditContent extends LitElement {
|
|
|
197
217
|
})
|
|
198
218
|
);
|
|
199
219
|
}
|
|
220
|
+
_onLinkKeyDown(e) {
|
|
221
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
222
|
+
e.preventDefault();
|
|
223
|
+
this._editContent(e);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
200
226
|
};
|
|
201
227
|
__decorateClass([
|
|
202
228
|
property({ type: Number })
|
|
@@ -1,11 +1,55 @@
|
|
|
1
|
-
import { Meta,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import { PdEditContentDataEntry, PdEditLink } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Story arguments interface for pd-edit-content component.
|
|
5
|
+
* Maps to the component's public API.
|
|
6
|
+
*/
|
|
7
|
+
interface PdEditContentArgs {
|
|
8
|
+
/** Step number displayed in circle (optional) */
|
|
9
|
+
stepNumber?: number;
|
|
10
|
+
/** Title of the content section */
|
|
11
|
+
contentTitle: string;
|
|
12
|
+
/** Data entries to display as label-value pairs */
|
|
13
|
+
data: PdEditContentDataEntry[];
|
|
14
|
+
/** Edit links displayed below the content */
|
|
15
|
+
editLinks: PdEditLink[];
|
|
16
|
+
/** Whether the main edit button is disabled */
|
|
17
|
+
editDisabled: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* ## pd-edit-content
|
|
21
|
+
*
|
|
22
|
+
* A content card component for displaying editable data sections, commonly used in wizard flows.
|
|
23
|
+
*
|
|
24
|
+
* ### Features
|
|
25
|
+
* - Optional numbered step badge for wizard flows
|
|
26
|
+
* - Data display as label-value pairs from a data array
|
|
27
|
+
* - Configurable edit action links with icons
|
|
28
|
+
* - Default slot for custom additional content
|
|
29
|
+
* - Edit control: can disable all editing entirely
|
|
30
|
+
* - Localized "Edit" label via `@lit/localize`
|
|
31
|
+
*
|
|
32
|
+
* ### Accessibility
|
|
33
|
+
* - Edit links use `role="button"` with `tabindex="0"` and respond to Enter/Space
|
|
34
|
+
* - Focus-visible outline on focused interactive elements
|
|
35
|
+
* - Decorative edit icons have `aria-hidden="true"`
|
|
36
|
+
* - Step number badge provides visual context for wizard flows
|
|
37
|
+
*/
|
|
38
|
+
declare const meta: Meta<PdEditContentArgs>;
|
|
39
|
+
export default meta;
|
|
40
|
+
type Story = StoryObj<PdEditContentArgs>;
|
|
41
|
+
/** Default edit-content with step number and data. Interactive via Controls panel. */
|
|
42
|
+
export declare const Default: Story;
|
|
43
|
+
/** All edit-content configurations at a glance. */
|
|
44
|
+
export declare const AllVariants: Story;
|
|
45
|
+
/** Edit-content with additional action links below the data. */
|
|
46
|
+
export declare const WithEditLinks: Story;
|
|
47
|
+
/** Edit-content with custom HTML provided via the default slot. */
|
|
48
|
+
export declare const WithSlotContent: Story;
|
|
49
|
+
/** Multiple edit-content cards arranged in a pd-box-view grid. */
|
|
50
|
+
export declare const InGridLayout: Story;
|
|
51
|
+
/** Sequential numbered step cards for wizard flows. */
|
|
52
|
+
export declare const NumberedSteps: Story;
|
|
53
|
+
/** CSS Custom Properties -- Branded and Redesigned variants. */
|
|
54
|
+
export declare const CustomStyling: Story;
|
|
11
55
|
//# sourceMappingURL=pd-edit-content.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-edit-content.stories.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/pd-edit-content.stories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pd-edit-content.stories.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/pd-edit-content.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,sBAAsB,CAAC;AAC9B,OAAO,+BAA+B,CAAC;AAMvC;;;GAGG;AACH,UAAU,iBAAiB;IACzB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;CACvB;AAqBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAqFjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAMzC,sFAAsF;AACtF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAMF,mDAAmD;AACnD,eAAO,MAAM,WAAW,EAAE,KA2DzB,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AAMF,mEAAmE;AACnE,eAAO,MAAM,eAAe,EAAE,KAqC7B,CAAC;AAMF,kEAAkE;AAClE,eAAO,MAAM,YAAY,EAAE,KAgD1B,CAAC;AAMF,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,KA8B3B,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KA2E3B,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { LitElement, CSSResultGroup } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Sub-task item for loading state progress tracking.
|
|
4
|
+
*/
|
|
5
|
+
export interface LoadingSubTask {
|
|
6
|
+
/** Unique identifier for the sub-task */
|
|
7
|
+
actionKey: string;
|
|
8
|
+
/** Whether the sub-task is completed */
|
|
9
|
+
completed: boolean;
|
|
10
|
+
/** Display text for the sub-task */
|
|
11
|
+
loadingTxt: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Loading state configuration object.
|
|
15
|
+
*/
|
|
16
|
+
export interface LoadingState {
|
|
17
|
+
/** Timestamp when loading started */
|
|
18
|
+
creation?: Date;
|
|
19
|
+
/** Whether loading is active */
|
|
20
|
+
isLoading: boolean;
|
|
21
|
+
/** Unique identifier for the loading action */
|
|
22
|
+
actionKey: string;
|
|
23
|
+
/** Show as fullscreen modal overlay */
|
|
24
|
+
modal?: boolean;
|
|
25
|
+
/** Show as small background indicator (bottom-right corner) */
|
|
26
|
+
smallBackground?: boolean;
|
|
27
|
+
/** Custom loading message */
|
|
28
|
+
loadingTxt?: string;
|
|
29
|
+
/** Optional sub-tasks to display progress */
|
|
30
|
+
subTask?: LoadingSubTask[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Loading state indicator component with modal and background modes.
|
|
34
|
+
*
|
|
35
|
+
* @tagname pd-loading-state
|
|
36
|
+
* @summary Displays loading progress with optional modal overlay or background indicator.
|
|
37
|
+
*
|
|
38
|
+
* @slot - Default slot (unused, component renders based on loadingState property)
|
|
39
|
+
*
|
|
40
|
+
* @cssprop --pd-popup-modal-bg-rgba - Modal overlay background color. Default: `rgba(175, 193, 210, 0.8)`.
|
|
41
|
+
* @cssprop --pd-loading-state-background-bg - Background mode container color. Default: `white`.
|
|
42
|
+
* @cssprop --pd-loading-state-bg-col - Content box background. Default: `#edf7fd`.
|
|
43
|
+
* @cssprop --pd-loading-state-border-col - Content box border color. Default: `var(--pd-default-col)`.
|
|
44
|
+
* @cssprop --pd-loading-state-completed-col - Completed sub-task icon color. Default: `green`.
|
|
45
|
+
* @cssprop --pd-loading-state-loader-bg - Spinner background color. Default: `#0a3a48`.
|
|
46
|
+
* @cssprop --pd-loading-state-loader-fg - Spinner foreground (animated) color. Default: `#067394`.
|
|
47
|
+
* @cssprop --pd-loading-state-loading-col - In-progress sub-task icon color. Default: `orange`.
|
|
48
|
+
*/
|
|
49
|
+
export declare class PdLoadingState extends LitElement {
|
|
50
|
+
/**
|
|
51
|
+
* Loading state configuration object.
|
|
52
|
+
* Controls visibility, mode (modal/background), and content.
|
|
53
|
+
*/
|
|
54
|
+
loadingState?: LoadingState;
|
|
55
|
+
static styles: CSSResultGroup;
|
|
56
|
+
render(): import('lit').TemplateResult<1> | "";
|
|
57
|
+
private _renderContent;
|
|
58
|
+
}
|
|
59
|
+
declare global {
|
|
60
|
+
interface HTMLElementTagNameMap {
|
|
61
|
+
"pd-loading-state": PdLoadingState;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=PdLoadingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdLoadingState.d.ts","sourceRoot":"","sources":["../../src/pd-loading-state/PdLoadingState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAK5D,OAAO,0CAA0C,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAEa,cAAe,SAAQ,UAAU;IAC5C;;;OAGG;IAEH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,OAAgB,MAAM,EAAE,cAAc,CAuHpC;IAEO,MAAM;IAsBf,OAAO,CAAC,cAAc;CAgEvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { css, LitElement, html } from 'lit';
|
|
2
|
+
import { property, customElement } from 'lit/decorators.js';
|
|
3
|
+
import { localized, msg } from '@lit/localize';
|
|
4
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
+
import '@progressive-development/pd-icon/pd-icon';
|
|
6
|
+
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
10
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
11
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
12
|
+
if (decorator = decorators[i])
|
|
13
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
14
|
+
if (kind && result) __defProp(target, key, result);
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
17
|
+
let PdLoadingState = class extends LitElement {
|
|
18
|
+
render() {
|
|
19
|
+
if (!this.loadingState) {
|
|
20
|
+
return "";
|
|
21
|
+
}
|
|
22
|
+
return this.loadingState.modal ? html`
|
|
23
|
+
<div
|
|
24
|
+
id="modalId"
|
|
25
|
+
class="modal"
|
|
26
|
+
role="dialog"
|
|
27
|
+
aria-modal="true"
|
|
28
|
+
aria-busy="true"
|
|
29
|
+
aria-label="${msg("Ladevorgang", {
|
|
30
|
+
id: "pdContent.loadingstate.ariaLabel"
|
|
31
|
+
})}"
|
|
32
|
+
>
|
|
33
|
+
${this._renderContent()}
|
|
34
|
+
</div>
|
|
35
|
+
` : this._renderContent();
|
|
36
|
+
}
|
|
37
|
+
_renderContent() {
|
|
38
|
+
if (!this.loadingState) {
|
|
39
|
+
return "";
|
|
40
|
+
}
|
|
41
|
+
return html`
|
|
42
|
+
<div
|
|
43
|
+
class="${classMap({
|
|
44
|
+
content: !this.loadingState.smallBackground,
|
|
45
|
+
"no-modal-content": this.loadingState.modal !== true && this.loadingState.smallBackground !== true,
|
|
46
|
+
"background-content": this.loadingState.smallBackground === true
|
|
47
|
+
})}"
|
|
48
|
+
role="status"
|
|
49
|
+
aria-live="polite"
|
|
50
|
+
>
|
|
51
|
+
<div
|
|
52
|
+
class="${this.loadingState.smallBackground ? "background-loader" : "loader"}"
|
|
53
|
+
role="progressbar"
|
|
54
|
+
aria-label="${msg("Laden", {
|
|
55
|
+
id: "pdContent.loadingstate.ariaLoading"
|
|
56
|
+
})}"
|
|
57
|
+
></div>
|
|
58
|
+
<p>
|
|
59
|
+
${this.loadingState.loadingTxt || (this.loadingState.smallBackground ? msg("Daten werden synchronisiert", {
|
|
60
|
+
id: "pdContent.loadingstate.syncState"
|
|
61
|
+
}) : msg("Bitte warten, Daten werden geladen", {
|
|
62
|
+
id: "pdContent.loadingstate.pleaseWait"
|
|
63
|
+
}))}
|
|
64
|
+
</p>
|
|
65
|
+
${this.loadingState.subTask && this.loadingState.subTask.length > 0 ? html`
|
|
66
|
+
<ul class="sub-ul">
|
|
67
|
+
${this.loadingState.subTask.map(
|
|
68
|
+
(task) => html`
|
|
69
|
+
<li>
|
|
70
|
+
<div class="sub-row">
|
|
71
|
+
${task.loadingTxt}
|
|
72
|
+
${task.completed ? html`<pd-icon
|
|
73
|
+
class="sub-icon completed"
|
|
74
|
+
icon="checkBox"
|
|
75
|
+
activeIcon
|
|
76
|
+
></pd-icon>` : html`<pd-icon
|
|
77
|
+
class="sub-icon loading"
|
|
78
|
+
icon="syncIcon"
|
|
79
|
+
activeIcon
|
|
80
|
+
></pd-icon>`}
|
|
81
|
+
</div>
|
|
82
|
+
</li>
|
|
83
|
+
`
|
|
84
|
+
)}
|
|
85
|
+
</ul>
|
|
86
|
+
` : ""}
|
|
87
|
+
</div>
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
PdLoadingState.styles = [
|
|
92
|
+
css`
|
|
93
|
+
:host {
|
|
94
|
+
display: block;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Modal overlay (fullscreen) */
|
|
98
|
+
.modal {
|
|
99
|
+
position: fixed;
|
|
100
|
+
left: 0;
|
|
101
|
+
top: 0;
|
|
102
|
+
z-index: 500;
|
|
103
|
+
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: center;
|
|
106
|
+
justify-content: center;
|
|
107
|
+
|
|
108
|
+
width: 100%;
|
|
109
|
+
height: 100%;
|
|
110
|
+
overflow: auto;
|
|
111
|
+
background-color: var(
|
|
112
|
+
--pd-popup-modal-bg-rgba,
|
|
113
|
+
rgba(175, 193, 210, 0.8)
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* Centered content without modal */
|
|
118
|
+
.no-modal-content {
|
|
119
|
+
position: fixed;
|
|
120
|
+
left: 50%;
|
|
121
|
+
top: 50%;
|
|
122
|
+
transform: translate(-50%, -50%);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Main content box */
|
|
126
|
+
.content {
|
|
127
|
+
padding: 1em;
|
|
128
|
+
text-align: center;
|
|
129
|
+
background-color: var(--pd-loading-state-bg-col, #edf7fd);
|
|
130
|
+
border: 2px solid
|
|
131
|
+
var(--pd-loading-state-border-col, var(--pd-default-col, #067394));
|
|
132
|
+
z-index: 101;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Background mode (bottom-right corner) */
|
|
136
|
+
.background-content {
|
|
137
|
+
position: fixed;
|
|
138
|
+
right: 0em;
|
|
139
|
+
bottom: 0em;
|
|
140
|
+
|
|
141
|
+
padding: 1em;
|
|
142
|
+
z-index: 600;
|
|
143
|
+
|
|
144
|
+
display: flex;
|
|
145
|
+
gap: 0.5em;
|
|
146
|
+
align-items: center;
|
|
147
|
+
|
|
148
|
+
background-color: var(--pd-loading-state-background-bg, white);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* Main spinner */
|
|
152
|
+
.loader {
|
|
153
|
+
border: 16px solid var(--pd-loading-state-loader-bg, #0a3a48);
|
|
154
|
+
border-top: 16px solid var(--pd-loading-state-loader-fg, #067394);
|
|
155
|
+
border-radius: 50%;
|
|
156
|
+
width: 30px;
|
|
157
|
+
height: 30px;
|
|
158
|
+
animation: spin 2s linear infinite;
|
|
159
|
+
|
|
160
|
+
margin-left: auto;
|
|
161
|
+
margin-right: auto;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* Small spinner for background mode */
|
|
165
|
+
.background-loader {
|
|
166
|
+
border: 10px solid var(--pd-loading-state-loader-bg, #0a3a48);
|
|
167
|
+
border-top: 10px solid var(--pd-loading-state-loader-fg, #067394);
|
|
168
|
+
border-radius: 50%;
|
|
169
|
+
width: 10px;
|
|
170
|
+
height: 10px;
|
|
171
|
+
animation: spin 2s linear infinite;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* Sub-task list */
|
|
175
|
+
.sub-ul {
|
|
176
|
+
text-align: start;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.sub-row {
|
|
180
|
+
display: flex;
|
|
181
|
+
align-items: center;
|
|
182
|
+
justify-content: space-between;
|
|
183
|
+
padding-right: 10px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.sub-icon {
|
|
187
|
+
--pd-icon-size: 1rem;
|
|
188
|
+
padding: 0;
|
|
189
|
+
vertical-align: baseline;
|
|
190
|
+
margin: 0 0.25rem 0 0;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.completed {
|
|
194
|
+
--pd-icon-col-active: var(--pd-loading-state-completed-col, green);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.loading {
|
|
198
|
+
--pd-icon-col-active: var(--pd-loading-state-loading-col, orange);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@keyframes spin {
|
|
202
|
+
0% {
|
|
203
|
+
transform: rotate(0deg);
|
|
204
|
+
}
|
|
205
|
+
100% {
|
|
206
|
+
transform: rotate(360deg);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
`
|
|
210
|
+
];
|
|
211
|
+
__decorateClass([
|
|
212
|
+
property({ type: Object })
|
|
213
|
+
], PdLoadingState.prototype, "loadingState", 2);
|
|
214
|
+
PdLoadingState = __decorateClass([
|
|
215
|
+
localized(),
|
|
216
|
+
customElement("pd-loading-state")
|
|
217
|
+
], PdLoadingState);
|
|
218
|
+
|
|
219
|
+
export { PdLoadingState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-loading-state.d.ts","sourceRoot":"","sources":["../../src/pd-loading-state/pd-loading-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import { LoadingState } from './PdLoadingState.js';
|
|
3
|
+
/**
|
|
4
|
+
* Story arguments interface for pd-loading-state component.
|
|
5
|
+
* Maps to the component's public API.
|
|
6
|
+
*/
|
|
7
|
+
interface PdLoadingStateArgs {
|
|
8
|
+
/** Loading state configuration */
|
|
9
|
+
loadingState: LoadingState;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* ## pd-loading-state
|
|
13
|
+
*
|
|
14
|
+
* A loading state indicator component with multiple display modes for different
|
|
15
|
+
* use cases: modal overlay, centered inline, and background sync.
|
|
16
|
+
*
|
|
17
|
+
* ### Features
|
|
18
|
+
* - Modal mode: fullscreen overlay blocking user interaction
|
|
19
|
+
* - Background mode: small indicator in bottom-right corner
|
|
20
|
+
* - Centered mode: centered without overlay for inline loading
|
|
21
|
+
* - Sub-task progress tracking with completion states
|
|
22
|
+
* - Custom loading messages
|
|
23
|
+
* - CSS Custom Properties for full theming
|
|
24
|
+
*
|
|
25
|
+
* ### Accessibility
|
|
26
|
+
* - Uses `role="dialog"` with `aria-modal` and `aria-busy` for modal mode
|
|
27
|
+
* - Content area uses `role="status"` with `aria-live="polite"` for announcements
|
|
28
|
+
* - Spinner uses `role="progressbar"` with `aria-label`
|
|
29
|
+
* - Screen readers announce loading messages and sub-task status changes
|
|
30
|
+
*/
|
|
31
|
+
declare const meta: Meta<PdLoadingStateArgs>;
|
|
32
|
+
export default meta;
|
|
33
|
+
type Story = StoryObj<PdLoadingStateArgs>;
|
|
34
|
+
/** Default modal loading state with fullscreen overlay. */
|
|
35
|
+
export declare const Default: Story;
|
|
36
|
+
/** Modal loading state with a custom message. */
|
|
37
|
+
export declare const WithCustomMessage: Story;
|
|
38
|
+
/** Centered loading without modal overlay, useful for inline loading areas. */
|
|
39
|
+
export declare const CenteredNoModal: Story;
|
|
40
|
+
/** Small background indicator in bottom-right corner for non-blocking sync operations. */
|
|
41
|
+
export declare const BackgroundMode: Story;
|
|
42
|
+
/** Loading state with sub-task progress tracking. */
|
|
43
|
+
export declare const WithSubTasks: Story;
|
|
44
|
+
/** All non-modal loading state variants side by side. Modal variant excluded as it covers the entire viewport. */
|
|
45
|
+
export declare const AllVariants: Story;
|
|
46
|
+
/** CSS Custom Properties -- Branded and Redesigned variants. */
|
|
47
|
+
export declare const CustomStyling: Story;
|
|
48
|
+
//# sourceMappingURL=pd-loading-state.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-loading-state.stories.d.ts","sourceRoot":"","sources":["../../src/pd-loading-state/pd-loading-state.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,kCAAkC;IAClC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,kBAAkB,CA+ClC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAM1C,2DAA2D;AAC3D,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAMF,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAC;AAMF,+EAA+E;AAC/E,eAAO,MAAM,eAAe,EAAE,KAwB7B,CAAC;AAMF,0FAA0F;AAC1F,eAAO,MAAM,cAAc,EAAE,KAkC5B,CAAC;AAMF,qDAAqD;AACrD,eAAO,MAAM,YAAY,EAAE,KAkD1B,CAAC;AAMF,kHAAkH;AAClH,eAAO,MAAM,WAAW,EAAE,KA6FzB,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KA0H3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PdLoadingState } from './pd-loading-state/PdLoadingState.js';
|
|
@@ -5,20 +5,24 @@ import { LitElement, CSSResultGroup } from 'lit';
|
|
|
5
5
|
* `pd-more-info` Komponente zeigt zuerst einen kompakten Text (Slot `small-view`)
|
|
6
6
|
* und erlaubt es dem Nutzer, bei Klick weitere Informationen (Slot `large-view`) einzublenden.
|
|
7
7
|
*
|
|
8
|
-
* @slot small-view -
|
|
9
|
-
* @slot large-view -
|
|
8
|
+
* @slot small-view - Compact text block shown in the initial collapsed view.
|
|
9
|
+
* @slot large-view - Extended text block revealed after clicking "More information".
|
|
10
10
|
*
|
|
11
11
|
* @cssprop --pd-default-font-content-col - Textfarbe
|
|
12
12
|
* @cssprop --pd-default-font-content-size - Textgröße
|
|
13
|
+
* @cssprop --pd-default-font-content-family - Schriftart für Content
|
|
14
|
+
* @cssprop --pd-default-font-content-line-height - Zeilenhöhe für Content
|
|
13
15
|
* @cssprop --pd-default-font-link-family - Schriftart für Link
|
|
14
16
|
* @cssprop --pd-default-font-link-size - Schriftgröße für Link
|
|
15
17
|
* @cssprop --pd-default-font-link-col - Linkfarbe
|
|
16
18
|
* @cssprop --pd-default-font-link-col-hover - Hoverfarbe für Link
|
|
17
19
|
*/
|
|
18
20
|
export declare class PdMoreInfo extends LitElement {
|
|
21
|
+
/** @ignore */
|
|
19
22
|
private _lessInfo;
|
|
20
23
|
static styles: CSSResultGroup;
|
|
21
24
|
render(): import('lit').TemplateResult<1>;
|
|
25
|
+
private _onKeyDown;
|
|
22
26
|
private _showMoreInfo;
|
|
23
27
|
private _showLessInfo;
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdMoreInfo.d.ts","sourceRoot":"","sources":["../../src/pd-more-info/PdMoreInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5D
|
|
1
|
+
{"version":3,"file":"PdMoreInfo.d.ts","sourceRoot":"","sources":["../../src/pd-more-info/PdMoreInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,cAAc;IAEd,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAgB,MAAM,EAAE,cAAc,CAkCpC;IAEO,MAAM;IA8Bf,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;CAWtB"}
|
|
@@ -22,18 +22,34 @@ let PdMoreInfo = class extends LitElement {
|
|
|
22
22
|
<p>
|
|
23
23
|
${this._lessInfo ? html`
|
|
24
24
|
<slot name="small-view"></slot>
|
|
25
|
-
<a
|
|
25
|
+
<a
|
|
26
|
+
role="button"
|
|
27
|
+
tabindex="0"
|
|
28
|
+
@click=${this._showMoreInfo}
|
|
29
|
+
@keydown=${this._onKeyDown}
|
|
30
|
+
>
|
|
26
31
|
${msg("Mehr Informationen", { id: "pd.moreInfo.more" })}
|
|
27
32
|
</a>
|
|
28
33
|
` : html`
|
|
29
34
|
<slot name="large-view"></slot>
|
|
30
|
-
<a
|
|
35
|
+
<a
|
|
36
|
+
role="button"
|
|
37
|
+
tabindex="0"
|
|
38
|
+
@click=${this._showLessInfo}
|
|
39
|
+
@keydown=${this._onKeyDown}
|
|
40
|
+
>
|
|
31
41
|
${msg("Text ausblenden", { id: "pd.moreInfo.less" })}
|
|
32
42
|
</a>
|
|
33
43
|
`}
|
|
34
44
|
</p>
|
|
35
45
|
`;
|
|
36
46
|
}
|
|
47
|
+
_onKeyDown(e) {
|
|
48
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
e.currentTarget?.click();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
37
53
|
_showMoreInfo() {
|
|
38
54
|
this._lessInfo = false;
|
|
39
55
|
}
|
|
@@ -55,7 +71,9 @@ PdMoreInfo.styles = [
|
|
|
55
71
|
|
|
56
72
|
p {
|
|
57
73
|
color: var(--pd-default-font-content-col);
|
|
74
|
+
font-family: var(--pd-default-font-content-family);
|
|
58
75
|
font-size: var(--pd-default-font-content-size);
|
|
76
|
+
line-height: var(--pd-default-font-content-line-height, 1.4em);
|
|
59
77
|
}
|
|
60
78
|
|
|
61
79
|
a {
|
|
@@ -68,6 +86,16 @@ PdMoreInfo.styles = [
|
|
|
68
86
|
a:hover {
|
|
69
87
|
color: var(--pd-default-font-link-col-hover);
|
|
70
88
|
}
|
|
89
|
+
|
|
90
|
+
a:focus {
|
|
91
|
+
outline: none;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
a:focus-visible {
|
|
95
|
+
outline: 2px solid var(--pd-focus-ring-col);
|
|
96
|
+
outline-offset: 2px;
|
|
97
|
+
border-radius: 2px;
|
|
98
|
+
}
|
|
71
99
|
`
|
|
72
100
|
];
|
|
73
101
|
__decorateClass([
|
|
@@ -1,6 +1,42 @@
|
|
|
1
|
-
import { Meta,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
/**
|
|
3
|
+
* Story arguments interface for pd-more-info component.
|
|
4
|
+
* Maps to the component's public API.
|
|
5
|
+
*/
|
|
6
|
+
interface PdMoreInfoArgs {
|
|
7
|
+
/** Short summary text shown initially */
|
|
8
|
+
shortText: string;
|
|
9
|
+
/** Extended text shown after clicking "More Info" */
|
|
10
|
+
longText: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* ## pd-more-info
|
|
14
|
+
*
|
|
15
|
+
* A component that displays a compact summary with an expandable detailed view.
|
|
16
|
+
*
|
|
17
|
+
* ### Features
|
|
18
|
+
* - Expandable content: toggle between short (`small-view`) and long (`large-view`) view
|
|
19
|
+
* - Localized toggle labels ("Mehr Informationen" / "Text ausblenden") via `@lit/localize`
|
|
20
|
+
* - Smooth auto-scroll back to component when collapsing on mobile
|
|
21
|
+
* - Accepts any HTML in both slot views for rich content
|
|
22
|
+
*
|
|
23
|
+
* ### Accessibility
|
|
24
|
+
* - Toggle links use `role="button"` with `tabindex="0"`
|
|
25
|
+
* - Full keyboard support: Tab to focus, Enter/Space to toggle
|
|
26
|
+
* - Focus-visible outline on toggle link
|
|
27
|
+
* - Auto-scroll on collapse ensures the component stays visible
|
|
28
|
+
*/
|
|
29
|
+
declare const meta: Meta<PdMoreInfoArgs>;
|
|
30
|
+
export default meta;
|
|
31
|
+
type Story = StoryObj<PdMoreInfoArgs>;
|
|
32
|
+
/** Default more-info with short and long content. Interactive via Controls panel. */
|
|
33
|
+
export declare const Default: Story;
|
|
34
|
+
/** More-info with structured HTML in the expanded view. */
|
|
35
|
+
export declare const WithRichContent: Story;
|
|
36
|
+
/** More-info embedded within surrounding paragraph content. */
|
|
37
|
+
export declare const InContext: Story;
|
|
38
|
+
/** Content length variations from short to long. */
|
|
39
|
+
export declare const AllVariants: Story;
|
|
40
|
+
/** CSS Custom Properties -- Branded and Redesigned variants. */
|
|
41
|
+
export declare const CustomStyling: Story;
|
|
6
42
|
//# sourceMappingURL=pd-more-info.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-more-info.stories.d.ts","sourceRoot":"","sources":["../../src/pd-more-info/pd-more-info.stories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pd-more-info.stories.d.ts","sourceRoot":"","sources":["../../src/pd-more-info/pd-more-info.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,UAAU,cAAc;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,cAAc,CAkE9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAMtC,qFAAqF;AACrF,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAMjC,2DAA2D;AAC3D,eAAO,MAAM,eAAe,EAAE,KAmC7B,CAAC;AAMF,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,KAqDvB,CAAC;AAMF,oDAAoD;AACpD,eAAO,MAAM,WAAW,EAAE,KAuEzB,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KAoF3B,CAAC"}
|