@poveste/app 0.10.0 → 0.12.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 +2 -3
- package/dist/bundled/App.vue_vue_type_script_setup_true_lang.js +14 -11
- package/dist/bundled/app.css +9 -9
- package/dist/bundled/components/app/AppActions.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/bundled/components/app/AppHeader.vue_vue_type_script_setup_true_lang.js +6 -5
- package/dist/bundled/components/app/TopBarChipItem.js +5 -2
- package/dist/bundled/components/base/BaseCheckbox.vue_vue_type_script_setup_true_lang.js +8 -6
- package/dist/bundled/components/base/BaseListItemLink.js +2 -0
- package/dist/bundled/components/panel/StatePresets.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/bundled/components/panel/StoryEvents.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/panel/StorySourceCode.js +1 -1
- package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/bundled/components/search/SearchItem.js +1 -1
- package/dist/bundled/components/search/SearchItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/bundled/components/search/SearchPane.vue_vue_type_script_setup_true_lang.js +69 -33
- package/dist/bundled/components/story/StoryResponsivePreview.js +1 -1
- package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/bundled/components/story/StoryVariantSinglePreviewRemote.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/bundled/components/toolbar/DevOnlyToolbarOpenInEditor.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/bundled/components/toolbar/ToolbarNewTab.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/bundled/components/toolbar/ToolbarTextDirection.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/bundled/components/tree/StoryListItem.js +1 -1
- package/dist/bundled/components/tree/StoryListItem.vue_vue_type_script_setup_true_lang.js +9 -7
- package/dist/bundled/sandbox.js +4 -1
- package/dist/bundled/util/uncaught.js +14 -0
- package/dist/style.css +1 -1
- package/package.json +9 -8
- package/src/__tests__/uncaught.spec.ts +36 -0
- package/src/app/App.vue +37 -18
- package/src/app/components/app/AppActions.vue +2 -0
- package/src/app/components/app/AppHeader.vue +7 -2
- package/src/app/components/app/TopBarChipItem.vue +3 -0
- package/src/app/components/base/BaseCheckbox.vue +4 -1
- package/src/app/components/base/BaseListItemLink.vue +1 -0
- package/src/app/components/panel/StatePresets.vue +12 -0
- package/src/app/components/panel/StoryEvents.vue +2 -2
- package/src/app/components/panel/StorySourceCode.vue +5 -2
- package/src/app/components/search/SearchItem.vue +2 -0
- package/src/app/components/search/SearchPane.vue +42 -0
- package/src/app/components/story/StoryResponsivePreview.vue +2 -1
- package/src/app/components/story/StoryVariantSinglePreviewRemote.vue +1 -0
- package/src/app/components/toolbar/DevOnlyToolbarOpenInEditor.vue +1 -0
- package/src/app/components/toolbar/ToolbarNewTab.vue +1 -0
- package/src/app/components/toolbar/ToolbarTextDirection.vue +1 -0
- package/src/app/components/tree/StoryListItem.vue +2 -0
- package/src/app/sandbox.ts +6 -1
- package/src/app/style/main.pcss +2 -3
- package/src/app/util/uncaught.ts +19 -0
package/dist/app/style/main.pcss
CHANGED
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
its utility classes live in a package v4 never scans. */
|
|
26
26
|
@source "../../../../poveste/src/node/markdown.ts";
|
|
27
27
|
|
|
28
|
-
/* TODO(#36): port the v3 typography theme() customization to v4 CSS. */
|
|
29
28
|
@plugin '@tailwindcss/typography';
|
|
30
29
|
|
|
31
30
|
/* Chrome dark mode. Deliberately a distinct class from the story-side
|
|
@@ -181,7 +180,7 @@
|
|
|
181
180
|
/*
|
|
182
181
|
* Typography (@tailwindcss/typography) customization — ported from the v3
|
|
183
182
|
* `theme.extend.typography` JS config to CSS. Unlayered so it overrides the
|
|
184
|
-
* plugin's layered defaults.
|
|
183
|
+
* plugin's layered defaults.
|
|
185
184
|
*/
|
|
186
185
|
.prose {
|
|
187
186
|
--tw-prose-invert-quote-borders: var(--color-gray-800);
|
|
@@ -207,7 +206,7 @@
|
|
|
207
206
|
}
|
|
208
207
|
}
|
|
209
208
|
|
|
210
|
-
&:is(h1, h2, h3, h4
|
|
209
|
+
&:is(h1, h2, h3, h4) {
|
|
211
210
|
margin-bottom: 0.75rem;
|
|
212
211
|
|
|
213
212
|
&:not(:first-child) {
|
|
@@ -18,7 +18,7 @@ import SearchModal_default from "./components/search/SearchModal.js";
|
|
|
18
18
|
import GenericMountStory_default from "./components/story/GenericMountStory.js";
|
|
19
19
|
import { mapFile } from "./util/mapping.js";
|
|
20
20
|
import { useTitle } from "@poveste/vendors/vue-use";
|
|
21
|
-
import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeStyle, onMounted, openBlock, ref, resolveComponent, unref, watch, withCtx } from "@poveste/vendors/vue";
|
|
21
|
+
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeStyle, onMounted, openBlock, ref, resolveComponent, toDisplayString, unref, watch, withCtx } from "@poveste/vendors/vue";
|
|
22
22
|
import { files, onUpdate, tree } from "virtual:$poveste-stories";
|
|
23
23
|
//#region src/app/App.vue?vue&type=script&setup=true&lang.ts
|
|
24
24
|
var _hoisted_1 = { class: "poveste-app-root h-full" };
|
|
@@ -31,12 +31,15 @@ var _hoisted_3 = {
|
|
|
31
31
|
class: "h-full flex flex-col divide-y divide-gray-100 dark:divide-gray-800"
|
|
32
32
|
};
|
|
33
33
|
var _hoisted_4 = { class: "flex items-center gap-2 pr-4" };
|
|
34
|
-
var _hoisted_5 = { class: "flex flex-col h-
|
|
35
|
-
var _hoisted_6 = { class: "flex flex-col h-full" };
|
|
34
|
+
var _hoisted_5 = { class: "grow flex flex-col min-h-0" };
|
|
35
|
+
var _hoisted_6 = { class: "flex flex-col h-full bg-gray-100 dark:bg-gray-750 __poveste-pane-shadow-from-right" };
|
|
36
36
|
var _hoisted_7 = {
|
|
37
|
-
|
|
38
|
-
class: "
|
|
37
|
+
"aria-label": "Stories",
|
|
38
|
+
class: "flex-1 flex flex-col min-h-0"
|
|
39
39
|
};
|
|
40
|
+
var _hoisted_8 = { class: "flex flex-col h-full" };
|
|
41
|
+
var _hoisted_9 = { class: "sr-only" };
|
|
42
|
+
var _hoisted_10 = { class: "h-full flex flex-col" };
|
|
40
43
|
var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
41
44
|
name: "PovesteApp",
|
|
42
45
|
setup(__props) {
|
|
@@ -118,7 +121,7 @@ var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
|
|
|
118
121
|
tree: tree$1.value,
|
|
119
122
|
stories: stories.value
|
|
120
123
|
}, null, 8, ["tree", "stories"]),
|
|
121
|
-
createVNode(_component_RouterView, { class: "grow" })
|
|
124
|
+
createElementVNode("main", _hoisted_5, [createVNode(_component_RouterView, { class: "grow" })])
|
|
122
125
|
])) : unref(layoutStore).settings.storyListVisible ? (openBlock(), createBlock(BaseSplitPane_default, {
|
|
123
126
|
key: 1,
|
|
124
127
|
"save-id": "main-horiz",
|
|
@@ -127,20 +130,20 @@ var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
|
|
|
127
130
|
"default-split": 15,
|
|
128
131
|
class: "h-full"
|
|
129
132
|
}, {
|
|
130
|
-
first: withCtx(() => [createElementVNode("div",
|
|
133
|
+
first: withCtx(() => [createElementVNode("div", _hoisted_6, [createVNode(AppHeader_default, { class: "flex-none" }), createElementVNode("nav", _hoisted_7, [createVNode(StoryList_default, {
|
|
131
134
|
tree: tree$1.value,
|
|
132
135
|
stories: stories.value,
|
|
133
136
|
class: "flex-1"
|
|
134
|
-
}, null, 8, ["tree", "stories"])])]),
|
|
135
|
-
last: withCtx(() => [createElementVNode("
|
|
137
|
+
}, null, 8, ["tree", "stories"])])])]),
|
|
138
|
+
last: withCtx(() => [createElementVNode("main", _hoisted_8, [createVNode(TopBar_default, {
|
|
136
139
|
onLayout: _cache[2] || (_cache[2] = ($event) => isLayoutOpen.value = true),
|
|
137
140
|
onSearch: _cache[3] || (_cache[3] = ($event) => isSearchOpen.value = true)
|
|
138
141
|
}), createVNode(_component_RouterView, { class: "flex-1 min-h-0" })])]),
|
|
139
142
|
_: 1
|
|
140
|
-
})) : (openBlock(), createElementBlock("
|
|
143
|
+
})) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [createElementVNode("header", _hoisted_9, [createElementVNode("h1", null, toDisplayString(unref(povesteConfig).theme?.title ?? "Poveste"), 1)]), createElementVNode("main", _hoisted_10, [createVNode(TopBar_default, {
|
|
141
144
|
onLayout: _cache[4] || (_cache[4] = ($event) => isLayoutOpen.value = true),
|
|
142
145
|
onSearch: _cache[5] || (_cache[5] = ($event) => isSearchOpen.value = true)
|
|
143
|
-
}), createVNode(_component_RouterView, { class: "flex-1 min-h-0" })])),
|
|
146
|
+
}), createVNode(_component_RouterView, { class: "flex-1 min-h-0" })])], 64)),
|
|
144
147
|
!unref(isMobile) ? (openBlock(), createBlock(LayoutModal_default, {
|
|
145
148
|
key: 3,
|
|
146
149
|
shown: isLayoutOpen.value,
|
package/dist/bundled/app.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
2
|
-
.bind-tree-margin[data-v-
|
|
3
|
-
margin-left: var(--
|
|
2
|
+
.bind-tree-margin[data-v-184d6cf3] {
|
|
3
|
+
margin-left: var(--v516f2a64);
|
|
4
4
|
}
|
|
5
|
-
.bind-icon-color[data-v-
|
|
6
|
-
color: var(--
|
|
5
|
+
.bind-icon-color[data-v-184d6cf3] {
|
|
6
|
+
color: var(--v2fa7200a);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
96
|
-
.__poveste-code-placeholder[data-v-
|
|
96
|
+
.__poveste-code-placeholder[data-v-3d88bdb3] {
|
|
97
97
|
color: inherit;
|
|
98
98
|
font-size: inherit;
|
|
99
99
|
}
|
|
@@ -108,8 +108,8 @@
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
111
|
-
.bind-preview-bg[data-v-
|
|
112
|
-
background-color: var(--
|
|
111
|
+
.bind-preview-bg[data-v-380b627d] {
|
|
112
|
+
background-color: var(--v0cb511a0);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
@@ -149,8 +149,8 @@ img.colorize-black[data-v-f632abed] {
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
@scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
|
|
152
|
-
.bind-icon-color[data-v-
|
|
153
|
-
color: var(--
|
|
152
|
+
.bind-icon-color[data-v-f4bf5500] {
|
|
153
|
+
color: var(--v1311c0c1);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
/*$vite$:1*/
|
|
@@ -34,6 +34,7 @@ var AppActions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
34
34
|
_: 1
|
|
35
35
|
})), [[_directive_tooltip, unref(makeTooltip)("Layout", ({ isMac }) => isMac ? "meta+shift+l" : "ctrl+shift+l")]]) : createCommentVNode("", true),
|
|
36
36
|
withDirectives((openBlock(), createBlock(TopBarChipItem_default, {
|
|
37
|
+
"aria-label": "Search stories",
|
|
37
38
|
"data-testid": "search-btn",
|
|
38
39
|
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("search"))
|
|
39
40
|
}, {
|
|
@@ -45,6 +46,7 @@ var AppActions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
45
46
|
})), [[_directive_tooltip, unref(makeTooltip)("Search", ({ isMac }) => isMac ? "meta+k" : "ctrl+k")]]),
|
|
46
47
|
!unref(povesteConfig).theme.hideColorSchemeSwitch ? withDirectives((openBlock(), createBlock(TopBarChipItem_default, {
|
|
47
48
|
key: 1,
|
|
49
|
+
"aria-label": "Toggle dark mode",
|
|
48
50
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(toggleDark)())
|
|
49
51
|
}, {
|
|
50
52
|
default: withCtx(() => [createVNode(unref(Icon), {
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { povesteConfig } from "../../util/config.js";
|
|
2
2
|
import AppLogo_default from "./AppLogo.js";
|
|
3
|
-
import { createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, unref } from "@poveste/vendors/vue";
|
|
3
|
+
import { createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, unref } from "@poveste/vendors/vue";
|
|
4
4
|
//#region src/app/components/app/AppHeader.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = { class: "poveste-app-header px-4 h-14 flex items-center gap-2" };
|
|
6
|
-
var _hoisted_2 = { class: "
|
|
7
|
-
var _hoisted_3 =
|
|
6
|
+
var _hoisted_2 = { class: "sr-only" };
|
|
7
|
+
var _hoisted_3 = { class: "py-3 sm:py-4 flex-1 h-full flex items-center pr-2" };
|
|
8
|
+
var _hoisted_4 = ["href"];
|
|
8
9
|
var AppHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
9
10
|
__name: "AppHeader",
|
|
10
11
|
setup(__props) {
|
|
11
12
|
return (_ctx, _cache) => {
|
|
12
|
-
return openBlock(), createElementBlock("
|
|
13
|
+
return openBlock(), createElementBlock("header", _hoisted_1, [createElementVNode("h1", _hoisted_2, toDisplayString(unref(povesteConfig).theme?.title ?? "Poveste"), 1), createElementVNode("div", _hoisted_3, [createElementVNode("a", {
|
|
13
14
|
href: unref(povesteConfig).theme?.logoHref,
|
|
14
15
|
target: "_blank",
|
|
15
16
|
class: "w-full h-full flex items-center"
|
|
16
|
-
}, [createVNode(AppLogo_default, { class: "max-w-full max-h-full" })], 8,
|
|
17
|
+
}, [createVNode(AppLogo_default, { class: "max-w-full max-h-full" })], 8, _hoisted_4)])]);
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
20
|
});
|
|
@@ -2,9 +2,12 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import { createElementBlock, openBlock, renderSlot } from "@poveste/vendors/vue";
|
|
3
3
|
//#region src/app/components/app/TopBarChipItem.vue
|
|
4
4
|
var _sfc_main = {};
|
|
5
|
-
var _hoisted_1 =
|
|
5
|
+
var _hoisted_1 = ["role"];
|
|
6
6
|
function _sfc_render(_ctx, _cache) {
|
|
7
|
-
return openBlock(), createElementBlock("a",
|
|
7
|
+
return openBlock(), createElementBlock("a", {
|
|
8
|
+
role: _ctx.$attrs.href ? void 0 : "button",
|
|
9
|
+
class: "poveste-top-bar-chip-item flex items-center gap-1 px-2.5 py-1.5 hover:bg-white/50 active:bg-white/70 dark:hover:bg-white/10 dark:active:bg-white/15 hover:text-primary-500 dark:hover:text-primary-400 cursor-pointer text-gray-900 dark:text-gray-100 transition-colors"
|
|
10
|
+
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1);
|
|
8
11
|
}
|
|
9
12
|
var TopBarChipItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
10
13
|
//#endregion
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { computed, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, ref, renderSlot, watch, withKeys, withModifiers } from "@poveste/vendors/vue";
|
|
2
2
|
//#region src/app/components/base/BaseCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var _hoisted_1 =
|
|
4
|
-
var _hoisted_2 = {
|
|
3
|
+
var _hoisted_1 = ["aria-checked"];
|
|
4
|
+
var _hoisted_2 = { class: "text-white w-[16px] h-[16px] relative" };
|
|
5
|
+
var _hoisted_3 = {
|
|
5
6
|
width: "16",
|
|
6
7
|
height: "16",
|
|
7
8
|
viewBox: "0 0 24 24",
|
|
8
9
|
class: "relative z-10"
|
|
9
10
|
};
|
|
10
|
-
var
|
|
11
|
+
var _hoisted_4 = ["stroke-dasharray", "stroke-dashoffset"];
|
|
11
12
|
var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
12
13
|
__name: "BaseCheckbox",
|
|
13
14
|
props: { modelValue: {
|
|
@@ -18,6 +19,7 @@ var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
18
19
|
setup(__props, { emit: __emit }) {
|
|
19
20
|
const props = __props;
|
|
20
21
|
const emit = __emit;
|
|
22
|
+
const animationEnabled = ref(false);
|
|
21
23
|
function toggle() {
|
|
22
24
|
emit("update:modelValue", !props.modelValue);
|
|
23
25
|
animationEnabled.value = true;
|
|
@@ -26,7 +28,6 @@ var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
26
28
|
const dasharray = ref(0);
|
|
27
29
|
const progress = computed(() => props.modelValue ? 1 : 0);
|
|
28
30
|
const dashoffset = computed(() => (1 - progress.value) * dasharray.value);
|
|
29
|
-
const animationEnabled = ref(false);
|
|
30
31
|
watch(path, () => {
|
|
31
32
|
dasharray.value = path.value.getTotalLength?.() ?? 21.21;
|
|
32
33
|
});
|
|
@@ -34,10 +35,11 @@ var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
34
35
|
return openBlock(), createElementBlock("div", {
|
|
35
36
|
role: "checkbox",
|
|
36
37
|
tabindex: "0",
|
|
38
|
+
"aria-checked": __props.modelValue,
|
|
37
39
|
class: "poveste-base-checkbox flex items-center gap-2 select-none px-4 py-3 cursor-pointer hover:bg-primary-100 dark:hover:bg-primary-700",
|
|
38
40
|
onClick: _cache[0] || (_cache[0] = ($event) => toggle()),
|
|
39
41
|
onKeydown: [_cache[1] || (_cache[1] = withKeys(withModifiers(($event) => toggle(), ["prevent"]), ["enter"])), _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => toggle(), ["prevent"]), ["space"]))]
|
|
40
|
-
}, [createElementVNode("div",
|
|
42
|
+
}, [createElementVNode("div", _hoisted_2, [createElementVNode("div", { class: normalizeClass(["border group-active:bg-gray-500/20 rounded-sm box-border absolute inset-0 transition-border duration-150 ease-out", [__props.modelValue ? "border-primary-500 border-8" : "border-black/25 dark:border-white/25 delay-150"]]) }, null, 2), (openBlock(), createElementBlock("svg", _hoisted_3, [createElementVNode("path", {
|
|
41
43
|
ref_key: "path",
|
|
42
44
|
ref: path,
|
|
43
45
|
d: "m 4 12 l 5 5 l 10 -10",
|
|
@@ -45,7 +47,7 @@ var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
45
47
|
class: normalizeClass(["stroke-white stroke-2 duration-200 ease-in-out", [animationEnabled.value ? "transition-all" : "transition-none", { "delay-150": __props.modelValue }]]),
|
|
46
48
|
"stroke-dasharray": dasharray.value,
|
|
47
49
|
"stroke-dashoffset": dashoffset.value
|
|
48
|
-
}, null, 10,
|
|
50
|
+
}, null, 10, _hoisted_4)]))]), renderSlot(_ctx.$slots, "default")], 40, _hoisted_1);
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
});
|
|
@@ -4,6 +4,7 @@ import { createBlock, createElementVNode, mergeProps, normalizeClass, openBlock,
|
|
|
4
4
|
//#region src/app/components/base/BaseListItemLink.vue
|
|
5
5
|
var _hoisted_1 = [
|
|
6
6
|
"href",
|
|
7
|
+
"aria-current",
|
|
7
8
|
"onClick",
|
|
8
9
|
"onKeyup"
|
|
9
10
|
];
|
|
@@ -12,6 +13,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
12
13
|
return openBlock(), createBlock(_component_RouterLink, mergeProps({ class: "poveste-base-list-item-link" }, _ctx.$attrs, { custom: "" }), {
|
|
13
14
|
default: withCtx(({ isActive: linkIsActive, href, navigate }) => [createElementVNode("a", {
|
|
14
15
|
href,
|
|
16
|
+
"aria-current": (_ctx.isActive != null ? _ctx.isActive : linkIsActive) ? "page" : void 0,
|
|
15
17
|
class: normalizeClass(["flex items-center gap-2 text-gray-900 dark:text-gray-100", [_ctx.$attrs.class, (_ctx.isActive != null ? _ctx.isActive : linkIsActive) ? "active bg-primary-500 hover:bg-primary-600 text-white dark:text-black" : "hover:bg-primary-100 dark:hover:bg-primary-900"]]),
|
|
16
18
|
onClick: ($event) => _ctx.handleNavigate($event, navigate),
|
|
17
19
|
onKeyup: [withKeys(($event) => _ctx.handleNavigate($event, navigate), ["enter"]), withKeys(($event) => _ctx.handleNavigate($event, navigate), ["space"])]
|
|
@@ -26,8 +26,8 @@ var StatePresets_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
26
26
|
const saveId = computed(() => `${props.story.id}:${props.variant.id}`);
|
|
27
27
|
const omitKeys = ["_hPropDefs"];
|
|
28
28
|
const defaultState = toPresetState(props.variant.state, omitKeys);
|
|
29
|
-
const selectedOption = useStorage(`_poveste-presets/${saveId.value}/selected`, DEFAULT_ID);
|
|
30
|
-
const presetStates = useStorage(`_poveste-presets/${saveId.value}/states`, /* @__PURE__ */ new Map());
|
|
29
|
+
const selectedOption = useStorage(`_poveste-presets/${saveId.value}/selected`, DEFAULT_ID, void 0, { writeDefaults: false });
|
|
30
|
+
const presetStates = useStorage(`_poveste-presets/${saveId.value}/states`, /* @__PURE__ */ new Map(), void 0, { writeDefaults: false });
|
|
31
31
|
const presetsOptions = computed(() => {
|
|
32
32
|
const options = { [DEFAULT_ID]: "Initial state" };
|
|
33
33
|
presetStates.value.forEach((value, key) => {
|
|
@@ -125,11 +125,13 @@ var StatePresets_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
125
125
|
_: 1
|
|
126
126
|
}, 8, ["modelValue", "options"])], 512),
|
|
127
127
|
withDirectives(createVNode(unref(Icon), {
|
|
128
|
+
"data-testid": "preset-save",
|
|
128
129
|
icon: savedNotif.value ? "carbon:checkmark" : "carbon:save",
|
|
129
130
|
class: normalizeClass(["cursor-pointer w-4 h-4 hover:text-primary-500 dark:hover:text-primary-400 text-gray-900 dark:text-gray-100", [canEdit.value ? "opacity-50 hover:opacity-100" : "opacity-25 pointer-events-none"]]),
|
|
130
131
|
onClick: _cache[7] || (_cache[7] = ($event) => savePreset())
|
|
131
132
|
}, null, 8, ["icon", "class"]), [[_directive_tooltip, savedNotif.value ? "Saved!" : canEdit.value ? "Save to preset" : null]]),
|
|
132
133
|
withDirectives(createVNode(unref(Icon), {
|
|
134
|
+
"data-testid": "preset-create",
|
|
133
135
|
icon: "carbon:add-alt",
|
|
134
136
|
class: "cursor-pointer w-4 h-4 hover:text-primary-500 opacity-50 hover:opacity-100 dark:hover:text-primary-400 text-gray-900 dark:text-gray-100",
|
|
135
137
|
onClick: _cache[8] || (_cache[8] = ($event) => createPreset())
|
|
@@ -12,12 +12,12 @@ var StoryEvents_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
12
12
|
const hasEvents = computed(() => eventsStore.events.length);
|
|
13
13
|
onMounted(resetUnseen);
|
|
14
14
|
watch(() => eventsStore.unseen, resetUnseen);
|
|
15
|
+
const eventsElement = ref();
|
|
15
16
|
async function resetUnseen() {
|
|
16
17
|
if (eventsStore.unseen > 0) eventsStore.unseen = 0;
|
|
17
18
|
await nextTick();
|
|
18
19
|
eventsElement.value.scrollTo({ top: eventsElement.value.scrollHeight });
|
|
19
20
|
}
|
|
20
|
-
const eventsElement = ref();
|
|
21
21
|
return (_ctx, _cache) => {
|
|
22
22
|
return openBlock(), createElementBlock("div", {
|
|
23
23
|
ref_key: "eventsElement",
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StorySourceCode_vue_vue_type_script_setup_true_lang_default from "./StorySourceCode.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/panel/StorySourceCode.vue
|
|
5
|
-
var StorySourceCode_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StorySourceCode_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StorySourceCode_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StorySourceCode_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3d88bdb3"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StorySourceCode_default as default };
|
package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -38,6 +38,7 @@ var StorySourceCode_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
38
38
|
const highlighter = shallowRef();
|
|
39
39
|
const dynamicSourceCode = ref("");
|
|
40
40
|
const error = ref(null);
|
|
41
|
+
const displayedSource = ref("dynamic");
|
|
41
42
|
watch(() => [props.variant, generateSourceCodeFn.value], async () => {
|
|
42
43
|
if (!generateSourceCodeFn.value) return;
|
|
43
44
|
error.value = null;
|
|
@@ -63,7 +64,6 @@ var StorySourceCode_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
63
64
|
const sourceLoader = props.story.file?.source;
|
|
64
65
|
if (sourceLoader) staticSourceCode.value = (await sourceLoader()).default;
|
|
65
66
|
}, { immediate: true });
|
|
66
|
-
const displayedSource = ref("dynamic");
|
|
67
67
|
const displayedSourceCode = computed(() => {
|
|
68
68
|
if (displayedSource.value === "dynamic") return dynamicSourceCode.value;
|
|
69
69
|
return staticSourceCode.value;
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import SearchItem_vue_vue_type_script_setup_true_lang_default from "./SearchItem.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/search/SearchItem.vue
|
|
5
|
-
var SearchItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(SearchItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var SearchItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(SearchItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f4bf5500"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { SearchItem_default as default };
|
|
@@ -4,7 +4,7 @@ import BaseListItem_default from "../base/BaseListItem.js";
|
|
|
4
4
|
import SearchItemContent_default from "./SearchItemContent.js";
|
|
5
5
|
import { createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, ref, toRefs, unref, useCssVars, withCtx } from "@poveste/vendors/vue";
|
|
6
6
|
//#region src/app/components/search/SearchItem.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var _hoisted_1 = ["data-selected"];
|
|
7
|
+
var _hoisted_1 = ["aria-selected", "data-selected"];
|
|
8
8
|
var SearchItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
9
9
|
__name: "SearchItem",
|
|
10
10
|
props: {
|
|
@@ -19,7 +19,7 @@ var SearchItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
19
19
|
},
|
|
20
20
|
emits: { close: () => true },
|
|
21
21
|
setup(__props, { emit: __emit }) {
|
|
22
|
-
useCssVars((_ctx) => ({ "
|
|
22
|
+
useCssVars((_ctx) => ({ "v1311c0c1": __props.result.iconColor }));
|
|
23
23
|
const props = __props;
|
|
24
24
|
const emit = __emit;
|
|
25
25
|
const el = ref();
|
|
@@ -33,6 +33,8 @@ var SearchItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
33
33
|
return openBlock(), createElementBlock("div", {
|
|
34
34
|
ref_key: "el",
|
|
35
35
|
ref: el,
|
|
36
|
+
role: "option",
|
|
37
|
+
"aria-selected": unref(selected),
|
|
36
38
|
class: "poveste-search-item",
|
|
37
39
|
"data-testid": "search-item",
|
|
38
40
|
"data-selected": unref(selected) ? "" : void 0
|
|
@@ -7,16 +7,29 @@ import BaseEmpty_default from "../base/BaseEmpty.js";
|
|
|
7
7
|
import { onUpdate, searchData } from "./search-title-data.js";
|
|
8
8
|
import SearchItem_default from "./SearchItem.js";
|
|
9
9
|
import { refDebounced, useFocus } from "@poveste/vendors/vue-use";
|
|
10
|
-
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, shallowRef, unref, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "@poveste/vendors/vue";
|
|
10
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, shallowRef, toDisplayString, unref, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "@poveste/vendors/vue";
|
|
11
11
|
import { Icon } from "@poveste/vendors/iconify";
|
|
12
12
|
import { useRouter } from "@poveste/vendors/vue-router";
|
|
13
13
|
import Fuse from "fuse.js";
|
|
14
14
|
import { registeredCommands } from "virtual:$poveste-commands";
|
|
15
15
|
//#region src/app/components/search/SearchPane.vue?vue&type=script&setup=true&lang.ts
|
|
16
|
-
var _hoisted_1 =
|
|
16
|
+
var _hoisted_1 = [
|
|
17
|
+
"aria-expanded",
|
|
18
|
+
"aria-controls",
|
|
19
|
+
"aria-activedescendant"
|
|
20
|
+
];
|
|
21
|
+
var _hoisted_2 = {
|
|
17
22
|
key: 1,
|
|
23
|
+
id: "poveste-search-results",
|
|
24
|
+
role: "listbox",
|
|
25
|
+
"aria-label": "Search results",
|
|
18
26
|
class: "max-h-[400px] overflow-y-auto rounded-b-lg"
|
|
19
27
|
};
|
|
28
|
+
var _hoisted_3 = {
|
|
29
|
+
class: "sr-only",
|
|
30
|
+
"aria-live": "polite",
|
|
31
|
+
role: "status"
|
|
32
|
+
};
|
|
20
33
|
var MAX_RESULTS = 50;
|
|
21
34
|
var SearchPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
22
35
|
__name: "SearchPane",
|
|
@@ -182,6 +195,13 @@ var SearchPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
182
195
|
return list.slice(0, MAX_RESULTS);
|
|
183
196
|
});
|
|
184
197
|
const { selectedIndex, selectNext, selectPrevious } = useSelection(results);
|
|
198
|
+
const resultsAnnouncement = computed(() => {
|
|
199
|
+
if (!rateLimitedSearch.value) return "";
|
|
200
|
+
if (!results.value.length) return "No results";
|
|
201
|
+
const count = `${results.value.length} result${results.value.length === 1 ? "" : "s"}`;
|
|
202
|
+
const current = results.value[selectedIndex.value];
|
|
203
|
+
return current ? `${count}. ${current.title}, ${selectedIndex.value + 1} of ${results.value.length}` : count;
|
|
204
|
+
});
|
|
185
205
|
const router = useRouter();
|
|
186
206
|
onKeyboardShortcut(["enter"], () => {
|
|
187
207
|
if (!props.shown) return;
|
|
@@ -192,37 +212,53 @@ var SearchPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
192
212
|
close();
|
|
193
213
|
});
|
|
194
214
|
return (_ctx, _cache) => {
|
|
195
|
-
return openBlock(), createElementBlock(Fragment, null, [
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
},
|
|
225
|
-
|
|
215
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
216
|
+
createElementVNode("div", {
|
|
217
|
+
class: "poveste-search-pane flex items-center gap-4 pl-6 border border-transparent focus-visible:border-primary-500",
|
|
218
|
+
onClick: _cache[4] || (_cache[4] = ($event) => focused.value = true)
|
|
219
|
+
}, [createVNode(unref(Icon), {
|
|
220
|
+
icon: "carbon:search",
|
|
221
|
+
class: "flex-none w-4 h-4"
|
|
222
|
+
}), withDirectives(createElementVNode("input", {
|
|
223
|
+
ref_key: "input",
|
|
224
|
+
ref: input,
|
|
225
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchInputText.value = $event),
|
|
226
|
+
type: "search",
|
|
227
|
+
role: "combobox",
|
|
228
|
+
"aria-label": "Search for stories and variants",
|
|
229
|
+
"aria-autocomplete": "list",
|
|
230
|
+
"aria-expanded": results.value.length > 0,
|
|
231
|
+
"aria-controls": results.value.length ? "poveste-search-results" : void 0,
|
|
232
|
+
"aria-activedescendant": results.value.length ? `poveste-search-option-${unref(selectedIndex)}` : void 0,
|
|
233
|
+
placeholder: "Search for stories, variants...",
|
|
234
|
+
class: "bg-transparent w-full flex-1 pl-0 pr-6 py-4 outline-none",
|
|
235
|
+
onKeydown: [
|
|
236
|
+
_cache[1] || (_cache[1] = withKeys(withModifiers(($event) => unref(selectNext)(), ["prevent"]), ["down"])),
|
|
237
|
+
_cache[2] || (_cache[2] = withKeys(withModifiers(($event) => unref(selectPrevious)(), ["prevent"]), ["up"])),
|
|
238
|
+
_cache[3] || (_cache[3] = withKeys(($event) => close(), ["escape"]))
|
|
239
|
+
]
|
|
240
|
+
}, null, 40, _hoisted_1), [[vModelText, searchInputText.value]])]),
|
|
241
|
+
unref(rateLimitedSearch) && !results.value.length ? (openBlock(), createBlock(BaseEmpty_default, {
|
|
242
|
+
key: 0,
|
|
243
|
+
class: "no-animation"
|
|
244
|
+
}, {
|
|
245
|
+
default: withCtx(() => [..._cache[6] || (_cache[6] = [createTextVNode(" No results ", -1)])]),
|
|
246
|
+
_: 1
|
|
247
|
+
})) : results.value.length ? (openBlock(), createElementBlock("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(results.value, (result, index) => {
|
|
248
|
+
return openBlock(), createBlock(SearchItem_default, {
|
|
249
|
+
id: `poveste-search-option-${index}`,
|
|
250
|
+
key: result.id,
|
|
251
|
+
result,
|
|
252
|
+
selected: index === unref(selectedIndex),
|
|
253
|
+
onClose: _cache[5] || (_cache[5] = ($event) => close())
|
|
254
|
+
}, null, 8, [
|
|
255
|
+
"id",
|
|
256
|
+
"result",
|
|
257
|
+
"selected"
|
|
258
|
+
]);
|
|
259
|
+
}), 128))])) : createCommentVNode("", true),
|
|
260
|
+
createElementVNode("div", _hoisted_3, toDisplayString(resultsAnnouncement.value), 1)
|
|
261
|
+
], 64);
|
|
226
262
|
};
|
|
227
263
|
}
|
|
228
264
|
});
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default from "./StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/app/components/story/StoryResponsivePreview.vue
|
|
5
|
-
var StoryResponsivePreview_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var StoryResponsivePreview_default = /*#__PURE__*/ _plugin_vue_export_helper_default(StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-380b627d"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryResponsivePreview_default as default };
|
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) => ({ "v0cb511a0": unref(settings).backgroundColor }));
|
|
27
27
|
const props = __props;
|
|
28
28
|
const settings = usePreviewSettingsStore().currentSettings;
|
|
29
29
|
const resizing = ref(false);
|
|
@@ -40,6 +40,7 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
40
40
|
onUnmountedCleanupFns.splice(onUnmountedCleanupFns.indexOf(removeListener), 1);
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
const previewWrapper = ref();
|
|
43
44
|
function useDragger(el, value, min, max, axis) {
|
|
44
45
|
function onMouseDown(event) {
|
|
45
46
|
event.preventDefault();
|
|
@@ -97,7 +98,6 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
97
98
|
const horizontalDragger = ref();
|
|
98
99
|
const verticalDragger = ref();
|
|
99
100
|
const cornerDragger = ref();
|
|
100
|
-
const previewWrapper = ref();
|
|
101
101
|
useDragger(horizontalDragger, responsiveWidth, 32, 2e4, "x");
|
|
102
102
|
useDragger(verticalDragger, responsiveHeight, 32, 2e4, "y");
|
|
103
103
|
useDragger(cornerDragger, responsiveWidth, 32, 2e4, "x");
|
|
@@ -130,7 +130,7 @@ var StoryResponsivePreview_vue_vue_type_script_setup_true_lang_default = /*@__PU
|
|
|
130
130
|
finalWidth: finalWidth.value,
|
|
131
131
|
finalHeight: finalHeight.value,
|
|
132
132
|
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-
|
|
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-380b627d></div><div class=\"absolute top-5 right-8 h-2 w-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute bottom-5 left-8 h-2 w-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute bottom-5 right-8 h-2 w-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute left-5 top-8 w-2 h-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute left-5 bottom-8 w-2 h-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute right-5 top-8 w-2 h-px bg-gray-400/25\" data-v-380b627d></div><div class=\"absolute right-5 bottom-8 w-2 h-px bg-gray-400/25\" data-v-380b627d></div>", 8))], 64)) : createCommentVNode("", true)], 2)], 10, _hoisted_3), isResponsiveEnabled.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
134
134
|
withDirectives((openBlock(), createElementBlock("div", {
|
|
135
135
|
ref_key: "horizontalDragger",
|
|
136
136
|
ref: horizontalDragger,
|
|
@@ -14,7 +14,7 @@ import { computed, createBlock, createCommentVNode, createElementBlock, createEl
|
|
|
14
14
|
import { Icon } from "@poveste/vendors/iconify";
|
|
15
15
|
import { SANDBOX_ERROR } from "@poveste/shared";
|
|
16
16
|
//#region src/app/components/story/StoryVariantSinglePreviewRemote.vue?vue&type=script&setup=true&lang.ts
|
|
17
|
-
var _hoisted_1 = ["src"];
|
|
17
|
+
var _hoisted_1 = ["src", "title"];
|
|
18
18
|
var _hoisted_2 = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "poveste-story-error absolute inset-0 overflow-auto p-6 bg-white dark:bg-gray-900",
|
|
@@ -222,6 +222,7 @@ var StoryVariantSinglePreviewRemote_vue_vue_type_script_setup_true_lang_default
|
|
|
222
222
|
}]),
|
|
223
223
|
style: normalizeStyle(previewStyle(isResponsiveEnabled, finalWidth, finalHeight)),
|
|
224
224
|
"data-testid": "preview-iframe",
|
|
225
|
+
title: `Preview of ${__props.story.title} — ${__props.variant.title}`,
|
|
225
226
|
onLoad: _cache[0] || (_cache[0] = ($event) => onIframeLoad())
|
|
226
227
|
}, null, 46, _hoisted_1), storyError.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
227
228
|
createElementVNode("div", _hoisted_3, [createVNode(unref(Icon), {
|
|
@@ -13,6 +13,7 @@ var DevOnlyToolbarOpenInEditor_vue_vue_type_script_setup_true_lang_default = /*@
|
|
|
13
13
|
return (_ctx, _cache) => {
|
|
14
14
|
const _directive_tooltip = resolveDirective("tooltip");
|
|
15
15
|
return withDirectives((openBlock(), createBlock(TopBarChipItem_default, {
|
|
16
|
+
"aria-label": "Open story in editor",
|
|
16
17
|
target: "_blank",
|
|
17
18
|
class: "poveste-toolbar-open-in-editor",
|
|
18
19
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(openInEditor)(__props.file))
|
package/dist/bundled/components/toolbar/ToolbarNewTab.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -19,6 +19,7 @@ var ToolbarNewTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
19
19
|
return withDirectives((openBlock(), createBlock(TopBarChipItem_default, {
|
|
20
20
|
href: sandboxUrl.value,
|
|
21
21
|
target: "_blank",
|
|
22
|
+
"aria-label": "Open variant in new tab",
|
|
22
23
|
class: "poveste-toolbar-new-tab"
|
|
23
24
|
}, {
|
|
24
25
|
default: withCtx(() => [createVNode(unref(Icon), {
|
package/dist/bundled/components/toolbar/ToolbarTextDirection.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -10,6 +10,7 @@ var ToolbarTextDirection_vue_vue_type_script_setup_true_lang_default = /*@__PURE
|
|
|
10
10
|
return (_ctx, _cache) => {
|
|
11
11
|
const _directive_tooltip = resolveDirective("tooltip");
|
|
12
12
|
return withDirectives((openBlock(), createBlock(TopBarChipItem_default, {
|
|
13
|
+
"aria-label": "Toggle text direction",
|
|
13
14
|
class: "poveste-toolbar-text-direction",
|
|
14
15
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(settings).textDirection = unref(settings).textDirection === "ltr" ? "rtl" : "ltr")
|
|
15
16
|
}, {
|
|
@@ -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-184d6cf3"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { StoryListItem_default as default };
|