@poveste/app 0.14.0 → 0.16.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/app/style/main.pcss +18 -44
- package/dist/bundled/App.vue_vue_type_script_setup_true_lang.js +9 -7
- package/dist/bundled/app.css +91 -28
- package/dist/bundled/components/app/AppActions.vue_vue_type_script_setup_true_lang.js +44 -27
- package/dist/bundled/components/app/ShortcutTooltip.js +5 -0
- package/dist/bundled/components/app/ShortcutTooltip.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/bundled/components/app/TopBarChipItem.js +1 -1
- package/dist/bundled/components/base/BaseDropdown.js +6 -0
- package/dist/bundled/components/base/BaseDropdown.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/bundled/components/base/BaseEmpty.js +2 -2
- package/dist/bundled/components/base/BaseOverflowMenu.vue_vue_type_script_setup_true_lang.js +19 -19
- package/dist/bundled/components/base/BaseSelect.js +1 -0
- package/dist/bundled/components/base/BaseSelect.vue_vue_type_script_setup_true_lang.js +194 -33
- package/dist/bundled/components/base/BaseSplitPane.js +1 -1
- package/dist/bundled/components/base/BaseSplitPane.vue_vue_type_script_setup_true_lang.js +65 -4
- package/dist/bundled/components/command/PromptSelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/panel/ControlsComponentPropItem.vue_vue_type_script_setup_true_lang.js +24 -16
- package/dist/bundled/components/panel/ControlsComponentProps.vue_vue_type_script_setup_true_lang.js +9 -6
- package/dist/bundled/components/panel/ControlsComponentState.vue_vue_type_script_setup_true_lang.js +9 -6
- 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 +96 -52
- package/dist/bundled/components/panel/StoryEvent.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/bundled/components/panel/StorySidePanel.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/panel/StorySourceCode.js +1 -1
- package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js +24 -18
- 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 +1 -2
- package/dist/bundled/components/story/StoryResponsivePreview.js +1 -1
- package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js +52 -45
- package/dist/bundled/components/story/StoryVariantGridItem.js +1 -1
- package/dist/bundled/components/story/StoryVariantGridItem.vue_vue_type_script_setup_true_lang.js +22 -20
- package/dist/bundled/components/story/StoryVariantSingle.js +1 -1
- package/dist/bundled/components/story/StoryVariantSingle.vue_vue_type_script_setup_true_lang.js +2 -1
- 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 +5 -1
- package/dist/bundled/components/toolbar/DevOnlyToolbarOpenInEditor.vue_vue_type_script_setup_true_lang.js +15 -12
- package/dist/bundled/components/toolbar/ToolbarBackground.vue_vue_type_script_setup_true_lang.js +20 -16
- package/dist/bundled/components/toolbar/ToolbarNewTab.vue_vue_type_script_setup_true_lang.js +16 -13
- package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue_vue_type_script_setup_true_lang.js +35 -24
- package/dist/bundled/components/toolbar/ToolbarTextDirection.vue_vue_type_script_setup_true_lang.js +15 -12
- 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/index.js +0 -13
- package/dist/bundled/sandbox.js +5 -3
- package/dist/bundled/stores/story.js +2 -2
- package/dist/bundled/util/commands.js +1 -1
- package/dist/bundled/util/dark.js +1 -1
- package/dist/bundled/util/events.js +1 -1
- package/dist/bundled/util/grid-slots.js +1 -1
- package/dist/bundled/util/icons.generated.js +4 -2
- package/dist/bundled/util/keyboard.js +8 -14
- package/dist/bundled/util/mapping.js +2 -2
- package/dist/bundled/util/render-tracker.js +33 -0
- package/dist/bundled/util/scroll.js +26 -5
- package/dist/bundled/util/state.js +105 -5
- package/dist/bundled/util/variant.js +12 -2
- package/dist/style.css +753 -357
- package/package.json +28 -28
- package/src/__tests__/base-select.spec.ts +25 -0
- package/src/__tests__/render-tracker.spec.ts +38 -0
- package/src/__tests__/reset.spec.ts +53 -0
- package/src/__tests__/state-clone.spec.ts +55 -1
- package/src/__tests__/state-types.spec.ts +175 -0
- package/src/app/App.vue +44 -35
- package/src/app/components/app/AppActions.vue +42 -30
- package/src/app/components/app/ShortcutTooltip.vue +29 -0
- package/src/app/components/app/TopBarChipItem.vue +1 -1
- package/src/app/components/base/BaseDropdown.vue +142 -0
- 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 +27 -21
- package/src/app/components/base/BaseSelect.vue +270 -41
- package/src/app/components/base/BaseSplitPane.vue +75 -4
- package/src/app/components/command/PromptSelect.vue +1 -1
- package/src/app/components/panel/ControlsComponentPropItem.vue +29 -17
- package/src/app/components/panel/ControlsComponentProps.vue +7 -5
- package/src/app/components/panel/ControlsComponentState.vue +7 -5
- package/src/app/components/panel/PaneTabs.vue +6 -6
- package/src/app/components/panel/StatePresets.vue +116 -74
- package/src/app/components/panel/StoryEvent.vue +10 -9
- package/src/app/components/panel/StorySidePanel.vue +2 -1
- package/src/app/components/panel/StorySourceCode.vue +51 -44
- package/src/app/components/search/SearchItemContent.vue +2 -1
- package/src/app/components/search/SearchPane.vue +2 -3
- package/src/app/components/story/StoryResponsivePreview.vue +61 -29
- package/src/app/components/story/StoryVariantGridItem.vue +20 -19
- package/src/app/components/story/StoryVariantSingle.vue +1 -0
- package/src/app/components/story/StoryVariantSinglePreviewRemote.vue +14 -8
- package/src/app/components/story/StoryView.vue +4 -1
- package/src/app/components/toolbar/DevOnlyToolbarOpenInEditor.vue +14 -12
- package/src/app/components/toolbar/ToolbarBackground.vue +22 -23
- package/src/app/components/toolbar/ToolbarNewTab.vue +14 -12
- package/src/app/components/toolbar/ToolbarResponsiveSize.vue +31 -25
- package/src/app/components/toolbar/ToolbarTextDirection.vue +14 -10
- 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/index.ts +0 -17
- package/src/app/sandbox.ts +16 -3
- package/src/app/stores/story.ts +2 -2
- package/src/app/style/main.pcss +18 -44
- package/src/app/types.ts +4 -4
- package/src/app/util/commands.ts +1 -1
- package/src/app/util/dark.ts +1 -1
- package/src/app/util/env.ts +0 -1
- package/src/app/util/events.ts +6 -5
- package/src/app/util/grid-slots.ts +1 -1
- package/src/app/util/icons.generated.ts +2 -2
- package/src/app/util/keyboard.ts +7 -11
- package/src/app/util/mapping.ts +2 -2
- package/src/app/util/render-tracker.ts +31 -0
- package/src/app/util/scroll.ts +47 -9
- package/src/app/util/state.ts +141 -8
- package/src/app/util/variant.ts +12 -2
- package/dist/app/style/floating.pcss +0 -40
- package/dist/bundled/util/tooltip.js +0 -14
- package/src/app/style/floating.pcss +0 -40
- package/src/app/util/tooltip.ts +0 -13
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryVariantSingle_vue_vue_type_script_setup_true_lang_default from "./StoryVariantSingle.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/story/StoryVariantSingle.vue
|
|
5
|
-
var StoryVariantSingle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantSingle_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryVariantSingle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryVariantSingle_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6ba33e62"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryVariantSingle_default as default };
|
package/dist/bundled/components/story/StoryVariantSingle.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -16,7 +16,7 @@ var StoryVariantSingle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
|
|
|
16
16
|
__name: "StoryVariantSingle",
|
|
17
17
|
emits: { openVariantMenu: () => true },
|
|
18
18
|
setup(__props) {
|
|
19
|
-
useCssVars((_ctx) => ({ "
|
|
19
|
+
useCssVars((_ctx) => ({ "v3bcafcf8": variant.value?.iconColor }));
|
|
20
20
|
const storyStore = useStoryStore();
|
|
21
21
|
const hasSingleVariant = computed(() => storyStore.currentStory?.variants.length === 1);
|
|
22
22
|
const variant = computed(() => storyStore.currentVariant ?? null);
|
|
@@ -24,6 +24,7 @@ var StoryVariantSingle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
|
|
|
24
24
|
return (_ctx, _cache) => {
|
|
25
25
|
return openBlock(), createBlock(BaseSplitPane_default, {
|
|
26
26
|
"save-id": "story-single-main-split",
|
|
27
|
+
label: "Resize the variant list",
|
|
27
28
|
min: 5,
|
|
28
29
|
max: 40,
|
|
29
30
|
"default-split": 17,
|
|
@@ -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() {
|
|
@@ -31,7 +31,10 @@ var StoryView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
31
31
|
if (value && story) story.lastSelectedVariant = value;
|
|
32
32
|
}, { immediate: true });
|
|
33
33
|
watch(() => [storyStore.currentStory, storyStore.currentVariant], () => {
|
|
34
|
-
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
|
+
}
|
|
35
38
|
}, { immediate: true });
|
|
36
39
|
function setVariant(variantId) {
|
|
37
40
|
router.replace({
|
|
@@ -69,6 +72,7 @@ var StoryView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
69
72
|
}, null, 8, ["story"])], 512)) : (openBlock(), createBlock(BaseSplitPane_default, {
|
|
70
73
|
key: 1,
|
|
71
74
|
"save-id": `story-main-${placement.value}`,
|
|
75
|
+
label: "Resize the preview",
|
|
72
76
|
orientation: splitOrientation.value,
|
|
73
77
|
min: 30,
|
|
74
78
|
max: 95,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import TopBarChipItem_default from "../app/TopBarChipItem.js";
|
|
2
2
|
import { openInEditor } from "../../util/open-in-editor.js";
|
|
3
|
-
import { createBlock, createVNode, defineComponent, openBlock,
|
|
3
|
+
import { createBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "@poveste/vendors/vue";
|
|
4
4
|
import { Icon } from "@poveste/vendors/iconify";
|
|
5
|
+
import { HstTooltip } from "@poveste/controls";
|
|
5
6
|
//#region src/app/components/toolbar/DevOnlyToolbarOpenInEditor.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var DevOnlyToolbarOpenInEditor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
8
|
__name: "DevOnlyToolbarOpenInEditor",
|
|
@@ -11,19 +12,21 @@ var DevOnlyToolbarOpenInEditor_vue_vue_type_script_setup_true_lang_default = /*@
|
|
|
11
12
|
},
|
|
12
13
|
setup(__props) {
|
|
13
14
|
return (_ctx, _cache) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
return openBlock(), createBlock(unref(HstTooltip), { content: __props.tooltip }, {
|
|
16
|
+
default: withCtx(() => [createVNode(TopBarChipItem_default, {
|
|
17
|
+
"aria-label": "Open story in editor",
|
|
18
|
+
target: "_blank",
|
|
19
|
+
class: "poveste-toolbar-open-in-editor",
|
|
20
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(openInEditor)(__props.file))
|
|
21
|
+
}, {
|
|
22
|
+
default: withCtx(() => [createVNode(unref(Icon), {
|
|
23
|
+
icon: "carbon:script-reference",
|
|
24
|
+
class: "w-4 h-4"
|
|
25
|
+
})]),
|
|
26
|
+
_: 1
|
|
24
27
|
})]),
|
|
25
28
|
_: 1
|
|
26
|
-
}
|
|
29
|
+
}, 8, ["content"]);
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
});
|
package/dist/bundled/components/toolbar/ToolbarBackground.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
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
|
|
4
|
+
import BaseDropdown_default from "../base/BaseDropdown.js";
|
|
5
|
+
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, toDisplayString, unref, withCtx } from "@poveste/vendors/vue";
|
|
5
6
|
import { Icon } from "@poveste/vendors/iconify";
|
|
6
7
|
//#region src/app/components/toolbar/ToolbarBackground.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var _hoisted_1 = {
|
|
8
|
+
var _hoisted_1 = {
|
|
9
|
+
class: "flex items-center gap-1 px-2.5 py-1.5 hover:bg-white/50 dark:hover:bg-white/10 hover:text-primary-500 dark:hover:text-primary-400 cursor-pointer text-gray-900 dark:text-gray-100 transition-colors group",
|
|
10
|
+
"aria-label": "Preview appearance"
|
|
11
|
+
};
|
|
8
12
|
var _hoisted_2 = {
|
|
9
13
|
class: "flex flex-col items-stretch",
|
|
10
14
|
"data-testid": "background-popper"
|
|
@@ -44,23 +48,16 @@ var ToolbarBackground_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
44
48
|
const showColorScheme = !povesteConfig.theme.hideColorSchemeSwitch;
|
|
45
49
|
const showDropdown = showColorScheme || !!povesteConfig.backgroundPresets?.length;
|
|
46
50
|
return (_ctx, _cache) => {
|
|
47
|
-
|
|
48
|
-
const _directive_tooltip = resolveDirective("tooltip");
|
|
49
|
-
return unref(showDropdown) ? (openBlock(), createBlock(_component_VDropdown, {
|
|
51
|
+
return unref(showDropdown) ? (openBlock(), createBlock(BaseDropdown_default, {
|
|
50
52
|
key: 0,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
side: "bottom",
|
|
54
|
+
align: "end",
|
|
55
|
+
"align-offset": 6,
|
|
56
|
+
tooltip: "Preview appearance",
|
|
53
57
|
class: "poveste-toolbar-background flex-none",
|
|
54
58
|
"data-testid": "toolbar-background"
|
|
55
59
|
}, {
|
|
56
|
-
|
|
57
|
-
icon: "carbon:color-palette",
|
|
58
|
-
class: "w-4 h-4"
|
|
59
|
-
}), createVNode(unref(Icon), {
|
|
60
|
-
icon: "carbon:chevron-down",
|
|
61
|
-
class: "w-3 h-3 opacity-40 group-hover:opacity-70"
|
|
62
|
-
})])), [[_directive_tooltip, shown ? "" : "Preview appearance"]])]),
|
|
63
|
-
popper: withCtx(({ hide }) => [createElementVNode("div", _hoisted_2, [
|
|
60
|
+
popper: withCtx(({ close }) => [createElementVNode("div", _hoisted_2, [
|
|
64
61
|
showColorScheme ? (openBlock(), createElementBlock("div", _hoisted_3, [(openBlock(), createElementBlock(Fragment, null, renderList(colorSchemeOptions, (option) => {
|
|
65
62
|
return createElementVNode("button", {
|
|
66
63
|
key: option.value,
|
|
@@ -85,7 +82,7 @@ var ToolbarBackground_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
85
82
|
class: normalizeClass(["px-4 py-3 cursor-pointer text-left flex items-baseline gap-4", [unref(settings).backgroundColor === option.color ? "bg-primary-500 hover:bg-primary-600 text-white dark:text-black" : "bg-transparent hover:bg-primary-100 dark:hover:bg-primary-700"]]),
|
|
86
83
|
onClick: ($event) => {
|
|
87
84
|
unref(previewSettings).setBackgroundColor(option.color);
|
|
88
|
-
|
|
85
|
+
close();
|
|
89
86
|
}
|
|
90
87
|
}, [createElementVNode("span", _hoisted_6, toDisplayString(option.label), 1), option.color !== "$checkerboard" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("span", _hoisted_7, toDisplayString(option.color), 1), createElementVNode("div", {
|
|
91
88
|
class: "w-4 h-4 rounded-full border border-black/20 dark:border-white/20 flex items-center justify-center text-xs",
|
|
@@ -96,6 +93,13 @@ var ToolbarBackground_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
96
93
|
}, [option.contrastColor ? (openBlock(), createElementBlock("span", _hoisted_8, "a")) : createCommentVNode("", true)], 4)], 64)) : createCommentVNode("", true)], 10, _hoisted_5);
|
|
97
94
|
}), 128))
|
|
98
95
|
])]),
|
|
96
|
+
default: withCtx(() => [createElementVNode("button", _hoisted_1, [createVNode(unref(Icon), {
|
|
97
|
+
icon: "carbon:color-palette",
|
|
98
|
+
class: "w-4 h-4"
|
|
99
|
+
}), createVNode(unref(Icon), {
|
|
100
|
+
icon: "carbon:chevron-down",
|
|
101
|
+
class: "w-3 h-3 opacity-40 group-hover:opacity-70"
|
|
102
|
+
})])]),
|
|
99
103
|
_: 1
|
|
100
104
|
})) : createCommentVNode("", true);
|
|
101
105
|
};
|
package/dist/bundled/components/toolbar/ToolbarNewTab.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import TopBarChipItem_default from "../app/TopBarChipItem.js";
|
|
2
2
|
import { getSandboxUrl } from "../../util/sandbox.js";
|
|
3
|
-
import { computed, createBlock, createVNode, defineComponent, openBlock,
|
|
3
|
+
import { computed, createBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "@poveste/vendors/vue";
|
|
4
4
|
import { Icon } from "@poveste/vendors/iconify";
|
|
5
|
+
import { HstTooltip } from "@poveste/controls";
|
|
5
6
|
//#region src/app/components/toolbar/ToolbarNewTab.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var ToolbarNewTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
8
|
__name: "ToolbarNewTab",
|
|
@@ -15,19 +16,21 @@ var ToolbarNewTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15
16
|
return getSandboxUrl(props.story, props.variant);
|
|
16
17
|
});
|
|
17
18
|
return (_ctx, _cache) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
return openBlock(), createBlock(unref(HstTooltip), { content: "Open variant in new tab" }, {
|
|
20
|
+
default: withCtx(() => [createVNode(TopBarChipItem_default, {
|
|
21
|
+
href: sandboxUrl.value,
|
|
22
|
+
target: "_blank",
|
|
23
|
+
"aria-label": "Open variant in new tab",
|
|
24
|
+
class: "poveste-toolbar-new-tab"
|
|
25
|
+
}, {
|
|
26
|
+
default: withCtx(() => [createVNode(unref(Icon), {
|
|
27
|
+
icon: "carbon:launch",
|
|
28
|
+
class: "w-4 h-4"
|
|
29
|
+
})]),
|
|
30
|
+
_: 1
|
|
31
|
+
}, 8, ["href"])]),
|
|
29
32
|
_: 1
|
|
30
|
-
}
|
|
33
|
+
});
|
|
31
34
|
};
|
|
32
35
|
}
|
|
33
36
|
});
|
package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
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
|
|
4
|
+
import BaseDropdown_default from "../base/BaseDropdown.js";
|
|
5
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isRef, normalizeClass, openBlock, renderList, toDisplayString, unref, vModelText, withCtx, withDirectives } from "@poveste/vendors/vue";
|
|
5
6
|
import { Icon } from "@poveste/vendors/iconify";
|
|
7
|
+
import { HstTooltip } from "@poveste/controls";
|
|
6
8
|
//#region src/app/components/toolbar/ToolbarResponsiveSize.vue?vue&type=script&setup=true&lang.ts
|
|
7
9
|
var _hoisted_1 = { class: "flex flex-col items-stretch" };
|
|
8
10
|
var _hoisted_2 = { class: "flex items-center gap-2 px-4 py-3" };
|
|
@@ -29,15 +31,15 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
29
31
|
const responsiveWidth = autoWhenEmpty("responsiveWidth");
|
|
30
32
|
const responsiveHeight = autoWhenEmpty("responsiveHeight");
|
|
31
33
|
return (_ctx, _cache) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
skidding: 6,
|
|
34
|
+
return openBlock(), createBlock(BaseDropdown_default, {
|
|
35
|
+
side: "bottom",
|
|
36
|
+
align: "end",
|
|
37
|
+
"align-offset": 6,
|
|
37
38
|
disabled: !unref(povesteConfig).responsivePresets?.length,
|
|
39
|
+
tooltip: "Responsive sizes",
|
|
38
40
|
class: "poveste-toolbar-responsive-size flex-none"
|
|
39
41
|
}, {
|
|
40
|
-
popper: withCtx(({
|
|
42
|
+
popper: withCtx(({ close }) => [createElementVNode("div", _hoisted_1, [
|
|
41
43
|
createVNode(BaseCheckbox_default, {
|
|
42
44
|
modelValue: unref(settings).rotate,
|
|
43
45
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(settings).rotate = $event)
|
|
@@ -46,21 +48,27 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
46
48
|
_: 1
|
|
47
49
|
}, 8, ["modelValue"]),
|
|
48
50
|
createElementVNode("div", _hoisted_2, [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
createVNode(unref(HstTooltip), { content: "Responsive width (px)" }, {
|
|
52
|
+
default: withCtx(() => [withDirectives(createElementVNode("input", {
|
|
53
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(responsiveWidth) ? responsiveWidth.value = $event : null),
|
|
54
|
+
type: "number",
|
|
55
|
+
class: "bg-transparent border border-gray-200 dark:border-gray-850 rounded w-20 opacity-50 focus:opacity-100 flex-1 min-w-0",
|
|
56
|
+
step: "16",
|
|
57
|
+
placeholder: "Auto"
|
|
58
|
+
}, null, 512), [[vModelText, unref(responsiveWidth)]])]),
|
|
59
|
+
_: 1
|
|
60
|
+
}),
|
|
56
61
|
_cache[4] || (_cache[4] = createElementVNode("span", { class: "opacity-50" }, "×", -1)),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
createVNode(unref(HstTooltip), { content: "Responsive height (px)" }, {
|
|
63
|
+
default: withCtx(() => [withDirectives(createElementVNode("input", {
|
|
64
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(responsiveHeight) ? responsiveHeight.value = $event : null),
|
|
65
|
+
type: "number",
|
|
66
|
+
class: "bg-transparent border border-gray-200 dark:border-gray-850 rounded w-20 opacity-50 focus:opacity-100 flex-1 min-w-0",
|
|
67
|
+
step: "16",
|
|
68
|
+
placeholder: "Auto"
|
|
69
|
+
}, null, 512), [[vModelText, unref(responsiveHeight)]])]),
|
|
70
|
+
_: 1
|
|
71
|
+
})
|
|
64
72
|
]),
|
|
65
73
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(povesteConfig).responsivePresets, (preset, index) => {
|
|
66
74
|
return openBlock(), createElementBlock("button", {
|
|
@@ -69,7 +77,7 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
69
77
|
onClick: ($event) => {
|
|
70
78
|
unref(settings).responsiveWidth = preset.width;
|
|
71
79
|
unref(settings).responsiveHeight = preset.height ?? null;
|
|
72
|
-
|
|
80
|
+
close();
|
|
73
81
|
}
|
|
74
82
|
}, [createTextVNode(toDisplayString(preset.label) + " ", 1), createElementVNode("span", _hoisted_4, [
|
|
75
83
|
preset.width ? (openBlock(), createElementBlock("span", _hoisted_5, [createTextVNode(toDisplayString(preset.width), 1), !preset.height ? (openBlock(), createElementBlock("span", _hoisted_6, "px")) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
@@ -78,13 +86,16 @@ var ToolbarResponsiveSize_vue_vue_type_script_setup_true_lang_default = /*@__PUR
|
|
|
78
86
|
])], 10, _hoisted_3);
|
|
79
87
|
}), 128))
|
|
80
88
|
])]),
|
|
81
|
-
default: withCtx(() => [
|
|
89
|
+
default: withCtx(() => [createElementVNode("button", {
|
|
90
|
+
class: normalizeClass(["flex items-center gap-1 px-2.5 py-1.5 text-gray-900 dark:text-gray-100 transition-colors group", { "hover:bg-white/50 dark:hover:bg-white/10 hover:text-primary-500 dark:hover:text-primary-400 cursor-pointer": unref(povesteConfig).responsivePresets?.length }]),
|
|
91
|
+
"aria-label": "Responsive sizes"
|
|
92
|
+
}, [createVNode(unref(Icon), {
|
|
82
93
|
icon: "carbon:devices",
|
|
83
94
|
class: "w-4 h-4"
|
|
84
95
|
}), createVNode(unref(Icon), {
|
|
85
96
|
icon: "carbon:chevron-down",
|
|
86
97
|
class: "w-3 h-3 opacity-40 group-hover:opacity-70"
|
|
87
|
-
})], 2)
|
|
98
|
+
})], 2)]),
|
|
88
99
|
_: 1
|
|
89
100
|
}, 8, ["disabled"]);
|
|
90
101
|
};
|
package/dist/bundled/components/toolbar/ToolbarTextDirection.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import TopBarChipItem_default from "../app/TopBarChipItem.js";
|
|
2
2
|
import { usePreviewSettingsStore } from "../../stores/preview-settings.js";
|
|
3
|
-
import { createBlock, createVNode, defineComponent, openBlock,
|
|
3
|
+
import { createBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "@poveste/vendors/vue";
|
|
4
4
|
import { Icon } from "@poveste/vendors/iconify";
|
|
5
|
+
import { HstTooltip } from "@poveste/controls";
|
|
5
6
|
//#region src/app/components/toolbar/ToolbarTextDirection.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var ToolbarTextDirection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
8
|
__name: "ToolbarTextDirection",
|
|
8
9
|
setup(__props) {
|
|
9
10
|
const settings = usePreviewSettingsStore().currentSettings;
|
|
10
11
|
return (_ctx, _cache) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
return openBlock(), createBlock(unref(HstTooltip), { content: `Switch to text direction ${unref(settings).textDirection === "ltr" ? "Right to Left" : "Left to Right"}` }, {
|
|
13
|
+
default: withCtx(() => [createVNode(TopBarChipItem_default, {
|
|
14
|
+
"aria-label": "Toggle text direction",
|
|
15
|
+
class: "poveste-toolbar-text-direction",
|
|
16
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(settings).textDirection = unref(settings).textDirection === "ltr" ? "rtl" : "ltr")
|
|
17
|
+
}, {
|
|
18
|
+
default: withCtx(() => [createVNode(unref(Icon), {
|
|
19
|
+
icon: unref(settings).textDirection === "ltr" ? "fluent:text-paragraph-direction-right-16-regular" : "fluent:text-paragraph-direction-left-16-regular",
|
|
20
|
+
class: "w-4 h-4"
|
|
21
|
+
}, null, 8, ["icon"])]),
|
|
22
|
+
_: 1
|
|
23
|
+
})]),
|
|
21
24
|
_: 1
|
|
22
|
-
}
|
|
25
|
+
}, 8, ["content"]);
|
|
23
26
|
};
|
|
24
27
|
}
|
|
25
28
|
});
|
|
@@ -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/index.js
CHANGED
|
@@ -4,7 +4,6 @@ import "./plugin.js";
|
|
|
4
4
|
import { iconCollections } from "./util/icons.generated.js";
|
|
5
5
|
import { createApp } from "@poveste/vendors/vue";
|
|
6
6
|
import { addCollection } from "@poveste/vendors/iconify";
|
|
7
|
-
import FloatingVue from "@poveste/vendors/floating-vue";
|
|
8
7
|
import { createPinia } from "@poveste/vendors/pinia";
|
|
9
8
|
import "virtual:$poveste-theme";
|
|
10
9
|
//#region src/app/index.ts
|
|
@@ -12,18 +11,6 @@ async function mountMainApp() {
|
|
|
12
11
|
for (const collection of iconCollections) addCollection(collection);
|
|
13
12
|
const app = createApp(App_default);
|
|
14
13
|
app.use(createPinia());
|
|
15
|
-
app.use(FloatingVue, {
|
|
16
|
-
container: ".poveste-app-root",
|
|
17
|
-
overflowPadding: 4,
|
|
18
|
-
arrowPadding: 8,
|
|
19
|
-
themes: {
|
|
20
|
-
tooltip: { distance: 8 },
|
|
21
|
-
dropdown: {
|
|
22
|
-
computeTransformOrigin: true,
|
|
23
|
-
distance: 8
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
14
|
app.use(router);
|
|
28
15
|
app.mount("#app");
|
|
29
16
|
if (import.meta.hot) import.meta.hot.send("poveste:mount", {});
|
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;
|
|
@@ -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);
|
|
@@ -102,7 +103,8 @@ var app = createApp({
|
|
|
102
103
|
return [h("div", { class: "__poveste-sandbox-hidden" }, [h(GenericMountStory_default, {
|
|
103
104
|
key: file.value.story.id,
|
|
104
105
|
story: file.value.story,
|
|
105
|
-
targetVariantId: variantId.value
|
|
106
|
+
targetVariantId: variantId.value,
|
|
107
|
+
syncState: false
|
|
106
108
|
})]), this.story && this.variant ? h(GenericRenderStory_default, {
|
|
107
109
|
key: `${this.story.id}/${this.variant.id}`,
|
|
108
110
|
story: this.story,
|
|
@@ -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();
|
|
@@ -33,7 +33,7 @@ var builtinCommands = [{
|
|
|
33
33
|
label: "Open Poveste Documentation",
|
|
34
34
|
icon: "carbon:help",
|
|
35
35
|
clientAction: () => {
|
|
36
|
-
window.open("https://poveste.dev/guide/getting-started
|
|
36
|
+
window.open("https://poveste.dev/guide/getting-started", "_blank");
|
|
37
37
|
}
|
|
38
38
|
}];
|
|
39
39
|
function executeCommand(command, params) {
|