@poveste/app 0.19.1 → 0.21.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/dist/bundled/app.css +208 -7
- package/dist/bundled/components/HomeView.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/app/AppLogo.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/bundled/components/app/TopBarChipItem.js +10 -6
- package/dist/bundled/components/layout/LayoutItem.js +1 -0
- package/dist/bundled/components/layout/LayoutItem.vue_vue_type_script_setup_true_lang.js +20 -23
- package/dist/bundled/components/layout/LayoutModal.vue_vue_type_script_setup_true_lang.js +44 -5
- package/dist/bundled/components/panel/ComponentDocs.js +7 -0
- package/dist/bundled/components/panel/ComponentDocs.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/bundled/components/panel/StoryDocs.vue_vue_type_script_setup_true_lang.js +57 -22
- package/dist/bundled/components/panel/StorySourceCode.js +1 -1
- package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js +22 -6
- package/dist/bundled/components/story/GenericMountStory.vue_vue_type_script_setup_true_lang.js +3 -7
- package/dist/bundled/components/story/GenericRenderStory.vue_vue_type_script_setup_true_lang.js +3 -10
- package/dist/bundled/components/story/StoryResponsivePreview.js +1 -1
- package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/bundled/components/story/StoryVariantGridItem.js +1 -1
- package/dist/bundled/components/story/StoryVariantGridItem.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/bundled/components/story/StoryVariantSinglePreviewRemote.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/bundled/components/toolbar/DevOnlyToolbarOpenInEditor.vue_vue_type_script_setup_true_lang.js +0 -1
- package/dist/bundled/index.js +5 -1
- package/dist/bundled/sandbox.js +2 -0
- package/dist/bundled/util/client-plugin.js +22 -0
- package/dist/bundled/util/component-docs-data.js +5 -0
- package/dist/bundled/util/component-docs.js +133 -0
- package/dist/bundled/util/dark.js +3 -1
- package/dist/bundled/util/docs.js +13 -3
- package/dist/bundled/util/highlighter.js +1 -1
- package/dist/bundled/util/icons.generated.js +3 -2
- package/dist/bundled/util/keyboard.js +5 -4
- package/dist/bundled/util/mapping.js +1 -5
- package/dist/style.css +321 -195
- package/package.json +17 -17
- package/src/app/components/HomeView.vue +2 -2
- package/src/app/components/app/AppLogo.vue +4 -6
- package/src/app/components/app/TopBarChipItem.vue +55 -6
- package/src/app/components/layout/LayoutItem.vue +56 -6
- package/src/app/components/layout/LayoutModal.vue +55 -2
- package/src/app/components/panel/ComponentDocs.vue +323 -0
- package/src/app/components/panel/StoryDocs.vue +38 -2
- package/src/app/components/panel/StorySourceCode.vue +29 -5
- package/src/app/components/story/GenericMountStory.vue +3 -5
- package/src/app/components/story/GenericRenderStory.vue +4 -12
- package/src/app/components/story/StoryResponsivePreview.vue +4 -1
- package/src/app/components/story/StoryVariantGridItem.vue +4 -1
- package/src/app/components/story/StoryVariantSinglePreviewRemote.vue +6 -4
- package/src/app/components/toolbar/DevOnlyToolbarOpenInEditor.vue +0 -1
- package/src/app/index.ts +12 -3
- package/src/app/sandbox.ts +5 -0
- package/src/app/util/client-plugin.ts +33 -0
- package/src/app/util/component-docs-data.ts +6 -0
- package/src/app/util/component-docs.ts +169 -0
- package/src/app/util/dark.ts +6 -0
- package/src/app/util/docs.ts +18 -2
- package/src/app/util/highlighter.ts +2 -1
- package/src/app/util/icons.generated.ts +2 -2
- package/src/app/util/keyboard.ts +8 -4
- package/src/app/util/mapping.ts +1 -5
package/dist/bundled/app.css
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
1
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
2
|
+
.poveste-top-bar-chip-item {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: .25rem;
|
|
6
|
+
padding: .375rem .625rem;
|
|
7
|
+
border: 0;
|
|
8
|
+
font: inherit;
|
|
9
|
+
color: var(--color-gray-900);
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
12
|
+
transition: color .15s ease-out, background-color .15s ease-out;
|
|
13
|
+
}
|
|
14
|
+
&:hover {
|
|
15
|
+
background-color: rgb(255 255 255 / .5);
|
|
16
|
+
color: var(--color-primary-500);
|
|
17
|
+
}
|
|
18
|
+
&:active {
|
|
19
|
+
background-color: rgb(255 255 255 / .7);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Inset: the chip clips its items to its rounded border. */
|
|
23
|
+
&:focus-visible {
|
|
24
|
+
outline: 2px solid var(--color-primary-500);
|
|
25
|
+
outline-offset: -2px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Spelled out on the subject: `.ptw-dark` sits above the `@scope` root, so a
|
|
29
|
+
descendant rule keyed on it never matches from in here (#101). */
|
|
30
|
+
&:where(.ptw-dark, .ptw-dark *) {
|
|
31
|
+
color: var(--color-gray-100);
|
|
32
|
+
&:hover {
|
|
33
|
+
background-color: rgb(255 255 255 / .1);
|
|
34
|
+
color: var(--color-primary-400);
|
|
35
|
+
}
|
|
36
|
+
&:active {
|
|
37
|
+
background-color: rgb(255 255 255 / .15);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
2
43
|
.bind-tree-margin[data-v-83161585] {
|
|
3
44
|
margin-left: var(--v0299061e);
|
|
4
45
|
}
|
|
@@ -94,6 +135,46 @@ from {
|
|
|
94
135
|
}
|
|
95
136
|
}
|
|
96
137
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
138
|
+
.poveste-layout-item {
|
|
139
|
+
display: flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
gap: 1rem;
|
|
142
|
+
width: 100%;
|
|
143
|
+
padding: 1rem 1.5rem;
|
|
144
|
+
border: 0;
|
|
145
|
+
font: inherit;
|
|
146
|
+
text-align: start;
|
|
147
|
+
color: var(--color-gray-900);
|
|
148
|
+
cursor: pointer;
|
|
149
|
+
&:hover {
|
|
150
|
+
background-color: var(--color-primary-100);
|
|
151
|
+
}
|
|
152
|
+
&:focus-visible {
|
|
153
|
+
outline: 2px solid var(--color-primary-500);
|
|
154
|
+
outline-offset: -2px;
|
|
155
|
+
}
|
|
156
|
+
&.active {
|
|
157
|
+
background-color: var(--color-primary-500);
|
|
158
|
+
color: var(--color-white);
|
|
159
|
+
&:hover {
|
|
160
|
+
background-color: var(--color-primary-600);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* Spelled out on the subject: `.ptw-dark` sits above the `@scope` root, so a
|
|
165
|
+
descendant rule keyed on it never matches from in here (#101). */
|
|
166
|
+
&:where(.ptw-dark, .ptw-dark *) {
|
|
167
|
+
color: var(--color-gray-100);
|
|
168
|
+
&:hover {
|
|
169
|
+
background-color: var(--color-primary-900);
|
|
170
|
+
}
|
|
171
|
+
&.active {
|
|
172
|
+
color: var(--color-black);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
97
178
|
/* Outside the layer — registration is document-global, not cascaded. */
|
|
98
179
|
@property --poveste-count {
|
|
99
180
|
syntax: '<integer>';
|
|
@@ -133,6 +214,126 @@ from {
|
|
|
133
214
|
}
|
|
134
215
|
}
|
|
135
216
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
217
|
+
.poveste-component-docs {
|
|
218
|
+
&[data-v-3b01b847] {
|
|
219
|
+
padding: 1rem;
|
|
220
|
+
font-size: .875rem;
|
|
221
|
+
color: var(--color-gray-800);
|
|
222
|
+
|
|
223
|
+
/* On the subject, not `.ptw-dark &`: `.ptw-dark` sits above the `@scope` root (#101). */
|
|
224
|
+
}
|
|
225
|
+
&[data-v-3b01b847]:where(.ptw-dark, .ptw-dark *) {
|
|
226
|
+
color: var(--color-gray-200);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
details + details[data-v-3b01b847] {
|
|
230
|
+
margin-top: 1.5rem;
|
|
231
|
+
}
|
|
232
|
+
summary[data-v-3b01b847] {
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
margin-bottom: .5rem;
|
|
235
|
+
}
|
|
236
|
+
h3[data-v-3b01b847] {
|
|
237
|
+
display: inline;
|
|
238
|
+
font-weight: 600;
|
|
239
|
+
font-size: 1rem;
|
|
240
|
+
}
|
|
241
|
+
table[data-v-3b01b847] {
|
|
242
|
+
width: 100%;
|
|
243
|
+
border-collapse: collapse;
|
|
244
|
+
margin-bottom: 1rem;
|
|
245
|
+
}
|
|
246
|
+
th[data-v-3b01b847] {
|
|
247
|
+
text-align: start;
|
|
248
|
+
font-weight: 500;
|
|
249
|
+
color: var(--color-gray-500);
|
|
250
|
+
}
|
|
251
|
+
th,
|
|
252
|
+
td {
|
|
253
|
+
&[data-v-3b01b847] {
|
|
254
|
+
padding: .375rem .5rem;
|
|
255
|
+
border-bottom: 1px solid var(--color-gray-200);
|
|
256
|
+
vertical-align: top;
|
|
257
|
+
}
|
|
258
|
+
&[data-v-3b01b847]:where(.ptw-dark, .ptw-dark *) {
|
|
259
|
+
border-color: var(--color-gray-750);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
code {
|
|
263
|
+
&[data-v-3b01b847] {
|
|
264
|
+
font-size: .8125rem;
|
|
265
|
+
background-color: var(--color-gray-100);
|
|
266
|
+
border-radius: .25rem;
|
|
267
|
+
padding: 0 .25rem;
|
|
268
|
+
}
|
|
269
|
+
&[data-v-3b01b847]:where(.ptw-dark, .ptw-dark *) {
|
|
270
|
+
background-color: var(--color-gray-750);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
pre code[data-v-3b01b847] {
|
|
274
|
+
display: block;
|
|
275
|
+
padding: .5rem;
|
|
276
|
+
margin-top: .25rem;
|
|
277
|
+
white-space: pre-wrap;
|
|
278
|
+
}
|
|
279
|
+
.deprecated[data-v-3b01b847] {
|
|
280
|
+
text-decoration: line-through;
|
|
281
|
+
}
|
|
282
|
+
/* Its own line: a constraint wrapped beside the name broke mid-phrase in the narrow panel. */
|
|
283
|
+
/* A prop a slot passes its content, under the slot it belongs to. */
|
|
284
|
+
[data-slot-prop] td[data-v-3b01b847]:first-child {
|
|
285
|
+
padding-inline-start: 1rem;
|
|
286
|
+
}
|
|
287
|
+
[data-slot='generic'][data-v-3b01b847] {
|
|
288
|
+
display: block;
|
|
289
|
+
width: fit-content;
|
|
290
|
+
margin-top: .25rem;
|
|
291
|
+
font-size: .75rem;
|
|
292
|
+
font-weight: 400;
|
|
293
|
+
cursor: help;
|
|
294
|
+
}
|
|
295
|
+
[data-slot='required'][data-v-3b01b847] {
|
|
296
|
+
color: var(--color-red-500);
|
|
297
|
+
margin-inline-start: .125rem;
|
|
298
|
+
}
|
|
299
|
+
[data-slot='model'] {
|
|
300
|
+
&[data-v-3b01b847] {
|
|
301
|
+
display: inline-block;
|
|
302
|
+
margin-inline-start: .375rem;
|
|
303
|
+
color: var(--color-primary-600);
|
|
304
|
+
cursor: help;
|
|
305
|
+
}
|
|
306
|
+
&[data-v-3b01b847]:where(.ptw-dark, .ptw-dark *) {
|
|
307
|
+
color: var(--color-primary-400);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
[data-slot='deprecated'],
|
|
311
|
+
[data-slot='default-conflict'] {
|
|
312
|
+
&[data-v-3b01b847] {
|
|
313
|
+
color: var(--color-amber-600);
|
|
314
|
+
font-weight: 500;
|
|
315
|
+
}
|
|
316
|
+
&[data-v-3b01b847]:where(.ptw-dark, .ptw-dark *) {
|
|
317
|
+
color: var(--color-amber-400);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
[data-slot='default-conflict'][data-v-3b01b847] {
|
|
321
|
+
margin-inline-start: .25rem;
|
|
322
|
+
cursor: help;
|
|
323
|
+
}
|
|
324
|
+
[data-slot='see'][data-v-3b01b847] {
|
|
325
|
+
display: block;
|
|
326
|
+
margin-top: .25rem;
|
|
327
|
+
}
|
|
328
|
+
a[data-slot='see'][data-v-3b01b847] {
|
|
329
|
+
color: var(--color-primary-500);
|
|
330
|
+
text-decoration: underline;
|
|
331
|
+
}
|
|
332
|
+
[data-slot='error'][data-v-3b01b847] {
|
|
333
|
+
color: var(--color-gray-500);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
136
337
|
.poveste-base-select-popper {
|
|
137
338
|
/* The trigger's own width, which is what floating-vue's `auto-size` gave. */
|
|
138
339
|
min-width: var(--reka-popper-anchor-width);
|
|
@@ -150,7 +351,7 @@ from {
|
|
|
150
351
|
}
|
|
151
352
|
}
|
|
152
353
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
153
|
-
.__poveste-code-placeholder[data-v-
|
|
354
|
+
.__poveste-code-placeholder[data-v-cecbc93b] {
|
|
154
355
|
color: inherit;
|
|
155
356
|
font-size: inherit;
|
|
156
357
|
}
|
|
@@ -165,16 +366,16 @@ from {
|
|
|
165
366
|
}
|
|
166
367
|
}
|
|
167
368
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
168
|
-
.bind-preview-bg[data-v-
|
|
169
|
-
background-color: var(--
|
|
369
|
+
.bind-preview-bg[data-v-bbd56e9f] {
|
|
370
|
+
background-color: var(--v59fa22e6);
|
|
170
371
|
}
|
|
171
372
|
}
|
|
172
373
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
173
|
-
.bind-icon-color[data-v-
|
|
174
|
-
color: var(--
|
|
374
|
+
.bind-icon-color[data-v-9a717688] {
|
|
375
|
+
color: var(--ff0ecc2c);
|
|
175
376
|
}
|
|
176
|
-
.bind-preview-bg[data-v-
|
|
177
|
-
background-color: var(--
|
|
377
|
+
.bind-preview-bg[data-v-9a717688] {
|
|
378
|
+
background-color: var(--v59a40d7e);
|
|
178
379
|
}
|
|
179
380
|
}
|
|
180
381
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { customLogos
|
|
1
|
+
import { customLogos } from "../util/config.js";
|
|
2
2
|
import { useStoryStore } from "../stores/story.js";
|
|
3
|
-
import
|
|
3
|
+
import "../assets/poveste.js";
|
|
4
4
|
import HomeCounter_default from "./app/HomeCounter.js";
|
|
5
5
|
import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock } from "@poveste/vendors/vue";
|
|
6
6
|
//#region src/app/components/HomeView.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -14,7 +14,7 @@ var _hoisted_3 = {
|
|
|
14
14
|
var HomeView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
15
15
|
__name: "HomeView",
|
|
16
16
|
setup(__props) {
|
|
17
|
-
const logoUrl = computed(() =>
|
|
17
|
+
const logoUrl = computed(() => customLogos?.square ?? "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='512'%20height='512'%20fill='none'%3e%3cdefs%3e%3clinearGradient%20id='pv'%20x1='96'%20y1='416'%20x2='416'%20y2='96'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%2324C56A'/%3e%3cstop%20offset='1'%20stop-color='%2317A6C6'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20x='16'%20y='16'%20width='480'%20height='480'%20rx='112'%20fill='url(%23pv)'/%3e%3crect%20x='140'%20y='142'%20width='232'%20height='44'%20rx='16'%20fill='%23fff'/%3e%3crect%20x='151'%20y='217'%20width='88'%20height='146'%20rx='9'%20stroke='%23fff'%20stroke-width='22'/%3e%3crect%20x='172'%20y='244'%20width='30'%20height='92'%20rx='13'%20fill='%23fff'/%3e%3crect%20x='262'%20y='206'%20width='110'%20height='168'%20rx='20'%20fill='%23fff'/%3e%3crect%20x='284'%20y='226'%20width='66'%20height='58'%20rx='13'%20fill='url(%23pv)'/%3e%3c/svg%3e");
|
|
18
18
|
const storyStore = useStoryStore();
|
|
19
19
|
const stats = computed(() => {
|
|
20
20
|
let storyCount = 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { customLogos, povesteConfig } from "../../util/config.js";
|
|
2
2
|
import { isDark } from "../../util/dark.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import "../../assets/poveste-text-dark.js";
|
|
4
|
+
import "../../assets/poveste-text.js";
|
|
5
5
|
import { computed, createElementBlock, defineComponent, openBlock } from "@poveste/vendors/vue";
|
|
6
6
|
//#region src/app/components/app/AppLogo.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = ["src", "alt"];
|
|
@@ -9,8 +9,8 @@ var AppLogo_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
9
9
|
__name: "AppLogo",
|
|
10
10
|
setup(__props) {
|
|
11
11
|
const logoUrl = computed(() => {
|
|
12
|
-
if (isDark.value) return
|
|
13
|
-
return
|
|
12
|
+
if (isDark.value) return customLogos?.dark ?? "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODcwIDUxMiIgZmlsbD0ibm9uZSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InB2dyIgeDE9Ijk2IiB5MT0iNDE2IiB4Mj0iNDE2IiB5Mj0iOTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjRDNTZBIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE3QTZDNiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHJlY3QgeD0iMTYiIHk9IjE2IiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgcng9IjExMiIgZmlsbD0idXJsKCNwdncpIi8+CiAgPHJlY3QgeD0iMTQwIiB5PSIxNDIiIHdpZHRoPSIyMzIiIGhlaWdodD0iNDQiIHJ4PSIxNiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjE1MSIgeT0iMjE3IiB3aWR0aD0iODgiIGhlaWdodD0iMTQ2IiByeD0iOSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIyIi8+CiAgPHJlY3QgeD0iMTcyIiB5PSIyNDQiIHdpZHRoPSIzMCIgaGVpZ2h0PSI5MiIgcng9IjEzIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iMjYyIiB5PSIyMDYiIHdpZHRoPSIxMTAiIGhlaWdodD0iMTY4IiByeD0iMjAiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyODQiIHk9IjIyNiIgd2lkdGg9IjY2IiBoZWlnaHQ9IjU4IiByeD0iMTMiIGZpbGw9InVybCgjcHZ3KSIvPgogIDx0ZXh0IHg9IjY3NiIgeT0iMjU2IiBkb21pbmFudC1iYXNlbGluZT0iY2VudHJhbCIgZm9udC1mYW1pbHk9InVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjMyMCIgZm9udC13ZWlnaHQ9IjQwMCIgbGV0dGVyLXNwYWNpbmc9Ii00IiBmaWxsPSIjZjhmYWZjIj5Qb3Zlc3RlPC90ZXh0Pgo8L3N2Zz4K";
|
|
13
|
+
return customLogos?.light ?? "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODcwIDUxMiIgZmlsbD0ibm9uZSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InB2dyIgeDE9Ijk2IiB5MT0iNDE2IiB4Mj0iNDE2IiB5Mj0iOTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjRDNTZBIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE3QTZDNiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHJlY3QgeD0iMTYiIHk9IjE2IiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgcng9IjExMiIgZmlsbD0idXJsKCNwdncpIi8+CiAgPHJlY3QgeD0iMTQwIiB5PSIxNDIiIHdpZHRoPSIyMzIiIGhlaWdodD0iNDQiIHJ4PSIxNiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjE1MSIgeT0iMjE3IiB3aWR0aD0iODgiIGhlaWdodD0iMTQ2IiByeD0iOSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIyIi8+CiAgPHJlY3QgeD0iMTcyIiB5PSIyNDQiIHdpZHRoPSIzMCIgaGVpZ2h0PSI5MiIgcng9IjEzIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iMjYyIiB5PSIyMDYiIHdpZHRoPSIxMTAiIGhlaWdodD0iMTY4IiByeD0iMjAiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyODQiIHk9IjIyNiIgd2lkdGg9IjY2IiBoZWlnaHQ9IjU4IiByeD0iMTMiIGZpbGw9InVybCgjcHZ3KSIvPgogIDx0ZXh0IHg9IjY3NiIgeT0iMjU2IiBkb21pbmFudC1iYXNlbGluZT0iY2VudHJhbCIgZm9udC1mYW1pbHk9InVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjMyMCIgZm9udC13ZWlnaHQ9IjQwMCIgbGV0dGVyLXNwYWNpbmc9Ii00IiBmaWxsPSIjMWUyOTNiIj5Qb3Zlc3RlPC90ZXh0Pgo8L3N2Zz4K";
|
|
14
14
|
});
|
|
15
15
|
const altText = computed(() => `${povesteConfig.theme.title} logo`);
|
|
16
16
|
return (_ctx, _cache) => {
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
-
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createBlock, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "@poveste/vendors/vue";
|
|
3
4
|
//#region src/app/components/app/TopBarChipItem.vue
|
|
4
5
|
var _sfc_main = {};
|
|
5
|
-
var _hoisted_1 = ["role"];
|
|
6
6
|
function _sfc_render(_ctx, _cache) {
|
|
7
|
-
return openBlock(),
|
|
8
|
-
|
|
9
|
-
class: "poveste-top-bar-chip-item
|
|
10
|
-
|
|
7
|
+
return openBlock(), createBlock(resolveDynamicComponent(_ctx.$attrs["href"] ? "a" : "button"), {
|
|
8
|
+
type: _ctx.$attrs["href"] ? void 0 : "button",
|
|
9
|
+
class: "poveste-top-bar-chip-item",
|
|
10
|
+
"data-slot": "top-bar-chip-item"
|
|
11
|
+
}, {
|
|
12
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
13
|
+
_: 3
|
|
14
|
+
}, 8, ["type"]);
|
|
11
15
|
}
|
|
12
16
|
var TopBarChipItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
13
17
|
//#endregion
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import LayoutItem_vue_vue_type_script_setup_true_lang_default from "./LayoutItem.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
/* empty css */
|
|
2
3
|
//#region src/app/components/layout/LayoutItem.vue
|
|
3
4
|
var LayoutItem_default = LayoutItem_vue_vue_type_script_setup_true_lang_default;
|
|
4
5
|
//#endregion
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "@poveste/vendors/vue";
|
|
1
|
+
import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, toDisplayString, unref } from "@poveste/vendors/vue";
|
|
3
2
|
import { Icon } from "@poveste/vendors/iconify";
|
|
4
3
|
//#region src/app/components/layout/LayoutItem.vue?vue&type=script&setup=true&lang.ts
|
|
5
4
|
var _hoisted_1 = { class: "flex-1" };
|
|
@@ -14,27 +13,25 @@ var LayoutItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
14
13
|
emits: ["click"],
|
|
15
14
|
setup(__props) {
|
|
16
15
|
return (_ctx, _cache) => {
|
|
17
|
-
return openBlock(),
|
|
18
|
-
"
|
|
19
|
-
class: "
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
_: 1
|
|
37
|
-
}, 8, ["is-active"]);
|
|
16
|
+
return openBlock(), createElementBlock("button", {
|
|
17
|
+
type: "button",
|
|
18
|
+
class: normalizeClass(["poveste-layout-item", { active: __props.isActive }]),
|
|
19
|
+
"data-slot": "layout-item",
|
|
20
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click"))
|
|
21
|
+
}, [
|
|
22
|
+
createVNode(unref(Icon), {
|
|
23
|
+
class: "w-4 h-4 flex-none",
|
|
24
|
+
icon: __props.icon,
|
|
25
|
+
"aria-hidden": "true"
|
|
26
|
+
}, null, 8, ["icon"]),
|
|
27
|
+
createElementVNode("span", _hoisted_1, toDisplayString(__props.title), 1),
|
|
28
|
+
__props.stateIcon ? (openBlock(), createBlock(unref(Icon), {
|
|
29
|
+
key: 0,
|
|
30
|
+
class: "w-4 h-4 flex-none opacity-70",
|
|
31
|
+
icon: __props.stateIcon,
|
|
32
|
+
"aria-hidden": "true"
|
|
33
|
+
}, null, 8, ["icon"])) : createCommentVNode("", true)
|
|
34
|
+
], 2);
|
|
38
35
|
};
|
|
39
36
|
}
|
|
40
37
|
});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { onKeyboardShortcut } from "../../util/keyboard.js";
|
|
2
2
|
import LayoutPane_default from "./LayoutPane.js";
|
|
3
|
-
import { createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, unref, vShow, withDirectives } from "@poveste/vendors/vue";
|
|
3
|
+
import { createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, openBlock, ref, unref, vShow, watch, withDirectives, withKeys } from "@poveste/vendors/vue";
|
|
4
4
|
import { Icon } from "@poveste/vendors/iconify";
|
|
5
5
|
//#region src/app/components/layout/LayoutModal.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = {
|
|
7
7
|
class: "poveste-layout-modal fixed inset-0 bg-white/80 dark:bg-gray-900/80 z-20",
|
|
8
8
|
"data-testid": "layout-modal"
|
|
9
9
|
};
|
|
10
|
-
var _hoisted_2 = { class: "
|
|
11
|
-
var
|
|
10
|
+
var _hoisted_2 = { class: "flex items-center px-6 py-3 text-gray-900 dark:text-gray-100" };
|
|
11
|
+
var FOCUSABLE = "button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])";
|
|
12
12
|
var LayoutModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
__name: "LayoutModal",
|
|
14
14
|
props: { shown: {
|
|
@@ -25,11 +25,50 @@ var LayoutModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
25
25
|
onKeyboardShortcut(["escape"], () => {
|
|
26
26
|
if (props.shown) close();
|
|
27
27
|
});
|
|
28
|
+
const panel = ref();
|
|
29
|
+
let opener = null;
|
|
30
|
+
function focusables() {
|
|
31
|
+
return [...panel.value?.querySelectorAll(FOCUSABLE) ?? []].filter((element) => !element.hasAttribute("disabled") && element.getClientRects().length > 0);
|
|
32
|
+
}
|
|
33
|
+
watch(() => props.shown, async (shown) => {
|
|
34
|
+
if (shown) {
|
|
35
|
+
opener = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
36
|
+
await nextTick();
|
|
37
|
+
focusables()[0]?.focus();
|
|
38
|
+
} else if (opener?.isConnected) {
|
|
39
|
+
opener.focus();
|
|
40
|
+
opener = null;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
function keepFocusInside(event) {
|
|
44
|
+
const elements = focusables();
|
|
45
|
+
const first = elements[0];
|
|
46
|
+
const last = elements.at(-1);
|
|
47
|
+
if (!first || !last) return;
|
|
48
|
+
if (event.shiftKey && document.activeElement === first) {
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
last.focus();
|
|
51
|
+
} else if (!event.shiftKey && document.activeElement === last) {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
first.focus();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
28
56
|
return (_ctx, _cache) => {
|
|
29
57
|
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", {
|
|
30
58
|
class: "absolute inset-0",
|
|
31
59
|
onClick: _cache[0] || (_cache[0] = ($event) => close())
|
|
32
|
-
}), createElementVNode("div",
|
|
60
|
+
}), createElementVNode("div", {
|
|
61
|
+
ref_key: "panel",
|
|
62
|
+
ref: panel,
|
|
63
|
+
role: "dialog",
|
|
64
|
+
"aria-modal": "true",
|
|
65
|
+
"aria-labelledby": "poveste-layout-modal-title",
|
|
66
|
+
class: "bg-white dark:bg-gray-900 md:mt-16 md:mx-auto w-screen max-w-[512px] shadow-xl border border-gray-200 dark:border-gray-750 rounded-lg relative divide-y divide-gray-200 dark:divide-gray-850",
|
|
67
|
+
onKeydown: withKeys(keepFocusInside, ["tab"])
|
|
68
|
+
}, [createElementVNode("div", _hoisted_2, [_cache[2] || (_cache[2] = createElementVNode("h2", {
|
|
69
|
+
id: "poveste-layout-modal-title",
|
|
70
|
+
class: "flex-1 text-sm font-medium m-0"
|
|
71
|
+
}, " Customize Layout ", -1)), createElementVNode("button", {
|
|
33
72
|
type: "button",
|
|
34
73
|
class: "flex items-center justify-center p-1 bg-transparent border-0 text-gray-500 dark:text-gray-400 hover:text-primary-500 dark:hover:text-primary-400 cursor-pointer",
|
|
35
74
|
"aria-label": "Close layout customization",
|
|
@@ -39,7 +78,7 @@ var LayoutModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
39
78
|
icon: "carbon:close",
|
|
40
79
|
class: "w-5 h-5",
|
|
41
80
|
"aria-hidden": "true"
|
|
42
|
-
})])]), createVNode(LayoutPane_default)])], 512)), [[vShow, __props.shown]]);
|
|
81
|
+
})])]), createVNode(LayoutPane_default)], 544)], 512)), [[vShow, __props.shown]]);
|
|
43
82
|
};
|
|
44
83
|
}
|
|
45
84
|
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import ComponentDocs_vue_vue_type_script_setup_true_lang_default from "./ComponentDocs.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/app/components/panel/ComponentDocs.vue
|
|
5
|
+
var ComponentDocs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ComponentDocs_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3b01b847"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { ComponentDocs_default as default };
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { modelLabel, rootFirst, tagHref, tagText } from "../../util/component-docs.js";
|
|
2
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderList, toDisplayString, unref } from "@poveste/vendors/vue";
|
|
3
|
+
//#region src/app/components/panel/ComponentDocs.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = {
|
|
5
|
+
class: "poveste-component-docs",
|
|
6
|
+
"data-testid": "component-docs"
|
|
7
|
+
};
|
|
8
|
+
var _hoisted_2 = ["open", "data-component"];
|
|
9
|
+
var _hoisted_3 = { "data-slot": "component-name" };
|
|
10
|
+
var _hoisted_4 = {
|
|
11
|
+
key: 0,
|
|
12
|
+
title: "The component's type parameters, as its script declares them",
|
|
13
|
+
"data-slot": "generic"
|
|
14
|
+
};
|
|
15
|
+
var _hoisted_5 = {
|
|
16
|
+
key: 0,
|
|
17
|
+
"data-slot": "error"
|
|
18
|
+
};
|
|
19
|
+
var _hoisted_6 = {
|
|
20
|
+
key: 0,
|
|
21
|
+
"data-slot": "props"
|
|
22
|
+
};
|
|
23
|
+
var _hoisted_7 = ["data-prop"];
|
|
24
|
+
var _hoisted_8 = {
|
|
25
|
+
key: 0,
|
|
26
|
+
title: "Required",
|
|
27
|
+
"data-slot": "required"
|
|
28
|
+
};
|
|
29
|
+
var _hoisted_9 = ["title"];
|
|
30
|
+
var _hoisted_10 = { key: 0 };
|
|
31
|
+
var _hoisted_11 = ["title"];
|
|
32
|
+
var _hoisted_12 = {
|
|
33
|
+
key: 0,
|
|
34
|
+
"data-slot": "deprecated"
|
|
35
|
+
};
|
|
36
|
+
var _hoisted_13 = ["href"];
|
|
37
|
+
var _hoisted_14 = {
|
|
38
|
+
key: 1,
|
|
39
|
+
"data-slot": "see"
|
|
40
|
+
};
|
|
41
|
+
var _hoisted_15 = {
|
|
42
|
+
key: 1,
|
|
43
|
+
"data-slot": "example"
|
|
44
|
+
};
|
|
45
|
+
var _hoisted_16 = {
|
|
46
|
+
key: 1,
|
|
47
|
+
"data-slot": "slots"
|
|
48
|
+
};
|
|
49
|
+
var _hoisted_17 = ["data-slot-name"];
|
|
50
|
+
var _hoisted_18 = { key: 0 };
|
|
51
|
+
var _hoisted_19 = ["data-slot-prop"];
|
|
52
|
+
var _hoisted_20 = {
|
|
53
|
+
key: 2,
|
|
54
|
+
"data-slot": "events"
|
|
55
|
+
};
|
|
56
|
+
var _hoisted_21 = ["data-event"];
|
|
57
|
+
var _hoisted_22 = ["title"];
|
|
58
|
+
var _hoisted_23 = { key: 0 };
|
|
59
|
+
var ComponentDocs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
60
|
+
__name: "ComponentDocs",
|
|
61
|
+
props: {
|
|
62
|
+
components: {},
|
|
63
|
+
storyFile: {}
|
|
64
|
+
},
|
|
65
|
+
setup(__props) {
|
|
66
|
+
const props = __props;
|
|
67
|
+
const ordered = computed(() => rootFirst(props.components, props.storyFile));
|
|
68
|
+
function shownDefault(prop) {
|
|
69
|
+
return prop.default ?? prop.defaultTag;
|
|
70
|
+
}
|
|
71
|
+
return (_ctx, _cache) => {
|
|
72
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(ordered.value, (component, index) => {
|
|
73
|
+
return openBlock(), createElementBlock("details", {
|
|
74
|
+
key: component.file,
|
|
75
|
+
open: ordered.value.length <= unref(3) || index === 0,
|
|
76
|
+
"data-slot": "component",
|
|
77
|
+
"data-component": component.name
|
|
78
|
+
}, [createElementVNode("summary", null, [createElementVNode("h3", _hoisted_3, [createTextVNode(toDisplayString(component.name), 1), component.doc?.generic ? (openBlock(), createElementBlock("code", _hoisted_4, "<" + toDisplayString(component.doc.generic) + ">", 1)) : createCommentVNode("", true)])]), component.error ? (openBlock(), createElementBlock("p", _hoisted_5, " Could not read this component's types: " + toDisplayString(component.error), 1)) : component.doc ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
79
|
+
component.doc.props.length ? (openBlock(), createElementBlock("table", _hoisted_6, [_cache[1] || (_cache[1] = createElementVNode("thead", null, [createElementVNode("tr", null, [
|
|
80
|
+
createElementVNode("th", null, "Prop"),
|
|
81
|
+
createElementVNode("th", null, "Type"),
|
|
82
|
+
createElementVNode("th", null, "Default"),
|
|
83
|
+
createElementVNode("th", null, "Description")
|
|
84
|
+
])], -1)), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(component.doc.props, (prop) => {
|
|
85
|
+
return openBlock(), createElementBlock("tr", {
|
|
86
|
+
key: prop.name,
|
|
87
|
+
"data-prop": prop.name
|
|
88
|
+
}, [
|
|
89
|
+
createElementVNode("td", null, [
|
|
90
|
+
createElementVNode("code", { class: normalizeClass({ deprecated: unref(tagText)(prop.tags, "deprecated") !== void 0 }) }, toDisplayString(prop.name), 3),
|
|
91
|
+
prop.required ? (openBlock(), createElementBlock("span", _hoisted_8, "*")) : createCommentVNode("", true),
|
|
92
|
+
unref(modelLabel)(component.doc, prop.name) ? (openBlock(), createElementBlock("code", {
|
|
93
|
+
key: 1,
|
|
94
|
+
title: `Bound two ways with ${unref(modelLabel)(component.doc, prop.name)}, through the update:${prop.name} event`,
|
|
95
|
+
"data-slot": "model"
|
|
96
|
+
}, toDisplayString(unref(modelLabel)(component.doc, prop.name)), 9, _hoisted_9)) : createCommentVNode("", true)
|
|
97
|
+
]),
|
|
98
|
+
createElementVNode("td", null, [createElementVNode("code", null, toDisplayString(prop.type), 1)]),
|
|
99
|
+
createElementVNode("td", null, [shownDefault(prop) !== void 0 ? (openBlock(), createElementBlock("code", _hoisted_10, toDisplayString(shownDefault(prop)), 1)) : createCommentVNode("", true), _ctx.__POVESTE_DEV__ && prop.defaultConflict ? (openBlock(), createElementBlock("span", {
|
|
100
|
+
key: 1,
|
|
101
|
+
title: `The code's default is shown; the @default tag says ${prop.defaultTag}`,
|
|
102
|
+
"data-slot": "default-conflict"
|
|
103
|
+
}, "≠", 8, _hoisted_11)) : createCommentVNode("", true)]),
|
|
104
|
+
createElementVNode("td", null, [
|
|
105
|
+
unref(tagText)(prop.tags, "deprecated") !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_12, [_cache[0] || (_cache[0] = createTextVNode("Deprecated", -1)), unref(tagText)(prop.tags, "deprecated") ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(": " + toDisplayString(unref(tagText)(prop.tags, "deprecated")), 1)], 64)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
106
|
+
createTextVNode(" " + toDisplayString(prop.description) + " ", 1),
|
|
107
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(prop.tags.filter((tag) => tag.name === "see" || tag.name === "link"), (tag) => {
|
|
108
|
+
return openBlock(), createElementBlock(Fragment, { key: tag.text }, [unref(tagHref)(tag.text ?? "") ? (openBlock(), createElementBlock("a", {
|
|
109
|
+
key: 0,
|
|
110
|
+
href: unref(tagHref)(tag.text ?? ""),
|
|
111
|
+
target: "_blank",
|
|
112
|
+
rel: "noopener",
|
|
113
|
+
"data-slot": "see"
|
|
114
|
+
}, toDisplayString(tag.text), 9, _hoisted_13)) : (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(tag.text), 1))], 64);
|
|
115
|
+
}), 128)),
|
|
116
|
+
unref(tagText)(prop.tags, "example") ? (openBlock(), createElementBlock("pre", _hoisted_15, [createElementVNode("code", null, toDisplayString(unref(tagText)(prop.tags, "example")), 1)])) : createCommentVNode("", true)
|
|
117
|
+
])
|
|
118
|
+
], 8, _hoisted_7);
|
|
119
|
+
}), 128))])])) : createCommentVNode("", true),
|
|
120
|
+
component.doc.slots.length ? (openBlock(), createElementBlock("table", _hoisted_16, [_cache[2] || (_cache[2] = createElementVNode("thead", null, [createElementVNode("tr", null, [
|
|
121
|
+
createElementVNode("th", null, "Slot"),
|
|
122
|
+
createElementVNode("th", null, "Type"),
|
|
123
|
+
createElementVNode("th", null, "Description")
|
|
124
|
+
])], -1)), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(component.doc.slots, (slot) => {
|
|
125
|
+
return openBlock(), createElementBlock(Fragment, { key: slot.name }, [createElementVNode("tr", { "data-slot-name": slot.name }, [
|
|
126
|
+
createElementVNode("td", null, [createElementVNode("code", null, toDisplayString(slot.name), 1)]),
|
|
127
|
+
createElementVNode("td", null, [slot.type && !slot.props?.length ? (openBlock(), createElementBlock("code", _hoisted_18, toDisplayString(slot.type), 1)) : createCommentVNode("", true)]),
|
|
128
|
+
createElementVNode("td", null, toDisplayString(slot.description), 1)
|
|
129
|
+
], 8, _hoisted_17), (openBlock(true), createElementBlock(Fragment, null, renderList(slot.props ?? [], (slotProp) => {
|
|
130
|
+
return openBlock(), createElementBlock("tr", {
|
|
131
|
+
key: `${slot.name}.${slotProp.name}`,
|
|
132
|
+
"data-slot-prop": slotProp.name
|
|
133
|
+
}, [
|
|
134
|
+
createElementVNode("td", null, [createElementVNode("code", null, toDisplayString(slotProp.name), 1)]),
|
|
135
|
+
createElementVNode("td", null, [createElementVNode("code", null, toDisplayString(slotProp.type), 1)]),
|
|
136
|
+
createElementVNode("td", null, toDisplayString(slotProp.description), 1)
|
|
137
|
+
], 8, _hoisted_19);
|
|
138
|
+
}), 128))], 64);
|
|
139
|
+
}), 128))])])) : createCommentVNode("", true),
|
|
140
|
+
component.doc.events.length ? (openBlock(), createElementBlock("table", _hoisted_20, [_cache[3] || (_cache[3] = createElementVNode("thead", null, [createElementVNode("tr", null, [
|
|
141
|
+
createElementVNode("th", null, "Event"),
|
|
142
|
+
createElementVNode("th", null, "Payload"),
|
|
143
|
+
createElementVNode("th", null, "Description")
|
|
144
|
+
])], -1)), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(component.doc.events, (event) => {
|
|
145
|
+
return openBlock(), createElementBlock("tr", {
|
|
146
|
+
key: event.name,
|
|
147
|
+
"data-event": event.name
|
|
148
|
+
}, [
|
|
149
|
+
createElementVNode("td", null, [createElementVNode("code", null, toDisplayString(event.name), 1), unref(modelLabel)(component.doc, event.name) ? (openBlock(), createElementBlock("code", {
|
|
150
|
+
key: 0,
|
|
151
|
+
title: `Bound two ways with ${unref(modelLabel)(component.doc, event.name)}, with the ${event.name.slice(7)} prop`,
|
|
152
|
+
"data-slot": "model"
|
|
153
|
+
}, toDisplayString(unref(modelLabel)(component.doc, event.name)), 9, _hoisted_22)) : createCommentVNode("", true)]),
|
|
154
|
+
createElementVNode("td", null, [event.type ? (openBlock(), createElementBlock("code", _hoisted_23, toDisplayString(event.type), 1)) : createCommentVNode("", true)]),
|
|
155
|
+
createElementVNode("td", null, toDisplayString(event.description), 1)
|
|
156
|
+
], 8, _hoisted_21);
|
|
157
|
+
}), 128))])])) : createCommentVNode("", true)
|
|
158
|
+
], 64)) : createCommentVNode("", true)], 8, _hoisted_2);
|
|
159
|
+
}), 128))]);
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
//#endregion
|
|
164
|
+
export { ComponentDocs_vue_vue_type_script_setup_true_lang_default as default };
|