@poveste/app 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/bundled/App.vue_vue_type_script_setup_true_lang.js +26 -34
  2. package/dist/bundled/app.css +18 -24
  3. package/dist/bundled/components/HomeView.vue_vue_type_script_setup_true_lang.js +1 -1
  4. package/dist/bundled/components/app/AppLogo.vue_vue_type_script_setup_true_lang.js +2 -2
  5. package/dist/bundled/components/app/Breadcrumb.js +1 -1
  6. package/dist/bundled/components/app/Breadcrumb.vue_vue_type_script_setup_true_lang.js +2 -2
  7. package/dist/bundled/components/app/TopBar.vue_vue_type_script_setup_true_lang.js +4 -3
  8. package/dist/bundled/components/base/BaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
  9. package/dist/bundled/components/base/BaseListItemLink.js +6 -3
  10. package/dist/bundled/components/base/BaseListItemLink.vue_vue_type_script_lang.js +10 -4
  11. package/dist/bundled/components/base/BaseOverflowMenu.vue_vue_type_script_setup_true_lang.js +5 -2
  12. package/dist/bundled/components/base/BaseOverflowTab.js +6 -3
  13. package/dist/bundled/components/base/BaseOverflowTab.vue_vue_type_script_lang.js +4 -0
  14. package/dist/bundled/components/base/BaseSplitPane.js +1 -1
  15. package/dist/bundled/components/base/BaseSplitPane.vue_vue_type_script_setup_true_lang.js +6 -4
  16. package/dist/bundled/components/base/BaseTab.js +6 -3
  17. package/dist/bundled/components/base/BaseTab.vue_vue_type_script_lang.js +4 -0
  18. package/dist/bundled/components/command/CommandPrompts.vue_vue_type_script_setup_true_lang.js +1 -1
  19. package/dist/bundled/components/command/CommandPromptsModal.vue_vue_type_script_setup_true_lang.js +4 -3
  20. package/dist/bundled/components/command/PromptSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/bundled/components/command/PromptText.vue_vue_type_script_setup_true_lang.js +1 -1
  22. package/dist/bundled/components/panel/PaneTabs.vue_vue_type_script_setup_true_lang.js +4 -4
  23. package/dist/bundled/components/panel/StatePresets.vue_vue_type_script_setup_true_lang.js +30 -20
  24. package/dist/bundled/components/panel/StoryControls.vue_vue_type_script_setup_true_lang.js +1 -1
  25. package/dist/bundled/components/panel/StoryDocs.vue_vue_type_script_setup_true_lang.js +3 -1
  26. package/dist/bundled/components/panel/StoryEvent.vue_vue_type_script_setup_true_lang.js +5 -1
  27. package/dist/bundled/components/panel/StoryEvents.vue_vue_type_script_setup_true_lang.js +2 -1
  28. package/dist/bundled/components/panel/StorySidePanel.vue_vue_type_script_setup_true_lang.js +7 -5
  29. package/dist/bundled/components/panel/StorySourceCode.js +1 -1
  30. package/dist/bundled/components/panel/StorySourceCode.vue_vue_type_script_setup_true_lang.js +6 -5
  31. package/dist/bundled/components/search/SearchPane.vue_vue_type_script_setup_true_lang.js +15 -7
  32. package/dist/bundled/components/story/GenericMountStory.vue_vue_type_script_setup_true_lang.js +2 -1
  33. package/dist/bundled/components/story/GenericRenderStory.vue_vue_type_script_setup_true_lang.js +2 -1
  34. package/dist/bundled/components/story/StoryResponsivePreview.js +1 -1
  35. package/dist/bundled/components/story/StoryResponsivePreview.vue_vue_type_script_setup_true_lang.js +17 -6
  36. package/dist/bundled/components/story/StoryVariantGrid.js +1 -1
  37. package/dist/bundled/components/story/StoryVariantGrid.vue_vue_type_script_setup_true_lang.js +15 -10
  38. package/dist/bundled/components/story/StoryVariantSingle.js +1 -1
  39. package/dist/bundled/components/story/StoryVariantSingle.vue_vue_type_script_setup_true_lang.js +21 -33
  40. package/dist/bundled/components/story/StoryVariantSingleView.vue_vue_type_script_setup_true_lang.js +1 -1
  41. package/dist/bundled/components/story/StoryView.vue_vue_type_script_setup_true_lang.js +3 -2
  42. package/dist/bundled/components/story/StoryViewer.js +1 -1
  43. package/dist/bundled/components/story/StoryViewer.vue_vue_type_script_setup_true_lang.js +3 -3
  44. package/dist/bundled/components/toolbar/ToolbarBackground.js +1 -3
  45. package/dist/bundled/components/toolbar/ToolbarBackground.vue_vue_type_script_setup_true_lang.js +2 -6
  46. package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue_vue_type_script_setup_true_lang.js +17 -16
  47. package/dist/bundled/plugin.js +4 -3
  48. package/dist/bundled/sandbox.js +2 -2
  49. package/dist/bundled/stores/folder.js +1 -1
  50. package/dist/bundled/util/commands.js +20 -9
  51. package/dist/bundled/util/docs.js +2 -1
  52. package/dist/bundled/util/grid-slots.js +1 -1
  53. package/dist/bundled/util/highlighter.js +1 -1
  54. package/dist/bundled/util/icons.generated.js +0 -1
  55. package/dist/bundled/util/keyboard.js +1 -0
  56. package/dist/bundled/util/mapping.js +6 -2
  57. package/dist/bundled/util/preview-settings.js +1 -1
  58. package/dist/style.css +14 -2
  59. package/package.json +8 -6
  60. package/src/app/App.vue +36 -29
  61. package/src/app/components/HomeView.vue +1 -1
  62. package/src/app/components/app/AppLogo.vue +6 -2
  63. package/src/app/components/app/Breadcrumb.vue +2 -1
  64. package/src/app/components/app/TopBar.vue +7 -2
  65. package/src/app/components/base/BaseCheckbox.vue +1 -1
  66. package/src/app/components/base/BaseListItemLink.vue +12 -1
  67. package/src/app/components/base/BaseOverflowMenu.vue +9 -3
  68. package/src/app/components/base/BaseOverflowTab.vue +12 -1
  69. package/src/app/components/base/BaseSplitPane.vue +9 -4
  70. package/src/app/components/base/BaseTab.vue +12 -1
  71. package/src/app/components/command/CommandPrompts.vue +10 -2
  72. package/src/app/components/command/CommandPromptsModal.vue +1 -0
  73. package/src/app/components/command/PromptSelect.vue +2 -1
  74. package/src/app/components/command/PromptText.vue +7 -3
  75. package/src/app/components/panel/PaneTabs.vue +4 -4
  76. package/src/app/components/panel/StatePresets.vue +26 -5
  77. package/src/app/components/panel/StoryControls.vue +1 -1
  78. package/src/app/components/panel/StoryDocs.vue +3 -1
  79. package/src/app/components/panel/StoryEvent.vue +7 -2
  80. package/src/app/components/panel/StoryEvents.vue +4 -1
  81. package/src/app/components/panel/StorySidePanel.vue +2 -0
  82. package/src/app/components/panel/StorySourceCode.vue +11 -8
  83. package/src/app/components/search/SearchPane.vue +14 -5
  84. package/src/app/components/story/GenericMountStory.vue +2 -1
  85. package/src/app/components/story/GenericRenderStory.vue +2 -1
  86. package/src/app/components/story/StoryResponsivePreview.vue +30 -5
  87. package/src/app/components/story/StoryVariantGrid.vue +33 -16
  88. package/src/app/components/story/StoryVariantSingle.vue +44 -52
  89. package/src/app/components/story/StoryVariantSingleView.vue +1 -1
  90. package/src/app/components/story/StoryView.vue +7 -3
  91. package/src/app/components/story/StoryViewer.vue +3 -3
  92. package/src/app/components/toolbar/ToolbarBackground.vue +1 -8
  93. package/src/app/components/toolbar/ToolbarResponsiveSize.vue +23 -3
  94. package/src/app/components/tree/StoryGroup.vue +1 -1
  95. package/src/app/plugin.ts +7 -3
  96. package/src/app/sandbox.ts +1 -1
  97. package/src/app/stores/folder.ts +1 -1
  98. package/src/app/types.ts +2 -2
  99. package/src/app/util/commands.ts +26 -16
  100. package/src/app/util/docs.ts +2 -1
  101. package/src/app/util/grid-slots.ts +1 -1
  102. package/src/app/util/highlighter.ts +9 -1
  103. package/src/app/util/icons.generated.ts +1 -1
  104. package/src/app/util/keyboard.ts +3 -0
  105. package/src/app/util/mapping.ts +6 -2
  106. package/src/app/util/preview-settings.ts +1 -1
  107. package/src/app/util/scroll.ts +5 -1
  108. package/src/app/util/state.ts +1 -1
  109. package/src/app/util/variant.ts +4 -1
  110. package/src/app/components/base/BaseCopyIcon.vue +0 -34
@@ -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 { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeStyle, onMounted, openBlock, ref, resolveComponent, toDisplayString, unref, watch, withCtx } from "@poveste/vendors/vue";
21
+ import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, 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" };
@@ -26,22 +26,17 @@ var _hoisted_2 = {
26
26
  key: 0,
27
27
  class: "poveste-app hidden"
28
28
  };
29
- var _hoisted_3 = {
30
- key: 0,
31
- class: "h-full flex flex-col divide-y divide-gray-100 dark:divide-gray-800"
32
- };
33
- var _hoisted_4 = { class: "flex items-center gap-2 pr-4" };
34
- var _hoisted_5 = { class: "grow flex flex-col min-h-0" };
35
- var _hoisted_6 = {
36
- key: 0,
29
+ var _hoisted_3 = { class: "flex items-center gap-2 pr-4" };
30
+ var _hoisted_4 = {
31
+ key: 1,
37
32
  class: "sr-only"
38
33
  };
39
- var _hoisted_7 = { class: "flex flex-col h-full bg-gray-100 dark:bg-gray-750 __poveste-pane-shadow-from-right" };
40
- var _hoisted_8 = {
34
+ var _hoisted_5 = { class: "flex flex-col h-full bg-gray-100 dark:bg-gray-750 __poveste-pane-shadow-from-right" };
35
+ var _hoisted_6 = {
41
36
  "aria-label": "Stories",
42
37
  class: "flex-1 flex flex-col min-h-0"
43
38
  };
44
- var _hoisted_9 = { class: "flex flex-col h-full" };
39
+ var _hoisted_7 = { class: "flex flex-col h-full" };
45
40
  var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
46
41
  name: "PovesteApp",
47
42
  setup(__props) {
@@ -56,7 +51,7 @@ var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
56
51
  tree$1.value = newTree;
57
52
  });
58
53
  const stories = computed(() => files$1.value.reduce((acc, file) => {
59
- acc.push(file.story);
54
+ if (file.story) acc.push(file.story);
60
55
  return acc;
61
56
  }, []));
62
57
  const storyStore = useStoryStore();
@@ -114,48 +109,45 @@ var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
114
109
  class: "h-screen bg-gray-100 dark:bg-gray-750 dark:text-gray-100",
115
110
  style: normalizeStyle({ opacity: mounted.value ? 1 : 0 })
116
111
  }, [
117
- unref(isMobile) ? (openBlock(), createElementBlock("div", _hoisted_3, [
118
- createElementVNode("div", _hoisted_4, [createVNode(AppHeader_default, { class: "flex-1" }), createVNode(AppActions_default, {
119
- class: "flex-none",
120
- onLayout: _cache[0] || (_cache[0] = ($event) => isLayoutOpen.value = true),
121
- onSearch: _cache[1] || (_cache[1] = ($event) => isSearchOpen.value = true)
122
- })]),
123
- createVNode(Breadcrumb_default, {
124
- tree: tree$1.value,
125
- stories: stories.value
126
- }, null, 8, ["tree", "stories"]),
127
- createElementVNode("main", _hoisted_5, [createVNode(_component_RouterView, { class: "grow" })])
128
- ])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [!storyListVisible.value ? (openBlock(), createElementBlock("header", _hoisted_6, [createElementVNode("h1", null, toDisplayString(unref(povesteConfig).theme?.title ?? "Poveste"), 1)])) : createCommentVNode("", true), createVNode(BaseSplitPane_default, {
112
+ createElementVNode("div", { class: normalizeClass(["h-full flex flex-col", { "divide-y divide-gray-100 dark:divide-gray-800": unref(isMobile) }]) }, [unref(isMobile) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("div", _hoisted_3, [createVNode(AppHeader_default, { class: "flex-1" }), createVNode(AppActions_default, {
113
+ class: "flex-none",
114
+ onLayout: _cache[0] || (_cache[0] = ($event) => isLayoutOpen.value = true),
115
+ onSearch: _cache[1] || (_cache[1] = ($event) => isSearchOpen.value = true)
116
+ })]), createVNode(Breadcrumb_default, {
117
+ tree: tree$1.value,
118
+ stories: stories.value
119
+ }, null, 8, ["tree", "stories"])], 64)) : !storyListVisible.value ? (openBlock(), createElementBlock("header", _hoisted_4, [createElementVNode("h1", null, toDisplayString(unref(povesteConfig).theme?.title ?? "Poveste"), 1)])) : createCommentVNode("", true), createVNode(BaseSplitPane_default, {
129
120
  "save-id": "main-horiz",
130
121
  min: 5,
131
122
  max: 50,
132
123
  "default-split": 15,
133
- "show-first": storyListVisible.value,
134
- class: "h-full"
124
+ "show-first": !unref(isMobile) && storyListVisible.value,
125
+ class: "flex-1 min-h-0"
135
126
  }, {
136
- first: withCtx(() => [createElementVNode("div", _hoisted_7, [createVNode(AppHeader_default, { class: "flex-none" }), createElementVNode("nav", _hoisted_8, [createVNode(StoryList_default, {
127
+ first: withCtx(() => [createElementVNode("div", _hoisted_5, [createVNode(AppHeader_default, { class: "flex-none" }), createElementVNode("nav", _hoisted_6, [createVNode(StoryList_default, {
137
128
  tree: tree$1.value,
138
129
  stories: stories.value,
139
130
  class: "flex-1"
140
131
  }, null, 8, ["tree", "stories"])])])]),
141
- last: withCtx(() => [createElementVNode("main", _hoisted_9, [createVNode(TopBar_default, {
132
+ last: withCtx(() => [createElementVNode("main", _hoisted_7, [!unref(isMobile) ? (openBlock(), createBlock(TopBar_default, {
133
+ key: 0,
142
134
  onLayout: _cache[2] || (_cache[2] = ($event) => isLayoutOpen.value = true),
143
135
  onSearch: _cache[3] || (_cache[3] = ($event) => isSearchOpen.value = true)
144
- }), createVNode(_component_RouterView, { class: "flex-1 min-h-0" })])]),
136
+ })) : createCommentVNode("", true), createVNode(_component_RouterView, { class: "flex-1 min-h-0" })])]),
145
137
  _: 1
146
- }, 8, ["show-first"])], 64)),
138
+ }, 8, ["show-first"])], 2),
147
139
  !unref(isMobile) ? (openBlock(), createBlock(LayoutModal_default, {
148
- key: 2,
140
+ key: 0,
149
141
  shown: isLayoutOpen.value,
150
142
  onClose: _cache[4] || (_cache[4] = ($event) => isLayoutOpen.value = false)
151
143
  }, null, 8, ["shown"])) : createCommentVNode("", true),
152
144
  loadSearch.value ? (openBlock(), createBlock(SearchModal_default, {
153
- key: 3,
145
+ key: 1,
154
146
  shown: isSearchOpen.value,
155
147
  onClose: _cache[5] || (_cache[5] = ($event) => isSearchOpen.value = false)
156
148
  }, null, 8, ["shown"])) : createCommentVNode("", true),
157
149
  _ctx.__POVESTE_DEV__ ? (openBlock(), createBlock(CommandPromptsModal_default, {
158
- key: 4,
150
+ key: 2,
159
151
  shown: unref(commandStore).showPromptsModal,
160
152
  onClose: _cache[6] || (_cache[6] = ($event) => unref(commandStore).showPromptsModal = false)
161
153
  }, null, 8, ["shown"])) : createCommentVNode("", true)
@@ -12,14 +12,8 @@
12
12
  }
13
13
  }
14
14
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
15
- .bind-icon-color[data-v-64e4f50b] {
16
- color: var(--v6ab8d98a);
17
- }
18
- }
19
- @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
20
- .bind-preview-bg[data-v-ed785ad4] {
21
- background-color: var(--ca113a48);
22
- color: var(--v0083f4ef);
15
+ .bind-icon-color[data-v-d524f876] {
16
+ color: var(--v1c581d20);
23
17
  }
24
18
  }
25
19
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
@@ -28,28 +22,28 @@
28
22
  }
29
23
  }
30
24
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
31
- .landscape > div > .dragger[data-v-6a9b0727] {
25
+ .landscape > div > .dragger[data-v-1e09b1b3] {
32
26
  width: .625rem;
33
27
  }
34
- .portrait > div > .dragger[data-v-6a9b0727] {
28
+ .portrait > div > .dragger[data-v-1e09b1b3] {
35
29
  height: .625rem;
36
30
  }
37
- .landscape > div > .dragger.dragger-offset-before[data-v-6a9b0727] {
31
+ .landscape > div > .dragger.dragger-offset-before[data-v-1e09b1b3] {
38
32
  right: 0;
39
33
  }
40
- .portrait > div > .dragger.dragger-offset-before[data-v-6a9b0727] {
34
+ .portrait > div > .dragger.dragger-offset-before[data-v-1e09b1b3] {
41
35
  bottom: 0;
42
36
  }
43
- .landscape > div > .dragger.dragger-offset-center[data-v-6a9b0727] {
37
+ .landscape > div > .dragger.dragger-offset-center[data-v-1e09b1b3] {
44
38
  right: -.3125rem;
45
39
  }
46
- .portrait > div > .dragger.dragger-offset-center[data-v-6a9b0727] {
40
+ .portrait > div > .dragger.dragger-offset-center[data-v-1e09b1b3] {
47
41
  bottom: -.3125rem;
48
42
  }
49
- .landscape > div > .dragger.dragger-offset-after[data-v-6a9b0727] {
43
+ .landscape > div > .dragger.dragger-offset-after[data-v-1e09b1b3] {
50
44
  right: -.625rem;
51
45
  }
52
- .portrait > div > .dragger.dragger-offset-after[data-v-6a9b0727] {
46
+ .portrait > div > .dragger.dragger-offset-after[data-v-1e09b1b3] {
53
47
  bottom: -.625rem;
54
48
  }
55
49
  }
@@ -93,7 +87,7 @@
93
87
  }
94
88
  }
95
89
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
96
- .__poveste-code-placeholder[data-v-3d88bdb3] {
90
+ .__poveste-code-placeholder[data-v-ec6c2034] {
97
91
  color: inherit;
98
92
  font-size: inherit;
99
93
  }
@@ -108,8 +102,8 @@
108
102
  }
109
103
  }
110
104
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
111
- .bind-preview-bg[data-v-380b627d] {
112
- background-color: var(--v0cb511a0);
105
+ .bind-preview-bg[data-v-d3057f34] {
106
+ background-color: var(--v372ee944);
113
107
  }
114
108
  }
115
109
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
@@ -124,7 +118,7 @@
124
118
  /* Cells are placed with `order`, so without this Tab and a screen reader walk
125
119
  them in slot order — the order they were recycled in, not the screen's.
126
120
  Chromium only for now; elsewhere the rule is ignored. */
127
- .poveste-story-variant-grid-cells[data-v-5f7bc1e1] {
121
+ .poveste-story-variant-grid-cells[data-v-a753c25f] {
128
122
  reading-flow: grid-order;
129
123
  }
130
124
  }
@@ -134,13 +128,13 @@
134
128
  }
135
129
  }
136
130
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
137
- .bind-icon-color[data-v-6805a444] {
138
- color: var(--v72c6d646);
131
+ .bind-icon-color[data-v-6b31fb1b] {
132
+ color: var(--v0fc28fe3);
139
133
  }
140
134
  }
141
135
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
142
- .bind-icon-color[data-v-d5a7fe4c] {
143
- color: var(--v4fc4017e);
136
+ .bind-icon-color[data-v-5e1183de] {
137
+ color: var(--v96d17610);
144
138
  }
145
139
  }
146
140
  @scope (:root) to (.__poveste-render-story:not(.__poveste-render-custom-controls)) {
@@ -14,7 +14,7 @@ var _hoisted_3 = {
14
14
  var HomeView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  __name: "HomeView",
16
16
  setup(__props) {
17
- const logoUrl = computed(() => povesteConfig.theme?.logo?.square ? customLogos.square : poveste_default);
17
+ const logoUrl = computed(() => povesteConfig.theme?.logo?.square ? customLogos?.square ?? "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='512'%20height='512'%20fill='none'%3e%3cdefs%3e%3clinearGradient%20id='pv'%20x1='96'%20y1='416'%20x2='416'%20y2='96'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%2324C56A'/%3e%3cstop%20offset='1'%20stop-color='%2317A6C6'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20x='16'%20y='16'%20width='480'%20height='480'%20rx='112'%20fill='url(%23pv)'/%3e%3crect%20x='140'%20y='142'%20width='232'%20height='44'%20rx='16'%20fill='%23fff'/%3e%3crect%20x='151'%20y='217'%20width='88'%20height='146'%20rx='9'%20stroke='%23fff'%20stroke-width='22'/%3e%3crect%20x='172'%20y='244'%20width='30'%20height='92'%20rx='13'%20fill='%23fff'/%3e%3crect%20x='262'%20y='206'%20width='110'%20height='168'%20rx='20'%20fill='%23fff'/%3e%3crect%20x='284'%20y='226'%20width='66'%20height='58'%20rx='13'%20fill='url(%23pv)'/%3e%3c/svg%3e" : poveste_default);
18
18
  const storyStore = useStoryStore();
19
19
  const stats = computed(() => {
20
20
  let storyCount = 0;
@@ -9,8 +9,8 @@ var AppLogo_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
9
9
  __name: "AppLogo",
10
10
  setup(__props) {
11
11
  const logoUrl = computed(() => {
12
- if (isDark.value) return povesteConfig.theme.logo?.dark ? customLogos.dark : poveste_text_dark_default;
13
- return povesteConfig.theme.logo?.light ? customLogos.light : poveste_text_default;
12
+ if (isDark.value) return povesteConfig.theme.logo?.dark ? customLogos?.dark ?? "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODcwIDUxMiIgZmlsbD0ibm9uZSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InB2dyIgeDE9Ijk2IiB5MT0iNDE2IiB4Mj0iNDE2IiB5Mj0iOTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjRDNTZBIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE3QTZDNiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHJlY3QgeD0iMTYiIHk9IjE2IiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgcng9IjExMiIgZmlsbD0idXJsKCNwdncpIi8+CiAgPHJlY3QgeD0iMTQwIiB5PSIxNDIiIHdpZHRoPSIyMzIiIGhlaWdodD0iNDQiIHJ4PSIxNiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjE1MSIgeT0iMjE3IiB3aWR0aD0iODgiIGhlaWdodD0iMTQ2IiByeD0iOSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIyIi8+CiAgPHJlY3QgeD0iMTcyIiB5PSIyNDQiIHdpZHRoPSIzMCIgaGVpZ2h0PSI5MiIgcng9IjEzIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iMjYyIiB5PSIyMDYiIHdpZHRoPSIxMTAiIGhlaWdodD0iMTY4IiByeD0iMjAiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyODQiIHk9IjIyNiIgd2lkdGg9IjY2IiBoZWlnaHQ9IjU4IiByeD0iMTMiIGZpbGw9InVybCgjcHZ3KSIvPgogIDx0ZXh0IHg9IjY3NiIgeT0iMjU2IiBkb21pbmFudC1iYXNlbGluZT0iY2VudHJhbCIgZm9udC1mYW1pbHk9InVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjMyMCIgZm9udC13ZWlnaHQ9IjQwMCIgbGV0dGVyLXNwYWNpbmc9Ii00IiBmaWxsPSIjZjhmYWZjIj5Qb3Zlc3RlPC90ZXh0Pgo8L3N2Zz4K" : poveste_text_dark_default;
13
+ return povesteConfig.theme.logo?.light ? customLogos?.light ?? "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODcwIDUxMiIgZmlsbD0ibm9uZSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InB2dyIgeDE9Ijk2IiB5MT0iNDE2IiB4Mj0iNDE2IiB5Mj0iOTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjRDNTZBIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE3QTZDNiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHJlY3QgeD0iMTYiIHk9IjE2IiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgcng9IjExMiIgZmlsbD0idXJsKCNwdncpIi8+CiAgPHJlY3QgeD0iMTQwIiB5PSIxNDIiIHdpZHRoPSIyMzIiIGhlaWdodD0iNDQiIHJ4PSIxNiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjE1MSIgeT0iMjE3IiB3aWR0aD0iODgiIGhlaWdodD0iMTQ2IiByeD0iOSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIyIi8+CiAgPHJlY3QgeD0iMTcyIiB5PSIyNDQiIHdpZHRoPSIzMCIgaGVpZ2h0PSI5MiIgcng9IjEzIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iMjYyIiB5PSIyMDYiIHdpZHRoPSIxMTAiIGhlaWdodD0iMTY4IiByeD0iMjAiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyODQiIHk9IjIyNiIgd2lkdGg9IjY2IiBoZWlnaHQ9IjU4IiByeD0iMTMiIGZpbGw9InVybCgjcHZ3KSIvPgogIDx0ZXh0IHg9IjY3NiIgeT0iMjU2IiBkb21pbmFudC1iYXNlbGluZT0iY2VudHJhbCIgZm9udC1mYW1pbHk9InVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjMyMCIgZm9udC13ZWlnaHQ9IjQwMCIgbGV0dGVyLXNwYWNpbmc9Ii00IiBmaWxsPSIjMWUyOTNiIj5Qb3Zlc3RlPC90ZXh0Pgo8L3N2Zz4K" : poveste_text_default;
14
14
  });
15
15
  const altText = computed(() => `${povesteConfig.theme.title} logo`);
16
16
  return (_ctx, _cache) => {
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
2
2
  import Breadcrumb_vue_vue_type_script_setup_true_lang_default from "./Breadcrumb.vue_vue_type_script_setup_true_lang.js";
3
3
  /* empty css */
4
4
  //#region src/app/components/app/Breadcrumb.vue
5
- var Breadcrumb_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Breadcrumb_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-64e4f50b"]]);
5
+ var Breadcrumb_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Breadcrumb_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d524f876"]]);
6
6
  //#endregion
7
7
  export { Breadcrumb_default as default };
@@ -14,11 +14,11 @@ var Breadcrumb_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
14
14
  stories: {}
15
15
  },
16
16
  setup(__props) {
17
- useCssVars((_ctx) => ({ "v6ab8d98a": story.value?.iconColor }));
17
+ useCssVars((_ctx) => ({ "v1c581d20": story.value?.iconColor }));
18
18
  const storyStore = useStoryStore();
19
19
  const story = computed(() => storyStore.currentStory);
20
20
  const folders = computed(() => {
21
- return story.value.file.path.slice(0, -1);
21
+ return story.value?.file?.path.slice(0, -1) ?? [];
22
22
  });
23
23
  const isMenuOpened = ref(false);
24
24
  function openMenu() {
@@ -7,7 +7,7 @@ import ToolbarNewTab_default from "../toolbar/ToolbarNewTab.js";
7
7
  import ToolbarResponsiveSize_default from "../toolbar/ToolbarResponsiveSize.js";
8
8
  import ToolbarTextDirection_default from "../toolbar/ToolbarTextDirection.js";
9
9
  import ToolbarTitle_default from "../toolbar/ToolbarTitle.js";
10
- import { createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "@poveste/vendors/vue";
10
+ import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "@poveste/vendors/vue";
11
11
  //#region src/app/components/app/TopBar.vue?vue&type=script&setup=true&lang.ts
12
12
  var _hoisted_1 = { class: "poveste-top-bar flex-none grid grid-cols-[1fr_auto_1fr] items-center h-14 px-4 gap-3" };
13
13
  var _hoisted_2 = { key: 1 };
@@ -19,6 +19,7 @@ var TopBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
19
19
  },
20
20
  setup(__props) {
21
21
  const storyStore = useStoryStore();
22
+ const editableFile = computed(() => storyStore.currentStory?.file?.filePath);
22
23
  return (_ctx, _cache) => {
23
24
  return openBlock(), createElementBlock("div", _hoisted_1, [
24
25
  createVNode(AppActions_default, {
@@ -49,9 +50,9 @@ var TopBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
49
50
  variant: unref(storyStore).currentVariant,
50
51
  story: unref(storyStore).currentStory
51
52
  }, null, 8, ["variant", "story"])) : createCommentVNode("", true),
52
- _ctx.__POVESTE_DEV__ ? (openBlock(), createBlock(DevOnlyToolbarOpenInEditor_default, {
53
+ _ctx.__POVESTE_DEV__ && editableFile.value ? (openBlock(), createBlock(DevOnlyToolbarOpenInEditor_default, {
53
54
  key: 2,
54
- file: unref(storyStore).currentStory.file?.filePath,
55
+ file: editableFile.value,
55
56
  tooltip: "Edit story in editor"
56
57
  }, null, 8, ["file"])) : createCommentVNode("", true)
57
58
  ]),
@@ -29,7 +29,7 @@ var BaseCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
29
29
  const progress = computed(() => props.modelValue ? 1 : 0);
30
30
  const dashoffset = computed(() => (1 - progress.value) * dasharray.value);
31
31
  watch(path, () => {
32
- dasharray.value = path.value.getTotalLength?.() ?? 21.21;
32
+ dasharray.value = path.value?.getTotalLength?.() ?? 21.21;
33
33
  });
34
34
  return (_ctx, _cache) => {
35
35
  return openBlock(), createElementBlock("div", {
@@ -10,16 +10,19 @@ var _hoisted_1 = [
10
10
  ];
11
11
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
12
12
  const _component_RouterLink = resolveComponent("RouterLink");
13
- return openBlock(), createBlock(_component_RouterLink, mergeProps({ class: "poveste-base-list-item-link" }, _ctx.$attrs, { custom: "" }), {
13
+ return openBlock(), createBlock(_component_RouterLink, mergeProps({
14
+ to: _ctx.to,
15
+ class: "poveste-base-list-item-link"
16
+ }, _ctx.$attrs, { custom: "" }), {
14
17
  default: withCtx(({ isActive: linkIsActive, href, navigate }) => [createElementVNode("a", {
15
18
  href,
16
19
  "aria-current": (_ctx.isActive != null ? _ctx.isActive : linkIsActive) ? "page" : void 0,
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"]]),
20
+ 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-700 hover:bg-primary-800 dark:bg-primary-500 dark:hover:bg-primary-600 text-white dark:text-black" : "hover:bg-primary-100 dark:hover:bg-primary-900"]]),
18
21
  onClick: ($event) => _ctx.handleNavigate($event, navigate),
19
22
  onKeyup: [withKeys(($event) => _ctx.handleNavigate($event, navigate), ["enter"]), withKeys(($event) => _ctx.handleNavigate($event, navigate), ["space"])]
20
23
  }, [renderSlot(_ctx.$slots, "default", { active: _ctx.isActive != null ? _ctx.isActive : linkIsActive })], 42, _hoisted_1)]),
21
24
  _: 3
22
- }, 16);
25
+ }, 16, ["to"]);
23
26
  }
24
27
  var BaseListItemLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(BaseListItemLink_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
25
28
  //#endregion
@@ -2,10 +2,16 @@ import { defineComponent } from "@poveste/vendors/vue";
2
2
  //#region src/app/components/base/BaseListItemLink.vue?vue&type=script&lang.ts
3
3
  var BaseListItemLink_vue_vue_type_script_lang_default = defineComponent({
4
4
  inheritAttrs: false,
5
- props: { isActive: {
6
- type: Boolean,
7
- default: void 0
8
- } },
5
+ props: {
6
+ to: {
7
+ type: [String, Object],
8
+ required: true
9
+ },
10
+ isActive: {
11
+ type: Boolean,
12
+ default: void 0
13
+ }
14
+ },
9
15
  emits: { navigate: () => true },
10
16
  setup(props, { emit }) {
11
17
  function handleNavigate(event, navigate) {
@@ -40,12 +40,15 @@ var BaseOverflowMenu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
40
40
  index: props.index
41
41
  });
42
42
  useResizeObserver(el, (entries) => {
43
+ const element = el.value;
44
+ if (!element) return;
43
45
  const width = entries[0].contentRect.width;
44
- if (!children.value.has(el.value)) children.value.set(el.value, state);
46
+ if (!children.value.has(element)) children.value.set(element, state);
45
47
  state.width = width;
46
48
  });
47
49
  onBeforeUnmount(() => {
48
- children.value.delete(el.value);
50
+ const element = el.value;
51
+ if (element) children.value.delete(element);
49
52
  });
50
53
  const visible = computed(() => visibleChildrenCount.value > state.index);
51
54
  return () => h("div", {
@@ -9,17 +9,20 @@ var _hoisted_2 = {
9
9
  };
10
10
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
11
11
  const _component_router_link = resolveComponent("router-link");
12
- return openBlock(), createBlock(_component_router_link, mergeProps({ class: "poveste-base-overflow-tab" }, _ctx.$attrs, { custom: "" }), {
12
+ return openBlock(), createBlock(_component_router_link, mergeProps({
13
+ to: _ctx.to,
14
+ class: "poveste-base-overflow-tab"
15
+ }, _ctx.$attrs, { custom: "" }), {
13
16
  default: withCtx(({ isActive, isExactActive, href, navigate }) => [createElementVNode("a", mergeProps(_ctx.$attrs, {
14
17
  href,
15
- class: ["px-4 h-10 min-w-[150px] inline-flex items-center hover:bg-primary-50 dark:hover:bg-primary-900 relative text-gray-900 dark:text-gray-100", { "text-primary-500 dark:text-primary-400": _ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive }],
18
+ class: ["px-4 h-10 min-w-[150px] inline-flex items-center hover:bg-primary-50 dark:hover:bg-primary-900 relative text-gray-900 dark:text-gray-100", { "text-primary-700 dark:text-primary-400": _ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive }],
16
19
  onClick: navigate
17
20
  }), [renderSlot(_ctx.$slots, "default"), createVNode(Transition, { name: "__poveste-scale-y" }, {
18
21
  default: withCtx(() => [(_ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive) ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("", true)]),
19
22
  _: 2
20
23
  }, 1024)], 16, _hoisted_1)]),
21
24
  _: 3
22
- }, 16);
25
+ }, 16, ["to"]);
23
26
  }
24
27
  var BaseOverflowTab_default = /*#__PURE__*/ _plugin_vue_export_helper_default(BaseOverflowTab_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
25
28
  //#endregion
@@ -3,6 +3,10 @@ import { defineComponent } from "@poveste/vendors/vue";
3
3
  var BaseOverflowTab_vue_vue_type_script_lang_default = defineComponent({
4
4
  inheritAttrs: false,
5
5
  props: {
6
+ to: {
7
+ type: [String, Object],
8
+ required: true
9
+ },
6
10
  exact: {
7
11
  type: Boolean,
8
12
  default: false
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
2
2
  import BaseSplitPane_vue_vue_type_script_setup_true_lang_default from "./BaseSplitPane.vue_vue_type_script_setup_true_lang.js";
3
3
  /* empty css */
4
4
  //#region src/app/components/base/BaseSplitPane.vue
5
- var BaseSplitPane_default = /*#__PURE__*/ _plugin_vue_export_helper_default(BaseSplitPane_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6a9b0727"]]);
5
+ var BaseSplitPane_default = /*#__PURE__*/ _plugin_vue_export_helper_default(BaseSplitPane_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1e09b1b3"]]);
6
6
  //#endregion
7
7
  export { BaseSplitPane_default as default };
@@ -111,12 +111,12 @@ var BaseSplitPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
111
111
  });
112
112
  const rightStyle = computed(() => {
113
113
  if (!hasBothPanes.value) return { [axis.value]: "100%" };
114
- return { [axis.value]: props.fixed ? null : `${100 - boundSplit.value}%` };
114
+ return { [axis.value]: props.fixed ? void 0 : `${100 - boundSplit.value}%` };
115
115
  });
116
116
  const dragging = ref(false);
117
117
  let startPosition = 0;
118
118
  let startSplit = 0;
119
- const el = ref(null);
119
+ const el = ref();
120
120
  function dragStart(e) {
121
121
  dragging.value = true;
122
122
  startPosition = props.orientation === "landscape" ? e.pageX : e.pageY;
@@ -126,14 +126,16 @@ var BaseSplitPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
126
126
  }
127
127
  function dragMove(e) {
128
128
  if (dragging.value) {
129
+ const pane = el.value;
130
+ if (!pane) return;
129
131
  let position;
130
132
  let totalSize;
131
133
  if (props.orientation === "landscape") {
132
134
  position = e.pageX;
133
- totalSize = el.value.offsetWidth;
135
+ totalSize = pane.offsetWidth;
134
136
  } else {
135
137
  position = e.pageY;
136
- totalSize = el.value.offsetHeight;
138
+ totalSize = pane.offsetHeight;
137
139
  }
138
140
  const dPosition = position - startPosition;
139
141
  if (props.fixed) currentSplit.value = startSplit + dPosition;
@@ -9,17 +9,20 @@ var _hoisted_2 = {
9
9
  };
10
10
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
11
11
  const _component_router_link = resolveComponent("router-link");
12
- return openBlock(), createBlock(_component_router_link, mergeProps({ class: "poveste-base-tab" }, _ctx.$attrs, { custom: "" }), {
12
+ return openBlock(), createBlock(_component_router_link, mergeProps({
13
+ to: _ctx.to,
14
+ class: "poveste-base-tab"
15
+ }, _ctx.$attrs, { custom: "" }), {
13
16
  default: withCtx(({ isActive, isExactActive, href, navigate }) => [createElementVNode("a", mergeProps(_ctx.$attrs, {
14
17
  href,
15
- class: ["px-4 h-full inline-flex items-center hover:bg-primary-50 dark:hover:bg-primary-900 relative text-gray-900 dark:text-gray-100", { "text-primary-500 dark:text-primary-400": _ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive }],
18
+ class: ["px-4 h-full inline-flex items-center hover:bg-primary-50 dark:hover:bg-primary-900 relative text-gray-900 dark:text-gray-100", { "text-primary-700 dark:text-primary-400": _ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive }],
16
19
  onClick: navigate
17
20
  }), [renderSlot(_ctx.$slots, "default"), createVNode(Transition, { name: "__poveste-scale-x" }, {
18
21
  default: withCtx(() => [(_ctx.matched != null ? _ctx.matched : _ctx.exact && isExactActive || !_ctx.exact && isActive) ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("", true)]),
19
22
  _: 2
20
23
  }, 1024)], 16, _hoisted_1)]),
21
24
  _: 3
22
- }, 16);
25
+ }, 16, ["to"]);
23
26
  }
24
27
  var BaseTab_default = /*#__PURE__*/ _plugin_vue_export_helper_default(BaseTab_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
25
28
  //#endregion
@@ -3,6 +3,10 @@ import { defineComponent } from "@poveste/vendors/vue";
3
3
  var BaseTab_vue_vue_type_script_lang_default = defineComponent({
4
4
  inheritAttrs: false,
5
5
  props: {
6
+ to: {
7
+ type: [String, Object],
8
+ required: true
9
+ },
6
10
  exact: {
7
11
  type: Boolean,
8
12
  default: false
@@ -19,7 +19,7 @@ var CommandPrompts_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
19
19
  select: PromptSelect_default
20
20
  };
21
21
  const answers = reactive({});
22
- for (const prompt of props.command.prompts) {
22
+ for (const prompt of props.command.prompts ?? []) {
23
23
  let defaultValue;
24
24
  if (typeof prompt.defaultValue === "function") defaultValue = prompt.defaultValue(answers);
25
25
  else defaultValue = prompt.defaultValue;
@@ -1,5 +1,5 @@
1
1
  import { useCommandStore } from "../../stores/command.js";
2
- import { createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, openBlock, unref } from "@poveste/vendors/vue";
2
+ import { createBlock, createCommentVNode, createElementBlock, createElementVNode, defineAsyncComponent, defineComponent, openBlock, unref } from "@poveste/vendors/vue";
3
3
  //#region src/app/components/command/CommandPromptsModal.vue?vue&type=script&setup=true&lang.ts
4
4
  var _hoisted_1 = {
5
5
  key: 0,
@@ -24,10 +24,11 @@ var CommandPromptsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
24
24
  return __props.shown ? (openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", {
25
25
  class: "absolute inset-0",
26
26
  onClick: _cache[0] || (_cache[0] = ($event) => close())
27
- }), createElementVNode("div", _hoisted_2, [createVNode(unref(CommandPrompts), {
27
+ }), createElementVNode("div", _hoisted_2, [unref(commandStore).selectedCommand ? (openBlock(), createBlock(unref(CommandPrompts), {
28
+ key: 0,
28
29
  command: unref(commandStore).selectedCommand,
29
30
  onClose: _cache[1] || (_cache[1] = ($event) => close())
30
- }, null, 8, ["command"])])])) : createCommentVNode("", true);
31
+ }, null, 8, ["command"])) : createCommentVNode("", true)])])) : createCommentVNode("", true);
31
32
  };
32
33
  }
33
34
  });
@@ -27,7 +27,7 @@ var PromptSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
27
27
  const props = __props;
28
28
  const emit = __emit;
29
29
  const model = computed({
30
- get: () => props.modelValue,
30
+ get: () => props.modelValue ?? "",
31
31
  set: (value) => {
32
32
  emit("update:modelValue", value);
33
33
  emit("next");
@@ -20,7 +20,7 @@ var PromptText_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
20
20
  const props = __props;
21
21
  const emit = __emit;
22
22
  const model = computed({
23
- get: () => props.modelValue,
23
+ get: () => props.modelValue ?? "",
24
24
  set: (value) => emit("update:modelValue", value)
25
25
  });
26
26
  const input = ref();
@@ -43,7 +43,7 @@ var PaneTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
43
43
  }
44
44
  },
45
45
  matched: _ctx.$route.query.tab === "docs",
46
- class: normalizeClass({ "opacity-50": !unref(renderedDoc) })
46
+ class: normalizeClass({ "opacity-70": !unref(renderedDoc) })
47
47
  }, {
48
48
  default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode(" Docs ", -1)])]),
49
49
  _: 1
@@ -61,7 +61,7 @@ var PaneTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
61
61
  }
62
62
  },
63
63
  matched: _ctx.$route.query.tab === "events",
64
- class: normalizeClass({ "opacity-50": !hasEvents.value })
64
+ class: normalizeClass({ "opacity-70": !hasEvents.value })
65
65
  }, {
66
66
  default: withCtx(() => [_cache[5] || (_cache[5] = createTextVNode(" Events ", -1)), unref(eventsStore).unseen ? (openBlock(), createBlock(BaseTag_default, { key: 0 }, {
67
67
  default: withCtx(() => [createTextVNode(toDisplayString(unref(eventsStore).unseen <= 99 ? unref(eventsStore).unseen : "99+"), 1)]),
@@ -97,7 +97,7 @@ var PaneTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
97
97
  }
98
98
  },
99
99
  matched: _ctx.$route.query.tab === "docs",
100
- class: normalizeClass({ "opacity-50": !unref(renderedDoc) })
100
+ class: normalizeClass({ "opacity-70": !unref(renderedDoc) })
101
101
  }, {
102
102
  default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode(" Docs ", -1)])]),
103
103
  _: 1
@@ -115,7 +115,7 @@ var PaneTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
115
115
  }
116
116
  },
117
117
  matched: _ctx.$route.query.tab === "events",
118
- class: normalizeClass({ "opacity-50": !hasEvents.value })
118
+ class: normalizeClass({ "opacity-70": !hasEvents.value })
119
119
  }, {
120
120
  default: withCtx(() => [_cache[2] || (_cache[2] = createTextVNode(" Events ", -1)), unref(eventsStore).unseen ? (openBlock(), createBlock(BaseTag_default, { key: 0 }, {
121
121
  default: withCtx(() => [createTextVNode(toDisplayString(unref(eventsStore).unseen <= 99 ? unref(eventsStore).unseen : "99+"), 1)]),