@n8n/design-system 2.37.0 → 2.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +159 -21
- package/dist/components/N8nIcon/icons.d.ts +1 -0
- package/dist/{v2/components/InputNumber → components/N8nInputNumber}/InputNumber.types.d.ts +5 -0
- package/dist/components/N8nInputNumber/InputNumber.vue.d.ts +133 -13
- package/dist/components/N8nInputNumber/index.d.ts +2 -0
- package/dist/components/N8nMarkdownEditor/MarkdownEditor.types.d.ts +1 -1
- package/dist/components/N8nResizeWrapper/ResizeWrapper.vue.d.ts +0 -2
- package/dist/components/index.d.ts +2 -0
- package/dist/css/common/var.scss +0 -1
- package/dist/css/index.scss +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +5661 -5583
- package/dist/style.css +1 -1
- package/dist/theme.css +1 -1
- package/dist/types/resize.d.ts +4 -4
- package/package.json +6 -6
- package/dist/css/input-number.scss +0 -191
- package/dist/v2/components/InputNumber/InputNumber.vue.d.ts +0 -30
- package/dist/v2/components/InputNumber/index.d.ts +0 -2
package/README.md
CHANGED
|
@@ -2,48 +2,186 @@
|
|
|
2
2
|
|
|
3
3
|
# @n8n/design-system
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The n8n component library for Vue 3. It gives you components, design tokens, icons, and
|
|
6
|
+
the directives plugin. Run `pnpm dev` to see the components in Storybook.
|
|
6
7
|
|
|
7
|
-
##
|
|
8
|
+
## Table of Contents
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
- [Consume the package](#consume-the-package)
|
|
11
|
+
- [Exports](#exports)
|
|
12
|
+
- [Develop the package](#develop-the-package)
|
|
13
|
+
- [Pack and publish](#pack-and-publish)
|
|
14
|
+
- [License](#license)
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
## Consume the package
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
pnpm storybook
|
|
17
|
-
```
|
|
18
|
+
You need a Vue 3 app with Vite. You also need the `vue` and `vue-router` packages.
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
`vue` and `vue-router` are peer dependencies. The barrel imports `vue-router` at load
|
|
21
|
+
time. If `vue-router` is absent, the build fails.
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
### 1. Install
|
|
24
|
+
|
|
25
|
+
Inside this monorepo, declare the package as a workspace dependency in your `package.json`:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@n8n/design-system": "workspace:*",
|
|
31
|
+
"vue": "catalog:frontend",
|
|
32
|
+
"vue-router": "catalog:frontend"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
23
35
|
```
|
|
24
36
|
|
|
25
|
-
|
|
37
|
+
Outside this monorepo, install the package from npm:
|
|
26
38
|
|
|
39
|
+
```sh
|
|
40
|
+
npm install @n8n/design-system@latest vue vue-router
|
|
27
41
|
```
|
|
28
|
-
|
|
42
|
+
|
|
43
|
+
Add `sass` as a dev dependency only when you `@use` the SCSS sources from
|
|
44
|
+
[`./css/*`](#exports).
|
|
45
|
+
|
|
46
|
+
### 2. Build the package first
|
|
47
|
+
|
|
48
|
+
`.gitignore` excludes `dist`. So an in-repo app can resolve nothing before you build the
|
|
49
|
+
package. Build the package with turbo. Turbo builds the workspace dependencies first.
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
pnpm turbo run build --filter=@n8n/design-system
|
|
29
53
|
```
|
|
30
54
|
|
|
31
|
-
|
|
55
|
+
A package that declares `@n8n/design-system` needs no extra step, because the `build` task
|
|
56
|
+
of turbo depends on `^build`. If you install from npm, skip this step, because the tarball
|
|
57
|
+
includes `dist`.
|
|
58
|
+
|
|
59
|
+
### 3. Wire it into your app
|
|
60
|
+
|
|
61
|
+
Import the two stylesheets before your own styles. `theme.css` gives you the design tokens,
|
|
62
|
+
the CSS reset, and four `@font-face` rules. The components read their variables from these
|
|
63
|
+
tokens.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
// src/main.ts
|
|
67
|
+
import '@n8n/design-system/style.css';
|
|
68
|
+
import '@n8n/design-system/theme.css';
|
|
69
|
+
import './styles.scss';
|
|
70
|
+
|
|
71
|
+
import { IconBodyLoaderKey, loadLucideIconBody } from '@n8n/design-system/icons/lucide';
|
|
72
|
+
import { N8nPlugin } from '@n8n/design-system/plugin';
|
|
73
|
+
import { createApp } from 'vue';
|
|
74
|
+
|
|
75
|
+
import App from './App.vue';
|
|
32
76
|
|
|
77
|
+
const app = createApp(App);
|
|
78
|
+
app.use(N8nPlugin, {});
|
|
79
|
+
app.provide(IconBodyLoaderKey, loadLucideIconBody);
|
|
80
|
+
app.mount('#app');
|
|
33
81
|
```
|
|
34
|
-
|
|
82
|
+
|
|
83
|
+
`N8nPlugin` registers the `v-n8n-truncate` and `v-n8n-html` directives. Pass `{}` as the
|
|
84
|
+
options argument.
|
|
85
|
+
|
|
86
|
+
Do not skip this call. Ten components render their text through `v-n8n-html`: `N8nNotice`,
|
|
87
|
+
`N8nTooltip`, `N8nTabs`, `N8nSticky`, `N8nInputLabel`, `N8nInfoAccordion`, `N8nEmptyState`,
|
|
88
|
+
`CommandBarItem`, and the two `AskAssistantChat` message components. If the directive is
|
|
89
|
+
absent, these components render empty and show no error.
|
|
90
|
+
|
|
91
|
+
The `app.provide(IconBodyLoaderKey, loadLucideIconBody)` call gives you the full Lucide
|
|
92
|
+
set. If you omit the call, `N8nIcon` renders only the bundled icon set. That set holds
|
|
93
|
+
`triangle`, `status-error`, and the custom n8n icons. Every other Lucide name renders
|
|
94
|
+
empty, and a dev build writes a warning to the console.
|
|
95
|
+
|
|
96
|
+
The barrel gives you the components and their types:
|
|
97
|
+
|
|
98
|
+
```vue
|
|
99
|
+
<!-- src/App.vue -->
|
|
100
|
+
<script setup lang="ts">
|
|
101
|
+
import { N8nButton, N8nIcon, N8nText } from '@n8n/design-system';
|
|
102
|
+
import type { ButtonVariant } from '@n8n/design-system';
|
|
103
|
+
import { ref } from 'vue';
|
|
104
|
+
|
|
105
|
+
const variant: ButtonVariant = 'solid';
|
|
106
|
+
const clicks = ref(0);
|
|
107
|
+
</script>
|
|
108
|
+
|
|
109
|
+
<template>
|
|
110
|
+
<main class="page">
|
|
111
|
+
<N8nText size="medium">clicks: {{ clicks }}</N8nText>
|
|
112
|
+
<N8nButton :variant="variant" label="Click me" @click="clicks++" />
|
|
113
|
+
<N8nIcon icon="anvil" />
|
|
114
|
+
</main>
|
|
115
|
+
</template>
|
|
35
116
|
```
|
|
36
117
|
|
|
37
|
-
|
|
118
|
+
The package includes the SCSS sources next to the compiled CSS. So an app with its own
|
|
119
|
+
sass toolchain can use the mixins and the token maps:
|
|
38
120
|
|
|
121
|
+
```scss
|
|
122
|
+
// src/styles.scss
|
|
123
|
+
@use '@n8n/design-system/css/mixins/breakpoints' as breakpoints;
|
|
124
|
+
|
|
125
|
+
.page {
|
|
126
|
+
padding: var(--spacing--lg);
|
|
127
|
+
|
|
128
|
+
@include breakpoints.breakpoint('sm-and-down') {
|
|
129
|
+
padding: var(--spacing--2xs);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
39
132
|
```
|
|
40
|
-
pnpm build:theme
|
|
41
|
-
```
|
|
42
133
|
|
|
43
|
-
|
|
134
|
+
The `breakpoint` mixin compiles to `@media screen and (width<=991px)`.
|
|
135
|
+
|
|
136
|
+
## Exports
|
|
137
|
+
|
|
138
|
+
Every subpath resolves from `dist`. The package has no CommonJS build and no `require`
|
|
139
|
+
condition.
|
|
140
|
+
|
|
141
|
+
| Subpath | Contents |
|
|
142
|
+
| --------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
143
|
+
| `@n8n/design-system` | The barrel: components, composables, exported types, and the `locale` singleton. |
|
|
144
|
+
| `@n8n/design-system/plugin` | `N8nPlugin`. It registers the `v-n8n-truncate` and `v-n8n-html` directives. |
|
|
145
|
+
| `@n8n/design-system/icons/lucide` | `loadLucideIconBody` and `IconBodyLoaderKey`, for icons outside the bundled set. |
|
|
146
|
+
| `@n8n/design-system/style.css` | The component styles. |
|
|
147
|
+
| `@n8n/design-system/theme.css` | The design tokens, the CSS reset, four `@font-face` rules, and the element-plus overrides. |
|
|
148
|
+
| `@n8n/design-system/css/*` | The SCSS sources: mixins, token maps, and one stylesheet per component. You must add `sass`. |
|
|
149
|
+
| `@n8n/design-system/package.json` | The manifest. |
|
|
150
|
+
|
|
151
|
+
## Develop the package
|
|
44
152
|
|
|
153
|
+
Run these commands from this directory.
|
|
154
|
+
|
|
155
|
+
| Command | What it does |
|
|
156
|
+
| ---------------- | ---------------------------------------------------------------------- |
|
|
157
|
+
| `pnpm dev` | It starts Storybook on http://localhost:6006. |
|
|
158
|
+
| `pnpm build` | It builds `dist`. Build the workspace dependencies first — see step 2. |
|
|
159
|
+
| `pnpm typecheck` | It runs `vue-tsc --noEmit` on `src`. |
|
|
160
|
+
| `pnpm test` | It runs the unit tests one time. |
|
|
161
|
+
| `pnpm lint` | It lints `src`. `pnpm lint:fix` applies the fixes. |
|
|
162
|
+
| `pnpm clean` | It removes `dist` and `.turbo`. |
|
|
163
|
+
|
|
164
|
+
## Pack and publish
|
|
165
|
+
|
|
166
|
+
**Pack with `pnpm pack`. Never `npm pack`.**
|
|
167
|
+
|
|
168
|
+
When `pnpm` packs the package, it rewrites the workspace protocol and the catalog
|
|
169
|
+
references to fixed versions. For example, `"@n8n/composables": "workspace:*"` becomes
|
|
170
|
+
`"1.27.0"`, and `"vue": "catalog:frontend"` becomes `"^3.5.13"`. `npm` copies both strings
|
|
171
|
+
without a change. The npm registry client knows neither protocol. So an install of an
|
|
172
|
+
`npm`-packed tarball fails:
|
|
173
|
+
|
|
174
|
+
```text
|
|
175
|
+
npm error code EUNSUPPORTEDPROTOCOL
|
|
176
|
+
npm error Unsupported URL Type "catalog:": catalog:frontend
|
|
45
177
|
```
|
|
46
|
-
|
|
178
|
+
|
|
179
|
+
Build the package first, because `.gitignore` excludes `dist`. The `files` field includes
|
|
180
|
+
`dist`, `assets/fonts`, and this README.
|
|
181
|
+
|
|
182
|
+
```sh
|
|
183
|
+
pnpm turbo run build --filter=@n8n/design-system
|
|
184
|
+
pnpm pack --pack-destination /tmp/ds-pack
|
|
47
185
|
```
|
|
48
186
|
|
|
49
187
|
## License
|
|
@@ -369,6 +369,7 @@ export declare const updatedIconSet: {
|
|
|
369
369
|
readonly laptop: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
370
370
|
readonly layers: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
371
371
|
readonly 'layout-template': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
372
|
+
readonly 'life-buoy': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
372
373
|
readonly lightbulb: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
373
374
|
readonly link: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
374
375
|
readonly list: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
|
|
@@ -12,6 +12,11 @@ export type InputNumberEmits = NumberFieldRootEmits & {
|
|
|
12
12
|
focus: [event: FocusEvent];
|
|
13
13
|
blur: [event: FocusEvent];
|
|
14
14
|
};
|
|
15
|
+
export interface InputNumberExposed {
|
|
16
|
+
focus: () => void;
|
|
17
|
+
blur: () => void;
|
|
18
|
+
select: () => void;
|
|
19
|
+
}
|
|
15
20
|
export type InputNumberControlSlotProps = {
|
|
16
21
|
ui: {
|
|
17
22
|
class: string;
|
|
@@ -1,16 +1,136 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { InputNumberProps, InputNumberSlots } from './InputNumber.types';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: Readonly<InputNumberSlots> & InputNumberSlots;
|
|
5
|
+
refs: {
|
|
6
|
+
inputRef: ({
|
|
7
|
+
$: import('vue').ComponentInternalInstance;
|
|
8
|
+
$data: {};
|
|
9
|
+
$props: {
|
|
10
|
+
readonly asChild?: boolean | undefined;
|
|
11
|
+
readonly as?: (import('reka-ui').AsTag | import('vue').Component) | undefined;
|
|
12
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
|
|
13
|
+
$attrs: {
|
|
14
|
+
[x: string]: unknown;
|
|
15
|
+
};
|
|
16
|
+
$refs: {
|
|
17
|
+
[x: string]: unknown;
|
|
18
|
+
};
|
|
19
|
+
$slots: Readonly<{
|
|
20
|
+
[name: string]: import('vue').Slot<any> | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
$root: import('vue').ComponentPublicInstance | null;
|
|
23
|
+
$parent: import('vue').ComponentPublicInstance | null;
|
|
24
|
+
$host: Element | null;
|
|
25
|
+
$emit: (event: string, ...args: any[]) => void;
|
|
26
|
+
$el: any;
|
|
27
|
+
$options: import('vue').ComponentOptionsBase<Readonly<import('reka-ui').NumberFieldInputProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
28
|
+
as: import('reka-ui').AsTag | import('vue').Component;
|
|
29
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
|
|
30
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
31
|
+
created?: (() => void) | (() => void)[];
|
|
32
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
33
|
+
mounted?: (() => void) | (() => void)[];
|
|
34
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
35
|
+
updated?: (() => void) | (() => void)[];
|
|
36
|
+
activated?: (() => void) | (() => void)[];
|
|
37
|
+
deactivated?: (() => void) | (() => void)[];
|
|
38
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
39
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
40
|
+
destroyed?: (() => void) | (() => void)[];
|
|
41
|
+
unmounted?: (() => void) | (() => void)[];
|
|
42
|
+
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
43
|
+
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
44
|
+
errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
45
|
+
};
|
|
46
|
+
$forceUpdate: () => void;
|
|
47
|
+
$nextTick: typeof import('vue').nextTick;
|
|
48
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
49
|
+
} & Readonly<{
|
|
50
|
+
as: import('reka-ui').AsTag | import('vue').Component;
|
|
51
|
+
}> & Omit<Readonly<import('reka-ui').NumberFieldInputProps> & Readonly<{}>, "as"> & import('vue').ShallowUnwrapRef<{}> & {} & import('vue').ComponentCustomProperties & {} & {
|
|
52
|
+
$slots: {
|
|
53
|
+
default?: (props: {}) => any;
|
|
54
|
+
};
|
|
55
|
+
}) | null;
|
|
56
|
+
};
|
|
57
|
+
rootEl: any;
|
|
8
58
|
};
|
|
9
|
-
|
|
10
|
-
|
|
59
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
60
|
+
declare const __VLS_component: import('vue').DefineComponent<InputNumberProps, {
|
|
61
|
+
focus: () => void;
|
|
62
|
+
blur: () => void;
|
|
63
|
+
select: () => void;
|
|
64
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
65
|
+
focus: (event: FocusEvent) => any;
|
|
66
|
+
"update:modelValue": (val: number) => any;
|
|
67
|
+
blur: (event: FocusEvent) => any;
|
|
68
|
+
}, string, import('vue').PublicProps, Readonly<InputNumberProps> & Readonly<{
|
|
69
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
70
|
+
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
|
71
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
72
|
+
}>, {
|
|
73
|
+
size: import('./InputNumber.types').InputNumberSize;
|
|
11
74
|
step: number;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
75
|
+
stepSnapping: boolean;
|
|
76
|
+
controls: boolean;
|
|
77
|
+
controlsPosition: import('./InputNumber.types').InputNumberControlsPosition;
|
|
78
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
79
|
+
inputRef: ({
|
|
80
|
+
$: import('vue').ComponentInternalInstance;
|
|
81
|
+
$data: {};
|
|
82
|
+
$props: {
|
|
83
|
+
readonly asChild?: boolean | undefined;
|
|
84
|
+
readonly as?: (import('reka-ui').AsTag | import('vue').Component) | undefined;
|
|
85
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
|
|
86
|
+
$attrs: {
|
|
87
|
+
[x: string]: unknown;
|
|
88
|
+
};
|
|
89
|
+
$refs: {
|
|
90
|
+
[x: string]: unknown;
|
|
91
|
+
};
|
|
92
|
+
$slots: Readonly<{
|
|
93
|
+
[name: string]: import('vue').Slot<any> | undefined;
|
|
94
|
+
}>;
|
|
95
|
+
$root: import('vue').ComponentPublicInstance | null;
|
|
96
|
+
$parent: import('vue').ComponentPublicInstance | null;
|
|
97
|
+
$host: Element | null;
|
|
98
|
+
$emit: (event: string, ...args: any[]) => void;
|
|
99
|
+
$el: any;
|
|
100
|
+
$options: import('vue').ComponentOptionsBase<Readonly<import('reka-ui').NumberFieldInputProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
101
|
+
as: import('reka-ui').AsTag | import('vue').Component;
|
|
102
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
|
|
103
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
104
|
+
created?: (() => void) | (() => void)[];
|
|
105
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
106
|
+
mounted?: (() => void) | (() => void)[];
|
|
107
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
108
|
+
updated?: (() => void) | (() => void)[];
|
|
109
|
+
activated?: (() => void) | (() => void)[];
|
|
110
|
+
deactivated?: (() => void) | (() => void)[];
|
|
111
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
112
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
113
|
+
destroyed?: (() => void) | (() => void)[];
|
|
114
|
+
unmounted?: (() => void) | (() => void)[];
|
|
115
|
+
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
116
|
+
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
117
|
+
errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
118
|
+
};
|
|
119
|
+
$forceUpdate: () => void;
|
|
120
|
+
$nextTick: typeof import('vue').nextTick;
|
|
121
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
122
|
+
} & Readonly<{
|
|
123
|
+
as: import('reka-ui').AsTag | import('vue').Component;
|
|
124
|
+
}> & Omit<Readonly<import('reka-ui').NumberFieldInputProps> & Readonly<{}>, "as"> & import('vue').ShallowUnwrapRef<{}> & {} & import('vue').ComponentCustomProperties & {} & {
|
|
125
|
+
$slots: {
|
|
126
|
+
default?: (props: {}) => any;
|
|
127
|
+
};
|
|
128
|
+
}) | null;
|
|
129
|
+
}, any>;
|
|
130
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
16
131
|
export default _default;
|
|
132
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
133
|
+
new (): {
|
|
134
|
+
$slots: S;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Editor, Extension, EditorOptions } from '@tiptap/core';
|
|
2
2
|
export type MarkdownEditorVariant = 'ghost' | 'contained';
|
|
3
|
-
export type MarkdownEditorToolbarMode = 'never' | 'hover' | 'always';
|
|
3
|
+
export type MarkdownEditorToolbarMode = 'never' | 'hover' | 'always' | 'floating';
|
|
4
4
|
export type N8nMarkdownEditorProps = {
|
|
5
5
|
modelValue: string;
|
|
6
6
|
variant?: MarkdownEditorVariant;
|
|
@@ -10,7 +10,6 @@ interface ResizeProps {
|
|
|
10
10
|
scale?: number;
|
|
11
11
|
gridSize?: number;
|
|
12
12
|
supportedDirections?: Direction[];
|
|
13
|
-
outset?: boolean;
|
|
14
13
|
window?: Window;
|
|
15
14
|
}
|
|
16
15
|
declare function __VLS_template(): {
|
|
@@ -42,7 +41,6 @@ declare const __VLS_component: import('vue').DefineComponent<ResizeProps, {}, {}
|
|
|
42
41
|
isResizingEnabled: boolean;
|
|
43
42
|
gridSize: number;
|
|
44
43
|
supportedDirections: Direction[];
|
|
45
|
-
outset: boolean;
|
|
46
44
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
47
45
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
48
46
|
export default _default;
|
|
@@ -46,6 +46,7 @@ export { default as N8nInfoTip } from './N8nInfoTip';
|
|
|
46
46
|
export { default as N8nInput } from './N8nInput';
|
|
47
47
|
export { default as N8nInputLabel } from './N8nInputLabel';
|
|
48
48
|
export { default as N8nInputNumber } from './N8nInputNumber';
|
|
49
|
+
export type * from './N8nInputNumber/InputNumber.types';
|
|
49
50
|
export { default as N8nLink } from './N8nLink';
|
|
50
51
|
export { default as N8nLogo } from './N8nLogo';
|
|
51
52
|
export { default as N8nLoading } from './N8nLoading';
|
|
@@ -90,6 +91,7 @@ export { default as N8nResizeWrapper } from './N8nResizeWrapper';
|
|
|
90
91
|
export { default as N8nSelect } from './N8nSelect';
|
|
91
92
|
export { default as N8nSpinner } from './N8nSpinner';
|
|
92
93
|
export { default as N8nStatusDot } from './N8nStatusDot';
|
|
94
|
+
export type { StatusDotProps, StatusDotVariant } from './N8nStatusDot';
|
|
93
95
|
export { default as N8nStepper } from './N8nStepper/Stepper.vue';
|
|
94
96
|
export { default as N8nSticky } from './N8nSticky';
|
|
95
97
|
export { default as N8nResizeableSticky } from './N8nResizeableSticky';
|
package/dist/css/common/var.scss
CHANGED
package/dist/css/index.scss
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -19,8 +19,6 @@ export type * from './v2/components/Checkbox/Checkbox.types';
|
|
|
19
19
|
export type * from './components/N8nPagination/Pagination.types';
|
|
20
20
|
export { default as N8nLoading2 } from './v2/components/Loading/Loading.vue';
|
|
21
21
|
export type * from './v2/components/Loading/Loading.types';
|
|
22
|
-
export { default as N8nInputNumber2 } from './v2/components/InputNumber/InputNumber.vue';
|
|
23
|
-
export type * from './v2/components/InputNumber/InputNumber.types';
|
|
24
22
|
export { default as N8nRadioGroupItem } from './components/N8nRadioGroup/RadioGroupItem.vue';
|
|
25
23
|
export { default as N8nRadioGroup } from './components/N8nRadioGroup/RadioGroup.vue';
|
|
26
24
|
export type * from './components/N8nRadioGroup/RadioGroupItem.types';
|