@poveste/app 0.13.1 → 0.15.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.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/app.css +31 -31
- package/dist/bundled/components/HomeView.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/app/AppLogo.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/bundled/components/app/Breadcrumb.js +1 -1
- package/dist/bundled/components/app/Breadcrumb.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/bundled/components/app/TopBar.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/bundled/components/app/TopBarChipItem.js +1 -1
- package/dist/bundled/components/base/BaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/base/BaseEmpty.js +2 -2
- package/dist/bundled/components/base/BaseOverflowMenu.vue_vue_type_script_setup_true_lang.js +18 -15
- package/dist/bundled/components/base/BaseSelect.vue_vue_type_script_setup_true_lang.js +158 -26
- package/dist/bundled/components/base/BaseSplitPane.js +1 -1
- package/dist/bundled/components/base/BaseSplitPane.vue_vue_type_script_setup_true_lang.js +6 -4
- package/dist/bundled/components/command/CommandPrompts.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/command/CommandPromptsModal.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/bundled/components/command/PromptSelect.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/bundled/components/command/PromptText.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/panel/ControlsComponentPropItem.vue_vue_type_script_setup_true_lang.js +20 -14
- package/dist/bundled/components/panel/PaneTabs.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/bundled/components/panel/StatePresets.vue_vue_type_script_setup_true_lang.js +94 -55
- package/dist/bundled/components/panel/StoryControls.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/panel/StoryDocs.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/bundled/components/panel/StoryEvent.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/bundled/components/panel/StoryEvents.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/panel/StorySidePanel.vue_vue_type_script_setup_true_lang.js +8 -6
- package/dist/bundled/components/panel/StorySourceCode.js +1 -1
- package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js +8 -6
- package/dist/bundled/components/search/SearchItemContent.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/search/SearchPane.vue_vue_type_script_setup_true_lang.js +16 -9
- package/dist/bundled/components/story/GenericMountStory.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/story/GenericRenderStory.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/story/StoryResponsivePreview.js +1 -1
- package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js +23 -8
- package/dist/bundled/components/story/StoryVariantGrid.js +1 -1
- package/dist/bundled/components/story/StoryVariantGrid.vue_vue_type_script_setup_true_lang.js +15 -10
- package/dist/bundled/components/story/StoryVariantGridItem.js +1 -1
- package/dist/bundled/components/story/StoryVariantGridItem.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/story/StoryVariantSinglePreviewRemote.vue_vue_type_script_setup_true_lang.js +9 -6
- package/dist/bundled/components/story/StoryView.vue_vue_type_script_setup_true_lang.js +7 -3
- package/dist/bundled/components/story/StoryViewer.js +1 -1
- package/dist/bundled/components/story/StoryViewer.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/toolbar/ToolbarBackground.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue_vue_type_script_setup_true_lang.js +17 -16
- package/dist/bundled/components/toolbar/ToolbarTitle.js +1 -1
- package/dist/bundled/components/toolbar/ToolbarTitle.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/tree/StoryGroup.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/bundled/components/tree/StoryList.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/tree/StoryListFolder.js +1 -1
- package/dist/bundled/components/tree/StoryListFolder.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/tree/StoryListItem.js +1 -1
- package/dist/bundled/components/tree/StoryListItem.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/plugin.js +4 -3
- package/dist/bundled/sandbox.js +5 -4
- package/dist/bundled/stores/folder.js +1 -1
- package/dist/bundled/stores/story.js +2 -2
- package/dist/bundled/util/commands.js +21 -10
- package/dist/bundled/util/dark.js +1 -1
- package/dist/bundled/util/docs.js +2 -1
- package/dist/bundled/util/events.js +1 -1
- package/dist/bundled/util/grid-slots.js +2 -2
- package/dist/bundled/util/icons.generated.js +0 -1
- package/dist/bundled/util/keyboard.js +9 -14
- package/dist/bundled/util/mapping.js +3 -3
- package/dist/bundled/util/preview-settings.js +1 -1
- package/dist/bundled/util/render-tracker.js +33 -0
- package/dist/bundled/util/variant.js +12 -2
- package/dist/style.css +23 -1
- package/package.json +14 -18
- package/src/__tests__/render-tracker.spec.ts +38 -0
- package/src/app/App.vue +7 -4
- package/src/app/components/HomeView.vue +1 -1
- package/src/app/components/app/AppLogo.vue +6 -2
- package/src/app/components/app/Breadcrumb.vue +2 -1
- package/src/app/components/app/TopBar.vue +7 -2
- package/src/app/components/app/TopBarChipItem.vue +1 -1
- package/src/app/components/base/BaseCheckbox.vue +1 -1
- package/src/app/components/base/BaseEmpty.vue +1 -1
- package/src/app/components/base/BaseListItemLink.vue +4 -2
- package/src/app/components/base/BaseOverflowMenu.vue +25 -18
- package/src/app/components/base/BaseSelect.vue +171 -15
- package/src/app/components/base/BaseSplitPane.vue +11 -6
- package/src/app/components/command/CommandPrompts.vue +1 -1
- package/src/app/components/command/CommandPromptsModal.vue +1 -0
- package/src/app/components/command/PromptSelect.vue +3 -2
- package/src/app/components/command/PromptText.vue +7 -3
- package/src/app/components/panel/ControlsComponentPropItem.vue +26 -15
- package/src/app/components/panel/PaneTabs.vue +6 -6
- package/src/app/components/panel/StatePresets.vue +125 -68
- package/src/app/components/panel/StoryControls.vue +1 -1
- package/src/app/components/panel/StoryDocs.vue +3 -1
- package/src/app/components/panel/StoryEvent.vue +7 -2
- package/src/app/components/panel/StoryEvents.vue +4 -1
- package/src/app/components/panel/StorySidePanel.vue +3 -1
- package/src/app/components/panel/StorySourceCode.vue +12 -8
- package/src/app/components/search/SearchItemContent.vue +2 -1
- package/src/app/components/search/SearchPane.vue +16 -8
- package/src/app/components/story/GenericMountStory.vue +2 -1
- package/src/app/components/story/GenericRenderStory.vue +2 -1
- package/src/app/components/story/StoryResponsivePreview.vue +36 -7
- package/src/app/components/story/StoryVariantGrid.vue +33 -16
- package/src/app/components/story/StoryVariantGridItem.vue +1 -1
- package/src/app/components/story/StoryVariantSinglePreviewRemote.vue +14 -8
- package/src/app/components/story/StoryView.vue +10 -4
- package/src/app/components/story/StoryViewer.vue +3 -3
- package/src/app/components/toolbar/ToolbarBackground.vue +1 -1
- package/src/app/components/toolbar/ToolbarResponsiveSize.vue +23 -3
- package/src/app/components/toolbar/ToolbarTitle.vue +2 -2
- package/src/app/components/tree/StoryGroup.vue +2 -2
- package/src/app/components/tree/StoryList.vue +2 -2
- package/src/app/components/tree/StoryListFolder.vue +2 -2
- package/src/app/components/tree/StoryListItem.vue +1 -1
- package/src/app/plugin.ts +7 -3
- package/src/app/sandbox.ts +9 -3
- package/src/app/stores/folder.ts +1 -1
- package/src/app/stores/story.ts +2 -2
- package/src/app/types.ts +6 -6
- package/src/app/util/commands.ts +27 -17
- package/src/app/util/dark.ts +1 -1
- package/src/app/util/docs.ts +2 -1
- package/src/app/util/env.ts +0 -1
- package/src/app/util/events.ts +6 -5
- package/src/app/util/grid-slots.ts +2 -2
- package/src/app/util/icons.generated.ts +1 -1
- package/src/app/util/keyboard.ts +10 -11
- package/src/app/util/mapping.ts +3 -3
- package/src/app/util/preview-settings.ts +1 -1
- package/src/app/util/render-tracker.ts +31 -0
- package/src/app/util/scroll.ts +5 -1
- package/src/app/util/state.ts +4 -4
- package/src/app/util/variant.ts +16 -3
- package/src/app/components/base/BaseCopyIcon.vue +0 -34
package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -23,7 +23,7 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
setup(__props) {
|
|
26
|
-
useCssVars((_ctx) => ({ "
|
|
26
|
+
useCssVars((_ctx) => ({ "v538c65b8": unref(settings).backgroundColor }));
|
|
27
27
|
const props = __props;
|
|
28
28
|
const settings = usePreviewSettingsStore().currentSettings;
|
|
29
29
|
const resizing = ref(false);
|
|
@@ -42,18 +42,29 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
42
42
|
}
|
|
43
43
|
const previewWrapper = ref();
|
|
44
44
|
function useDragger(el, value, min, max, axis) {
|
|
45
|
+
function wrapperSize() {
|
|
46
|
+
const wrapper = previewWrapper.value;
|
|
47
|
+
if (!wrapper) return null;
|
|
48
|
+
return axis === "x" ? wrapper.clientWidth : wrapper.clientHeight;
|
|
49
|
+
}
|
|
50
|
+
function startFrom() {
|
|
51
|
+
if (value.value !== null) return value.value;
|
|
52
|
+
const size = wrapperSize();
|
|
53
|
+
if (size === null) return min;
|
|
54
|
+
return size - (axis === "x" ? 67 : 70);
|
|
55
|
+
}
|
|
45
56
|
function onMouseDown(event) {
|
|
46
57
|
event.preventDefault();
|
|
47
58
|
event.stopPropagation();
|
|
48
59
|
const start = axis === "x" ? event.clientX : event.clientY;
|
|
49
|
-
const startValue =
|
|
60
|
+
const startValue = startFrom();
|
|
50
61
|
resizing.value = true;
|
|
51
62
|
const removeListeners = [addWindowListener("mousemove", onMouseMove), addWindowListener("mouseup", onMouseUp)];
|
|
52
63
|
function onMouseMove(event) {
|
|
53
|
-
const snapTarget =
|
|
64
|
+
const snapTarget = wrapperSize();
|
|
54
65
|
const delta = (axis === "x" ? event.clientX : event.clientY) - start;
|
|
55
66
|
value.value = Math.max(min, Math.min(max, startValue + delta));
|
|
56
|
-
if (Math.abs(value.value - (snapTarget - 67)) < 16) value.value = null;
|
|
67
|
+
if (snapTarget !== null && Math.abs(value.value - (snapTarget - 67)) < 16) value.value = null;
|
|
57
68
|
}
|
|
58
69
|
function onMouseUp() {
|
|
59
70
|
removeListeners.forEach((fn) => fn());
|
|
@@ -64,8 +75,10 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
64
75
|
function onTouchStart(event) {
|
|
65
76
|
event.preventDefault();
|
|
66
77
|
event.stopPropagation();
|
|
67
|
-
const
|
|
68
|
-
|
|
78
|
+
const [touch] = event.touches;
|
|
79
|
+
if (!touch) return;
|
|
80
|
+
const start = axis === "x" ? touch.clientX : touch.clientY;
|
|
81
|
+
const startValue = startFrom();
|
|
69
82
|
resizing.value = true;
|
|
70
83
|
const removeListeners = [
|
|
71
84
|
addWindowListener("touchmove", onTouchMove),
|
|
@@ -73,7 +86,9 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
73
86
|
addWindowListener("touchcancel", onTouchEnd)
|
|
74
87
|
];
|
|
75
88
|
function onTouchMove(event) {
|
|
76
|
-
const
|
|
89
|
+
const [touch] = event.touches;
|
|
90
|
+
if (!touch) return;
|
|
91
|
+
const delta = (axis === "x" ? touch.clientX : touch.clientY) - start;
|
|
77
92
|
value.value = Math.max(min, Math.min(max, startValue + delta));
|
|
78
93
|
}
|
|
79
94
|
function onTouchEnd() {
|
|
@@ -130,7 +145,7 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
130
145
|
finalWidth: finalWidth.value,
|
|
131
146
|
finalHeight: finalHeight.value,
|
|
132
147
|
resizing: resizing.value
|
|
133
|
-
}, void 0, true)]), isResponsiveEnabled.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_cache[1] || (_cache[1] = createStaticVNode("<div class=\"absolute top-5 left-8 h-2 w-px bg-gray-400/25\" data-v-
|
|
148
|
+
}, void 0, true)]), isResponsiveEnabled.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_cache[1] || (_cache[1] = createStaticVNode("<div class=\"absolute top-5 left-8 h-2 w-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute top-5 right-8 h-2 w-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute bottom-5 left-8 h-2 w-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute bottom-5 right-8 h-2 w-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute left-5 top-8 w-2 h-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute left-5 bottom-8 w-2 h-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute right-5 top-8 w-2 h-px bg-gray-400/25\" data-v-13932615></div><div class=\"absolute right-5 bottom-8 w-2 h-px bg-gray-400/25\" data-v-13932615></div>", 8))], 64)) : createCommentVNode("", true)], 2)], 10, _hoisted_3), isResponsiveEnabled.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
134
149
|
withDirectives((openBlock(), createElementBlock("div", {
|
|
135
150
|
ref_key: "horizontalDragger",
|
|
136
151
|
ref: horizontalDragger,
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryVariantGrid_vue_vue_type_script_setup_true_lang_default from "./StoryVariantGrid.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/story/StoryVariantGrid.vue
|
|
5
|
-
var StoryVariantGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantGrid_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryVariantGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantGrid_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a753c25f"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryVariantGrid_default as default };
|
package/dist/bundled/components/story/StoryVariantGrid.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -2,7 +2,7 @@ import { useStoryStore } from "../../stores/story.js";
|
|
|
2
2
|
import { assignSlots, trimSlots } from "../../util/grid-slots.js";
|
|
3
3
|
import StoryVariantGridItem_default from "./StoryVariantGridItem.js";
|
|
4
4
|
import { useDebounceFn, useResizeObserver } from "@poveste/vendors/vue-use";
|
|
5
|
-
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, defineComponent, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, unref, watch } from "@poveste/vendors/vue";
|
|
5
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, unref, watch } from "@poveste/vendors/vue";
|
|
6
6
|
//#region src/app/components/story/StoryVariantGrid.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "poveste-story-variant-grid flex flex-col items-stretch h-full __poveste-pane-shadow-from-right" };
|
|
8
8
|
var _hoisted_2 = { class: "flex w-0 flex-1 mx-4" };
|
|
@@ -17,17 +17,18 @@ var StoryVariantGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
17
17
|
setup(__props) {
|
|
18
18
|
const storyStore = useStoryStore();
|
|
19
19
|
const gridTemplateWidth = computed(() => {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const layout = storyStore.currentStory?.layout;
|
|
21
|
+
if (layout?.type !== "grid") return;
|
|
22
|
+
const layoutWidth = layout.width;
|
|
22
23
|
if (!layoutWidth) return "200px";
|
|
23
24
|
if (typeof layoutWidth === "number") return `${layoutWidth}px`;
|
|
24
25
|
return layoutWidth;
|
|
25
26
|
});
|
|
26
27
|
const maxItemHeight = ref(0);
|
|
27
|
-
const el = ref(
|
|
28
|
+
const el = ref();
|
|
28
29
|
const scrollTop = ref(0);
|
|
29
30
|
const viewportHeight = ref(0);
|
|
30
|
-
const variants = computed(() => storyStore.currentStory
|
|
31
|
+
const variants = computed(() => storyStore.currentStory?.variants ?? []);
|
|
31
32
|
useResizeObserver(el, () => {
|
|
32
33
|
updateWindow();
|
|
33
34
|
updateSize();
|
|
@@ -60,14 +61,16 @@ var StoryVariantGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
60
61
|
updateWindow();
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
const gridEl = ref(
|
|
64
|
+
const gridEl = ref();
|
|
64
65
|
const gridColumnWidth = ref(1);
|
|
65
66
|
const viewWidth = ref(1);
|
|
66
67
|
function updateSize() {
|
|
67
68
|
if (!el.value) return;
|
|
68
69
|
viewWidth.value = el.value.clientWidth;
|
|
69
70
|
if (!gridEl.value) return;
|
|
70
|
-
|
|
71
|
+
const templateWidth = gridTemplateWidth.value;
|
|
72
|
+
if (!templateWidth) return;
|
|
73
|
+
if (templateWidth.endsWith("%")) gridColumnWidth.value = viewWidth.value * Number.parseInt(templateWidth) / 100 - gap;
|
|
71
74
|
else gridColumnWidth.value = Number.parseInt(gridTemplateWidth.value);
|
|
72
75
|
}
|
|
73
76
|
onMounted(() => {
|
|
@@ -105,7 +108,9 @@ var StoryVariantGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
105
108
|
}, TRIM_DELAY);
|
|
106
109
|
}
|
|
107
110
|
watch(visibleVariants, (visible) => {
|
|
108
|
-
|
|
111
|
+
const story = storyStore.currentStory;
|
|
112
|
+
if (!story) return;
|
|
113
|
+
slots.value = assignSlots(slots.value, story.id, visible);
|
|
109
114
|
scheduleTrim();
|
|
110
115
|
}, { immediate: true });
|
|
111
116
|
onBeforeUnmount(() => {
|
|
@@ -143,7 +148,7 @@ var StoryVariantGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
143
148
|
gridTemplateColumns: `repeat(${columnCount.value}, ${gridColumnWidth.value}px)`,
|
|
144
149
|
transform: offsetY.value ? `translateY(${offsetY.value}px)` : void 0
|
|
145
150
|
})
|
|
146
|
-
}, [(openBlock(true), createElementBlock(Fragment,
|
|
151
|
+
}, [unref(storyStore).currentStory ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(slots.value, (slot, index) => {
|
|
147
152
|
return openBlock(), createBlock(StoryVariantGridItem_default, {
|
|
148
153
|
key: index,
|
|
149
154
|
variant: slot.variant,
|
|
@@ -158,7 +163,7 @@ var StoryVariantGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
158
163
|
"story",
|
|
159
164
|
"style"
|
|
160
165
|
]);
|
|
161
|
-
}), 128))], 4)], 4)])], 544)]);
|
|
166
|
+
}), 128)) : createCommentVNode("", true)], 4)], 4)])], 544)]);
|
|
162
167
|
};
|
|
163
168
|
}
|
|
164
169
|
});
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryVariantGridItem_vue_vue_type_script_setup_true_lang_default from "./StoryVariantGridItem.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/story/StoryVariantGridItem.vue
|
|
5
|
-
var StoryVariantGridItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantGridItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryVariantGridItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantGridItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ae85762b"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryVariantGridItem_default as default };
|
package/dist/bundled/components/story/StoryVariantGridItem.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -18,7 +18,7 @@ import { HstCopyIcon } from "@poveste/controls";
|
|
|
18
18
|
//#region src/app/components/story/StoryVariantGridItem.vue?vue&type=script&setup=true&lang.ts
|
|
19
19
|
var _hoisted_1 = { class: "flex-none flex items-center" };
|
|
20
20
|
var _hoisted_2 = { class: "truncate flex-1" };
|
|
21
|
-
var _hoisted_3 = { class: "flex-none ml-auto hidden group-hover:flex items-center" };
|
|
21
|
+
var _hoisted_3 = { class: "flex-none ml-auto hidden group-hover:flex group-focus-within:flex items-center" };
|
|
22
22
|
var StoryVariantGridItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
23
23
|
__name: "StoryVariantGridItem",
|
|
24
24
|
props: {
|
|
@@ -34,8 +34,8 @@ var StoryVariantGridItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE
|
|
|
34
34
|
emits: { resize: (_width, _height) => true },
|
|
35
35
|
setup(__props, { emit: __emit }) {
|
|
36
36
|
useCssVars((_ctx) => ({
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"v2b77a04a": unref(variant).iconColor,
|
|
38
|
+
"v8dc7fba0": unref(settings).backgroundColor
|
|
39
39
|
}));
|
|
40
40
|
const props = __props;
|
|
41
41
|
const emit = __emit;
|
|
@@ -8,6 +8,7 @@ import { createStateBridge } from "../../util/state-bridge.js";
|
|
|
8
8
|
import { toRawDeep } from "../../util/state.js";
|
|
9
9
|
import { useEventsStore } from "../../stores/events.js";
|
|
10
10
|
import { firstReportedHeight } from "../../util/grid-cell-height.js";
|
|
11
|
+
import { createRenderTracker } from "../../util/render-tracker.js";
|
|
11
12
|
import StoryResponsivePreview_default from "./StoryResponsivePreview.js";
|
|
12
13
|
import { useEventListener } from "@poveste/vendors/vue-use";
|
|
13
14
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, toDisplayString, toRaw, unref, watch, withCtx } from "@poveste/vendors/vue";
|
|
@@ -49,9 +50,7 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
49
50
|
const settings = usePreviewSettingsStore().currentSettings;
|
|
50
51
|
const errorStore = useStoryErrorStore();
|
|
51
52
|
const storyError = computed(() => errorStore.forVariant(props.story.id, props.variant.id));
|
|
52
|
-
|
|
53
|
-
errorStore.clear(props.story.id, props.variant.id);
|
|
54
|
-
});
|
|
53
|
+
const render = createRenderTracker();
|
|
55
54
|
const iframe = ref();
|
|
56
55
|
function postState(changes) {
|
|
57
56
|
iframe.value?.contentWindow?.postMessage({
|
|
@@ -88,10 +87,12 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
88
87
|
break;
|
|
89
88
|
case SANDBOX_READY:
|
|
90
89
|
if (!fromCurrentOccupant(event.data)) break;
|
|
90
|
+
if (render.wasClean()) errorStore.clear(props.story.id, props.variant.id);
|
|
91
91
|
setPreviewReady();
|
|
92
92
|
break;
|
|
93
93
|
case SANDBOX_ERROR:
|
|
94
94
|
if (!fromCurrentOccupant(event.data)) break;
|
|
95
|
+
render.threw();
|
|
95
96
|
errorStore.report({
|
|
96
97
|
message: event.data.message,
|
|
97
98
|
stack: event.data.stack,
|
|
@@ -139,6 +140,7 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
139
140
|
let stopTrackKeyboard;
|
|
140
141
|
let unmounted = false;
|
|
141
142
|
function reload(url) {
|
|
143
|
+
render.begin();
|
|
142
144
|
retargets = 0;
|
|
143
145
|
retargeting.value = false;
|
|
144
146
|
clearTimeout(retargetTimer);
|
|
@@ -151,6 +153,7 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
151
153
|
iframeSrc.value = url;
|
|
152
154
|
}
|
|
153
155
|
watch(sandboxUrl, (url) => {
|
|
156
|
+
render.begin();
|
|
154
157
|
bridge = createStateBridge(postState);
|
|
155
158
|
if (servedVariant && servedVariant !== props.variant) storyStore.setPreviewReady(servedVariant, false);
|
|
156
159
|
servedVariant = props.variant;
|
|
@@ -195,10 +198,10 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
195
198
|
function previewStyle(isResponsiveEnabled, finalWidth, finalHeight) {
|
|
196
199
|
const style = {};
|
|
197
200
|
if (isResponsiveEnabled) {
|
|
198
|
-
if (finalWidth) style
|
|
199
|
-
if (finalHeight) style
|
|
201
|
+
if (finalWidth) style["width"] = `${finalWidth}px`;
|
|
202
|
+
if (finalHeight) style["height"] = `${finalHeight}px`;
|
|
200
203
|
}
|
|
201
|
-
if (props.autoHeight) style
|
|
204
|
+
if (props.autoHeight) style["height"] = `${Math.min(reportedHeight.value ?? placeholderHeight.value, MAX_AUTO_HEIGHT)}px`;
|
|
202
205
|
return style;
|
|
203
206
|
}
|
|
204
207
|
function onIframeLoad() {
|
|
@@ -27,10 +27,14 @@ var StoryView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
27
27
|
const router = useRouter();
|
|
28
28
|
const route = useRoute();
|
|
29
29
|
watch(() => storyStore.currentVariant, (value) => {
|
|
30
|
-
|
|
30
|
+
const story = storyStore.currentStory;
|
|
31
|
+
if (value && story) story.lastSelectedVariant = value;
|
|
31
32
|
}, { immediate: true });
|
|
32
33
|
watch(() => [storyStore.currentStory, storyStore.currentVariant], () => {
|
|
33
|
-
if (!storyStore.currentVariant && autoSelectsVariant(storyStore.currentStory))
|
|
34
|
+
if (!storyStore.currentVariant && autoSelectsVariant(storyStore.currentStory)) {
|
|
35
|
+
const variant = storyStore.currentStory.lastSelectedVariant ?? storyStore.currentStory.variants[0];
|
|
36
|
+
if (variant) setVariant(variant.id);
|
|
37
|
+
}
|
|
34
38
|
}, { immediate: true });
|
|
35
39
|
function setVariant(variantId) {
|
|
36
40
|
router.replace({
|
|
@@ -41,7 +45,7 @@ var StoryView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
41
45
|
}
|
|
42
46
|
});
|
|
43
47
|
}
|
|
44
|
-
const docsOnlyScroller = ref(
|
|
48
|
+
const docsOnlyScroller = ref();
|
|
45
49
|
function scrollDocsToTop() {
|
|
46
50
|
docsOnlyScroller.value?.scrollTo(0, 0);
|
|
47
51
|
}
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryViewer_vue_vue_type_script_setup_true_lang_default from "./StoryViewer.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/story/StoryViewer.vue
|
|
5
|
-
var StoryViewer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryViewer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryViewer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryViewer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5e1183de"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryViewer_default as default };
|
|
@@ -9,7 +9,7 @@ var _hoisted_1 = { class: "poveste-story-viewer bg-gray-50 h-full dark:bg-gray-7
|
|
|
9
9
|
var StoryViewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
10
|
__name: "StoryViewer",
|
|
11
11
|
setup(__props) {
|
|
12
|
-
useCssVars((_ctx) => ({ "
|
|
12
|
+
useCssVars((_ctx) => ({ "v96d17610": variant.value?.iconColor }));
|
|
13
13
|
const storyStore = useStoryStore();
|
|
14
14
|
const variant = computed(() => storyStore.currentVariant);
|
|
15
15
|
const isMenuOpened = ref(false);
|
|
@@ -20,7 +20,7 @@ var StoryViewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
20
20
|
isMenuOpened.value = false;
|
|
21
21
|
});
|
|
22
22
|
return (_ctx, _cache) => {
|
|
23
|
-
return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1, [unref(storyStore).currentStory
|
|
23
|
+
return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1, [unref(storyStore).currentStory?.layout?.type === "grid" ? (openBlock(), createBlock(StoryVariantGrid_default, { key: 0 })) : unref(storyStore).currentStory?.layout?.type === "single" ? (openBlock(), createBlock(StoryVariantSingle_default, {
|
|
24
24
|
key: 1,
|
|
25
25
|
onOpenVariantMenu: _cache[0] || (_cache[0] = ($event) => isMenuOpened.value = true)
|
|
26
26
|
})) : createCommentVNode("", true)]), createVNode(MobileOverlay_default, {
|
|
@@ -28,7 +28,7 @@ var StoryViewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
28
28
|
opened: isMenuOpened.value,
|
|
29
29
|
onClose: closeMenu
|
|
30
30
|
}, {
|
|
31
|
-
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(storyStore).currentStory
|
|
31
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(storyStore).currentStory?.variants ?? [], (v, index) => {
|
|
32
32
|
return openBlock(), createBlock(StoryVariantListItem_default, {
|
|
33
33
|
key: index,
|
|
34
34
|
variant: v
|
package/dist/bundled/components/toolbar/ToolbarBackground.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -42,7 +42,7 @@ var ToolbarBackground_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
42
42
|
}
|
|
43
43
|
];
|
|
44
44
|
const showColorScheme = !povesteConfig.theme.hideColorSchemeSwitch;
|
|
45
|
-
const showDropdown = showColorScheme || !!povesteConfig.backgroundPresets
|
|
45
|
+
const showDropdown = showColorScheme || !!povesteConfig.backgroundPresets?.length;
|
|
46
46
|
return (_ctx, _cache) => {
|
|
47
47
|
const _component_VDropdown = resolveComponent("VDropdown");
|
|
48
48
|
const _directive_tooltip = resolveDirective("tooltip");
|
package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { povesteConfig } from "../../util/config.js";
|
|
2
2
|
import { usePreviewSettingsStore } from "../../stores/preview-settings.js";
|
|
3
3
|
import BaseCheckbox_default from "../base/BaseCheckbox.js";
|
|
4
|
-
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, renderList, resolveComponent, resolveDirective, toDisplayString, unref, vModelText, withCtx, withDirectives } from "@poveste/vendors/vue";
|
|
4
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isRef, normalizeClass, openBlock, renderList, resolveComponent, resolveDirective, toDisplayString, unref, vModelText, withCtx, withDirectives } from "@poveste/vendors/vue";
|
|
5
5
|
import { Icon } from "@poveste/vendors/iconify";
|
|
6
6
|
//#region src/app/components/toolbar/ToolbarResponsiveSize.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "flex flex-col items-stretch" };
|
|
@@ -17,6 +17,17 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
17
17
|
__name: "ToolbarResponsiveSize",
|
|
18
18
|
setup(__props) {
|
|
19
19
|
const settings = usePreviewSettingsStore().currentSettings;
|
|
20
|
+
function autoWhenEmpty(key) {
|
|
21
|
+
return computed({
|
|
22
|
+
get: () => settings[key],
|
|
23
|
+
set: (value) => {
|
|
24
|
+
const parsed = typeof value === "number" ? value : Number.parseFloat(value ?? "");
|
|
25
|
+
settings[key] = Number.isFinite(parsed) ? parsed : null;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const responsiveWidth = autoWhenEmpty("responsiveWidth");
|
|
30
|
+
const responsiveHeight = autoWhenEmpty("responsiveHeight");
|
|
20
31
|
return (_ctx, _cache) => {
|
|
21
32
|
const _component_VDropdown = resolveComponent("VDropdown");
|
|
22
33
|
const _directive_tooltip = resolveDirective("tooltip");
|
|
@@ -36,30 +47,20 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
36
47
|
}, 8, ["modelValue"]),
|
|
37
48
|
createElementVNode("div", _hoisted_2, [
|
|
38
49
|
withDirectives(createElementVNode("input", {
|
|
39
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) =>
|
|
50
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(responsiveWidth) ? responsiveWidth.value = $event : null),
|
|
40
51
|
type: "number",
|
|
41
52
|
class: "bg-transparent border border-gray-200 dark:border-gray-850 rounded w-20 opacity-50 focus:opacity-100 flex-1 min-w-0",
|
|
42
53
|
step: "16",
|
|
43
54
|
placeholder: "Auto"
|
|
44
|
-
}, null, 512), [[
|
|
45
|
-
vModelText,
|
|
46
|
-
unref(settings).responsiveWidth,
|
|
47
|
-
void 0,
|
|
48
|
-
{ number: true }
|
|
49
|
-
], [_directive_tooltip, "Responsive width (px)"]]),
|
|
55
|
+
}, null, 512), [[vModelText, unref(responsiveWidth)], [_directive_tooltip, "Responsive width (px)"]]),
|
|
50
56
|
_cache[4] || (_cache[4] = createElementVNode("span", { class: "opacity-50" }, "×", -1)),
|
|
51
57
|
withDirectives(createElementVNode("input", {
|
|
52
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) =>
|
|
58
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(responsiveHeight) ? responsiveHeight.value = $event : null),
|
|
53
59
|
type: "number",
|
|
54
60
|
class: "bg-transparent border border-gray-200 dark:border-gray-850 rounded w-20 opacity-50 focus:opacity-100 flex-1 min-w-0",
|
|
55
61
|
step: "16",
|
|
56
62
|
placeholder: "Auto"
|
|
57
|
-
}, null, 512), [[
|
|
58
|
-
vModelText,
|
|
59
|
-
unref(settings).responsiveHeight,
|
|
60
|
-
void 0,
|
|
61
|
-
{ number: true }
|
|
62
|
-
], [_directive_tooltip, "Responsive height (px)"]])
|
|
63
|
+
}, null, 512), [[vModelText, unref(responsiveHeight)], [_directive_tooltip, "Responsive height (px)"]])
|
|
63
64
|
]),
|
|
64
65
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(povesteConfig).responsivePresets, (preset, index) => {
|
|
65
66
|
return openBlock(), createElementBlock("button", {
|
|
@@ -67,7 +68,7 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
67
68
|
class: normalizeClass(["px-4 py-3 cursor-pointer text-left flex gap-4", [unref(settings).responsiveWidth === preset.width && unref(settings).responsiveHeight === preset.height ? "bg-primary-500 hover:bg-primary-600 text-white dark:text-black" : "bg-transparent hover:bg-primary-100 dark:hover:bg-primary-700"]]),
|
|
68
69
|
onClick: ($event) => {
|
|
69
70
|
unref(settings).responsiveWidth = preset.width;
|
|
70
|
-
unref(settings).responsiveHeight = preset.height;
|
|
71
|
+
unref(settings).responsiveHeight = preset.height ?? null;
|
|
71
72
|
hide();
|
|
72
73
|
}
|
|
73
74
|
}, [createTextVNode(toDisplayString(preset.label) + " ", 1), createElementVNode("span", _hoisted_4, [
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import ToolbarTitle_vue_vue_type_script_setup_true_lang_default from "./ToolbarTitle.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/toolbar/ToolbarTitle.vue
|
|
5
|
-
var ToolbarTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ToolbarTitle_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var ToolbarTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ToolbarTitle_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-30c06406"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ToolbarTitle_default as default };
|
|
@@ -15,7 +15,7 @@ var ToolbarTitle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
15
15
|
story: {}
|
|
16
16
|
},
|
|
17
17
|
setup(__props) {
|
|
18
|
-
useCssVars((_ctx) => ({ "
|
|
18
|
+
useCssVars((_ctx) => ({ "v5947d534": iconColor.value }));
|
|
19
19
|
const props = __props;
|
|
20
20
|
const icon = computed(() => props.variant?.icon ?? props.story?.icon ?? "carbon:cube");
|
|
21
21
|
const iconColor = computed(() => props.variant?.iconColor ?? props.story?.iconColor);
|
|
@@ -46,11 +46,11 @@ var StoryGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
46
46
|
"path",
|
|
47
47
|
"folder",
|
|
48
48
|
"stories"
|
|
49
|
-
])) : (openBlock(), createBlock(StoryListItem_default, {
|
|
49
|
+
])) : __props.stories[element.index] ? (openBlock(), createBlock(StoryListItem_default, {
|
|
50
50
|
key: 1,
|
|
51
51
|
story: __props.stories[element.index],
|
|
52
52
|
depth: 0
|
|
53
|
-
}, null, 8, ["story"]))], 64);
|
|
53
|
+
}, null, 8, ["story"])) : createCommentVNode("", true)], 64);
|
|
54
54
|
}), 128))])) : createCommentVNode("", true)]);
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import StoryListItem_default from "./StoryListItem.js";
|
|
2
2
|
import StoryListFolder_default from "./StoryListFolder.js";
|
|
3
3
|
import StoryGroup_default from "./StoryGroup.js";
|
|
4
|
-
import { Fragment, createBlock, createElementBlock, defineComponent, openBlock, renderList } from "@poveste/vendors/vue";
|
|
4
|
+
import { Fragment, createBlock, createCommentVNode, createElementBlock, defineComponent, openBlock, renderList } from "@poveste/vendors/vue";
|
|
5
5
|
//#region src/app/components/tree/StoryList.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = { class: "poveste-story-list overflow-y-auto" };
|
|
7
7
|
var StoryList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
@@ -21,10 +21,10 @@ var StoryList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
21
21
|
key: 1,
|
|
22
22
|
folder: element,
|
|
23
23
|
stories: __props.stories
|
|
24
|
-
}, null, 8, ["folder", "stories"])) : (openBlock(), createBlock(StoryListItem_default, {
|
|
24
|
+
}, null, 8, ["folder", "stories"])) : __props.stories[element.index] ? (openBlock(), createBlock(StoryListItem_default, {
|
|
25
25
|
key: 2,
|
|
26
26
|
story: __props.stories[element.index]
|
|
27
|
-
}, null, 8, ["story"]))], 64);
|
|
27
|
+
}, null, 8, ["story"])) : createCommentVNode("", true)], 64);
|
|
28
28
|
}), 128))]);
|
|
29
29
|
};
|
|
30
30
|
}
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryListFolder_vue_vue_type_script_setup_true_lang_default from "./StoryListFolder.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/tree/StoryListFolder.vue
|
|
5
|
-
var StoryListFolder_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryListFolder_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryListFolder_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryListFolder_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9702f44e"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryListFolder_default as default };
|
|
@@ -20,7 +20,7 @@ var StoryListFolder_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
20
20
|
depth: { default: 0 }
|
|
21
21
|
},
|
|
22
22
|
setup(__props) {
|
|
23
|
-
useCssVars((_ctx) => ({ "
|
|
23
|
+
useCssVars((_ctx) => ({ "v716b068e": folderPadding.value }));
|
|
24
24
|
const props = __props;
|
|
25
25
|
const folderStore = useFolderStore();
|
|
26
26
|
const folderPath = computed(() => [...props.path, props.folder.title]);
|
|
@@ -54,11 +54,11 @@ var StoryListFolder_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
54
54
|
"folder",
|
|
55
55
|
"stories",
|
|
56
56
|
"depth"
|
|
57
|
-
])) : (openBlock(), createBlock(StoryListItem_default, {
|
|
57
|
+
])) : __props.stories[element.index] ? (openBlock(), createBlock(StoryListItem_default, {
|
|
58
58
|
key: 1,
|
|
59
59
|
story: __props.stories[element.index],
|
|
60
60
|
depth: __props.depth + 1
|
|
61
|
-
}, null, 8, ["story", "depth"]))], 64);
|
|
61
|
+
}, null, 8, ["story", "depth"])) : createCommentVNode("", true)], 64);
|
|
62
62
|
}), 128))])) : createCommentVNode("", true)]);
|
|
63
63
|
};
|
|
64
64
|
}
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryListItem_vue_vue_type_script_setup_true_lang_default from "./StoryListItem.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/tree/StoryListItem.vue
|
|
5
|
-
var StoryListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-83161585"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryListItem_default as default };
|
|
@@ -16,8 +16,8 @@ var StoryListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
16
16
|
},
|
|
17
17
|
setup(__props) {
|
|
18
18
|
useCssVars((_ctx) => ({
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
"v0299061e": filePadding.value,
|
|
20
|
+
"v80ccd94c": _ctx.story.iconColor
|
|
21
21
|
}));
|
|
22
22
|
const props = __props;
|
|
23
23
|
const errorStore = useStoryErrorStore();
|
|
@@ -26,7 +26,7 @@ var StoryListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
26
26
|
return `${props.depth * 12}px`;
|
|
27
27
|
});
|
|
28
28
|
const route = useRoute();
|
|
29
|
-
const isActive = computed(() => route.params
|
|
29
|
+
const isActive = computed(() => route.params["storyId"] === props.story.id);
|
|
30
30
|
const el = ref();
|
|
31
31
|
useScrollOnActive(isActive, el);
|
|
32
32
|
return (_ctx, _cache) => {
|
package/dist/bundled/plugin.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { router } from "./router.js";
|
|
2
2
|
//#region src/app/plugin.ts
|
|
3
3
|
function setupPluginApi() {
|
|
4
|
-
|
|
4
|
+
const hot = import.meta.hot;
|
|
5
|
+
if (!hot) return;
|
|
5
6
|
const listeners = {};
|
|
6
|
-
|
|
7
|
+
hot.on("poveste:dev-event-result", ({ event, result }) => {
|
|
7
8
|
const set = listeners[event];
|
|
8
9
|
if (set) for (const listener of set) listener(result);
|
|
9
10
|
});
|
|
@@ -21,7 +22,7 @@ function setupPluginApi() {
|
|
|
21
22
|
window.__HST_PLUGIN_API__ = {
|
|
22
23
|
sendEvent: (event, payload) => {
|
|
23
24
|
return new Promise((resolve) => {
|
|
24
|
-
|
|
25
|
+
hot.send(`poveste:dev-event`, {
|
|
25
26
|
event,
|
|
26
27
|
payload
|
|
27
28
|
});
|
package/dist/bundled/sandbox.js
CHANGED
|
@@ -17,8 +17,8 @@ import { parseQuery } from "@poveste/vendors/vue-router";
|
|
|
17
17
|
import { reportStoryError } from "@poveste/shared";
|
|
18
18
|
//#region src/app/sandbox.ts
|
|
19
19
|
var query = parseQuery(window.location.search);
|
|
20
|
-
var storyId = ref(typeof query
|
|
21
|
-
var variantId = ref(typeof query
|
|
20
|
+
var storyId = ref(typeof query["storyId"] === "string" ? query["storyId"] : null);
|
|
21
|
+
var variantId = ref(typeof query["variantId"] === "string" ? query["variantId"] : null);
|
|
22
22
|
watchEffect(() => {
|
|
23
23
|
occupant.storyId = storyId.value;
|
|
24
24
|
occupant.variantId = variantId.value;
|
|
@@ -38,8 +38,8 @@ if (storedSettings) applyPreviewSettings(storedSettings);
|
|
|
38
38
|
if (window.parent && window.parent !== window) window.parent.postMessage({ type: PREVIEW_SETTINGS_REQUEST }, window.location.origin);
|
|
39
39
|
function reportUncaught(error) {
|
|
40
40
|
reportStoryError(error, {
|
|
41
|
-
storyId: storyId.value,
|
|
42
|
-
variantId: variantId.value
|
|
41
|
+
storyId: storyId.value ?? void 0,
|
|
42
|
+
variantId: variantId.value ?? void 0
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
window.addEventListener("error", (event) => {
|
|
@@ -73,6 +73,7 @@ var app = createApp({
|
|
|
73
73
|
let bridge = createStateBridge(postState);
|
|
74
74
|
let mounted = false;
|
|
75
75
|
window.addEventListener("message", (event) => {
|
|
76
|
+
if (event.origin !== window.location.origin) return;
|
|
76
77
|
if (event.data?.type === "__poveste:state-sync") {
|
|
77
78
|
if (!mounted || !variant.value) return;
|
|
78
79
|
bridge.receive(variant.value.state, event.data.state);
|
|
@@ -29,7 +29,7 @@ var useFolderStore = defineStore("folder", () => {
|
|
|
29
29
|
}
|
|
30
30
|
const storyStore = useStoryStore();
|
|
31
31
|
watch(() => storyStore.currentStory, (story) => {
|
|
32
|
-
if (story) openFileFolders(story.file.path);
|
|
32
|
+
if (story?.file) openFileFolders(story.file.path);
|
|
33
33
|
});
|
|
34
34
|
return {
|
|
35
35
|
isFolderOpened,
|
|
@@ -7,8 +7,8 @@ var useStoryStore = defineStore("story", () => {
|
|
|
7
7
|
function setStories(value) {
|
|
8
8
|
stories.value = value;
|
|
9
9
|
}
|
|
10
|
-
const currentStory = computed(() => stories.value.find((s) => s.id === router.currentRoute.value.params
|
|
11
|
-
const currentVariant = computed(() => currentStory.value?.variants.find((v) => v.id === router.currentRoute.value.query
|
|
10
|
+
const currentStory = computed(() => stories.value.find((s) => s.id === router.currentRoute.value.params["storyId"]));
|
|
11
|
+
const currentVariant = computed(() => currentStory.value?.variants.find((v) => v.id === router.currentRoute.value.query["variantId"]));
|
|
12
12
|
const maps = computed(() => {
|
|
13
13
|
const storyMap = /* @__PURE__ */ new Map();
|
|
14
14
|
const variantMap = /* @__PURE__ */ new Map();
|