@poveste/app 0.1.1 → 0.1.3

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 (184) hide show
  1. package/dist/app/assets/poveste-text-dark.svg +15 -0
  2. package/dist/app/assets/poveste-text.svg +15 -0
  3. package/dist/app/assets/poveste.svg +14 -0
  4. package/dist/app/style/floating.pcss +34 -0
  5. package/dist/app/style/main.pcss +100 -0
  6. package/dist/app/style/sandbox.css +24 -0
  7. package/dist/app/style/transitions.pcss +51 -0
  8. package/dist/bundle-index.js +1 -0
  9. package/dist/bundle-main-dev.js +4 -0
  10. package/dist/bundle-main.js +5 -0
  11. package/dist/bundle-sandbox-dev.js +2 -0
  12. package/dist/bundle-sandbox.js +2 -0
  13. package/dist/bundled/App.vue.js +5 -0
  14. package/dist/bundled/App.vue2.js +167 -0
  15. package/dist/bundled/_virtual/_plugin-vue_export-helper.js +10 -0
  16. package/dist/bundled/api.js +12 -0
  17. package/dist/bundled/app.css +116 -0
  18. package/dist/bundled/assets/poveste-text-dark.svg.js +4 -0
  19. package/dist/bundled/assets/poveste-text.svg.js +4 -0
  20. package/dist/bundled/assets/poveste.svg.js +4 -0
  21. package/dist/bundled/components/HomeView.vue.js +5 -0
  22. package/dist/bundled/components/HomeView.vue2.js +66 -0
  23. package/dist/bundled/components/app/AppHeader.vue.js +5 -0
  24. package/dist/bundled/components/app/AppHeader.vue2.js +71 -0
  25. package/dist/bundled/components/app/AppLogo.vue.js +5 -0
  26. package/dist/bundled/components/app/AppLogo.vue2.js +29 -0
  27. package/dist/bundled/components/app/Breadcrumb.vue.js +8 -0
  28. package/dist/bundled/components/app/Breadcrumb.vue2.js +91 -0
  29. package/dist/bundled/components/app/HomeCounter.vue.js +5 -0
  30. package/dist/bundled/components/app/HomeCounter.vue2.js +42 -0
  31. package/dist/bundled/components/app/InitialLoading.vue.js +5 -0
  32. package/dist/bundled/components/app/InitialLoading.vue2.js +51 -0
  33. package/dist/bundled/components/app/MobileOverlay.vue.js +5 -0
  34. package/dist/bundled/components/app/MobileOverlay.vue2.js +45 -0
  35. package/dist/bundled/components/base/BaseButton.vue.js +5 -0
  36. package/dist/bundled/components/base/BaseButton.vue2.js +39 -0
  37. package/dist/bundled/components/base/BaseCheckbox.vue.js +5 -0
  38. package/dist/bundled/components/base/BaseCheckbox.vue2.js +78 -0
  39. package/dist/bundled/components/base/BaseEmpty.vue.js +14 -0
  40. package/dist/bundled/components/base/BaseIcon.vue.js +8 -0
  41. package/dist/bundled/components/base/BaseIcon.vue2.js +29 -0
  42. package/dist/bundled/components/base/BaseKeyboardShortcut.vue.js +5 -0
  43. package/dist/bundled/components/base/BaseKeyboardShortcut.vue2.js +20 -0
  44. package/dist/bundled/components/base/BaseListItem.vue.js +5 -0
  45. package/dist/bundled/components/base/BaseListItem.vue2.js +33 -0
  46. package/dist/bundled/components/base/BaseListItemLink.vue.js +33 -0
  47. package/dist/bundled/components/base/BaseListItemLink.vue2.js +26 -0
  48. package/dist/bundled/components/base/BaseOverflowMenu.vue.js +5 -0
  49. package/dist/bundled/components/base/BaseOverflowMenu.vue2.js +100 -0
  50. package/dist/bundled/components/base/BaseOverflowTab.vue.js +36 -0
  51. package/dist/bundled/components/base/BaseOverflowTab.vue2.js +18 -0
  52. package/dist/bundled/components/base/BaseSelect.vue.js +5 -0
  53. package/dist/bundled/components/base/BaseSelect.vue2.js +77 -0
  54. package/dist/bundled/components/base/BaseSplitPane.vue.js +8 -0
  55. package/dist/bundled/components/base/BaseSplitPane.vue2.js +183 -0
  56. package/dist/bundled/components/base/BaseTab.vue.js +36 -0
  57. package/dist/bundled/components/base/BaseTab.vue2.js +18 -0
  58. package/dist/bundled/components/base/BaseTag.vue.js +13 -0
  59. package/dist/bundled/components/command/CommandPrompts.vue.js +5 -0
  60. package/dist/bundled/components/command/CommandPrompts.vue2.js +91 -0
  61. package/dist/bundled/components/command/CommandPromptsModal.vue.js +5 -0
  62. package/dist/bundled/components/command/CommandPromptsModal.vue2.js +45 -0
  63. package/dist/bundled/components/command/PromptSelect.vue.js +5 -0
  64. package/dist/bundled/components/command/PromptSelect.vue2.js +142 -0
  65. package/dist/bundled/components/command/PromptText.vue.js +5 -0
  66. package/dist/bundled/components/command/PromptText.vue2.js +67 -0
  67. package/dist/bundled/components/misc/CheckerboardPattern.vue.js +40 -0
  68. package/dist/bundled/components/misc/HatchedPattern.vue.js +12 -0
  69. package/dist/bundled/components/panel/ControlsComponentPropItem.vue.js +5 -0
  70. package/dist/bundled/components/panel/ControlsComponentPropItem.vue2.js +72 -0
  71. package/dist/bundled/components/panel/ControlsComponentProps.vue.js +5 -0
  72. package/dist/bundled/components/panel/ControlsComponentProps.vue2.js +45 -0
  73. package/dist/bundled/components/panel/ControlsComponentState.vue.js +5 -0
  74. package/dist/bundled/components/panel/ControlsComponentState.vue2.js +41 -0
  75. package/dist/bundled/components/panel/ControlsComponentStateItem.vue.js +5 -0
  76. package/dist/bundled/components/panel/ControlsComponentStateItem.vue2.js +46 -0
  77. package/dist/bundled/components/panel/PaneTabs.vue.js +5 -0
  78. package/dist/bundled/components/panel/PaneTabs.vue2.js +114 -0
  79. package/dist/bundled/components/panel/StatePresets.vue.js +5 -0
  80. package/dist/bundled/components/panel/StatePresets.vue2.js +193 -0
  81. package/dist/bundled/components/panel/StoryControls.vue.js +5 -0
  82. package/dist/bundled/components/panel/StoryControls.vue2.js +87 -0
  83. package/dist/bundled/components/panel/StoryDocs.vue.js +7 -0
  84. package/dist/bundled/components/panel/StoryDocs.vue2.js +161 -0
  85. package/dist/bundled/components/panel/StoryEvent.vue.js +5 -0
  86. package/dist/bundled/components/panel/StoryEvent.vue2.js +59 -0
  87. package/dist/bundled/components/panel/StoryEvents.vue.js +5 -0
  88. package/dist/bundled/components/panel/StoryEvents.vue2.js +53 -0
  89. package/dist/bundled/components/panel/StorySidePanel.vue.js +5 -0
  90. package/dist/bundled/components/panel/StorySidePanel.vue2.js +83 -0
  91. package/dist/bundled/components/panel/StorySourceCode.vue.js +8 -0
  92. package/dist/bundled/components/panel/StorySourceCode.vue2.js +204 -0
  93. package/dist/bundled/components/search/SearchItem.vue.js +8 -0
  94. package/dist/bundled/components/search/SearchItem.vue2.js +93 -0
  95. package/dist/bundled/components/search/SearchItemContent.vue.js +5 -0
  96. package/dist/bundled/components/search/SearchItemContent.vue2.js +71 -0
  97. package/dist/bundled/components/search/SearchLoading.vue.js +5 -0
  98. package/dist/bundled/components/search/SearchLoading.vue2.js +21 -0
  99. package/dist/bundled/components/search/SearchModal.vue.js +5 -0
  100. package/dist/bundled/components/search/SearchModal.vue2.js +51 -0
  101. package/dist/bundled/components/search/SearchPane.vue.js +5 -0
  102. package/dist/bundled/components/search/SearchPane.vue2.js +272 -0
  103. package/dist/bundled/components/search/search-docs-data.js +11 -0
  104. package/dist/bundled/components/search/search-title-data.js +11 -0
  105. package/dist/bundled/components/story/GenericMountStory.vue.js +5 -0
  106. package/dist/bundled/components/story/GenericMountStory.vue2.js +34 -0
  107. package/dist/bundled/components/story/GenericRenderStory.vue.js +5 -0
  108. package/dist/bundled/components/story/GenericRenderStory.vue2.js +39 -0
  109. package/dist/bundled/components/story/StoryResponsivePreview.vue.js +8 -0
  110. package/dist/bundled/components/story/StoryResponsivePreview.vue2.js +207 -0
  111. package/dist/bundled/components/story/StoryVariantGrid.vue.js +5 -0
  112. package/dist/bundled/components/story/StoryVariantGrid.vue2.js +146 -0
  113. package/dist/bundled/components/story/StoryVariantGridItem.vue.js +8 -0
  114. package/dist/bundled/components/story/StoryVariantGridItem.vue2.js +155 -0
  115. package/dist/bundled/components/story/StoryVariantListItem.vue.js +8 -0
  116. package/dist/bundled/components/story/StoryVariantListItem.vue2.js +55 -0
  117. package/dist/bundled/components/story/StoryVariantSingle.vue.js +8 -0
  118. package/dist/bundled/components/story/StoryVariantSingle.vue2.js +107 -0
  119. package/dist/bundled/components/story/StoryVariantSinglePreviewNative.vue.js +5 -0
  120. package/dist/bundled/components/story/StoryVariantSinglePreviewNative.vue2.js +72 -0
  121. package/dist/bundled/components/story/StoryVariantSinglePreviewRemote.vue.js +5 -0
  122. package/dist/bundled/components/story/StoryVariantSinglePreviewRemote.vue2.js +128 -0
  123. package/dist/bundled/components/story/StoryVariantSingleView.vue.js +5 -0
  124. package/dist/bundled/components/story/StoryVariantSingleView.vue2.js +66 -0
  125. package/dist/bundled/components/story/StoryView.vue.js +5 -0
  126. package/dist/bundled/components/story/StoryView.vue2.js +104 -0
  127. package/dist/bundled/components/story/StoryViewer.vue.js +8 -0
  128. package/dist/bundled/components/story/StoryViewer.vue2.js +55 -0
  129. package/dist/bundled/components/toolbar/DevOnlyToolbarOpenInEditor.vue.js +5 -0
  130. package/dist/bundled/components/toolbar/DevOnlyToolbarOpenInEditor.vue2.js +31 -0
  131. package/dist/bundled/components/toolbar/ToolbarBackground.vue.js +8 -0
  132. package/dist/bundled/components/toolbar/ToolbarBackground.vue2.js +98 -0
  133. package/dist/bundled/components/toolbar/ToolbarNewTab.vue.js +5 -0
  134. package/dist/bundled/components/toolbar/ToolbarNewTab.vue2.js +36 -0
  135. package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue.js +5 -0
  136. package/dist/bundled/components/toolbar/ToolbarResponsiveSize.vue2.js +127 -0
  137. package/dist/bundled/components/toolbar/ToolbarTextDirection.vue.js +5 -0
  138. package/dist/bundled/components/toolbar/ToolbarTextDirection.vue2.js +27 -0
  139. package/dist/bundled/components/toolbar/ToolbarTitle.vue.js +5 -0
  140. package/dist/bundled/components/toolbar/ToolbarTitle.vue2.js +26 -0
  141. package/dist/bundled/components/tree/StoryGroup.vue.js +5 -0
  142. package/dist/bundled/components/tree/StoryGroup.vue2.js +74 -0
  143. package/dist/bundled/components/tree/StoryList.vue.js +5 -0
  144. package/dist/bundled/components/tree/StoryList.vue2.js +41 -0
  145. package/dist/bundled/components/tree/StoryListFolder.vue.js +8 -0
  146. package/dist/bundled/components/tree/StoryListFolder.vue2.js +86 -0
  147. package/dist/bundled/components/tree/StoryListItem.vue.js +8 -0
  148. package/dist/bundled/components/tree/StoryListItem.vue2.js +69 -0
  149. package/dist/bundled/index.js +35 -0
  150. package/dist/bundled/plugin.js +49 -0
  151. package/dist/bundled/router.js +32 -0
  152. package/dist/bundled/sandbox.js +87 -0
  153. package/dist/bundled/stores/command.js +25 -0
  154. package/dist/bundled/stores/events.js +29 -0
  155. package/dist/bundled/stores/folder.js +54 -0
  156. package/dist/bundled/stores/preview-settings.js +19 -0
  157. package/dist/bundled/stores/story.js +43 -0
  158. package/dist/bundled/util/commands.js +57 -0
  159. package/dist/bundled/util/config.js +8 -0
  160. package/dist/bundled/util/const.js +10 -0
  161. package/dist/bundled/util/dark.js +28 -0
  162. package/dist/bundled/util/docs.js +26 -0
  163. package/dist/bundled/util/env.js +4 -0
  164. package/dist/bundled/util/events.js +33 -0
  165. package/dist/bundled/util/keyboard.js +90 -0
  166. package/dist/bundled/util/mapping.js +70 -0
  167. package/dist/bundled/util/open-in-editor.js +6 -0
  168. package/dist/bundled/util/preview-settings.js +22 -0
  169. package/dist/bundled/util/responsive.js +6 -0
  170. package/dist/bundled/util/sandbox.js +11 -0
  171. package/dist/bundled/util/scroll.js +31 -0
  172. package/dist/bundled/util/select.js +28 -0
  173. package/dist/bundled/util/state.js +41 -0
  174. package/dist/bundled/util/tooltip.js +15 -0
  175. package/dist/bundled/util/variant.js +21 -0
  176. package/dist/style.css +2853 -0
  177. package/package.json +8 -4
  178. package/postcss-scope-wrapper.cjs +0 -35
  179. package/postcss.config.cjs +0 -9
  180. package/scripts/copy.mjs +0 -12
  181. package/scripts/watchAndCopy.mjs +0 -15
  182. package/tailwind.config.cjs +0 -137
  183. package/tsconfig.json +0 -53
  184. package/vite.config.ts +0 -88
@@ -0,0 +1,127 @@
1
+ import { defineComponent, resolveComponent, resolveDirective, createBlock, openBlock, unref, withCtx, withDirectives, createElementBlock, normalizeClass, createVNode, createElementVNode, createTextVNode, vModelText, Fragment, renderList, toDisplayString, createCommentVNode } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ import { usePreviewSettingsStore } from "../../stores/preview-settings.js";
4
+ import { povesteConfig } from "../../util/config.js";
5
+ import "../base/BaseCheckbox.vue.js";
6
+ import _sfc_main$1 from "../base/BaseCheckbox.vue2.js";
7
+ "use strict";
8
+ const _hoisted_1 = { class: "htw-flex htw-flex-col htw-items-stretch" };
9
+ const _hoisted_2 = { class: "htw-flex htw-items-center htw-gap-2 htw-px-4 htw-py-3" };
10
+ const _hoisted_3 = ["onClick"];
11
+ const _hoisted_4 = { class: "htw-ml-auto htw-opacity-70 htw-flex htw-gap-1" };
12
+ const _hoisted_5 = { key: 0 };
13
+ const _hoisted_6 = { key: 0 };
14
+ const _hoisted_7 = { key: 1 };
15
+ const _hoisted_8 = { key: 2 };
16
+ const _hoisted_9 = { key: 0 };
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ __name: "ToolbarResponsiveSize",
19
+ setup(__props) {
20
+ const settings = usePreviewSettingsStore().currentSettings;
21
+ return (_ctx, _cache) => {
22
+ const _component_VDropdown = resolveComponent("VDropdown");
23
+ const _directive_tooltip = resolveDirective("tooltip");
24
+ return openBlock(), createBlock(_component_VDropdown, {
25
+ placement: "bottom-end",
26
+ skidding: 6,
27
+ disabled: !unref(povesteConfig).responsivePresets?.length,
28
+ class: "poveste-toolbar-responsive-size htw-h-full htw-flex-none"
29
+ }, {
30
+ popper: withCtx(({ hide }) => [
31
+ createElementVNode("div", _hoisted_1, [
32
+ createVNode(_sfc_main$1, {
33
+ modelValue: unref(settings).rotate,
34
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(settings).rotate = $event)
35
+ }, {
36
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
37
+ createTextVNode(" Rotate ", -1)
38
+ ])]),
39
+ _: 1
40
+ }, 8, ["modelValue"]),
41
+ createElementVNode("div", _hoisted_2, [
42
+ withDirectives(createElementVNode("input", {
43
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(settings).responsiveWidth = $event),
44
+ type: "number",
45
+ class: "htw-bg-transparent htw-border htw-border-gray-200 dark:htw-border-gray-850 htw-rounded htw-w-20 htw-opacity-50 focus:htw-opacity-100 htw-flex-1 htw-min-w-0",
46
+ step: "16",
47
+ placeholder: "Auto"
48
+ }, null, 512), [
49
+ [
50
+ vModelText,
51
+ unref(settings).responsiveWidth,
52
+ void 0,
53
+ { number: true }
54
+ ],
55
+ [_directive_tooltip, "Responsive width (px)"]
56
+ ]),
57
+ _cache[4] || (_cache[4] = createElementVNode("span", { class: "htw-opacity-50" }, "×", -1)),
58
+ withDirectives(createElementVNode("input", {
59
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(settings).responsiveHeight = $event),
60
+ type: "number",
61
+ class: "htw-bg-transparent htw-border htw-border-gray-200 dark:htw-border-gray-850 htw-rounded htw-w-20 htw-opacity-50 focus:htw-opacity-100 htw-flex-1 htw-min-w-0",
62
+ step: "16",
63
+ placeholder: "Auto"
64
+ }, null, 512), [
65
+ [
66
+ vModelText,
67
+ unref(settings).responsiveHeight,
68
+ void 0,
69
+ { number: true }
70
+ ],
71
+ [_directive_tooltip, "Responsive height (px)"]
72
+ ])
73
+ ]),
74
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(povesteConfig).responsivePresets, (preset, index) => {
75
+ return openBlock(), createElementBlock("button", {
76
+ key: index,
77
+ class: normalizeClass(["htw-px-4 htw-py-3 htw-cursor-pointer htw-text-left htw-flex htw-gap-4", [
78
+ unref(settings).responsiveWidth === preset.width && unref(settings).responsiveHeight === preset.height ? "htw-bg-primary-500 hover:htw-bg-primary-600 htw-text-white dark:htw-text-black" : "htw-bg-transparent hover:htw-bg-primary-100 dark:hover:htw-bg-primary-700"
79
+ ]]),
80
+ onClick: ($event) => {
81
+ unref(settings).responsiveWidth = preset.width;
82
+ unref(settings).responsiveHeight = preset.height;
83
+ hide();
84
+ }
85
+ }, [
86
+ createTextVNode(toDisplayString(preset.label) + " ", 1),
87
+ createElementVNode("span", _hoisted_4, [
88
+ preset.width ? (openBlock(), createElementBlock("span", _hoisted_5, [
89
+ createTextVNode(toDisplayString(preset.width), 1),
90
+ !preset.height ? (openBlock(), createElementBlock("span", _hoisted_6, "px")) : createCommentVNode("", true)
91
+ ])) : createCommentVNode("", true),
92
+ preset.width && preset.height ? (openBlock(), createElementBlock("span", _hoisted_7, "x")) : createCommentVNode("", true),
93
+ preset.height ? (openBlock(), createElementBlock("span", _hoisted_8, [
94
+ createTextVNode(toDisplayString(preset.height), 1),
95
+ !preset.width ? (openBlock(), createElementBlock("span", _hoisted_9, "px")) : createCommentVNode("", true)
96
+ ])) : createCommentVNode("", true)
97
+ ])
98
+ ], 10, _hoisted_3);
99
+ }), 128))
100
+ ])
101
+ ]),
102
+ default: withCtx(() => [
103
+ withDirectives((openBlock(), createElementBlock("div", {
104
+ class: normalizeClass(["htw-flex htw-items-center htw-gap-1 htw-h-full htw-px-2 htw-group", {
105
+ "htw-cursor-pointer hover:htw-text-primary-500": unref(povesteConfig).responsivePresets?.length
106
+ }])
107
+ }, [
108
+ createVNode(unref(Icon), {
109
+ icon: "carbon:devices",
110
+ class: "htw-w-4 htw-h-4 htw-opacity-50 group-hover:htw-opacity-100"
111
+ }),
112
+ createVNode(unref(Icon), {
113
+ icon: "carbon:caret-down",
114
+ class: "htw-w-4 htw-h-4 htw-opacity-50 group-hover:htw-opacity-100"
115
+ })
116
+ ], 2)), [
117
+ [_directive_tooltip, "Responsive sizes"]
118
+ ])
119
+ ]),
120
+ _: 1
121
+ }, 8, ["disabled"]);
122
+ };
123
+ }
124
+ });
125
+ export {
126
+ _sfc_main as default
127
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./ToolbarTextDirection.vue2.js";
2
+ "use strict";
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,27 @@
1
+ import { defineComponent, resolveDirective, withDirectives, createElementBlock, openBlock, unref, createVNode } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ import { usePreviewSettingsStore } from "../../stores/preview-settings.js";
4
+ "use strict";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "ToolbarTextDirection",
7
+ setup(__props) {
8
+ const settings = usePreviewSettingsStore().currentSettings;
9
+ return (_ctx, _cache) => {
10
+ const _directive_tooltip = resolveDirective("tooltip");
11
+ return withDirectives((openBlock(), createElementBlock("a", {
12
+ class: "poveste-toolbar-text-direction htw-flex htw-items-center htw-gap-1 htw-h-full htw-px-2 hover:htw-text-primary-500 htw-opacity-50 hover:htw-opacity-100 dark:hover:htw-text-primary-400 htw-text-gray-900 dark:htw-text-gray-100",
13
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(settings).textDirection = unref(settings).textDirection === "ltr" ? "rtl" : "ltr")
14
+ }, [
15
+ createVNode(unref(Icon), {
16
+ icon: unref(settings).textDirection === "ltr" ? "fluent:text-paragraph-direction-right-16-regular" : "fluent:text-paragraph-direction-left-16-regular",
17
+ class: "htw-w-4 htw-h-4"
18
+ }, null, 8, ["icon"])
19
+ ])), [
20
+ [_directive_tooltip, `Switch to text direction ${unref(settings).textDirection === "ltr" ? "Right to Left" : "Left to Right"}`]
21
+ ]);
22
+ };
23
+ }
24
+ });
25
+ export {
26
+ _sfc_main as default
27
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./ToolbarTitle.vue2.js";
2
+ "use strict";
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,26 @@
1
+ import { defineComponent, createElementBlock, openBlock, createVNode, createElementVNode, unref, normalizeClass, toDisplayString } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ "use strict";
4
+ const _hoisted_1 = { class: "poveste-toolbar-title htw-flex htw-items-center htw-gap-1 htw-text-gray-500 htw-flex-1 htw-truncate htw-min-w-0" };
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "ToolbarTitle",
7
+ props: {
8
+ variant: {}
9
+ },
10
+ setup(__props) {
11
+ return (_ctx, _cache) => {
12
+ return openBlock(), createElementBlock("div", _hoisted_1, [
13
+ createVNode(unref(Icon), {
14
+ icon: __props.variant.icon ?? "carbon:cube",
15
+ class: normalizeClass(["htw-w-4 htw-h-4 htw-opacity-50", [
16
+ __props.variant.iconColor ? "bind-icon-color" : "htw-text-gray-500"
17
+ ]])
18
+ }, null, 8, ["icon", "class"]),
19
+ createElementVNode("span", null, toDisplayString(__props.variant.title), 1)
20
+ ]);
21
+ };
22
+ }
23
+ });
24
+ export {
25
+ _sfc_main as default
26
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./StoryGroup.vue2.js";
2
+ "use strict";
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,74 @@
1
+ import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, Fragment, createElementVNode, withKeys, createVNode, unref, toDisplayString, renderList, createBlock } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ import { useFolderStore } from "../../stores/folder.js";
4
+ import StoryListFolder from "./StoryListFolder.vue.js";
5
+ import StoryListItem from "./StoryListItem.vue.js";
6
+ "use strict";
7
+ const _hoisted_1 = {
8
+ "data-test-id": "story-group",
9
+ class: "poveste-story-group htw-my-2 first:htw-mt-0 last:htw-mb-0 htw-group"
10
+ };
11
+ const _hoisted_2 = { class: "htw-truncate" };
12
+ const _hoisted_3 = { key: 1 };
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ __name: "StoryGroup",
15
+ props: {
16
+ path: { default: () => [] },
17
+ group: {},
18
+ stories: {}
19
+ },
20
+ setup(__props) {
21
+ const props = __props;
22
+ const folderStore = useFolderStore();
23
+ const folderPath = computed(() => [...props.path, props.group.title]);
24
+ const isFolderOpen = computed(() => folderStore.isFolderOpened(folderPath.value, true));
25
+ function toggleOpen() {
26
+ folderStore.toggleFolder(folderPath.value, false);
27
+ }
28
+ return (_ctx, _cache) => {
29
+ return openBlock(), createElementBlock("div", _hoisted_1, [
30
+ __props.group.title ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
31
+ _cache[0] || (_cache[0] = createElementVNode("div", { class: "htw-h-[1px] htw-bg-gray-500/10 htw-mx-6 htw-mb-2 group-first:htw-hidden" }, null, -1)),
32
+ createElementVNode("div", {
33
+ role: "button",
34
+ tabindex: "0",
35
+ class: "htw-px-0.5 htw-py-2 md:htw-py-1.5 htw-mx-1 htw-rounded-sm hover:htw-bg-primary-100 dark:hover:htw-bg-primary-900 htw-cursor-pointer htw-select-none htw-flex htw-items-center htw-gap-2 htw-min-w-0 htw-opacity-50 hover:htw-opacity-100",
36
+ onClick: toggleOpen,
37
+ onKeyup: [
38
+ withKeys(toggleOpen, ["enter"]),
39
+ withKeys(toggleOpen, ["space"])
40
+ ]
41
+ }, [
42
+ createVNode(unref(Icon), {
43
+ icon: isFolderOpen.value ? "ri:subtract-line" : "ri:add-line",
44
+ class: "htw-w-4 htw-h-4 htw-ml-4 htw-rounded-sm htw-border htw-border-gray-500/40"
45
+ }, null, 8, ["icon"]),
46
+ createElementVNode("span", _hoisted_2, toDisplayString(__props.group.title), 1)
47
+ ], 32)
48
+ ], 64)) : createCommentVNode("", true),
49
+ isFolderOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
50
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.group.children, (element) => {
51
+ return openBlock(), createElementBlock(Fragment, {
52
+ key: element.title
53
+ }, [
54
+ element.children ? (openBlock(), createBlock(StoryListFolder, {
55
+ key: 0,
56
+ path: folderPath.value,
57
+ folder: element,
58
+ stories: __props.stories,
59
+ depth: 0
60
+ }, null, 8, ["path", "folder", "stories"])) : (openBlock(), createBlock(StoryListItem, {
61
+ key: 1,
62
+ story: __props.stories[element.index],
63
+ depth: 0
64
+ }, null, 8, ["story"]))
65
+ ], 64);
66
+ }), 128))
67
+ ])) : createCommentVNode("", true)
68
+ ]);
69
+ };
70
+ }
71
+ });
72
+ export {
73
+ _sfc_main as default
74
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./StoryList.vue2.js";
2
+ "use strict";
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,41 @@
1
+ import { defineComponent, createElementBlock, openBlock, Fragment, renderList, createBlock } from "@poveste/vendors/vue";
2
+ import "./StoryGroup.vue.js";
3
+ import StoryListFolder from "./StoryListFolder.vue.js";
4
+ import StoryListItem from "./StoryListItem.vue.js";
5
+ import _sfc_main$1 from "./StoryGroup.vue2.js";
6
+ "use strict";
7
+ const _hoisted_1 = { class: "poveste-story-list htw-overflow-y-auto" };
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "StoryList",
10
+ props: {
11
+ tree: {},
12
+ stories: {}
13
+ },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("div", _hoisted_1, [
17
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.tree, (element) => {
18
+ return openBlock(), createElementBlock(Fragment, {
19
+ key: element.title
20
+ }, [
21
+ element.group ? (openBlock(), createBlock(_sfc_main$1, {
22
+ key: 0,
23
+ group: element,
24
+ stories: __props.stories
25
+ }, null, 8, ["group", "stories"])) : element.children ? (openBlock(), createBlock(StoryListFolder, {
26
+ key: 1,
27
+ folder: element,
28
+ stories: __props.stories
29
+ }, null, 8, ["folder", "stories"])) : (openBlock(), createBlock(StoryListItem, {
30
+ key: 2,
31
+ story: __props.stories[element.index]
32
+ }, null, 8, ["story"]))
33
+ ], 64);
34
+ }), 128))
35
+ ]);
36
+ };
37
+ }
38
+ });
39
+ export {
40
+ _sfc_main as default
41
+ };
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./StoryListFolder.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ "use strict";
5
+ const StoryListFolder = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-18510a3c"]]);
6
+ export {
7
+ StoryListFolder as default
8
+ };
@@ -0,0 +1,86 @@
1
+ import { defineComponent, useCssVars, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, withKeys, createVNode, unref, normalizeClass, toDisplayString, Fragment, renderList, createBlock } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ import { useFolderStore } from "../../stores/folder.js";
4
+ import StoryListItem from "./StoryListItem.vue.js";
5
+ "use strict";
6
+ const _hoisted_1 = {
7
+ "data-test-id": "story-list-folder",
8
+ class: "poveste-story-list-folder"
9
+ };
10
+ const _hoisted_2 = { class: "bind-tree-padding htw-flex htw-items-center htw-gap-2 htw-min-w-0" };
11
+ const _hoisted_3 = { class: "htw-flex htw-flex-none htw-items-center htw-opacity-30 [.poveste-story-list-folder-button:hover_&]:htw-opacity-100 htw-ml-4 htw-w-4 htw-h-4 htw-rounded-sm htw-border htw-border-gray-500/40" };
12
+ const _hoisted_4 = { class: "htw-truncate" };
13
+ const _hoisted_5 = { key: 0 };
14
+ const _sfc_main = /* @__PURE__ */ defineComponent({
15
+ __name: "StoryListFolder",
16
+ props: {
17
+ path: { default: () => [] },
18
+ folder: {},
19
+ stories: {},
20
+ depth: { default: 0 }
21
+ },
22
+ setup(__props) {
23
+ useCssVars((_ctx) => ({
24
+ "v8d8133ee": folderPadding.value
25
+ }));
26
+ const props = __props;
27
+ const folderStore = useFolderStore();
28
+ const folderPath = computed(() => [...props.path, props.folder.title]);
29
+ const isFolderOpen = computed(() => folderStore.isFolderOpened(folderPath.value));
30
+ function toggleOpen() {
31
+ folderStore.toggleFolder(folderPath.value);
32
+ }
33
+ const folderPadding = computed(() => {
34
+ return `${props.depth * 12}px`;
35
+ });
36
+ return (_ctx, _cache) => {
37
+ const _component_StoryListFolder = resolveComponent("StoryListFolder", true);
38
+ return openBlock(), createElementBlock("div", _hoisted_1, [
39
+ createElementVNode("div", {
40
+ role: "button",
41
+ tabindex: "0",
42
+ class: "poveste-story-list-folder-button htw-px-0.5 htw-py-2 md:htw-py-1.5 htw-mx-1 htw-rounded-sm hover:htw-bg-primary-100 dark:hover:htw-bg-primary-900 htw-cursor-pointer htw-select-none htw-flex",
43
+ onClick: toggleOpen,
44
+ onKeyup: [
45
+ withKeys(toggleOpen, ["enter"]),
46
+ withKeys(toggleOpen, ["space"])
47
+ ]
48
+ }, [
49
+ createElementVNode("span", _hoisted_2, [
50
+ createElementVNode("span", _hoisted_3, [
51
+ createVNode(unref(Icon), {
52
+ icon: "carbon:caret-right",
53
+ class: normalizeClass(["htw-w-full htw-h-full htw-transition-transform htw-duration-150", {
54
+ "htw-rotate-90": isFolderOpen.value
55
+ }])
56
+ }, null, 8, ["class"])
57
+ ]),
58
+ createElementVNode("span", _hoisted_4, toDisplayString(__props.folder.title), 1)
59
+ ])
60
+ ], 32),
61
+ isFolderOpen.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
62
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.folder.children, (element) => {
63
+ return openBlock(), createElementBlock(Fragment, {
64
+ key: element.title
65
+ }, [
66
+ element.children ? (openBlock(), createBlock(_component_StoryListFolder, {
67
+ key: 0,
68
+ path: folderPath.value,
69
+ folder: element,
70
+ stories: __props.stories,
71
+ depth: __props.depth + 1
72
+ }, null, 8, ["path", "folder", "stories", "depth"])) : (openBlock(), createBlock(StoryListItem, {
73
+ key: 1,
74
+ story: __props.stories[element.index],
75
+ depth: __props.depth + 1
76
+ }, null, 8, ["story", "depth"]))
77
+ ], 64);
78
+ }), 128))
79
+ ])) : createCommentVNode("", true)
80
+ ]);
81
+ };
82
+ }
83
+ });
84
+ export {
85
+ _sfc_main as default
86
+ };
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./StoryListItem.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ "use strict";
5
+ const StoryListItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a12ff9e7"]]);
6
+ export {
7
+ StoryListItem as default
8
+ };
@@ -0,0 +1,69 @@
1
+ import { defineComponent, useCssVars, computed, ref, createElementBlock, openBlock, createVNode, withCtx, createElementVNode, createCommentVNode, unref, normalizeClass, toDisplayString } from "@poveste/vendors/vue";
2
+ import { Icon } from "@poveste/vendors/iconify";
3
+ import { useRoute } from "@poveste/vendors/vue-router";
4
+ import { useScrollOnActive } from "../../util/scroll.js";
5
+ import BaseListItemLink from "../base/BaseListItemLink.vue.js";
6
+ "use strict";
7
+ const _hoisted_1 = { class: "bind-tree-margin htw-flex htw-items-center htw-gap-2 htw-pl-4 htw-min-w-0" };
8
+ const _hoisted_2 = { class: "htw-truncate" };
9
+ const _hoisted_3 = {
10
+ key: 0,
11
+ class: "htw-opacity-40 htw-text-sm"
12
+ };
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ __name: "StoryListItem",
15
+ props: {
16
+ story: {},
17
+ depth: { default: 0 }
18
+ },
19
+ setup(__props) {
20
+ useCssVars((_ctx) => ({
21
+ "v2411f6f6": filePadding.value,
22
+ "b2034f9c": _ctx.story.iconColor
23
+ }));
24
+ const props = __props;
25
+ const filePadding = computed(() => {
26
+ return `${props.depth * 12}px`;
27
+ });
28
+ const route = useRoute();
29
+ const isActive = computed(() => route.params.storyId === props.story.id);
30
+ const el = ref();
31
+ useScrollOnActive(isActive, el);
32
+ return (_ctx, _cache) => {
33
+ return openBlock(), createElementBlock("div", {
34
+ ref_key: "el",
35
+ ref: el,
36
+ "data-test-id": "story-list-item",
37
+ class: "poveste-story-list-item"
38
+ }, [
39
+ createVNode(BaseListItemLink, {
40
+ to: {
41
+ name: "story",
42
+ params: {
43
+ storyId: __props.story.id
44
+ }
45
+ },
46
+ class: "htw-pl-0.5 htw-pr-2 htw-py-2 md:htw-py-1.5 htw-mx-1 htw-rounded-sm"
47
+ }, {
48
+ default: withCtx(({ active }) => [
49
+ createElementVNode("span", _hoisted_1, [
50
+ createVNode(unref(Icon), {
51
+ icon: __props.story.icon ?? "carbon:cube",
52
+ class: normalizeClass(["htw-w-5 htw-h-5 sm:htw-w-4 sm:htw-h-4 htw-flex-none", {
53
+ "htw-text-primary-500": !active && !__props.story.iconColor,
54
+ "bind-icon-color": !active && __props.story.iconColor
55
+ }])
56
+ }, null, 8, ["icon", "class"]),
57
+ createElementVNode("span", _hoisted_2, toDisplayString(__props.story.title), 1)
58
+ ]),
59
+ !__props.story.docsOnly ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.story.variants.length), 1)) : createCommentVNode("", true)
60
+ ]),
61
+ _: 1
62
+ }, 8, ["to"])
63
+ ], 512);
64
+ };
65
+ }
66
+ });
67
+ export {
68
+ _sfc_main as default
69
+ };
@@ -0,0 +1,35 @@
1
+ import FloatingVue from "@poveste/vendors/floating-vue";
2
+ import { createPinia } from "@poveste/vendors/pinia";
3
+ import { createApp } from "@poveste/vendors/vue";
4
+ import "./App.vue.js";
5
+ import { setupPluginApi } from "./plugin.js";
6
+ import { router } from "./router.js";
7
+ import "virtual:$poveste-theme";
8
+ import _sfc_main from "./App.vue2.js";
9
+ "use strict";
10
+ async function mountMainApp() {
11
+ const app = createApp(_sfc_main);
12
+ app.use(createPinia());
13
+ app.use(FloatingVue, {
14
+ overflowPadding: 4,
15
+ arrowPadding: 8,
16
+ themes: {
17
+ tooltip: {
18
+ distance: 8
19
+ },
20
+ dropdown: {
21
+ computeTransformOrigin: true,
22
+ distance: 8
23
+ }
24
+ }
25
+ });
26
+ app.use(router);
27
+ app.mount("#app");
28
+ if (import.meta.hot) {
29
+ import.meta.hot.send("poveste:mount", {});
30
+ /* @__PURE__ */ setupPluginApi();
31
+ }
32
+ }
33
+ export {
34
+ mountMainApp
35
+ };
@@ -0,0 +1,49 @@
1
+ import { router } from "./router.js";
2
+ "use strict";
3
+ function setupPluginApi() {
4
+ if (!import.meta.hot) return;
5
+ const listeners = {};
6
+ import.meta.hot.on("poveste:dev-event-result", ({ event, result }) => {
7
+ const set = listeners[event];
8
+ if (set) {
9
+ for (const listener of set) {
10
+ listener(result);
11
+ }
12
+ }
13
+ });
14
+ function addDevEventListener(event, listener) {
15
+ let set = listeners[event];
16
+ if (!set) {
17
+ set = /* @__PURE__ */ new Set();
18
+ listeners[event] = set;
19
+ }
20
+ set.add(listener);
21
+ return () => {
22
+ set.delete(listener);
23
+ };
24
+ }
25
+ window.__HST_PLUGIN_API__ = {
26
+ sendEvent: (event, payload) => {
27
+ return new Promise((resolve) => {
28
+ import.meta.hot.send(`poveste:dev-event`, {
29
+ event,
30
+ payload
31
+ });
32
+ if (event.startsWith("on")) {
33
+ resolve(void 0);
34
+ } else {
35
+ const off = addDevEventListener(event, (result) => {
36
+ off();
37
+ resolve(result);
38
+ });
39
+ }
40
+ });
41
+ },
42
+ openStory: (storyId) => {
43
+ router.push({ name: "story", params: { storyId } });
44
+ }
45
+ };
46
+ }
47
+ export {
48
+ setupPluginApi
49
+ };
@@ -0,0 +1,32 @@
1
+ import { createWebHistory, createWebHashHistory, createRouter } from "@poveste/vendors/vue-router";
2
+ import { povesteConfig } from "./util/config.js";
3
+ "use strict";
4
+ const base = import.meta.env.BASE_URL;
5
+ function createRouterHistory() {
6
+ switch (povesteConfig.routerMode) {
7
+ case "hash":
8
+ return createWebHashHistory(base);
9
+ case "history":
10
+ default:
11
+ return createWebHistory(base);
12
+ }
13
+ }
14
+ const router = createRouter({
15
+ history: createRouterHistory(),
16
+ routes: [
17
+ {
18
+ path: "/",
19
+ name: "home",
20
+ component: () => import("./components/HomeView.vue.js")
21
+ },
22
+ {
23
+ path: "/story/:storyId",
24
+ name: "story",
25
+ component: () => import("./components/story/StoryView.vue.js")
26
+ }
27
+ ]
28
+ });
29
+ export {
30
+ base,
31
+ router
32
+ };