@n8n/design-system 2.34.1 → 2.35.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 (177) hide show
  1. package/LICENSE_EE.md +27 -0
  2. package/dist/components/AskAssistantChat/AskAssistantChat.vue.d.ts +4 -4
  3. package/dist/components/N8nActionDropdown/ActionDropdown.types.d.ts +1 -0
  4. package/dist/components/N8nActionPill/ActionPill.vue.d.ts +2 -2
  5. package/dist/components/N8nAiModelSelectorDropdown/AiModelSelectorDropdown.types.d.ts +1 -1
  6. package/dist/components/N8nChatInput/ChatInput.vue.d.ts +1 -1
  7. package/dist/components/N8nDialog/Dialog.vue.d.ts +2 -0
  8. package/dist/components/N8nDialog/DialogContent.vue.d.ts +1 -0
  9. package/dist/components/N8nDialog/DialogOverlay.vue.d.ts +1 -0
  10. package/dist/components/N8nIcon/icons.d.ts +2 -0
  11. package/dist/components/N8nSegmentControl/SegmentControl.types.d.ts +16 -0
  12. package/dist/components/{N8nRadioButtons/RadioButtons.vue.d.ts → N8nSegmentControl/SegmentControl.vue.d.ts} +5 -5
  13. package/dist/components/{N8nRadioButtons/RadioButton.vue.d.ts → N8nSegmentControl/SegmentControlItem.vue.d.ts} +6 -12
  14. package/dist/components/N8nSegmentControl/index.d.ts +3 -0
  15. package/dist/components/N8nSuggestedActions/SuggestedActions.vue.d.ts +2 -0
  16. package/dist/components/index.d.ts +2 -1
  17. package/dist/css/_tokens.scss +2 -0
  18. package/dist/css/fonts/inter.scss +14 -0
  19. package/dist/css/fonts.scss +3 -7
  20. package/dist/en-CIboFQvZ.js +2 -0
  21. package/dist/{en-BN17fhJM.js → en-Dvx8tZIA.js} +2 -0
  22. package/dist/index.js +4940 -4789
  23. package/dist/style.css +1 -1
  24. package/dist/theme.css +1 -1
  25. package/dist/types/tabs.d.ts +1 -1
  26. package/dist/v2/components/InputNumber/InputNumber.types.d.ts +7 -2
  27. package/dist/v2/components/InputNumber/InputNumber.vue.d.ts +1 -0
  28. package/package.json +69 -2
  29. package/.turbo/turbo-build.log +0 -155
  30. package/assets/.nojekyll +0 -0
  31. package/assets/images/storybook-logo-dark.png +0 -0
  32. package/assets/images/storybook-logo-light.png +0 -0
  33. package/biome.jsonc +0 -11
  34. package/chromatic.config.json +0 -4
  35. package/dist/components/N8nRadioButtons/index.d.ts +0 -2
  36. package/dist/en-eH4tuQQe.js +0 -2
  37. package/eslint.config.mjs +0 -55
  38. package/postcss.config.cjs +0 -6
  39. package/src/components/N8nIcon/custom/anthropic.svg +0 -16
  40. package/src/components/N8nIcon/custom/binary.svg +0 -1
  41. package/src/components/N8nIcon/custom/bolt-filled.svg +0 -3
  42. package/src/components/N8nIcon/custom/continue.svg +0 -1
  43. package/src/components/N8nIcon/custom/discord.svg +0 -1
  44. package/src/components/N8nIcon/custom/empty-output.svg +0 -1
  45. package/src/components/N8nIcon/custom/filled-square.svg +0 -3
  46. package/src/components/N8nIcon/custom/form.svg +0 -1
  47. package/src/components/N8nIcon/custom/grip-lines-vertical.svg +0 -4
  48. package/src/components/N8nIcon/custom/json.svg +0 -1
  49. package/src/components/N8nIcon/custom/linear.svg +0 -1
  50. package/src/components/N8nIcon/custom/lovable.svg +0 -46
  51. package/src/components/N8nIcon/custom/mcp.svg +0 -1
  52. package/src/components/N8nIcon/custom/node-dirty.svg +0 -1
  53. package/src/components/N8nIcon/custom/node-ellipsis.svg +0 -1
  54. package/src/components/N8nIcon/custom/node-execution-error.svg +0 -1
  55. package/src/components/N8nIcon/custom/node-pin.svg +0 -1
  56. package/src/components/N8nIcon/custom/node-play.svg +0 -1
  57. package/src/components/N8nIcon/custom/node-power.svg +0 -1
  58. package/src/components/N8nIcon/custom/node-success.svg +0 -1
  59. package/src/components/N8nIcon/custom/node-trash.svg +0 -1
  60. package/src/components/N8nIcon/custom/node-validation-error.svg +0 -3
  61. package/src/components/N8nIcon/custom/pop-out.svg +0 -1
  62. package/src/components/N8nIcon/custom/resolver.svg +0 -3
  63. package/src/components/N8nIcon/custom/retry.svg +0 -1
  64. package/src/components/N8nIcon/custom/run-once.svg +0 -1
  65. package/src/components/N8nIcon/custom/schema.svg +0 -6
  66. package/src/components/N8nIcon/custom/slack.svg +0 -1
  67. package/src/components/N8nIcon/custom/spinner.svg +0 -12
  68. package/src/components/N8nIcon/custom/star-filled.svg +0 -1
  69. package/src/components/N8nIcon/custom/status-canceled.svg +0 -1
  70. package/src/components/N8nIcon/custom/status-completed.svg +0 -1
  71. package/src/components/N8nIcon/custom/status-error.svg +0 -1
  72. package/src/components/N8nIcon/custom/status-new.svg +0 -1
  73. package/src/components/N8nIcon/custom/status-unknown.svg +0 -1
  74. package/src/components/N8nIcon/custom/status-waiting.svg +0 -1
  75. package/src/components/N8nIcon/custom/status-warning.svg +0 -1
  76. package/src/components/N8nIcon/custom/telegram.svg +0 -1
  77. package/src/components/N8nIcon/custom/text.svg +0 -1
  78. package/src/components/N8nIcon/custom/toolbox.svg +0 -3
  79. package/src/components/N8nIcon/custom/triangle.svg +0 -1
  80. package/src/components/N8nIcon/custom/vector-square.svg +0 -10
  81. package/src/components/N8nIcon/custom/webhook.svg +0 -1
  82. package/src/components/N8nIcon/nodes/aggregate.svg +0 -6
  83. package/src/components/N8nIcon/nodes/ai-agent.svg +0 -6
  84. package/src/components/N8nIcon/nodes/ai-transform.svg +0 -3
  85. package/src/components/N8nIcon/nodes/basic-llm-chain.svg +0 -5
  86. package/src/components/N8nIcon/nodes/calculator.svg +0 -9
  87. package/src/components/N8nIcon/nodes/call-n8n-sub-workflow-tool.svg +0 -5
  88. package/src/components/N8nIcon/nodes/character-text-splitter.svg +0 -4
  89. package/src/components/N8nIcon/nodes/chat-memory-manager.svg +0 -5
  90. package/src/components/N8nIcon/nodes/chat-trigger.svg +0 -3
  91. package/src/components/N8nIcon/nodes/code.svg +0 -4
  92. package/src/components/N8nIcon/nodes/compare-datasets.svg +0 -4
  93. package/src/components/N8nIcon/nodes/compression.svg +0 -9
  94. package/src/components/N8nIcon/nodes/contextual-compression-retriever.svg +0 -7
  95. package/src/components/N8nIcon/nodes/convert-to-file.svg +0 -6
  96. package/src/components/N8nIcon/nodes/crypto.svg +0 -4
  97. package/src/components/N8nIcon/nodes/data-table.svg +0 -6
  98. package/src/components/N8nIcon/nodes/date-and-time.svg +0 -6
  99. package/src/components/N8nIcon/nodes/default-data-loader.svg +0 -9
  100. package/src/components/N8nIcon/nodes/edit-fields.svg +0 -5
  101. package/src/components/N8nIcon/nodes/edit-image.svg +0 -5
  102. package/src/components/N8nIcon/nodes/email-trigger.svg +0 -4
  103. package/src/components/N8nIcon/nodes/error-trigger.svg +0 -5
  104. package/src/components/N8nIcon/nodes/execute-command.svg +0 -5
  105. package/src/components/N8nIcon/nodes/execute-sub-workflow.svg +0 -5
  106. package/src/components/N8nIcon/nodes/execution-data.svg +0 -9
  107. package/src/components/N8nIcon/nodes/extract-from-file.svg +0 -6
  108. package/src/components/N8nIcon/nodes/filter.svg +0 -5
  109. package/src/components/N8nIcon/nodes/form-trigger.svg +0 -6
  110. package/src/components/N8nIcon/nodes/ftp.svg +0 -6
  111. package/src/components/N8nIcon/nodes/guardrails.svg +0 -4
  112. package/src/components/N8nIcon/nodes/html.svg +0 -5
  113. package/src/components/N8nIcon/nodes/http-request.svg +0 -5
  114. package/src/components/N8nIcon/nodes/if.svg +0 -6
  115. package/src/components/N8nIcon/nodes/information-extractor.svg +0 -5
  116. package/src/components/N8nIcon/nodes/item-list-output-parser.svg +0 -8
  117. package/src/components/N8nIcon/nodes/limit.svg +0 -4
  118. package/src/components/N8nIcon/nodes/local-file-trigger.svg +0 -4
  119. package/src/components/N8nIcon/nodes/loop-over-items.svg +0 -4
  120. package/src/components/N8nIcon/nodes/manual-trigger.svg +0 -5
  121. package/src/components/N8nIcon/nodes/markdown.svg +0 -6
  122. package/src/components/N8nIcon/nodes/merge.svg +0 -5
  123. package/src/components/N8nIcon/nodes/model-selector.svg +0 -6
  124. package/src/components/N8nIcon/nodes/multiquery-retriever.svg +0 -7
  125. package/src/components/N8nIcon/nodes/n8n-trigger.svg +0 -9
  126. package/src/components/N8nIcon/nodes/n8n.svg +0 -9
  127. package/src/components/N8nIcon/nodes/no-operation.svg +0 -5
  128. package/src/components/N8nIcon/nodes/question-and-answer-chain.svg +0 -5
  129. package/src/components/N8nIcon/nodes/read-write-files-from-disk.svg +0 -9
  130. package/src/components/N8nIcon/nodes/recursive-character-text-splitter.svg +0 -4
  131. package/src/components/N8nIcon/nodes/remove-duplicates.svg +0 -6
  132. package/src/components/N8nIcon/nodes/rename-keys.svg +0 -5
  133. package/src/components/N8nIcon/nodes/respond-to-webhook.svg +0 -8
  134. package/src/components/N8nIcon/nodes/rss-feed-trigger.svg +0 -5
  135. package/src/components/N8nIcon/nodes/rss-read.svg +0 -5
  136. package/src/components/N8nIcon/nodes/schedule-trigger.svg +0 -4
  137. package/src/components/N8nIcon/nodes/send-mail.svg +0 -4
  138. package/src/components/N8nIcon/nodes/sentiment-analysis.svg +0 -9
  139. package/src/components/N8nIcon/nodes/simple-memory.svg +0 -8
  140. package/src/components/N8nIcon/nodes/simple-vector-store.svg +0 -5
  141. package/src/components/N8nIcon/nodes/sort.svg +0 -6
  142. package/src/components/N8nIcon/nodes/split-out.svg +0 -6
  143. package/src/components/N8nIcon/nodes/sse-trigger.svg +0 -5
  144. package/src/components/N8nIcon/nodes/ssh.svg +0 -6
  145. package/src/components/N8nIcon/nodes/stop-and-error.svg +0 -4
  146. package/src/components/N8nIcon/nodes/structured-output-parser.svg +0 -5
  147. package/src/components/N8nIcon/nodes/sub-workflow-trigger.svg +0 -5
  148. package/src/components/N8nIcon/nodes/summarization-chain.svg +0 -6
  149. package/src/components/N8nIcon/nodes/summarize.svg +0 -5
  150. package/src/components/N8nIcon/nodes/switch.svg +0 -8
  151. package/src/components/N8nIcon/nodes/text-classifier.svg +0 -4
  152. package/src/components/N8nIcon/nodes/think-tool.svg +0 -10
  153. package/src/components/N8nIcon/nodes/token-splitter.svg +0 -4
  154. package/src/components/N8nIcon/nodes/totp.svg +0 -6
  155. package/src/components/N8nIcon/nodes/track-time-saved.svg +0 -7
  156. package/src/components/N8nIcon/nodes/vector-store-question-answer-tool.svg +0 -5
  157. package/src/components/N8nIcon/nodes/vector-store-retriever.svg +0 -5
  158. package/src/components/N8nIcon/nodes/wait.svg +0 -3
  159. package/src/components/N8nIcon/nodes/webhook.svg +0 -8
  160. package/src/components/N8nIcon/nodes/workflow-retriever.svg +0 -5
  161. package/src/components/N8nIcon/nodes/xml.svg +0 -5
  162. package/src/components/N8nInput/Input.stories.css +0 -14
  163. package/src/components/N8nLogo/logo-icon.svg +0 -3
  164. package/src/components/N8nLogo/logo-text.svg +0 -4
  165. package/src/css/tailwind/index.css +0 -3
  166. package/src/index.ts +0 -46
  167. package/src/styleguide/colour.mdx +0 -52
  168. package/src/styleguide/css-tokens.mdx +0 -97
  169. package/src/styleguide/motion.mdx +0 -104
  170. package/src/styleguide/shadow.mdx +0 -96
  171. package/src/styleguide/spacing-size.mdx +0 -78
  172. package/src/styleguide/type.mdx +0 -91
  173. package/src/v2/components/Tree/Tree.variables.module.css +0 -7
  174. package/stylelint.config.mjs +0 -9
  175. package/tailwind.config.js +0 -8
  176. package/tsconfig.build.json +0 -27
  177. package/tsconfig.json +0 -16
package/LICENSE_EE.md ADDED
@@ -0,0 +1,27 @@
1
+ # The n8n Enterprise License (the “Enterprise License”)
2
+
3
+ Copyright (c) 2022-present n8n GmbH.
4
+
5
+ With regard to the n8n Software:
6
+
7
+ This software and associated documentation files (the "Software") may only be used in production, if
8
+ you (and any entity that you represent) hold a valid n8n Enterprise license corresponding to your
9
+ usage. Subject to the foregoing sentence, you are free to modify this Software and publish patches
10
+ to the Software. You agree that n8n and/or its licensors (as applicable) retain all right, title and
11
+ interest in and to all such modifications and/or patches, and all such modifications and/or patches
12
+ may only be used, copied, modified, displayed, distributed, or otherwise exploited with a valid n8n
13
+ Enterprise license for the corresponding usage. Notwithstanding the foregoing, you may copy and
14
+ modify the Software for development and testing purposes, without requiring a subscription. You
15
+ agree that n8n and/or its licensors (as applicable) retain all right, title and interest in and to
16
+ all such modifications. You are not granted any other rights beyond what is expressly stated herein.
17
+ Subject to the foregoing, it is forbidden to copy, merge, publish, distribute, sublicense, and/or
18
+ sell the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
21
+ NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
23
+ OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
+
26
+ For all third party components incorporated into the n8n Software, those components are licensed
27
+ under the original license provided by the owner of the applicable component.
@@ -287,7 +287,7 @@ declare function __VLS_template(): {
287
287
  onSubmit?: (() => any) | undefined;
288
288
  "onUpgrade-click"?: (() => any) | undefined;
289
289
  }>, {
290
- focusInput: () => void;
290
+ focusInput: (options?: FocusOptions) => void;
291
291
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
292
292
  focus: (event: FocusEvent) => any;
293
293
  stop: () => any;
@@ -367,7 +367,7 @@ declare function __VLS_template(): {
367
367
  onSubmit?: (() => any) | undefined;
368
368
  "onUpgrade-click"?: (() => any) | undefined;
369
369
  }>, "focusInput" | ("disabled" | "placeholder" | "modelValue" | "autosize" | "autofocus" | "streaming" | "maxLength" | "sendButtonTestId" | "stopButtonTestId" | "maxLinesBeforeScroll" | "disabledTooltip" | "creditsQuota" | "creditsRemaining" | "showAskOwnerTooltip" | "refocusAfterSend" | "buttonLabel" | "layout" | "submitDisabled")> & import('vue').ShallowUnwrapRef<{
370
- focusInput: () => void;
370
+ focusInput: (options?: FocusOptions) => void;
371
371
  }> & {} & import('vue').ComponentCustomProperties & {} & {
372
372
  $slots: {
373
373
  leading?(_: {}): any;
@@ -631,7 +631,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
631
631
  onSubmit?: (() => any) | undefined;
632
632
  "onUpgrade-click"?: (() => any) | undefined;
633
633
  }>, {
634
- focusInput: () => void;
634
+ focusInput: (options?: FocusOptions) => void;
635
635
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
636
636
  focus: (event: FocusEvent) => any;
637
637
  stop: () => any;
@@ -711,7 +711,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
711
711
  onSubmit?: (() => any) | undefined;
712
712
  "onUpgrade-click"?: (() => any) | undefined;
713
713
  }>, "focusInput" | ("disabled" | "placeholder" | "modelValue" | "autosize" | "autofocus" | "streaming" | "maxLength" | "sendButtonTestId" | "stopButtonTestId" | "maxLinesBeforeScroll" | "disabledTooltip" | "creditsQuota" | "creditsRemaining" | "showAskOwnerTooltip" | "refocusAfterSend" | "buttonLabel" | "layout" | "submitDisabled")> & import('vue').ShallowUnwrapRef<{
714
- focusInput: () => void;
714
+ focusInput: (options?: FocusOptions) => void;
715
715
  }> & {} & import('vue').ComponentCustomProperties & {} & {
716
716
  $slots: {
717
717
  leading?(_: {}): any;
@@ -5,6 +5,7 @@ export interface ActionDropdownProps<T extends string = string> {
5
5
  placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end';
6
6
  activatorIcon?: IconName;
7
7
  activatorSize?: ButtonSize;
8
+ activatorIconSize?: IconSize;
8
9
  iconSize?: IconSize;
9
10
  trigger?: 'click' | 'hover';
10
11
  teleported?: boolean;
@@ -3,7 +3,7 @@ type __VLS_Props = {
3
3
  hoverText?: string;
4
4
  clickable?: boolean;
5
5
  size?: 'small' | 'medium';
6
- type?: 'default' | 'danger';
6
+ type?: 'default' | 'danger' | 'info';
7
7
  };
8
8
  declare function __VLS_template(): {
9
9
  attrs: Partial<{}>;
@@ -21,7 +21,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
21
21
  onClick?: ((event: MouseEvent) => any) | undefined;
22
22
  }>, {
23
23
  text: string;
24
- type: "default" | "danger";
24
+ type: "default" | "danger" | "info";
25
25
  size: "small" | "medium";
26
26
  hoverText: string;
27
27
  clickable: boolean;
@@ -3,7 +3,7 @@ export interface AiModelSelectorMenuItemData {
3
3
  badgeLabel?: string;
4
4
  actionPill?: {
5
5
  text: string;
6
- type?: 'default' | 'danger';
6
+ type?: 'default' | 'danger' | 'info';
7
7
  };
8
8
  description?: string;
9
9
  descriptionTooltipTeleported?: boolean;
@@ -21,7 +21,7 @@ export interface N8nChatInputProps {
21
21
  sendButtonTestId?: string;
22
22
  stopButtonTestId?: string;
23
23
  }
24
- declare function focusInput(): void;
24
+ declare function focusInput(options?: FocusOptions): void;
25
25
  declare function __VLS_template(): {
26
26
  attrs: Partial<{}>;
27
27
  slots: {
@@ -12,6 +12,7 @@ export interface DialogProps {
12
12
  ariaDescription?: string;
13
13
  header?: string;
14
14
  description?: string;
15
+ stacked?: boolean;
15
16
  }
16
17
  export interface DialogEmits {
17
18
  escapeKeyDown: [event: KeyboardEvent];
@@ -46,6 +47,7 @@ declare const __VLS_component: import('vue').DefineComponent<DialogProps, {}, {}
46
47
  disableOutsidePointerEvents: boolean;
47
48
  trapFocus: boolean;
48
49
  modal: boolean;
50
+ stacked: boolean;
49
51
  showCloseButton: boolean;
50
52
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
51
53
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -7,6 +7,7 @@ export interface DialogContentProps {
7
7
  showCloseButton?: boolean;
8
8
  ariaLabel?: string;
9
9
  ariaDescription?: string;
10
+ stacked?: boolean;
10
11
  }
11
12
  export interface DialogContentEmits {
12
13
  escapeKeyDown: [event: KeyboardEvent];
@@ -1,5 +1,6 @@
1
1
  export interface DialogOverlayProps {
2
2
  forceMount?: boolean;
3
+ stacked?: boolean;
3
4
  }
4
5
  declare const _default: import('vue').DefineComponent<DialogOverlayProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DialogOverlayProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
6
  export default _default;
@@ -404,6 +404,7 @@ export declare const updatedIconSet: {
404
404
  readonly pen: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
405
405
  readonly pencil: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
406
406
  readonly 'pencil-off': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
407
+ readonly 'picture-in-picture-2': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
407
408
  readonly pin: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
408
409
  readonly play: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
409
410
  readonly plug: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
@@ -474,6 +475,7 @@ export declare const updatedIconSet: {
474
475
  readonly video: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
475
476
  readonly 'volume-2': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
476
477
  readonly 'volume-x': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
478
+ readonly wallet: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
477
479
  readonly 'wand-sparkles': import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
478
480
  readonly waypoints: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
479
481
  readonly workflow: import('vue').FunctionalComponent<import('vue').SVGAttributes, {}, any, {}>;
@@ -0,0 +1,16 @@
1
+ import { RadioGroupRootProps } from 'reka-ui';
2
+ export type SegmentControlSize = 'mini' | 'small' | 'default' | 'large' | 'xlarge';
3
+ export interface SegmentOption<Value extends string | boolean = string | boolean> {
4
+ label: string;
5
+ value: Value;
6
+ disabled?: boolean;
7
+ data?: Record<string, string | number | boolean | undefined>;
8
+ }
9
+ export type SegmentControlProps<Value extends string | boolean = string | boolean> = Pick<RadioGroupRootProps, 'name' | 'required' | 'loop' | 'dir'> & {
10
+ modelValue?: Value;
11
+ defaultValue?: Value;
12
+ options?: Array<SegmentOption<Value>>;
13
+ size?: SegmentControlSize;
14
+ disabled?: boolean;
15
+ squareButtons?: boolean;
16
+ };
@@ -1,14 +1,14 @@
1
- import { RadioButtonsProps, RadioOption } from './RadioButtons.types';
2
- declare const _default: <Value extends string | boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1
+ import { SegmentControlProps, SegmentOption } from './SegmentControl.types';
2
+ declare const _default: <Value extends string | boolean = string | boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
4
  readonly "onUpdate:modelValue"?: ((value: Value, e: MouseEvent) => any) | undefined;
5
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & RadioButtonsProps<Value> & Partial<{}>> & import('vue').PublicProps;
5
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & SegmentControlProps<Value> & Partial<{}>> & import('vue').PublicProps;
6
6
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
7
7
  attrs: any;
8
8
  slots: Readonly<{
9
- option?: ((props: RadioOption<Value>) => {}) | undefined;
9
+ option?: (props: SegmentOption<Value>) => unknown;
10
10
  }> & {
11
- option?: ((props: RadioOption<Value>) => {}) | undefined;
11
+ option?: (props: SegmentOption<Value>) => unknown;
12
12
  };
13
13
  emit: (evt: "update:modelValue", value: Value, e: MouseEvent) => void;
14
14
  }>) => import('vue').VNode & {
@@ -1,28 +1,22 @@
1
- interface RadioButtonProps {
1
+ interface SegmentControlItemProps {
2
2
  label: string;
3
3
  value: string;
4
- active?: boolean;
5
4
  disabled?: boolean;
6
- size?: 'small' | 'small-medium' | 'medium';
7
5
  square?: boolean;
8
6
  }
9
7
  declare function __VLS_template(): {
10
8
  attrs: Partial<{}>;
11
- slots: Readonly<{
12
- default?: {};
13
- }> & {
14
- default?: {};
9
+ slots: {
10
+ default?(_: {}): any;
15
11
  };
16
12
  refs: {};
17
- rootEl: HTMLLabelElement;
13
+ rootEl: any;
18
14
  };
19
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
- declare const __VLS_component: import('vue').DefineComponent<RadioButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<RadioButtonProps> & Readonly<{}>, {
16
+ declare const __VLS_component: import('vue').DefineComponent<SegmentControlItemProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SegmentControlItemProps> & Readonly<{}>, {
21
17
  square: boolean;
22
18
  disabled: boolean;
23
- size: "small" | "small-medium" | "medium";
24
- active: boolean;
25
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLLabelElement>;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
20
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
21
  export default _default;
28
22
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -0,0 +1,3 @@
1
+ import { default as N8nSegmentControl } from './SegmentControl.vue';
2
+ export type { SegmentControlProps, SegmentControlSize, SegmentOption, } from './SegmentControl.types';
3
+ export default N8nSegmentControl;
@@ -10,6 +10,7 @@ export interface SuggestedActionsProps {
10
10
  actions: SuggestedAction[];
11
11
  open: boolean;
12
12
  popoverAlignment?: 'start' | 'end' | 'center';
13
+ popoverSideOffset?: number;
13
14
  notice?: string;
14
15
  hideTrigger?: boolean;
15
16
  }
@@ -22,5 +23,6 @@ declare const _default: import('vue').DefineComponent<SuggestedActionsProps, {},
22
23
  }>, {
23
24
  notice: string;
24
25
  popoverAlignment: "start" | "end" | "center";
26
+ popoverSideOffset: number;
25
27
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
28
  export default _default;
@@ -82,7 +82,8 @@ export { default as N8nChatInput, useChatInputAutoFocus, type ChatInputAutoFocus
82
82
  export { default as N8nChatMessage } from './N8nChatMessage';
83
83
  export { default as N8nPulse } from './N8nPulse';
84
84
  export { default as N8nSendStopButton } from './N8nSendStopButton';
85
- export { default as N8nRadioButtons } from './N8nRadioButtons';
85
+ export { default as N8nSegmentControl } from './N8nSegmentControl';
86
+ export type { SegmentControlProps, SegmentControlSize, SegmentOption, } from './N8nSegmentControl';
86
87
  export { default as N8nRoute } from './N8nRoute';
87
88
  export { default as N8nRecycleScroller } from './N8nRecycleScroller';
88
89
  export { default as N8nResizeWrapper } from './N8nResizeWrapper';
@@ -361,6 +361,8 @@
361
361
  --ndv--droppable-parameter--color--background--active: var(--color--green-alpha-100);
362
362
  --ndv--back--color--text: var(--color--neutral-white);
363
363
  --ndv--background--color: var(--color--background--light-3);
364
+ --ndv--header--color: var(--color--background);
365
+ --ndv--header--height: calc(var(--height--xl) + var(--spacing--5xs));
364
366
 
365
367
  // Notice
366
368
  --notice--border-color--warning: var(--color--warning--tint-1);
@@ -0,0 +1,14 @@
1
+ // The upright InterVariable face on its own. Standalone surfaces that render no
2
+ // italic or monospace text pull this instead of `../fonts.scss`, which also declares
3
+ // the Inter italic and CommitMono faces and would ship two font files they never use.
4
+ //
5
+ // `dist/css/fonts/` sits three levels below the package root exactly like
6
+ // `src/css/fonts/`, so the relative `url()` below resolves the same inside the
7
+ // monorepo and from a published tarball.
8
+ @font-face {
9
+ font-family: InterVariable;
10
+ font-style: normal;
11
+ font-weight: 100 900;
12
+ font-display: swap;
13
+ src: url('../../../assets/fonts/InterVariable.woff2') format('woff2');
14
+ }
@@ -1,12 +1,8 @@
1
1
  @use './common/var';
2
2
 
3
- @font-face {
4
- font-family: InterVariable;
5
- font-style: normal;
6
- font-weight: 100 900;
7
- font-display: swap;
8
- src: url('../../assets/fonts/InterVariable.woff2') format('woff2');
9
- }
3
+ // Emits the upright InterVariable face, which surfaces that need only that one
4
+ // can also pull on its own. Keep this first so the declaration order is unchanged.
5
+ @use './fonts/inter';
10
6
 
11
7
  @font-face {
12
8
  font-family: InterVariable;
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./en-Dvx8tZIA.js";
2
+ export { e as default };
@@ -9,6 +9,8 @@ var e = {
9
9
  "nds.userInfo.you": "(you)",
10
10
  "nds.userSelect.selectUser": "Select User",
11
11
  "nds.userSelect.noMatchingUsers": "No matching users",
12
+ "nds.inputNumber.increase": "Increase",
13
+ "nds.inputNumber.decrease": "Decrease",
12
14
  "notice.showMore": "Show more",
13
15
  "notice.showLess": "Show less",
14
16
  "formInput.validator.fieldRequired": "This field is required",