@elmethis/vue 0.2.6 → 0.2.7

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.
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as ElmCommandPalette } from './ElmCommandPalette.vue';
3
+ declare const meta: Meta<typeof ElmCommandPalette>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -0,0 +1,46 @@
1
+ declare const TAG_COLOR_MAP: {
2
+ brown: string;
3
+ crimson: string;
4
+ amber: string;
5
+ gold: string;
6
+ emerald: string;
7
+ cyan: string;
8
+ blue: string;
9
+ purple: string;
10
+ pink: string;
11
+ };
12
+ export interface Command {
13
+ id: string;
14
+ icon?: string;
15
+ label: string;
16
+ tag?: {
17
+ name: string;
18
+ color: keyof typeof TAG_COLOR_MAP;
19
+ };
20
+ description?: string;
21
+ keywords?: string[];
22
+ onInvoke?: () => void;
23
+ }
24
+ export interface ElmCommandPaletteProps {
25
+ commands: Command[];
26
+ onCommandInvoked?: (command?: Command) => void;
27
+ }
28
+ type __VLS_Props = ElmCommandPaletteProps;
29
+ declare const __VLS_defaults: {
30
+ modelValue: string;
31
+ selectedCommandIndex: null;
32
+ };
33
+ type __VLS_PublicProps = {
34
+ modelValue?: typeof __VLS_defaults['modelValue'];
35
+ "selectedCommandIndex"?: number | null;
36
+ } & __VLS_Props;
37
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
38
+ "update:modelValue": (value: string) => any;
39
+ "update:selectedCommandIndex": (value: number | null) => any;
40
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
41
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
42
+ "onUpdate:selectedCommandIndex"?: ((value: number | null) => any) | undefined;
43
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
44
+ inputRef: HTMLInputElement;
45
+ }, HTMLDivElement>;
46
+ export default _default;
@@ -0,0 +1,23 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode(".fade-enter-active[data-v-cbf6ab16],.fade-leave-active[data-v-cbf6ab16]{transition:all .1s ease}.fade-enter-from[data-v-cbf6ab16],.fade-leave-to[data-v-cbf6ab16]{opacity:0;transform:translate(.5rem)}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ import _sfc_main from "./ElmCommandPalette.vue2.mjs";
14
+ import style0 from "./ElmCommandPalette.vue3.mjs";
15
+
16
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
17
+ const cssModules = {
18
+ "$style": style0
19
+ };
20
+ const ElmCommandPalette = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-cbf6ab16"]]);
21
+ export {
22
+ ElmCommandPalette as default
23
+ };
@@ -0,0 +1,188 @@
1
+ import { defineComponent, mergeModels, useModel, useTemplateRef, ref, onMounted, watch, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, withDirectives, unref, vModelText, TransitionGroup, withCtx, Fragment, renderList, createBlock, normalizeStyle, toDisplayString } from "vue";
2
+ import { opacify } from "polished";
3
+ import ElmMdiIcon from "../icon/ElmMdiIcon.vue.mjs";
4
+ import ElmInlineText from "../typography/ElmInlineText.vue.mjs";
5
+ import { mdiConsoleLine, mdiKeyboardReturn } from "@mdi/js";
6
+ import Fuse from "fuse.js";
7
+ import { onKeyStroke } from "@vueuse/core";
8
+ const _hoisted_1 = ["onClick"];
9
+ const _hoisted_2 = ["src"];
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ __name: "ElmCommandPalette",
12
+ props: /* @__PURE__ */ mergeModels({
13
+ commands: {},
14
+ onCommandInvoked: {}
15
+ }, {
16
+ "modelValue": { default: "" },
17
+ "modelModifiers": {},
18
+ "selectedCommandIndex": { default: null },
19
+ "selectedCommandIndexModifiers": {}
20
+ }),
21
+ emits: ["update:modelValue", "update:selectedCommandIndex"],
22
+ setup(__props) {
23
+ const TAG_COLOR_MAP = {
24
+ brown: "#a17c5b",
25
+ crimson: "#c56565",
26
+ amber: "#d48b70",
27
+ gold: "#cdb57b",
28
+ emerald: "#59b57c",
29
+ cyan: "#59a7b5",
30
+ blue: "#6987b8",
31
+ purple: "#9771bd",
32
+ pink: "#c9699e"
33
+ };
34
+ const props = __props;
35
+ const input = useModel(__props, "modelValue");
36
+ const inputTarget = useTemplateRef("inputRef");
37
+ const fuse = ref(null);
38
+ const searchResults = ref([]);
39
+ const selectedCommandIndex = useModel(
40
+ __props,
41
+ "selectedCommandIndex"
42
+ );
43
+ const FUSE_OPTION = Object.freeze({ keys: ["label", "keywords"] });
44
+ onMounted(() => {
45
+ inputTarget.value?.focus();
46
+ if (fuse.value == null) {
47
+ fuse.value = new Fuse(props.commands, FUSE_OPTION);
48
+ }
49
+ });
50
+ const search = (input2) => {
51
+ if (fuse.value == null) {
52
+ fuse.value = new Fuse(props.commands, FUSE_OPTION);
53
+ }
54
+ const results = fuse.value.search(input2).map((result) => result.item);
55
+ searchResults.value = results;
56
+ selectedCommandIndex.value = 0;
57
+ };
58
+ const next = () => {
59
+ if (selectedCommandIndex.value == null) {
60
+ selectedCommandIndex.value = 0;
61
+ } else if (searchResults.value.length - 1 > selectedCommandIndex.value) {
62
+ selectedCommandIndex.value = selectedCommandIndex.value + 1;
63
+ }
64
+ };
65
+ const prev = () => {
66
+ if (selectedCommandIndex.value == null) {
67
+ selectedCommandIndex.value = 0;
68
+ } else if (selectedCommandIndex.value > 0) {
69
+ selectedCommandIndex.value = selectedCommandIndex.value - 1;
70
+ }
71
+ };
72
+ const invoke = () => {
73
+ if (selectedCommandIndex.value !== null) {
74
+ const command = searchResults.value[selectedCommandIndex.value];
75
+ if (command != null && command.onInvoke != null) {
76
+ command.onInvoke();
77
+ if (props.onCommandInvoked) props.onCommandInvoked(command);
78
+ }
79
+ }
80
+ };
81
+ onKeyStroke(["ArrowDown", "Tab"], (e) => {
82
+ e.preventDefault();
83
+ next();
84
+ });
85
+ onKeyStroke("ArrowUp", (e) => {
86
+ e.preventDefault();
87
+ prev();
88
+ });
89
+ onKeyStroke("Enter", (e) => {
90
+ e.preventDefault();
91
+ invoke();
92
+ });
93
+ watch(input, (_, input2) => {
94
+ search(input2);
95
+ });
96
+ return (_ctx, _cache) => {
97
+ return openBlock(), createElementBlock("div", {
98
+ class: normalizeClass(_ctx.$style.palette),
99
+ style: {
100
+ "--height": "500px",
101
+ "--width": "800px"
102
+ }
103
+ }, [
104
+ createElementVNode("header", {
105
+ class: normalizeClass(_ctx.$style.header)
106
+ }, [
107
+ createVNode(ElmMdiIcon, { d: unref(mdiConsoleLine) }, null, 8, ["d"]),
108
+ withDirectives(createElementVNode("input", {
109
+ class: normalizeClass(_ctx.$style.input),
110
+ ref: "inputRef",
111
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => input.value = $event),
112
+ type: "text",
113
+ inputmode: "text"
114
+ }, null, 2), [
115
+ [vModelText, input.value]
116
+ ])
117
+ ], 2),
118
+ createElementVNode("div", {
119
+ class: normalizeClass(_ctx.$style.body)
120
+ }, [
121
+ createVNode(TransitionGroup, { name: "fade" }, {
122
+ default: withCtx(() => [
123
+ searchResults.value.length === 0 ? (openBlock(), createElementBlock("div", {
124
+ key: 0,
125
+ class: normalizeClass(_ctx.$style["empty-result"])
126
+ }, [
127
+ createVNode(ElmInlineText, { text: "search anything..." })
128
+ ], 2)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(searchResults.value, (command, index) => {
129
+ return openBlock(), createElementBlock("button", {
130
+ class: normalizeClass([
131
+ _ctx.$style.command,
132
+ {
133
+ [_ctx.$style["command-selected"]]: index === selectedCommandIndex.value
134
+ }
135
+ ]),
136
+ onClick: () => {
137
+ selectedCommandIndex.value = index;
138
+ invoke();
139
+ }
140
+ }, [
141
+ command.icon ? (openBlock(), createElementBlock("img", {
142
+ key: 0,
143
+ class: normalizeClass(_ctx.$style["command-icon"]),
144
+ src: command.icon
145
+ }, null, 10, _hoisted_2)) : (openBlock(), createBlock(ElmMdiIcon, {
146
+ key: 1,
147
+ d: unref(mdiConsoleLine),
148
+ size: "1rem"
149
+ }, null, 8, ["d"])),
150
+ createElementVNode("div", {
151
+ class: normalizeClass(_ctx.$style.tag),
152
+ style: normalizeStyle({
153
+ "--tag-color": command.tag != null ? unref(opacify)(-0.3, TAG_COLOR_MAP[command.tag?.color]) : void 0
154
+ })
155
+ }, toDisplayString(command.tag?.name), 7),
156
+ createVNode(ElmInlineText, {
157
+ text: command.label,
158
+ style: { "white-space": "nowrap", "overflow": "hidden", "text-overflow": "ellipsis", "max-width": "24rem" }
159
+ }, null, 8, ["text"]),
160
+ createVNode(ElmInlineText, {
161
+ text: command.description ?? "-",
162
+ style: { "opacity": "0.4", "white-space": "nowrap", "overflow": "hidden", "text-overflow": "ellipsis" }
163
+ }, null, 8, ["text"]),
164
+ createElementVNode("div", null, [
165
+ createVNode(ElmMdiIcon, { d: unref(mdiKeyboardReturn) }, null, 8, ["d"])
166
+ ])
167
+ ], 10, _hoisted_1);
168
+ }), 256))
169
+ ]),
170
+ _: 1
171
+ })
172
+ ], 2),
173
+ createElementVNode("footer", {
174
+ class: normalizeClass(_ctx.$style.footer)
175
+ }, [
176
+ createVNode(ElmInlineText, {
177
+ text: "Esc",
178
+ kbd: true
179
+ }),
180
+ createVNode(ElmInlineText, { text: "Close" })
181
+ ], 2)
182
+ ], 2);
183
+ };
184
+ }
185
+ });
186
+ export {
187
+ _sfc_main as default
188
+ };
@@ -0,0 +1,41 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._palette_12i4e_1{height:clamp(300px,var(--height),100vh - 2rem);width:clamp(300px,var(--width),100vw - 1rem);display:flex;flex-direction:column;border-radius:.25rem;overflow:hidden;box-shadow:0 0 .125rem #3e434b80}._header_12i4e_11{box-sizing:border-box;height:3rem;padding:.5rem;display:flex;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;background-color:#e1e3e6;color:#3e434b;font-size:1.1rem;border-bottom:1px solid rgba(204,207,213,.75)}[data-theme=dark] ._header_12i4e_11{border-color:#cccfd54d;background-color:#33373e}._input_12i4e_30{all:unset;width:100%;caret-color:#788191;font-family:monospace;color:#3e434b}[data-theme=dark] ._input_12i4e_30{color:#cccfd5}._body_12i4e_41{position:relative;width:100%;height:100%;background-color:#ecedef;display:flex;flex-direction:column;gap:0;overflow-x:hidden;overflow-y:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-theme=dark] ._body_12i4e_41{background-color:#3e434b}._empty-result_12i4e_57{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center}._command_12i4e_68{all:unset;box-sizing:border-box;padding:0 .75rem;min-height:3rem;width:100%;display:grid;grid-template-columns:2rem minmax(min-content,1fr) minmax(min-content,1fr) 50fr 2rem;align-items:center;grid-gap:.5rem;gap:.5rem;border-bottom:1px solid rgba(204,207,213,.5);transition:background-color .1s;cursor:pointer;overflow:hidden;border-left:solid 4px transparent}._command_12i4e_68:hover{background-color:#6987b833}[data-theme=dark] ._command_12i4e_68{border-bottom:1px solid rgba(204,207,213,.2)}._command-selected_12i4e_91{background-color:#6987b81a;border-color:#868e9c80}._command-icon_12i4e_96{height:1.5rem}._tag_12i4e_100{box-sizing:border-box;padding:.125rem .25rem;border-radius:.125rem;background-color:var(--tag-color);color:#fff;opacity:.7}._footer_12i4e_109{box-sizing:border-box;padding:.5rem;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;background-color:#e1e3e6;border-top:1px solid rgba(204,207,213,.75);-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-theme=dark] ._footer_12i4e_109{border-color:#cccfd54d;background-color:#33373e}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const palette = "_palette_12i4e_1";
14
+ const header = "_header_12i4e_11";
15
+ const input = "_input_12i4e_30";
16
+ const body = "_body_12i4e_41";
17
+ const command = "_command_12i4e_68";
18
+ const tag = "_tag_12i4e_100";
19
+ const footer = "_footer_12i4e_109";
20
+ const style0 = {
21
+ palette,
22
+ header,
23
+ input,
24
+ body,
25
+ "empty-result": "_empty-result_12i4e_57",
26
+ command,
27
+ "command-selected": "_command-selected_12i4e_91",
28
+ "command-icon": "_command-icon_12i4e_96",
29
+ tag,
30
+ footer
31
+ };
32
+ export {
33
+ body,
34
+ command,
35
+ style0 as default,
36
+ footer,
37
+ header,
38
+ input,
39
+ palette,
40
+ tag
41
+ };
package/dist/index.d.ts CHANGED
@@ -84,6 +84,8 @@ export type { ElmColorSampleProps } from './components/others/ElmColorSample.vue
84
84
  export { default as ElmColorSample } from './components/others/ElmColorSample.vue';
85
85
  export type { ElmColorTableProps } from './components/others/ElmColorTable.vue';
86
86
  export { default as ElmColorTable } from './components/others/ElmColorTable.vue';
87
+ export type { ElmCommandPaletteProps } from './components/others/ElmCommandPalette.vue';
88
+ export { default as ElmCommandPalette } from './components/others/ElmCommandPalette.vue';
87
89
  export type { ElmJsonComponentRendererProps } from './components/others/ElmJsonComponentRenderer.vue';
88
90
  export { default as ElmJsonComponentRenderer } from './components/others/ElmJsonComponentRenderer.vue';
89
91
  export type { ElmMarkdownProps } from './components/others/ElmMarkdown.vue';
package/dist/index.mjs CHANGED
@@ -53,61 +53,63 @@ import { default as default41 } from "./components/navigation/ElmPagetop.vue.mjs
53
53
  import { default as default42 } from "./components/navigation/ElmTableOfContents.vue.mjs";
54
54
  import { default as default43 } from "./components/others/ElmColorSample.vue.mjs";
55
55
  import { default as default44 } from "./components/others/ElmColorTable.vue.mjs";
56
- import { default as default45 } from "./components/others/ElmJsonComponentRenderer.vue.mjs";
57
- import { default as default46 } from "./components/others/ElmMarkdown.vue.mjs";
58
- import { default as default47 } from "./components/table/ElmTable.vue.mjs";
59
- import { default as default48 } from "./components/table/ElmTableHeader.vue.mjs";
60
- import { default as default49 } from "./components/table/ElmTableBody.vue.mjs";
61
- import { default as default50 } from "./components/table/ElmTableRow.vue.mjs";
62
- import { default as default51 } from "./components/table/ElmTableCell.vue.mjs";
63
- import { default as default52 } from "./components/typography/ElmBlockQuote.vue.mjs";
64
- import { default as default53 } from "./components/typography/ElmCallout.vue.mjs";
65
- import { default as default54 } from "./components/typography/ElmDivider.vue.mjs";
66
- import { default as default55 } from "./components/typography/ElmFragmentIdentifier.vue.mjs";
67
- import { default as default56 } from "./components/typography/ElmHeading.vue.mjs";
68
- import { default as default57 } from "./components/typography/ElmInlineText.vue.mjs";
69
- import { default as default58 } from "./components/typography/ElmParagraph.vue.mjs";
70
- import { default as default59 } from "./components/typography/ElmList.vue.mjs";
56
+ import { default as default45 } from "./components/others/ElmCommandPalette.vue.mjs";
57
+ import { default as default46 } from "./components/others/ElmJsonComponentRenderer.vue.mjs";
58
+ import { default as default47 } from "./components/others/ElmMarkdown.vue.mjs";
59
+ import { default as default48 } from "./components/table/ElmTable.vue.mjs";
60
+ import { default as default49 } from "./components/table/ElmTableHeader.vue.mjs";
61
+ import { default as default50 } from "./components/table/ElmTableBody.vue.mjs";
62
+ import { default as default51 } from "./components/table/ElmTableRow.vue.mjs";
63
+ import { default as default52 } from "./components/table/ElmTableCell.vue.mjs";
64
+ import { default as default53 } from "./components/typography/ElmBlockQuote.vue.mjs";
65
+ import { default as default54 } from "./components/typography/ElmCallout.vue.mjs";
66
+ import { default as default55 } from "./components/typography/ElmDivider.vue.mjs";
67
+ import { default as default56 } from "./components/typography/ElmFragmentIdentifier.vue.mjs";
68
+ import { default as default57 } from "./components/typography/ElmHeading.vue.mjs";
69
+ import { default as default58 } from "./components/typography/ElmInlineText.vue.mjs";
70
+ import { default as default59 } from "./components/typography/ElmParagraph.vue.mjs";
71
+ import { default as default60 } from "./components/typography/ElmList.vue.mjs";
71
72
 
72
- import { default as default60 } from "./components/typography/ElmTypingAnimation.vue.mjs";
73
+ import { default as default61 } from "./components/typography/ElmTypingAnimation.vue.mjs";
73
74
  import { useElmethisTheme } from "./hooks/useElmethisTheme.mjs";
74
75
  import { useTyping } from "./hooks/useTyping.mjs";
75
76
  export {
76
77
  default27 as ElmArrowIcon,
77
78
  default18 as ElmBlockFallback,
78
- default52 as ElmBlockQuote,
79
+ default53 as ElmBlockQuote,
79
80
  default39 as ElmBookmark,
80
81
  default28 as ElmBookmarkIcon,
81
82
  default40 as ElmBreadcrumb,
82
83
  default21 as ElmButton,
83
- default53 as ElmCallout,
84
+ default54 as ElmCallout,
84
85
  default22 as ElmCheckbox,
85
86
  default2 as ElmCodeBlock,
86
87
  default43 as ElmColorSample,
87
88
  default44 as ElmColorTable,
89
+ default45 as ElmCommandPalette,
88
90
  default6 as ElmConfirmModal,
89
91
  default29 as ElmCubeIcon,
90
92
  default5 as ElmDesktopWindow,
91
- default54 as ElmDivider,
93
+ default55 as ElmDivider,
92
94
  default30 as ElmDotLoadingIcon,
93
95
  default37 as ElmFile,
94
- default55 as ElmFragmentIdentifier,
95
- default56 as ElmHeading,
96
+ default56 as ElmFragmentIdentifier,
97
+ default57 as ElmHeading,
96
98
  default38 as ElmImage,
97
99
  default31 as ElmInlineIcon,
98
- default57 as ElmInlineText,
99
- default45 as ElmJsonComponentRenderer,
100
+ default58 as ElmInlineText,
101
+ default46 as ElmJsonComponentRenderer,
100
102
  default3 as ElmKatex,
101
103
  default32 as ElmLanguageIcon,
102
- default59 as ElmList,
104
+ default60 as ElmList,
103
105
  default33 as ElmLoginIcon,
104
- default46 as ElmMarkdown,
106
+ default47 as ElmMarkdown,
105
107
  default34 as ElmMdiIcon,
106
108
  default4 as ElmMermaid,
107
109
  default7 as ElmModal,
108
110
  default15 as ElmMultiProgress,
109
111
  default41 as ElmPagetop,
110
- default58 as ElmParagraph,
112
+ default59 as ElmParagraph,
111
113
  default8 as ElmParallax,
112
114
  default14 as ElmProgress,
113
115
  default17 as ElmRectangleWave,
@@ -119,17 +121,17 @@ export {
119
121
  default35 as ElmSquareLoadingIcon,
120
122
  default16 as ElmStatusMessage,
121
123
  default24 as ElmSwitch,
122
- default47 as ElmTable,
123
- default49 as ElmTableBody,
124
- default51 as ElmTableCell,
125
- default48 as ElmTableHeader,
124
+ default48 as ElmTable,
125
+ default50 as ElmTableBody,
126
+ default52 as ElmTableCell,
127
+ default49 as ElmTableHeader,
126
128
  default42 as ElmTableOfContents,
127
- default50 as ElmTableRow,
129
+ default51 as ElmTableRow,
128
130
  default25 as ElmTextField,
129
131
  default12 as ElmToggle,
130
132
  default36 as ElmToggleTheme,
131
133
  default13 as ElmTooltip,
132
- default60 as ElmTypingAnimation,
134
+ default61 as ElmTypingAnimation,
133
135
  default20 as ElmUnsupportedBlock,
134
136
  default26 as ElmValidation,
135
137
  useElmethisTheme,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmethis/vue",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,6 +25,7 @@
25
25
  "dependencies": {
26
26
  "@mdi/js": "^7.4.47",
27
27
  "@vueuse/core": "^14.1.0",
28
+ "fuse.js": "^7.1.0",
28
29
  "katex": "^0.16.27",
29
30
  "lodash-es": "^4.17.22",
30
31
  "marked": "^17.0.1",
@@ -38,7 +39,7 @@
38
39
  "@notionhq/client": "^5.6.0",
39
40
  "@storybook/vue3-vite": "10.1.11",
40
41
  "@types/json-schema": "^7.0.15",
41
- "@types/katex": "^0.16.7",
42
+ "@types/katex": "^0.16.8",
42
43
  "@types/lodash-es": "^4.17.12",
43
44
  "@types/prismjs": "^1.26.5",
44
45
  "@vitejs/plugin-vue": "^6.0.3",
@@ -46,7 +47,7 @@
46
47
  "jarkup-ts": "^0.6.0",
47
48
  "openapi-types": "^12.1.3",
48
49
  "postcss": "^8.5.6",
49
- "postcss-preset-env": "^10.6.0",
50
+ "postcss-preset-env": "^11.1.1",
50
51
  "sass": "^1.97.2",
51
52
  "vite": "^7.3.1",
52
53
  "vite-plugin-css-injected-by-js": "^3.5.2",