@progressive-development/pd-content 0.9.1 → 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.
Files changed (119) hide show
  1. package/LICENSE +21 -2
  2. package/README.md +42 -57
  3. package/dist/_virtual/_commonjsHelpers.js +7 -0
  4. package/dist/_virtual/prism-java.js +3 -0
  5. package/dist/_virtual/prism-java2.js +3 -0
  6. package/dist/_virtual/prism-python.js +3 -0
  7. package/dist/_virtual/prism-python2.js +3 -0
  8. package/dist/_virtual/prism-typescript.js +3 -0
  9. package/dist/_virtual/prism-typescript2.js +3 -0
  10. package/dist/_virtual/prism.js +7 -0
  11. package/dist/_virtual/prism2.js +3 -0
  12. package/dist/generated/locales/be.d.ts +10 -0
  13. package/dist/generated/locales/be.d.ts.map +1 -1
  14. package/dist/generated/locales/de.d.ts +10 -0
  15. package/dist/generated/locales/de.d.ts.map +1 -1
  16. package/dist/generated/locales/en.d.ts +10 -0
  17. package/dist/generated/locales/en.d.ts.map +1 -1
  18. package/dist/index.d.ts +8 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +9 -0
  21. package/dist/locales/be.js +11 -1
  22. package/dist/locales/de.js +11 -1
  23. package/dist/locales/en.js +11 -1
  24. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-bash.js +235 -0
  25. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-java.js +135 -0
  26. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-json.js +27 -0
  27. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.js +415 -0
  28. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-python.js +76 -0
  29. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-sql.js +32 -0
  30. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-typescript.js +71 -0
  31. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-yaml.js +83 -0
  32. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/prism.js +1959 -0
  33. package/dist/pd-box-view/PdBoxView.d.ts +9 -0
  34. package/dist/pd-box-view/PdBoxView.d.ts.map +1 -1
  35. package/dist/pd-box-view/pd-box-view.stories.d.ts +41 -8
  36. package/dist/pd-box-view/pd-box-view.stories.d.ts.map +1 -1
  37. package/dist/pd-code-snippet/PdCodeSnippet.d.ts +105 -0
  38. package/dist/pd-code-snippet/PdCodeSnippet.d.ts.map +1 -0
  39. package/dist/pd-code-snippet/PdCodeSnippet.js +504 -0
  40. package/dist/pd-code-snippet/pd-code-snippet.d.ts +4 -0
  41. package/dist/pd-code-snippet/pd-code-snippet.d.ts.map +1 -0
  42. package/dist/pd-code-snippet/pd-code-snippet.js +5 -0
  43. package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts +55 -0
  44. package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts.map +1 -0
  45. package/dist/pd-collapse/PdCollapse.d.ts +31 -7
  46. package/dist/pd-collapse/PdCollapse.d.ts.map +1 -1
  47. package/dist/pd-collapse/PdCollapse.js +73 -18
  48. package/dist/pd-collapse/pd-collapse.stories.d.ts +49 -21
  49. package/dist/pd-collapse/pd-collapse.stories.d.ts.map +1 -1
  50. package/dist/pd-collapse-group/PdCollapseGroup.d.ts +8 -7
  51. package/dist/pd-collapse-group/PdCollapseGroup.d.ts.map +1 -1
  52. package/dist/pd-collapse-group/PdCollapseGroup.js +7 -6
  53. package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts +39 -4
  54. package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts.map +1 -1
  55. package/dist/pd-edit-content/PdEditContent.d.ts +13 -0
  56. package/dist/pd-edit-content/PdEditContent.d.ts.map +1 -1
  57. package/dist/pd-edit-content/PdEditContent.js +33 -10
  58. package/dist/pd-edit-content/pd-edit-content.stories.d.ts +54 -10
  59. package/dist/pd-edit-content/pd-edit-content.stories.d.ts.map +1 -1
  60. package/dist/pd-loading-state/PdLoadingState.d.ts +64 -0
  61. package/dist/pd-loading-state/PdLoadingState.d.ts.map +1 -0
  62. package/dist/pd-loading-state/PdLoadingState.js +219 -0
  63. package/dist/pd-loading-state/pd-loading-state.d.ts +6 -0
  64. package/dist/pd-loading-state/pd-loading-state.d.ts.map +1 -0
  65. package/dist/pd-loading-state/pd-loading-state.stories.d.ts +48 -0
  66. package/dist/pd-loading-state/pd-loading-state.stories.d.ts.map +1 -0
  67. package/dist/pd-loading-state.d.ts +2 -0
  68. package/dist/pd-loading-state.js +1 -0
  69. package/dist/pd-more-info/PdMoreInfo.d.ts +6 -2
  70. package/dist/pd-more-info/PdMoreInfo.d.ts.map +1 -1
  71. package/dist/pd-more-info/PdMoreInfo.js +30 -4
  72. package/dist/pd-more-info/pd-more-info.stories.d.ts +41 -5
  73. package/dist/pd-more-info/pd-more-info.stories.d.ts.map +1 -1
  74. package/dist/pd-notice-box/PdNoticeBox.d.ts +88 -0
  75. package/dist/pd-notice-box/PdNoticeBox.d.ts.map +1 -0
  76. package/dist/pd-notice-box/PdNoticeBox.js +224 -0
  77. package/dist/pd-notice-box/pd-notice-box.d.ts +3 -0
  78. package/dist/pd-notice-box/pd-notice-box.d.ts.map +1 -0
  79. package/dist/pd-notice-box/pd-notice-box.js +8 -0
  80. package/dist/pd-notice-box/pd-notice-box.stories.d.ts +58 -0
  81. package/dist/pd-notice-box/pd-notice-box.stories.d.ts.map +1 -0
  82. package/dist/pd-panel-viewer/PdPanel.d.ts +5 -0
  83. package/dist/pd-panel-viewer/PdPanel.d.ts.map +1 -1
  84. package/dist/pd-panel-viewer/PdPanelViewer.d.ts +53 -2
  85. package/dist/pd-panel-viewer/PdPanelViewer.d.ts.map +1 -1
  86. package/dist/pd-panel-viewer/PdPanelViewer.js +188 -33
  87. package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts +46 -0
  88. package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts.map +1 -0
  89. package/dist/pd-resize-content/PdResizeContent.d.ts +12 -10
  90. package/dist/pd-resize-content/PdResizeContent.d.ts.map +1 -1
  91. package/dist/pd-resize-content/PdResizeContent.js +19 -9
  92. package/dist/pd-resize-content/pd-resize-content.stories.d.ts +36 -4
  93. package/dist/pd-resize-content/pd-resize-content.stories.d.ts.map +1 -1
  94. package/dist/pd-tab/PdTab.d.ts +35 -2
  95. package/dist/pd-tab/PdTab.d.ts.map +1 -1
  96. package/dist/pd-tab/PdTab.js +181 -71
  97. package/dist/pd-tab/pd-tab.stories.d.ts +51 -21
  98. package/dist/pd-tab/pd-tab.stories.d.ts.map +1 -1
  99. package/dist/pd-timeline/PdTimeline.d.ts +50 -0
  100. package/dist/pd-timeline/PdTimeline.d.ts.map +1 -0
  101. package/dist/pd-timeline/PdTimeline.js +315 -0
  102. package/dist/pd-timeline/pd-timeline.d.ts +3 -0
  103. package/dist/pd-timeline/pd-timeline.d.ts.map +1 -0
  104. package/dist/pd-timeline/pd-timeline.stories.d.ts +56 -0
  105. package/dist/pd-timeline/pd-timeline.stories.d.ts.map +1 -0
  106. package/dist/pd-timeline-wizard/PdTimelineWizard.d.ts +39 -0
  107. package/dist/pd-timeline-wizard/PdTimelineWizard.d.ts.map +1 -0
  108. package/dist/pd-timeline-wizard/PdTimelineWizard.js +150 -0
  109. package/dist/pd-timeline-wizard/pd-timeline-wizard.d.ts +3 -0
  110. package/dist/pd-timeline-wizard/pd-timeline-wizard.d.ts.map +1 -0
  111. package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts +54 -0
  112. package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts.map +1 -0
  113. package/dist/pd-timeline-wizard.d.ts +2 -0
  114. package/dist/pd-timeline-wizard.js +8 -0
  115. package/dist/pd-timeline.d.ts +2 -0
  116. package/dist/pd-timeline.js +8 -0
  117. package/dist/types.d.ts +25 -0
  118. package/dist/types.d.ts.map +1 -1
  119. package/package.json +17 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-code-snippet.d.ts","sourceRoot":"","sources":["../../src/pd-code-snippet/pd-code-snippet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PdCodeSnippet } from './PdCodeSnippet.js';
2
+
3
+ customElements.define("pd-code-snippet", PdCodeSnippet);
4
+
5
+ export { PdCodeSnippet };
@@ -0,0 +1,55 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import { CodeLanguage } from './PdCodeSnippet.js';
3
+ /**
4
+ * Story arguments interface for pd-code-snippet component.
5
+ * Maps to the component's public API.
6
+ */
7
+ interface PdCodeSnippetArgs {
8
+ /** Title displayed in header */
9
+ title: string;
10
+ /** Programming language */
11
+ language: CodeLanguage;
12
+ /** Source URL */
13
+ url: string;
14
+ /** Code content */
15
+ code: string;
16
+ /** Show line numbers */
17
+ showLineNumbers: boolean;
18
+ }
19
+ /**
20
+ * ## pd-code-snippet
21
+ *
22
+ * A code display component with syntax highlighting using Prism.js.
23
+ * Supports 11 languages plus plain text, with copy-to-clipboard, optional
24
+ * line numbers, and source URL display.
25
+ *
26
+ * ### Features
27
+ * - Syntax highlighting for JavaScript, TypeScript, HTML, CSS, JSON, Bash, YAML, Python, Java, SQL, Markdown
28
+ * - One-click copy to clipboard
29
+ * - Optional source URL link in footer
30
+ * - Optional line numbers
31
+ * - Code can be provided via `code` property or slot content
32
+ * - Extensive CSS Custom Properties for theming (colors, token colors, layout)
33
+ *
34
+ * ### Accessibility
35
+ * - Copy button has `aria-label="Copy code to clipboard"`
36
+ * - Focus-visible styling on the copy button for keyboard users
37
+ * - Line numbers are `aria-hidden="true"` (decorative)
38
+ * - Semantic HTML structure with `pre` and `code` elements
39
+ */
40
+ declare const meta: Meta<PdCodeSnippetArgs>;
41
+ export default meta;
42
+ type Story = StoryObj<PdCodeSnippetArgs>;
43
+ /** Default JavaScript code snippet. Interactive via Controls panel. */
44
+ export declare const Default: Story;
45
+ /** TypeScript snippet with title, source URL, and line numbers. Shows all header/footer features. */
46
+ export declare const WithTitleAndUrl: Story;
47
+ /** Overview of all 11 supported programming languages plus plain text. */
48
+ export declare const AllLanguages: Story;
49
+ /** Line numbers enabled for longer code blocks. */
50
+ export declare const WithLineNumbers: Story;
51
+ /** Code provided via slot content instead of the code property. */
52
+ export declare const SlotContent: Story;
53
+ /** CSS Custom Properties -- Branded and Redesigned variants. */
54
+ export declare const CustomStyling: Story;
55
+ //# sourceMappingURL=pd-code-snippet.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-code-snippet.stories.d.ts","sourceRoot":"","sources":["../../src/pd-code-snippet/pd-code-snippet.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD;;;GAGG;AACH,UAAU,iBAAiB;IACzB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CA0EjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAMzC,uEAAuE;AACvE,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAMF,qGAAqG;AACrG,eAAO,MAAM,eAAe,EAAE,KAwC7B,CAAC;AAMF,0EAA0E;AAC1E,eAAO,MAAM,YAAY,EAAE,KAsF1B,CAAC;AAMF,mDAAmD;AACnD,eAAO,MAAM,eAAe,EAAE,KAoC7B,CAAC;AAMF,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,KAoBzB,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KA6G3B,CAAC"}
@@ -1,22 +1,40 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
2
  /**
3
+ * Collapsible accordion component with header and content.
4
+ *
3
5
  * @tagname pd-collapse
6
+ * @summary Collapsible accordion section with animated toggle.
4
7
  *
5
- * Ein auf- und zuklappbarer Bereich mit Header und Inhalt.
8
+ * @event pd-collapse-toggle - Fired when toggle state changes. Emits `{active, name}`.
9
+ * @event pd-collapse-register - Fired on mount for container registration.
10
+ * @event pd-collapse-unregister - Fired on unmount for container cleanup.
6
11
  *
7
- * @fires toggle-accordion - Wird ausgelöst, wenn der Zustand gewechselt wird (true/false).
12
+ * @slot header - Visible header area content.
13
+ * @slot content - Collapsible content area.
8
14
  *
9
- * @slot header - Slot für den sichtbaren Headerbereich
10
- * @slot content - Slot für den Inhalt, der ein- und ausgeklappt wird
15
+ * @cssprop --pd-collapse-border-radius - Border radius. Default: `--pd-radius-md`.
16
+ * @cssprop --pd-collapse-header-font-size - Header font size.
17
+ * @cssprop --pd-collapse-font-col - Header text color.
18
+ * @cssprop --pd-collapse-bg-col - Header background.
19
+ * @cssprop --pd-collapse-hover-col - Header hover background.
20
+ * @cssprop --pd-collapse-hover-font-col - Header hover font color
21
+ * @cssprop --pd-collapse-icon-col - Toggle icon color. Default: inherits from `--pd-collapse-font-col`.
22
+ * @cssprop --pd-collapse-icon-col-hover - Toggle icon hover color. Default: inherits from `--pd-collapse-font-col`.
23
+ * @cssprop --pd-collapse-content-bg-col - Content background.
24
+ * @cssprop --pd-collapse-content-border-col - Content border color.
25
+ * @cssprop --pd-collapse-content-padding - Content padding. Default: `--pd-spacing-sm`.
26
+ * @cssprop --pd-collapse-header-shadow - Header box-shadow for depth effect. Default: subtle shadow.
11
27
  */
12
28
  export declare class PdCollapse extends LitElement {
13
- /**
14
- * Optionales Icon für den Toggle Button (standardmäßig `ICON_TOGGLE_COLLAPSE`)
15
- */
29
+ /** Toggle icon name. */
16
30
  icon: string;
31
+ /** Whether to start in open state. */
17
32
  startOpen: boolean;
33
+ /** Scroll content into view when opened. */
34
+ scrollOnOpen: boolean;
18
35
  /**
19
36
  * Gibt an, ob der Bereich geöffnet ist.
37
+ * @ignore
20
38
  */
21
39
  _active: boolean;
22
40
  static styles: CSSResultGroup;
@@ -30,8 +48,14 @@ export declare class PdCollapse extends LitElement {
30
48
  set active(activeVal: boolean);
31
49
  get active(): boolean;
32
50
  private _onClick;
51
+ private _onKeyDown;
52
+ /** @ignore */
53
+ private get _contentId();
54
+ /** @ignore */
55
+ private _scrollContentIntoView;
33
56
  protected _registerAtContainer(): void;
34
57
  protected _unRegisterAtContainer(): void;
58
+ /** @ignore */
35
59
  private _internalId?;
36
60
  private _getInternalId;
37
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PdCollapse.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/PdCollapse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5E,OAAO,0CAA0C,CAAC;AAOlD;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAgC;IAG5C,SAAS,EAAE,OAAO,CAAS;IAE3B;;OAEG;IAEH,OAAO,UAAS;IAEhB,OAAgB,MAAM,EAAE,cAAc,CA+FpC;IAEO,YAAY,IAAI,IAAI;IAKpB,oBAAoB,IAAI,IAAI;IAK5B,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpD,MAAM;IAmBf;;OAEG;IACH,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,EAe5B;IAED,IAAI,MAAM,IAjBY,OAAO,CAmB5B;IAED,OAAO,CAAC,QAAQ;IAIhB,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAatC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAaxC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"PdCollapse.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/PdCollapse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5E,OAAO,0CAA0C,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,wBAAwB;IAExB,IAAI,EAAE,MAAM,CAAgC;IAE5C,sCAAsC;IAEtC,SAAS,EAAE,OAAO,CAAS;IAE3B,4CAA4C;IAE5C,YAAY,EAAE,OAAO,CAAS;IAE9B;;;OAGG;IAEH,OAAO,UAAS;IAEhB,OAAgB,MAAM,EAAE,cAAc,CAoHpC;IAEO,YAAY,IAAI,IAAI;IAKpB,oBAAoB,IAAI,IAAI;IAK5B,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpD,MAAM;IA8Bf;;OAEG;IACH,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,EAoB5B;IAED,IAAI,MAAM,IAtBY,OAAO,CAwB5B;IAED,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAOlB,cAAc;IACd,OAAO,KAAK,UAAU,GAErB;IAED,cAAc;IACd,OAAO,CAAC,sBAAsB;IAQ9B,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAatC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAaxC,cAAc;IACd,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc;CAMvB"}
@@ -2,7 +2,6 @@ import { LitElement, css, html } from 'lit';
2
2
  import { property, state } from 'lit/decorators.js';
3
3
  import { pdIcons } from '@progressive-development/pd-icon';
4
4
  import '@progressive-development/pd-icon/pd-icon';
5
- import { PdColorStyles, PdFontStyles } from '@progressive-development/pd-shared-styles';
6
5
 
7
6
  var __defProp = Object.defineProperty;
8
7
  var __decorateClass = (decorators, target, key, kind) => {
@@ -18,14 +17,15 @@ class PdCollapse extends LitElement {
18
17
  super(...arguments);
19
18
  this.icon = pdIcons.ICON_TOGGLE_COLLAPSE;
20
19
  this.startOpen = false;
20
+ this.scrollOnOpen = false;
21
21
  this._active = false;
22
22
  }
23
23
  static {
24
24
  this.styles = [
25
- PdColorStyles,
26
- PdFontStyles,
27
25
  css`
28
26
  :host {
27
+ --_radius: var(--pd-collapse-border-radius, var(--pd-radius-md));
28
+
29
29
  display: block;
30
30
  width: 100%;
31
31
  position: relative;
@@ -38,35 +38,54 @@ class PdCollapse extends LitElement {
38
38
 
39
39
  display: flex;
40
40
  justify-content: space-between;
41
+ align-items: center;
41
42
  box-sizing: border-box;
42
- padding: 0.5rem;
43
+ padding: var(--pd-spacing-sm) var(--pd-spacing-md);
43
44
  cursor: pointer;
44
45
 
45
46
  font-family: var(--pd-default-font-title-family);
46
- font-size: var(--pd-collapse-header-font-size, 1rem);
47
+ font-size: var(--pd-collapse-header-font-size, 1.1rem);
47
48
  font-weight: bold;
48
49
  color: var(--pd-collapse-font-col, var(--pd-default-bg-col));
49
50
  background: var(--pd-collapse-bg-col, var(--pd-default-col));
50
- border-radius: var(--pd-border-radius) var(--pd-border-radius) 0 0;
51
+ border-radius: var(--_radius) var(--_radius) 0 0;
52
+ box-shadow: var(
53
+ --pd-collapse-header-shadow,
54
+ 0 2px 4px rgba(0, 0, 0, 0.1)
55
+ );
51
56
 
52
57
  transition-property: box-shadow, background;
53
58
  transition: 0.2s ease-in;
54
59
  }
55
60
 
56
61
  .trigger pd-icon {
57
- --pd-icon-col-active: var(--pd-default-dark-col);
58
- /*
59
- --pd-icon-col-hover: var(--pd-default-dark-col);
60
- --pd-icon-col-active-hover: var(--pd-default-dark-col);
61
- */
62
+ /* Primary icon uses --pd-icon-primary-col and --pd-icon-col-primary-active */
63
+ --pd-icon-primary-col: var(
64
+ --pd-collapse-icon-col,
65
+ var(--pd-collapse-font-col, var(--pd-default-bg-col))
66
+ );
67
+ --pd-icon-col-primary-active: var(
68
+ --pd-collapse-icon-col,
69
+ var(--pd-collapse-font-col, var(--pd-default-bg-col))
70
+ );
71
+ --pd-icon-col-hover: var(
72
+ --pd-collapse-icon-col-hover,
73
+ var(--pd-default-hover-col)
74
+ );
62
75
  }
63
76
 
64
77
  .trigger:hover {
65
78
  background: var(--pd-collapse-hover-col, var(--pd-default-dark-col));
79
+ color: var(--pd-collapse-hover-font-col, var(--pd-default-bg-col));
80
+ }
81
+
82
+ .trigger:focus-visible {
83
+ outline: 2px solid var(--pd-focus-ring-col);
84
+ outline-offset: 2px;
66
85
  }
67
86
 
68
87
  .trigger.closed {
69
- border-radius: var(--pd-border-radius);
88
+ border-radius: var(--_radius);
70
89
  }
71
90
 
72
91
  ::slotted(.header) {
@@ -83,11 +102,12 @@ class PdCollapse extends LitElement {
83
102
  overflow: hidden;
84
103
  opacity: 0;
85
104
  box-sizing: border-box;
86
- padding: 0.5em;
87
105
 
88
- border: 2px solid var(--pd-default-light-col);
106
+ border: 1px solid
107
+ var(--pd-collapse-content-border-col, var(--pd-default-light-col));
108
+ border-top: none;
89
109
  background: var(--pd-collapse-content-bg-col, var(--pd-default-bg-col));
90
- border-radius: 0 0 var(--pd-border-radius) var(--pd-border-radius);
110
+ border-radius: 0 0 var(--_radius) var(--_radius);
91
111
 
92
112
  will-change: transform, opacity;
93
113
  transform: translate3d(0, -1.5em, 0);
@@ -106,6 +126,7 @@ class PdCollapse extends LitElement {
106
126
  overflow: visible;
107
127
  overflow-y: auto;
108
128
  opacity: 1;
129
+ padding: var(--pd-collapse-content-padding, var(--pd-spacing-sm));
109
130
 
110
131
  transform: translate3d(0, 0, 0);
111
132
  pointer-events: auto;
@@ -134,16 +155,27 @@ class PdCollapse extends LitElement {
134
155
  return html`
135
156
  <div
136
157
  class="trigger ${this._active ? "open" : "closed"}"
158
+ role="button"
159
+ tabindex="0"
160
+ aria-expanded="${this._active}"
161
+ aria-controls="${this._contentId}"
137
162
  @click=${this._onClick}
163
+ @keydown=${this._onKeyDown}
138
164
  >
139
165
  <slot name="header"></slot>
140
166
  <pd-icon
141
- icon=${this.icon}
142
- ?activeIcon=${this.active}
167
+ icon="${this.icon}"
168
+ ?activeIcon="${this._active}"
143
169
  class="small primary"
170
+ aria-hidden="true"
144
171
  ></pd-icon>
145
172
  </div>
146
- <div class="content ${this._active ? "open" : "closed"}">
173
+ <div
174
+ id="${this._contentId}"
175
+ class="content ${this._active ? "open" : "closed"}"
176
+ role="region"
177
+ aria-hidden="${!this._active}"
178
+ >
147
179
  <slot name="content"></slot>
148
180
  </div>
149
181
  `;
@@ -165,6 +197,9 @@ class PdCollapse extends LitElement {
165
197
  }
166
198
  })
167
199
  );
200
+ if (this._active && this.scrollOnOpen) {
201
+ this._scrollContentIntoView();
202
+ }
168
203
  }
169
204
  }
170
205
  get active() {
@@ -173,6 +208,23 @@ class PdCollapse extends LitElement {
173
208
  _onClick() {
174
209
  this.active = !this._active;
175
210
  }
211
+ _onKeyDown(e) {
212
+ if (e.key === "Enter" || e.key === " ") {
213
+ e.preventDefault();
214
+ this._onClick();
215
+ }
216
+ }
217
+ /** @ignore */
218
+ get _contentId() {
219
+ return `${this.id || this._getInternalId()}-content`;
220
+ }
221
+ /** @ignore */
222
+ _scrollContentIntoView() {
223
+ setTimeout(() => {
224
+ const content = this.shadowRoot?.getElementById(this._contentId);
225
+ content?.scrollIntoView({ behavior: "smooth", block: "nearest" });
226
+ }, 350);
227
+ }
176
228
  _registerAtContainer() {
177
229
  this.dispatchEvent(
178
230
  new CustomEvent("pd-collapse-register", {
@@ -209,6 +261,9 @@ __decorateClass([
209
261
  __decorateClass([
210
262
  property({ type: Boolean })
211
263
  ], PdCollapse.prototype, "startOpen");
264
+ __decorateClass([
265
+ property({ type: Boolean })
266
+ ], PdCollapse.prototype, "scrollOnOpen");
212
267
  __decorateClass([
213
268
  state()
214
269
  ], PdCollapse.prototype, "_active");
@@ -1,23 +1,51 @@
1
- import { StoryObj } from '@storybook/web-components';
2
- declare const meta: {
3
- title: string;
4
- render: ({ active, header, content, }: import('@storybook/web-components').Args) => import('lit').TemplateResult<1>;
5
- argTypes: {
6
- active: {
7
- control: "boolean";
8
- };
9
- header: {
10
- control: "text";
11
- };
12
- content: {
13
- control: "text";
14
- };
15
- };
16
- };
1
+ import { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ /**
3
+ * Story arguments interface for pd-collapse component.
4
+ * Maps to the component's public API.
5
+ */
6
+ interface PdCollapseArgs {
7
+ /** Whether the collapse starts in open state */
8
+ startOpen: boolean;
9
+ /** Header text content */
10
+ header: string;
11
+ /** Content text */
12
+ content: string;
13
+ /** Scroll content into view when opened */
14
+ scrollOnOpen: boolean;
15
+ }
16
+ /**
17
+ * ## pd-collapse
18
+ *
19
+ * A collapsible accordion component with animated open/close transitions.
20
+ *
21
+ * ### Features
22
+ * - Smooth animated toggle with CSS transitions
23
+ * - Configurable toggle icon via `icon` property
24
+ * - `startOpen` for initial open state
25
+ * - `scrollOnOpen` to scroll content into view after opening
26
+ * - Header and content slots for flexible markup
27
+ * - Works standalone or inside `pd-collapse-group` for accordion behavior
28
+ * - CSS custom properties for full visual customization
29
+ *
30
+ * ### Accessibility
31
+ * - Header uses `role="button"` with `tabindex="0"`
32
+ * - `aria-expanded` reflects open/closed state
33
+ * - `aria-controls` links header to content region
34
+ * - Content area uses `role="region"` with `aria-hidden`
35
+ * - Keyboard: Tab to focus, Enter/Space to toggle
36
+ * - Visible focus ring for keyboard users
37
+ */
38
+ declare const meta: Meta<PdCollapseArgs>;
17
39
  export default meta;
18
- type Story = StoryObj;
19
- export declare const Closed: Story;
20
- export declare const Open: Story;
21
- export declare const OpenHugeContent: Story;
22
- export declare const OpenMiddleContent: Story;
40
+ type Story = StoryObj<PdCollapseArgs>;
41
+ /** Default closed collapse section. Interactive via Controls panel. */
42
+ export declare const Default: Story;
43
+ /** All collapse states at a glance: closed, open, and long header. */
44
+ export declare const AllStates: Story;
45
+ /** Collapse sections with scrollOnOpen enabled for auto-scrolling behavior. */
46
+ export declare const WithScrollOnOpen: Story;
47
+ /** Collapse with rich HTML content including headings, lists, and links. */
48
+ export declare const WithRichContent: Story;
49
+ /** CSS Custom Properties -- Branded and Redesigned variants. */
50
+ export declare const CustomStyling: Story;
23
51
  //# sourceMappingURL=pd-collapse.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pd-collapse.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/pd-collapse.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,kBAAkB,CAAC;AAE1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAiBM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAkD7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC"}
1
+ {"version":3,"file":"pd-collapse.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse/pd-collapse.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,kBAAkB,CAAC;AAM1B;;;GAGG;AACH,UAAU,cAAc;IACtB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,cAAc,CAwE9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAMtC,uEAAuE;AACvE,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAMF,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,KA8CvB,CAAC;AAMF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,KAqE9B,CAAC;AAMF,4EAA4E;AAC5E,eAAO,MAAM,eAAe,EAAE,KAwB7B,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KA6F3B,CAAC"}
@@ -1,27 +1,28 @@
1
1
  import { LitElement, CSSResultGroup } from 'lit';
2
2
  /**
3
- * @element pd-collapse-group
3
+ * Groups multiple pd-collapse elements to ensure only one is open at a time.
4
+ *
4
5
  * @tagname pd-collapse-group
5
6
  *
6
- * Gruppiert mehrere <pd-collapse> Elemente.
7
- * Stellt sicher, dass immer nur ein Element geöffnet (active) ist.
7
+ * @slot - List of pd-collapse elements.
8
8
  *
9
- * @slot default - Erwartet eine Liste von <pd-collapse> Elementen
9
+ * @csspart container - The group container element.
10
10
  *
11
- * @csspart container - Container der Collapse-Gruppe
11
+ * @cssprop --pd-collapse-group-gap - Gap between collapse elements. Default: `0.5rem`.
12
12
  */
13
13
  export declare class PdCollapseGroup extends LitElement {
14
14
  /**
15
15
  * Enthält alle zugewiesenen <pd-collapse>-Elemente
16
- */
16
+ * @ignore */
17
17
  private _assignedCollapses;
18
18
  static styles: CSSResultGroup;
19
19
  connectedCallback(): void;
20
20
  disconnectedCallback(): void;
21
21
  render(): import('lit').TemplateResult<1>;
22
+ /** @ignore */
22
23
  private _onRegister;
24
+ /** @ignore */
23
25
  private _onUnRegister;
24
- private _onUnRegisterBound;
25
26
  private _onToggle;
26
27
  private _deactivateOtherCollapses;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PdCollapseGroup.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/PdCollapseGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,OAAgB,MAAM,EAAE,cAAc,CAWpC;IAEO,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAkBrC,MAAM;IAQN,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,kBAAkB,CAAiC;IAE3D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,yBAAyB;CAOlC"}
1
+ {"version":3,"file":"PdCollapseGroup.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/PdCollapseGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C;;iBAEa;IACb,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,OAAgB,MAAM,EAAE,cAAc,CAWpC;IAEO,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAkBrC,MAAM;IAQN,cAAc;IACd,OAAO,CAAC,WAAW,CAKjB;IAEF,cAAc;IACd,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,yBAAyB;CAOlC"}
@@ -5,21 +5,22 @@ class PdCollapseGroup extends LitElement {
5
5
  super(...arguments);
6
6
  /**
7
7
  * Enthält alle zugewiesenen <pd-collapse>-Elemente
8
- */
8
+ * @ignore */
9
9
  this._assignedCollapses = /* @__PURE__ */ new Map();
10
+ /** @ignore */
10
11
  this._onRegister = (e) => {
11
12
  const { name, collapse } = e.detail;
12
13
  console.debug("###### _onRegister collapse", name);
13
14
  this._assignedCollapses.set(name, collapse);
14
15
  e.stopPropagation();
15
16
  };
17
+ /** @ignore */
16
18
  this._onUnRegister = (e) => {
17
19
  const { name } = e.detail;
18
20
  console.debug("###### _onUnRegister collapse", name);
19
21
  this._assignedCollapses.delete(name);
20
22
  e.stopPropagation();
21
23
  };
22
- this._onUnRegisterBound = this._onUnRegister.bind(this);
23
24
  }
24
25
  static {
25
26
  this.styles = [
@@ -30,7 +31,7 @@ class PdCollapseGroup extends LitElement {
30
31
  .container {
31
32
  display: flex;
32
33
  flex-direction: column;
33
- gap: var(--pd-collapse-group-gap, 0.5rem);
34
+ gap: var(--pd-collapse-group-gap, var(--pd-spacing-md));
34
35
  }
35
36
  `
36
37
  ];
@@ -47,7 +48,7 @@ class PdCollapseGroup extends LitElement {
47
48
  );
48
49
  document.addEventListener(
49
50
  "pd-collapse-unregister",
50
- this._onUnRegisterBound
51
+ this._onUnRegister
51
52
  );
52
53
  }
53
54
  disconnectedCallback() {
@@ -57,12 +58,12 @@ class PdCollapseGroup extends LitElement {
57
58
  this._onRegister
58
59
  );
59
60
  this.removeEventListener(
60
- "pd-collapse-toogle",
61
+ "pd-collapse-toggle",
61
62
  this._onToggle
62
63
  );
63
64
  document.removeEventListener(
64
65
  "pd-collapse-unregister",
65
- this._onUnRegisterBound
66
+ this._onUnRegister
66
67
  );
67
68
  }
68
69
  render() {
@@ -1,5 +1,40 @@
1
- import { Meta, StoryFn } from '@storybook/web-components';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Default: StoryFn;
1
+ import { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ /**
3
+ * Story arguments interface for pd-collapse-group component.
4
+ * Maps to the component's public API.
5
+ */
6
+ interface PdCollapseGroupArgs {
7
+ /** Gap between collapse elements */
8
+ gap: string;
9
+ }
10
+ /**
11
+ * ## pd-collapse-group
12
+ *
13
+ * A container that groups multiple pd-collapse elements with accordion behavior.
14
+ * Only one collapse can be open at a time -- opening one automatically closes the others.
15
+ *
16
+ * ### Features
17
+ * - Accordion mode: only one collapse open at a time
18
+ * - Automatic registration of child pd-collapse elements
19
+ * - Configurable gap spacing via `--pd-collapse-group-gap`
20
+ * - CSS part `container` for external styling
21
+ *
22
+ * ### Accessibility
23
+ * - Inherits keyboard behavior from child pd-collapse elements
24
+ * - Each child collapse provides its own ARIA attributes
25
+ * - Accordion pattern: closing previous section when opening a new one
26
+ */
27
+ declare const meta: Meta<PdCollapseGroupArgs>;
28
+ export default meta;
29
+ type Story = StoryObj<PdCollapseGroupArgs>;
30
+ /** Default collapse group with accordion behavior. Opening one section closes others. */
31
+ export declare const Default: Story;
32
+ /** All sections initially closed -- no startOpen attribute on any child. */
33
+ export declare const AllClosed: Story;
34
+ /** Collapse group with rich HTML content in each section. */
35
+ export declare const WithRichContent: Story;
36
+ /** Different gap spacings side by side: tight (0px) vs. spacious (1.5rem). */
37
+ export declare const CustomGap: Story;
38
+ /** CSS Custom Properties -- Branded and Redesigned variants. */
39
+ export declare const CustomStyling: Story;
5
40
  //# sourceMappingURL=pd-collapse-group.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pd-collapse-group.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/pd-collapse-group.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,wBAAwB,CAAC;wBAQ3B,IAAI;AANT,wBAMU;AAiCV,eAAO,MAAM,OAAO,SAAoB,CAAC"}
1
+ {"version":3,"file":"pd-collapse-group.stories.d.ts","sourceRoot":"","sources":["../../src/pd-collapse-group/pd-collapse-group.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,CAAC;AAMvC;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAkCnC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAM3C,yFAAyF;AACzF,eAAO,MAAM,OAAO,EAAE,KA0BrB,CAAC;AAMF,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,KA6BvB,CAAC;AAMF,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,KA+C7B,CAAC;AAMF,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,KA2DvB,CAAC;AAMF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,KA2G3B,CAAC"}
@@ -1,7 +1,19 @@
1
1
  import { LitElement, CSSResultGroup } from 'lit';
2
2
  import { PdEditContentDataEntry, PdEditLink } from '../types';
3
3
  /**
4
+ * Content card component for displaying editable data sections.
5
+ *
4
6
  * @tagname pd-edit-content
7
+ * @summary Editable content card with step number, data display, and edit links.
8
+ *
9
+ * @event edit-content - Fired when edit action is triggered. Emits `{step, link}`.
10
+ *
11
+ * @slot - Default slot for additional content.
12
+ *
13
+ * @cssprop --pd-ec-bg-col - Header background color. Default: `var(--pd-default-col)`.
14
+ * @cssprop --pd-ec-font-title-col - Header title text color. Default: `var(--pd-default-bg-col)`.
15
+ * @cssprop --pd-ec-font-title-size - Header title font size. Default: `1.2em`.
16
+ * @cssprop --pd-ec-nr-font-weight - Step number font weight. Default: `bold`.
5
17
  */
6
18
  export declare class PdEditContent extends LitElement {
7
19
  /**
@@ -28,5 +40,6 @@ export declare class PdEditContent extends LitElement {
28
40
  render(): import('lit').TemplateResult<1>;
29
41
  private static _getLinkLogo;
30
42
  private _editContent;
43
+ private _onLinkKeyDown;
31
44
  }
32
45
  //# sourceMappingURL=PdEditContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PdEditContent.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/PdEditContent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM5D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuB9D;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;OAEG;IAEH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAM;IAEzC;;OAEG;IAEH,SAAS,EAAE,UAAU,EAAE,CAAM;IAE7B;;OAEG;IAEH,YAAY,UAAS;IAErB,OAAgB,MAAM,EAAE,cAAc,CAoGpC;IAEO,MAAM;IAmDf,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B,OAAO,CAAC,YAAY;CAUrB"}
1
+ {"version":3,"file":"PdEditContent.d.ts","sourceRoot":"","sources":["../../src/pd-edit-content/PdEditContent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,UAAU,EAAE,cAAc,EAAW,MAAM,KAAK,CAAC;AAIrE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAwB9D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;OAEG;IAEH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAM;IAEzC;;OAEG;IAEH,SAAS,EAAE,UAAU,EAAE,CAAM;IAE7B;;OAEG;IAEH,YAAY,UAAS;IAErB,OAAgB,MAAM,EAAE,cAAc,CAwGpC;IAEO,MAAM;IA+Df,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,cAAc;CAMvB"}