@pure-ds/storybook 0.1.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 (129) hide show
  1. package/.storybook/addons/description/preview.js +15 -0
  2. package/.storybook/addons/description/register.js +60 -0
  3. package/.storybook/addons/html-preview/Panel.jsx +327 -0
  4. package/.storybook/addons/html-preview/constants.js +6 -0
  5. package/.storybook/addons/html-preview/preview.js +178 -0
  6. package/.storybook/addons/html-preview/register.js +16 -0
  7. package/.storybook/addons/pds-configurator/SearchTool.js +44 -0
  8. package/.storybook/addons/pds-configurator/Tool.js +30 -0
  9. package/.storybook/addons/pds-configurator/constants.js +9 -0
  10. package/.storybook/addons/pds-configurator/preview.js +159 -0
  11. package/.storybook/addons/pds-configurator/register.js +24 -0
  12. package/.storybook/docs.css +35 -0
  13. package/.storybook/htmlPreview.css +103 -0
  14. package/.storybook/htmlPreview.js +271 -0
  15. package/.storybook/main.js +160 -0
  16. package/.storybook/preview-body.html +48 -0
  17. package/.storybook/preview-head.html +11 -0
  18. package/.storybook/preview.js +1563 -0
  19. package/README.md +266 -0
  20. package/bin/index.js +40 -0
  21. package/dist/pds-reference.json +2101 -0
  22. package/package.json +45 -0
  23. package/pds.config.js +6 -0
  24. package/public/assets/css/app.css +1216 -0
  25. package/public/assets/data/auto-design-advanced.json +704 -0
  26. package/public/assets/data/auto-design-simple.json +123 -0
  27. package/public/assets/img/icon-512x512.png +0 -0
  28. package/public/assets/img/logo-trans.png +0 -0
  29. package/public/assets/img/logo.png +0 -0
  30. package/public/assets/js/app.js +15088 -0
  31. package/public/assets/js/app.js.map +7 -0
  32. package/public/assets/js/lit.js +1176 -0
  33. package/public/assets/js/lit.js.map +7 -0
  34. package/public/assets/js/pds.js +9801 -0
  35. package/public/assets/js/pds.js.map +7 -0
  36. package/public/assets/pds/components/pds-calendar.js +837 -0
  37. package/public/assets/pds/components/pds-drawer.js +857 -0
  38. package/public/assets/pds/components/pds-icon.js +338 -0
  39. package/public/assets/pds/components/pds-jsonform.js +1775 -0
  40. package/public/assets/pds/components/pds-richtext.js +1035 -0
  41. package/public/assets/pds/components/pds-scrollrow.js +331 -0
  42. package/public/assets/pds/components/pds-splitpanel.js +401 -0
  43. package/public/assets/pds/components/pds-tabstrip.js +251 -0
  44. package/public/assets/pds/components/pds-toaster.js +446 -0
  45. package/public/assets/pds/components/pds-upload.js +657 -0
  46. package/public/assets/pds/custom-elements.json +2003 -0
  47. package/public/assets/pds/icons/pds-icons.svg +498 -0
  48. package/public/assets/pds/pds-css-complete.json +1861 -0
  49. package/public/assets/pds/pds-runtime-config.json +11 -0
  50. package/public/assets/pds/pds.css-data.json +2152 -0
  51. package/public/assets/pds/styles/pds-components.css +1944 -0
  52. package/public/assets/pds/styles/pds-components.css.js +3895 -0
  53. package/public/assets/pds/styles/pds-primitives.css +352 -0
  54. package/public/assets/pds/styles/pds-primitives.css.js +711 -0
  55. package/public/assets/pds/styles/pds-styles.css +3761 -0
  56. package/public/assets/pds/styles/pds-styles.css.js +7529 -0
  57. package/public/assets/pds/styles/pds-tokens.css +699 -0
  58. package/public/assets/pds/styles/pds-tokens.css.js +1405 -0
  59. package/public/assets/pds/styles/pds-utilities.css +763 -0
  60. package/public/assets/pds/styles/pds-utilities.css.js +1533 -0
  61. package/public/assets/pds/vscode-custom-data.json +824 -0
  62. package/scripts/build-pds-reference.mjs +807 -0
  63. package/scripts/generate-stories.js +542 -0
  64. package/scripts/package-build.js +86 -0
  65. package/src/js/app.js +17 -0
  66. package/src/js/common/ask.js +208 -0
  67. package/src/js/common/common.js +20 -0
  68. package/src/js/common/font-loader.js +200 -0
  69. package/src/js/common/msg.js +90 -0
  70. package/src/js/lit.js +40 -0
  71. package/src/js/pds-core/pds-config.js +1162 -0
  72. package/src/js/pds-core/pds-enhancer-metadata.js +75 -0
  73. package/src/js/pds-core/pds-enhancers.js +357 -0
  74. package/src/js/pds-core/pds-enums.js +86 -0
  75. package/src/js/pds-core/pds-generator.js +5317 -0
  76. package/src/js/pds-core/pds-ontology.js +256 -0
  77. package/src/js/pds-core/pds-paths.js +109 -0
  78. package/src/js/pds-core/pds-query.js +571 -0
  79. package/src/js/pds-core/pds-registry.js +129 -0
  80. package/src/js/pds-core/pds.d.ts +129 -0
  81. package/src/js/pds.d.ts +408 -0
  82. package/src/js/pds.js +1579 -0
  83. package/src/pds-core/pds-api.js +105 -0
  84. package/stories/GettingStarted.md +96 -0
  85. package/stories/GettingStarted.stories.js +144 -0
  86. package/stories/WhatIsPDS.md +194 -0
  87. package/stories/WhatIsPDS.stories.js +144 -0
  88. package/stories/components/PdsCalendar.stories.js +263 -0
  89. package/stories/components/PdsDrawer.stories.js +623 -0
  90. package/stories/components/PdsIcon.stories.js +78 -0
  91. package/stories/components/PdsJsonform.stories.js +1444 -0
  92. package/stories/components/PdsRichtext.stories.js +367 -0
  93. package/stories/components/PdsScrollrow.stories.js +140 -0
  94. package/stories/components/PdsSplitpanel.stories.js +502 -0
  95. package/stories/components/PdsTabstrip.stories.js +442 -0
  96. package/stories/components/PdsToaster.stories.js +186 -0
  97. package/stories/components/PdsUpload.stories.js +66 -0
  98. package/stories/enhancements/Dropdowns.stories.js +185 -0
  99. package/stories/enhancements/InteractiveStates.stories.js +625 -0
  100. package/stories/enhancements/MeshGradients.stories.js +320 -0
  101. package/stories/enhancements/OpenGroups.stories.js +227 -0
  102. package/stories/enhancements/RangeSliders.stories.js +232 -0
  103. package/stories/enhancements/RequiredFields.stories.js +189 -0
  104. package/stories/enhancements/Toggles.stories.js +167 -0
  105. package/stories/foundations/Colors.stories.js +283 -0
  106. package/stories/foundations/Icons.stories.js +305 -0
  107. package/stories/foundations/SmartSurfaces.stories.js +367 -0
  108. package/stories/foundations/Spacing.stories.js +175 -0
  109. package/stories/foundations/Typography.stories.js +960 -0
  110. package/stories/foundations/ZIndex.stories.js +325 -0
  111. package/stories/patterns/BorderEffects.stories.js +72 -0
  112. package/stories/patterns/Layout.stories.js +99 -0
  113. package/stories/patterns/Utilities.stories.js +107 -0
  114. package/stories/primitives/Accordion.stories.js +359 -0
  115. package/stories/primitives/Alerts.stories.js +64 -0
  116. package/stories/primitives/Badges.stories.js +183 -0
  117. package/stories/primitives/Buttons.stories.js +229 -0
  118. package/stories/primitives/Cards.stories.js +353 -0
  119. package/stories/primitives/FormGroups.stories.js +569 -0
  120. package/stories/primitives/Forms.stories.js +131 -0
  121. package/stories/primitives/Media.stories.js +203 -0
  122. package/stories/primitives/Tables.stories.js +232 -0
  123. package/stories/reference/ReferenceCatalog.stories.js +28 -0
  124. package/stories/reference/reference-catalog.js +413 -0
  125. package/stories/reference/reference-docs.js +302 -0
  126. package/stories/reference/reference-helpers.js +310 -0
  127. package/stories/utilities/GridSystem.stories.js +208 -0
  128. package/stories/utils/PdsAsk.stories.js +420 -0
  129. package/stories/utils/toast-utils.js +148 -0
@@ -0,0 +1,185 @@
1
+ import { html } from "lit";
2
+
3
+ const dropdownStoryStyles = html`
4
+ <style>
5
+ .dropdown-story-align-right {
6
+ text-align: right;
7
+ }
8
+
9
+ .dropdown-story-dropup {
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: flex-end;
13
+ height: 260px;
14
+ padding: var(--spacing-6);
15
+ border-radius: var(--radius-lg);
16
+ }
17
+ </style>
18
+ `;
19
+
20
+ const dropdownGlassDemoStyles = html`
21
+ <style>
22
+ .dropdown-story-glass-demo {
23
+ position: relative;
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+ min-height: 100vh;
28
+ padding: var(--spacing-8);
29
+ border-radius: var(--radius-xl);
30
+ overflow: hidden;
31
+ background-image: var(--dropdown-demo-image);
32
+ background-size: cover;
33
+ background-position: center;
34
+ color: inherit;
35
+ }
36
+
37
+ .dropdown-story-glass-demo::before {
38
+ content: "";
39
+ position: absolute;
40
+ inset: 0;
41
+ /* background: linear-gradient(
42
+ rgba(12, 18, 28, 0.72),
43
+ rgba(12, 18, 28, 0.32)
44
+ ); */
45
+ }
46
+
47
+ .dropdown-story-glass-content {
48
+ position: relative;
49
+ display: grid;
50
+ gap: var(--spacing-4);
51
+ text-align: center;
52
+ max-width: 360px;
53
+ }
54
+
55
+ .dropdown-story-glass-content h3 {
56
+ margin: 0;
57
+ font-weight: var(--font-weight-semibold);
58
+ letter-spacing: 0.04em;
59
+ }
60
+
61
+ .dropdown-story-glass-content p {
62
+ margin: 0;
63
+
64
+ }
65
+
66
+ .dropdown-story-glass-content menu {
67
+ margin: 0;
68
+ padding: var(--spacing-3);
69
+ }
70
+ </style>
71
+ `;
72
+
73
+ export default {
74
+ title: "Enhancements/Dropdowns",
75
+ tags: ["forms", "interaction"],
76
+ parameters: {
77
+ pds: {
78
+ tags: ["forms", "interaction"],
79
+ },
80
+ docs: {
81
+ description: {
82
+ component:
83
+ "Progressive enhancement for dropdown menus using data-dropdown attribute",
84
+ },
85
+ },
86
+ },
87
+ };
88
+
89
+ export const BasicDropdown = () => html`
90
+ <nav data-dropdown>
91
+ <button class="btn-primary">Open Menu</button>
92
+ <menu>
93
+ <li><a href="#home">Home</a></li>
94
+ <li><a href="#about">About</a></li>
95
+ <li><a href="#services">Services</a></li>
96
+ <li><a href="#contact">Contact</a></li>
97
+ </menu>
98
+ </nav>
99
+ `;
100
+
101
+ export const RightAligned = () => html`
102
+ ${dropdownStoryStyles}
103
+ <div class="dropdown-story-align-right">
104
+ <nav data-dropdown class="align-right">
105
+ <button class="btn-secondary">User Menu</button>
106
+ <menu>
107
+ <li><a href="#profile">Profile</a></li>
108
+ <li><a href="#settings">Settings</a></li>
109
+ <li><hr /></li>
110
+ <li><a href="#logout">Logout</a></li>
111
+ </menu>
112
+ </nav>
113
+ </div>
114
+ `;
115
+
116
+ export const WithIcons = () => html`
117
+ ${dropdownStoryStyles}
118
+ <nav data-dropdown>
119
+ <button class="btn-outline">
120
+ <pds-icon icon="list" size="sm"></pds-icon>
121
+ Actions
122
+ </button>
123
+ <menu>
124
+ <li>
125
+ <a href="#edit">
126
+ <pds-icon icon="pencil" size="sm"></pds-icon>
127
+ Edit
128
+ </a>
129
+ </li>
130
+ <li>
131
+ <a href="#copy">
132
+ <pds-icon icon="copy" size="sm"></pds-icon>
133
+ Copy
134
+ </a>
135
+ </li>
136
+ <li>
137
+ <a href="#delete">
138
+ <pds-icon icon="trash" size="sm"></pds-icon>
139
+ Delete
140
+ </a>
141
+ </li>
142
+ </menu>
143
+ </nav>
144
+ `;
145
+
146
+ export const DropUp = () => html`
147
+ ${dropdownStoryStyles}
148
+ <div class="dropdown-story-dropup">
149
+ <nav data-dropdown data-mode="up">
150
+ <button class="btn-primary">Resources</button>
151
+ <menu>
152
+ <li><a href="#guides">Guides</a></li>
153
+ <li><a href="#checklists">Checklists</a></li>
154
+ <li><a href="#support">Support</a></li>
155
+ </menu>
156
+ </nav>
157
+ </div>
158
+ `;
159
+
160
+ export const BackgroundImageLiquidGlass = () => html`
161
+ ${dropdownStoryStyles} ${dropdownGlassDemoStyles}
162
+ <section
163
+ class="dropdown-story-glass-demo"
164
+ style="--dropdown-demo-image: url('https://images.unsplash.com/photo-1517832207067-4db24a2ae47c?auto=format&fit=crop&w=1200&q=80');"
165
+ >
166
+ <div class="dropdown-story-glass-content">
167
+ <div class="card liquid-glass">
168
+ <h3>Plan Your Escape</h3>
169
+ <p>
170
+ Frosted dropdown blends with the hero photo while keeping content
171
+ readable.
172
+ </p>
173
+ </div>
174
+ <nav data-dropdown data-mode="down">
175
+ <button class="btn-primary">Featured Cities</button>
176
+ <menu class="liquid-glass">
177
+ <li><a href="#barcelona">Barcelona</a></li>
178
+ <li><a href="#kyoto">Kyoto</a></li>
179
+ <li><a href="#cape-town">Cape Town</a></li>
180
+ <li><a href="#reykjavik">Reykjavik</a></li>
181
+ </menu>
182
+ </nav>
183
+ </div>
184
+ </section>
185
+ `;