@sit-onyx/tiptap 0.2.0-dev-20260422105150 → 0.3.0-dev-20260527084737

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 @@
1
+ [{"exportName":"default","displayName":"OnyxEditorToolbarAction","type":1,"props":[{"name":"disabled","global":false,"description":"If the button should be disabled or not.","tags":[],"required":false,"type":"FormInjected<boolean> | undefined","schema":{"kind":"enum","type":"FormInjected<boolean> | undefined","schema":["undefined","false","true","symbol"]},"declarations":[]},{"name":"label","global":false,"description":"Button label / text to show. Is always required (even if `icon` is set) for screen readers / accessibility.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},{"name":"icon","global":false,"description":"Icon to show. Will visually hide the label if set.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},{"name":"active","global":false,"description":"Whether the action is currently active.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]}],"events":[],"slots":[{"name":"default","type":"any","description":"Optional slot to override the button content.","tags":[],"schema":"any","declarations":[]}],"exposed":[]},{"exportName":"default","displayName":"OnyxEditorToolbarFlyout","type":1,"props":[{"name":"label","global":false,"description":"Label for the flyout button.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},{"name":"icon","global":false,"description":"Icon for the flyout button.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},{"name":"options","global":false,"description":"List of available options.","tags":[],"required":true,"type":"EditorToolbarFlyoutOption[]","schema":"EditorToolbarFlyoutOption[]","declarations":[]}],"events":[],"slots":[],"exposed":[]},{"exportName":"default","displayName":"OnyxEditorToolbarGroup","type":1,"props":[],"events":[],"slots":[{"name":"default","type":"any","description":"Toolbar actions related to this group.","tags":[],"schema":"any","declarations":[]}],"exposed":[]},{"exportName":"default","displayName":"OnyxTextEditor","type":1,"props":[{"name":"skeleton","global":false,"default":"SKELETON_INJECTED_SYMBOL","description":"Whether to show as skeleton.","tags":[],"required":false,"type":"SkeletonInjected | undefined","schema":{"kind":"enum","type":"SkeletonInjected | undefined","schema":["undefined","number","false","true","symbol"]},"declarations":[]},{"name":"label","global":false,"description":"Label to show for the element. Required due to accessibility / screen readers.\nIf you want to visually hide the label, use the `label.hidden` property.","tags":[],"required":true,"type":"string | FormElementV2LabelOptions","schema":{"kind":"enum","type":"string | FormElementV2LabelOptions","schema":["string",{"kind":"object","type":"FormElementV2LabelOptions","schema":{"label":{"name":"label","global":false,"description":"Label displayed outside of the tooltip.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},"tooltipText":{"name":"tooltipText","global":false,"description":"Actual tooltip text.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"declarations":[]},"position":{"name":"position","global":false,"description":"How to position the label relative to the main content.","tags":[],"required":false,"type":"\"top\" | \"left\" | \"right\" | undefined","schema":{"kind":"enum","type":"\"top\" | \"left\" | \"right\" | undefined","schema":["undefined","\"top\"","\"left\"","\"right\""]},"declarations":[]},"hidden":{"name":"hidden","global":false,"description":"If `true`, the label will be visually hidden.\nFor accessibility / screen readers, the aria-label will still be set.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]}}}]},"declarations":[]},{"name":"requiredMarker","global":false,"default":"FORM_INJECTED_SYMBOL","description":"How to display the required / optional marker.\n- optional: will show an `(optional)` text after the label for optional form elements.\n- required: will show an `*` indicator for required inputs after the label instead.\n\nNo marker will be visible if the label is hidden.","tags":[{"name":"default","text":"Inherits value from closest `<OnyxForm>` component or `required` if none exists"}],"required":false,"type":"FormInjected<\"required\" | \"optional\"> | undefined","schema":{"kind":"enum","type":"FormInjected<\"required\" | \"optional\"> | undefined","schema":["undefined","symbol","\"required\"","\"optional\""]},"declarations":[]},{"name":"reserveMessageSpace","global":false,"default":"FORM_INJECTED_SYMBOL","description":"Always reserves the space required to show `error` or other messages.\nSubsequently this will increase the height of the form element permanently.\nWe recommend to enable this to avoid layout shifts.","tags":[{"name":"default","text":"Inherits value from closest `<OnyxForm>` component, defaults to `false` otherwise"}],"required":false,"type":"FormInjected<boolean> | undefined","schema":{"kind":"enum","type":"FormInjected<boolean> | undefined","schema":["undefined","false","true","symbol"]},"declarations":[]},{"name":"showError","global":false,"default":"FORM_INJECTED_SYMBOL","description":"Configures if and when errors are shown.\n- `true`: errors will be shown initially.\n- `false`: errors will never be shown. ⚠️ Only the displaying of the error is effected! An error can still block submission!\n- \"touched\": only shows an error *after* a user has significantly interacted with the input, see [\\:user-invalid](https://drafts.csswg.org/selectors/#user-invalid-pseudo)","tags":[{"name":"default","text":"Inherits value from closest `<OnyxForm>` component or `touched` if none exists"}],"required":false,"type":"FormInjected<ShowErrorMode> | undefined","schema":{"kind":"enum","type":"FormInjected<ShowErrorMode> | undefined","schema":["undefined","false","true","symbol","\"touched\""]},"declarations":[]},{"name":"density","global":false,"description":"Density defines the amount of vertical white space a component has and the height of the main (interactive) element of a component.","tags":[{"name":"default","text":"undefined By default the parents setting is used, if none is defined on any parent `default` is the default."}],"required":false,"type":"\"default\" | \"compact\" | \"cozy\" | undefined","schema":{"kind":"enum","type":"\"default\" | \"compact\" | \"cozy\" | undefined","schema":["undefined","\"default\"","\"compact\"","\"cozy\""]},"declarations":[]},{"name":"message","global":false,"description":"Optional message to show below the form element.","tags":[],"required":false,"type":"string | FormElementV2Tooltip | undefined","schema":{"kind":"enum","type":"string | FormElementV2Tooltip | undefined","schema":["undefined","string",{"kind":"object","type":"FormElementV2Tooltip","schema":{"label":{"name":"label","global":false,"description":"Label displayed outside of the tooltip.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},"tooltipText":{"name":"tooltipText","global":false,"description":"Actual tooltip text.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"declarations":[]}}}]},"declarations":[]},{"name":"error","global":false,"description":"Optional error message to show below the form element.","tags":[],"required":false,"type":"string | FormElementV2Tooltip | undefined","schema":{"kind":"enum","type":"string | FormElementV2Tooltip | undefined","schema":["undefined","string",{"kind":"object","type":"FormElementV2Tooltip","schema":{"label":{"name":"label","global":false,"description":"Label displayed outside of the tooltip.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},"tooltipText":{"name":"tooltipText","global":false,"description":"Actual tooltip text.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"declarations":[]}}}]},"declarations":[]},{"name":"success","global":false,"description":"Optional success message to show below the form element.","tags":[],"required":false,"type":"string | FormElementV2Tooltip | undefined","schema":{"kind":"enum","type":"string | FormElementV2Tooltip | undefined","schema":["undefined","string",{"kind":"object","type":"FormElementV2Tooltip","schema":{"label":{"name":"label","global":false,"description":"Label displayed outside of the tooltip.","tags":[],"required":true,"type":"string","schema":"string","declarations":[]},"tooltipText":{"name":"tooltipText","global":false,"description":"Actual tooltip text.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"declarations":[]}}}]},"declarations":[]},{"name":"required","global":false,"description":"Whether the a value for this form element is required.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]},{"name":"loading","global":false,"description":"Whether a loading indicator should be shown.\nWill hide the `leadingIcons` slot if set.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]},{"name":"disabled","global":false,"default":"FORM_INJECTED_SYMBOL","description":"Whether the input should be disabled and prevent the user from interacting with it.\nDisabled makes the element not mutable, focusable, or even submitted with the form.\nIt will also not be validated.","tags":[{"name":"default","text":"Inherits value from closest `<OnyxForm>` component, defaults to `false` otherwise"}],"required":false,"type":"FormInjected<boolean> | undefined","schema":{"kind":"enum","type":"FormInjected<boolean> | undefined","schema":["undefined","false","true","symbol"]},"declarations":[]},{"name":"autofocus","global":false,"description":"Whether to focus the component on page load or inside a dialog/popover once it opens.\nCan only be enabled for one element inside a page/dialog/popover.\nNote: Has no effect when set after the component has been mounted.\n\n**UX / Accessibility**: autofocus should be used carefully since it can reduce usability and accessibility for users.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]},{"name":"placeholder","global":false,"description":"Placeholder to show when the value is empty.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"declarations":[]},{"name":"withCounter","global":false,"description":"If `true`, a character counter will be displayed if `maxLength` is set.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]},{"name":"disableManualResize","global":false,"description":"If `true`, the user will not be able to manually resize the textarea by dragging the bottom right corner.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"declarations":[]},{"name":"autosize","global":false,"description":"Override the default autosize behavior (height adjusts based on the current value).\nBy default, the textarea will autosize while maintaining at least 3 and at most 10 rows.\nIf the user resizes the textarea manually, the autosize will no longer work and the height\nset by the user is used.","tags":[],"required":false,"type":"TextareaAutosize | undefined","schema":{"kind":"enum","type":"TextareaAutosize | undefined","schema":["undefined",{"kind":"object","type":"TextareaAutosize","schema":{"min":{"name":"min","global":false,"description":"Sets the min height to the given number of rows/lines.\nMust be `>= 2`. Will also be considered if the user resizes manually.","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"declarations":[]},"max":{"name":"max","global":false,"description":"Sets the max height to the given number of rows/lines.\nIf omitted, the textarea can grow unlimited.\nWill be ignored if the user resizes manually.","tags":[],"required":false,"type":"number | undefined","schema":"number | undefined","declarations":[]}}}]},"declarations":[]},{"name":"modelValue","global":false,"description":"Current editor value.","tags":[],"required":false,"type":"Nullable<string>","schema":{"kind":"enum","type":"Nullable<string>","schema":["undefined","null","string"]},"declarations":[]},{"name":"toolbar","global":false,"default":"{ position: \"top\" }","description":"Toolbar config.","tags":[],"required":false,"type":"ToolbarOptions | undefined","schema":{"kind":"enum","type":"ToolbarOptions | undefined","schema":["undefined",{"kind":"object","type":"ToolbarOptions","schema":{"position":{"name":"position","global":false,"description":"How to position the toolbar.","tags":[{"name":"default","text":"\"top\""}],"required":false,"type":"\"top\" | \"bottom\" | undefined","schema":{"kind":"enum","type":"\"top\" | \"bottom\" | undefined","schema":["undefined","\"top\"","\"bottom\""]},"declarations":[]}}}]},"declarations":[]},{"name":"extensions","global":false,"default":"[OnyxStarterKit]","description":"Tiptap extensions to use. Should not be changed dynamically.\nIf set, default extensions will be overridden. Use or configure the OnyxStarterKit in this case.","tags":[],"required":false,"type":"Extensions | undefined","schema":{"kind":"enum","type":"Extensions | undefined","schema":["undefined","Extensions"]},"declarations":[]},{"name":"minlength","global":false,"description":"Minimum number of characters that have to to be entered.\nCharacter count is determined using Tiptap's [CharacterCount extension](https://tiptap.dev/docs/editor/extensions/functionality/character-count).","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"declarations":[]},{"name":"maxlength","global":false,"description":"Maximum number of characters that are allowed to be entered.\nCharacter count is determined using Tiptap's [CharacterCount extension](https://tiptap.dev/docs/editor/extensions/functionality/character-count).","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"declarations":[]}],"events":[{"name":"update:modelValue","description":"Emitted when the value of the editor changes.","tags":[],"type":"[value: string]","signature":"(event: \"update:modelValue\", value: string): void","schema":["string"],"declarations":[]}],"slots":[{"name":"actions","type":"any","description":"Optional slot to add custom actions to the toolbar.","tags":[],"schema":"any","declarations":[]}],"exposed":[{"name":"editor","type":"Editor | undefined","description":"Tiptap editor instance.","tags":[],"schema":{"kind":"enum","type":"Editor | undefined","schema":["undefined","Editor"]},"declarations":[]}]},{"exportName":"default","displayName":"EditorToolbar","type":1,"props":[{"name":"editor","global":false,"description":"","tags":[],"required":false,"type":"Editor | undefined","schema":{"kind":"enum","type":"Editor | undefined","schema":["undefined","Editor"]},"declarations":[]}],"events":[],"slots":[{"name":"default","type":"any","description":"Optional slot to add custom actions to the toolbar.","tags":[],"schema":"any","declarations":[]}],"exposed":[]},{"exportName":"default","displayName":"ListToolbarAction","type":1,"props":[{"name":"editor","global":false,"description":"","tags":[],"required":false,"type":"Editor | undefined","schema":{"kind":"enum","type":"Editor | undefined","schema":["undefined","Editor"]},"declarations":[]}],"events":[],"slots":[],"exposed":[]},{"exportName":"default","displayName":"HeadingToolbarAction","type":1,"props":[{"name":"editor","global":false,"description":"","tags":[],"required":false,"type":"Editor | undefined","schema":{"kind":"enum","type":"Editor | undefined","schema":["undefined","Editor"]},"declarations":[]}],"events":[],"slots":[],"exposed":[]},{"exportName":"default","displayName":"LinkToolbarAction","type":1,"props":[{"name":"editor","global":false,"description":"","tags":[],"required":false,"type":"Editor | undefined","schema":{"kind":"enum","type":"Editor | undefined","schema":["undefined","Editor"]},"declarations":[]}],"events":[],"slots":[],"exposed":[]}]
@@ -1,25 +1,15 @@
1
1
  import { OnyxEditorToolbarActionProps } from './types.js';
2
- declare function __VLS_template(): {
3
- attrs: Partial<{}>;
4
- slots: Readonly<{
5
- /**
6
- * Optional slot to override the button content.
7
- */
8
- default?(): unknown;
9
- }> & {
10
- /**
11
- * Optional slot to override the button content.
12
- */
13
- default?(): unknown;
14
- };
15
- refs: {};
16
- rootEl: any;
2
+ type __VLS_Slots = {
3
+ /**
4
+ * Optional slot to override the button content.
5
+ */
6
+ default?(): unknown;
17
7
  };
18
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import('@vue/runtime-core').DefineComponent<OnyxEditorToolbarActionProps, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<OnyxEditorToolbarActionProps> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
20
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
8
+ declare const __VLS_base: import('@vue/runtime-core').DefineComponent<OnyxEditorToolbarActionProps, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<OnyxEditorToolbarActionProps> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
21
11
  export default _default;
22
- type __VLS_WithTemplateSlots<T, S> = T & {
12
+ type __VLS_WithSlots<T, S> = T & {
23
13
  new (): {
24
14
  $slots: S;
25
15
  };
@@ -1,3 +1,4 @@
1
1
  import { OnyxEditorToolbarFlyoutProps } from './types.js';
2
- declare const _default: import('@vue/runtime-core').DefineComponent<OnyxEditorToolbarFlyoutProps, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<OnyxEditorToolbarFlyoutProps> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
2
+ declare const __VLS_export: import('@vue/runtime-core').DefineComponent<OnyxEditorToolbarFlyoutProps, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<OnyxEditorToolbarFlyoutProps> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
3
+ declare const _default: typeof __VLS_export;
3
4
  export default _default;
@@ -1,24 +1,14 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: Readonly<{
4
- /**
5
- * Toolbar actions related to this group.
6
- */
7
- default(): unknown;
8
- }> & {
9
- /**
10
- * Toolbar actions related to this group.
11
- */
12
- default(): unknown;
13
- };
14
- refs: {};
15
- rootEl: HTMLDivElement;
1
+ type __VLS_Slots = {
2
+ /**
3
+ * Toolbar actions related to this group.
4
+ */
5
+ default(): unknown;
16
6
  };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import('@vue/runtime-core').DefineComponent<{}, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, true, {}, HTMLDivElement>;
19
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
7
+ declare const __VLS_base: import('@vue/runtime-core').DefineComponent<{}, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, true, {}, any>;
8
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
9
+ declare const _default: typeof __VLS_export;
20
10
  export default _default;
21
- type __VLS_WithTemplateSlots<T, S> = T & {
11
+ type __VLS_WithSlots<T, S> = T & {
22
12
  new (): {
23
13
  $slots: S;
24
14
  };
@@ -2,27 +2,17 @@ import { Editor } from '@tiptap/vue-3';
2
2
  type __VLS_Props = {
3
3
  editor?: Editor;
4
4
  };
5
- declare function __VLS_template(): {
6
- attrs: Partial<{}>;
7
- slots: Readonly<{
8
- /**
9
- * Optional slot to add custom actions to the toolbar.
10
- */
11
- default?(): unknown;
12
- }> & {
13
- /**
14
- * Optional slot to add custom actions to the toolbar.
15
- */
16
- default?(): unknown;
17
- };
18
- refs: {};
19
- rootEl: HTMLDivElement;
5
+ type __VLS_Slots = {
6
+ /**
7
+ * Optional slot to add custom actions to the toolbar.
8
+ */
9
+ default?(): unknown;
20
10
  };
21
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
- declare const __VLS_component: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, HTMLDivElement>;
23
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
11
+ declare const __VLS_base: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
24
14
  export default _default;
25
- type __VLS_WithTemplateSlots<T, S> = T & {
15
+ type __VLS_WithSlots<T, S> = T & {
26
16
  new (): {
27
17
  $slots: S;
28
18
  };
@@ -1,102 +1,11 @@
1
- import { FormElementV2Tooltip } from 'sit-onyx';
2
1
  import { OnyxTextEditorProps } from './types.js';
3
- declare function __VLS_template(): {
4
- attrs: Partial<{}>;
5
- slots: Readonly<{
6
- /**
7
- * Optional slot to add custom actions to the toolbar.
8
- */
9
- actions?(): unknown;
10
- }> & {
11
- /**
12
- * Optional slot to add custom actions to the toolbar.
13
- */
14
- actions?(): unknown;
15
- };
16
- refs: {
17
- formElement: ({
18
- $: import('@vue/runtime-core').ComponentInternalInstance;
19
- $data: {};
20
- $props: {
21
- readonly density?: import('sit-onyx', { with: { "resolution-mode": "import" } }).Density | undefined;
22
- readonly requiredMarker?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType> | undefined;
23
- readonly reserveMessageSpace?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean> | undefined;
24
- readonly showError?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode> | undefined;
25
- readonly id?: string | undefined;
26
- readonly label: string | import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2LabelOptions;
27
- readonly skeleton?: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected | undefined;
28
- readonly message?: (string | FormElementV2Tooltip) | undefined;
29
- readonly error?: (string | FormElementV2Tooltip) | undefined;
30
- readonly success?: (string | FormElementV2Tooltip) | undefined;
31
- readonly required?: boolean | undefined;
32
- readonly loading?: boolean | undefined;
33
- readonly open?: import('sit-onyx', { with: { "resolution-mode": "import" } }).Nullable<boolean>;
34
- readonly popoverOptions?: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions | undefined;
35
- readonly "onUpdate:open"?: ((open: boolean) => any) | undefined | undefined;
36
- } & import('@vue/runtime-core').VNodeProps & import('@vue/runtime-core').AllowedComponentProps & import('@vue/runtime-core').ComponentCustomProps;
37
- $attrs: import('@vue/runtime-core').Attrs;
38
- $refs: {
39
- [x: string]: unknown;
40
- };
41
- $slots: Readonly<{
42
- [name: string]: import('@vue/runtime-core').Slot<any> | undefined;
43
- }>;
44
- $root: import('@vue/runtime-core').ComponentPublicInstance | null;
45
- $parent: import('@vue/runtime-core').ComponentPublicInstance | null;
46
- $host: Element | null;
47
- $emit: (event: "update:open", open: boolean) => void;
48
- $el: HTMLDivElement;
49
- $options: import('@vue/runtime-core').ComponentOptionsBase<Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Props> & Readonly<{
50
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
51
- }>, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {
52
- "update:open": (open: boolean) => any;
53
- }, string, {
54
- skeleton: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected;
55
- showError: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
56
- requiredMarker: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType>;
57
- reserveMessageSpace: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
58
- id: string;
59
- open: boolean | null;
60
- popoverOptions: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions;
61
- }, {}, string, {}, import('@vue/runtime-core').GlobalComponents, import('@vue/runtime-core').GlobalDirectives, string, import('@vue/runtime-core').ComponentProvideOptions> & {
62
- beforeCreate?: (() => void) | (() => void)[];
63
- created?: (() => void) | (() => void)[];
64
- beforeMount?: (() => void) | (() => void)[];
65
- mounted?: (() => void) | (() => void)[];
66
- beforeUpdate?: (() => void) | (() => void)[];
67
- updated?: (() => void) | (() => void)[];
68
- activated?: (() => void) | (() => void)[];
69
- deactivated?: (() => void) | (() => void)[];
70
- beforeDestroy?: (() => void) | (() => void)[];
71
- beforeUnmount?: (() => void) | (() => void)[];
72
- destroyed?: (() => void) | (() => void)[];
73
- unmounted?: (() => void) | (() => void)[];
74
- renderTracked?: ((e: import('@vue/reactivity').DebuggerEvent) => void) | ((e: import('@vue/reactivity').DebuggerEvent) => void)[];
75
- renderTriggered?: ((e: import('@vue/reactivity').DebuggerEvent) => void) | ((e: import('@vue/reactivity').DebuggerEvent) => void)[];
76
- errorCaptured?: ((err: unknown, instance: import('@vue/runtime-core').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('@vue/runtime-core').ComponentPublicInstance | null, info: string) => boolean | void)[];
77
- };
78
- $forceUpdate: () => void;
79
- $nextTick: typeof import('@vue/runtime-core').nextTick;
80
- $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/runtime-core').WatchOptions): import('@vue/reactivity').WatchStopHandle;
81
- } & Readonly<{
82
- skeleton: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected;
83
- showError: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
84
- requiredMarker: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType>;
85
- reserveMessageSpace: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
86
- id: string;
87
- open: boolean | null;
88
- popoverOptions: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions;
89
- }> & Omit<Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Props> & Readonly<{
90
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
91
- }>, "requiredMarker" | "reserveMessageSpace" | "showError" | "open" | "popoverOptions" | "id" | "skeleton"> & {} & import('@vue/runtime-core').ComponentCustomProperties & {} & {
92
- $slots: Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Slots> & import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Slots;
93
- }) | null;
94
- nativeInput: HTMLInputElement;
95
- };
96
- rootEl: HTMLDivElement;
2
+ type __VLS_Slots = {
3
+ /**
4
+ * Optional slot to add custom actions to the toolbar.
5
+ */
6
+ actions?(): unknown;
97
7
  };
98
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
99
- declare const __VLS_component: import('@vue/runtime-core').DefineComponent<OnyxTextEditorProps, {
8
+ declare const __VLS_base: import('@vue/runtime-core').DefineComponent<OnyxTextEditorProps, {
100
9
  /**
101
10
  * Tiptap editor instance.
102
11
  */
@@ -113,89 +22,11 @@ declare const __VLS_component: import('@vue/runtime-core').DefineComponent<OnyxT
113
22
  disabled: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
114
23
  toolbar: import('./types.js', { with: { "resolution-mode": "import" } }).ToolbarOptions;
115
24
  extensions: import('@tiptap/core', { with: { "resolution-mode": "import" } }).Extensions;
116
- }, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {
117
- formElement: ({
118
- $: import('@vue/runtime-core').ComponentInternalInstance;
119
- $data: {};
120
- $props: {
121
- readonly density?: import('sit-onyx', { with: { "resolution-mode": "import" } }).Density | undefined;
122
- readonly requiredMarker?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType> | undefined;
123
- readonly reserveMessageSpace?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean> | undefined;
124
- readonly showError?: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode> | undefined;
125
- readonly id?: string | undefined;
126
- readonly label: string | import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2LabelOptions;
127
- readonly skeleton?: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected | undefined;
128
- readonly message?: (string | FormElementV2Tooltip) | undefined;
129
- readonly error?: (string | FormElementV2Tooltip) | undefined;
130
- readonly success?: (string | FormElementV2Tooltip) | undefined;
131
- readonly required?: boolean | undefined;
132
- readonly loading?: boolean | undefined;
133
- readonly open?: import('sit-onyx', { with: { "resolution-mode": "import" } }).Nullable<boolean>;
134
- readonly popoverOptions?: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions | undefined;
135
- readonly "onUpdate:open"?: ((open: boolean) => any) | undefined | undefined;
136
- } & import('@vue/runtime-core').VNodeProps & import('@vue/runtime-core').AllowedComponentProps & import('@vue/runtime-core').ComponentCustomProps;
137
- $attrs: import('@vue/runtime-core').Attrs;
138
- $refs: {
139
- [x: string]: unknown;
140
- };
141
- $slots: Readonly<{
142
- [name: string]: import('@vue/runtime-core').Slot<any> | undefined;
143
- }>;
144
- $root: import('@vue/runtime-core').ComponentPublicInstance | null;
145
- $parent: import('@vue/runtime-core').ComponentPublicInstance | null;
146
- $host: Element | null;
147
- $emit: (event: "update:open", open: boolean) => void;
148
- $el: HTMLDivElement;
149
- $options: import('@vue/runtime-core').ComponentOptionsBase<Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Props> & Readonly<{
150
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
151
- }>, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {
152
- "update:open": (open: boolean) => any;
153
- }, string, {
154
- skeleton: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected;
155
- showError: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
156
- requiredMarker: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType>;
157
- reserveMessageSpace: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
158
- id: string;
159
- open: boolean | null;
160
- popoverOptions: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions;
161
- }, {}, string, {}, import('@vue/runtime-core').GlobalComponents, import('@vue/runtime-core').GlobalDirectives, string, import('@vue/runtime-core').ComponentProvideOptions> & {
162
- beforeCreate?: (() => void) | (() => void)[];
163
- created?: (() => void) | (() => void)[];
164
- beforeMount?: (() => void) | (() => void)[];
165
- mounted?: (() => void) | (() => void)[];
166
- beforeUpdate?: (() => void) | (() => void)[];
167
- updated?: (() => void) | (() => void)[];
168
- activated?: (() => void) | (() => void)[];
169
- deactivated?: (() => void) | (() => void)[];
170
- beforeDestroy?: (() => void) | (() => void)[];
171
- beforeUnmount?: (() => void) | (() => void)[];
172
- destroyed?: (() => void) | (() => void)[];
173
- unmounted?: (() => void) | (() => void)[];
174
- renderTracked?: ((e: import('@vue/reactivity').DebuggerEvent) => void) | ((e: import('@vue/reactivity').DebuggerEvent) => void)[];
175
- renderTriggered?: ((e: import('@vue/reactivity').DebuggerEvent) => void) | ((e: import('@vue/reactivity').DebuggerEvent) => void)[];
176
- errorCaptured?: ((err: unknown, instance: import('@vue/runtime-core').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('@vue/runtime-core').ComponentPublicInstance | null, info: string) => boolean | void)[];
177
- };
178
- $forceUpdate: () => void;
179
- $nextTick: typeof import('@vue/runtime-core').nextTick;
180
- $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/runtime-core').WatchOptions): import('@vue/reactivity').WatchStopHandle;
181
- } & Readonly<{
182
- skeleton: import('sit-onyx', { with: { "resolution-mode": "import" } }).SkeletonInjected;
183
- showError: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode>;
184
- requiredMarker: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<import('sit-onyx/dist/composables/required.js', { with: { "resolution-mode": "import" } }).RequiredMarkerType>;
185
- reserveMessageSpace: import('sit-onyx/dist/components/OnyxForm/OnyxForm.core.js', { with: { "resolution-mode": "import" } }).FormInjected<boolean>;
186
- id: string;
187
- open: boolean | null;
188
- popoverOptions: import('sit-onyx', { with: { "resolution-mode": "import" } }).FormElementV2PopoverOptions;
189
- }> & Omit<Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Props> & Readonly<{
190
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
191
- }>, "requiredMarker" | "reserveMessageSpace" | "showError" | "open" | "popoverOptions" | "id" | "skeleton"> & {} & import('@vue/runtime-core').ComponentCustomProperties & {} & {
192
- $slots: Readonly<import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Slots> & import('sit-onyx', { with: { "resolution-mode": "import" } }).OnyxFormElementV2Slots;
193
- }) | null;
194
- nativeInput: HTMLInputElement;
195
- }, HTMLDivElement>;
196
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ }, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
+ declare const _default: typeof __VLS_export;
197
28
  export default _default;
198
- type __VLS_WithTemplateSlots<T, S> = T & {
29
+ type __VLS_WithSlots<T, S> = T & {
199
30
  new (): {
200
31
  $slots: S;
201
32
  };
@@ -2,5 +2,6 @@ import { Editor } from '@tiptap/vue-3';
2
2
  type __VLS_Props = {
3
3
  editor?: Editor;
4
4
  };
5
- declare const _default: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
5
+ declare const __VLS_export: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
6
7
  export default _default;
@@ -2,5 +2,6 @@ import { Editor } from '@tiptap/vue-3';
2
2
  type __VLS_Props = {
3
3
  editor?: Editor;
4
4
  };
5
- declare const _default: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, HTMLDivElement>;
5
+ declare const __VLS_export: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
6
7
  export default _default;
@@ -2,5 +2,6 @@ import { Editor } from '@tiptap/vue-3';
2
2
  type __VLS_Props = {
3
3
  editor?: Editor;
4
4
  };
5
- declare const _default: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
5
+ declare const __VLS_export: import('@vue/runtime-core').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('@vue/runtime-core').ComponentOptionsMixin, import('@vue/runtime-core').ComponentOptionsMixin, {}, string, import('@vue/runtime-core').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('@vue/runtime-core').ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
6
7
  export default _default;
package/dist/index.js CHANGED
@@ -72,7 +72,7 @@ C.prototype = {
72
72
  return new C(t);
73
73
  };
74
74
  //#endregion
75
- //#region ../../node_modules/.pnpm/prosemirror-model@1.25.4/node_modules/prosemirror-model/dist/index.js
75
+ //#region ../../node_modules/.pnpm/prosemirror-model@1.25.7/node_modules/prosemirror-model/dist/index.js
76
76
  function nt(e, t, n) {
77
77
  for (let r = 0;; r++) {
78
78
  if (r == e.childCount || r == t.childCount) return e.childCount == t.childCount ? null : n;
@@ -234,7 +234,7 @@ var w = class e {
234
234
  static fromJSON(t, n) {
235
235
  if (!n) return e.empty;
236
236
  if (!Array.isArray(n)) throw RangeError("Invalid input for Fragment.fromJSON");
237
- return new e(n.map(t.nodeFromJSON));
237
+ return e.fromArray(n.map(t.nodeFromJSON));
238
238
  }
239
239
  static fromArray(t) {
240
240
  if (!t.length) return e.empty;
@@ -338,7 +338,7 @@ var st = class extends Error {}, E = class e {
338
338
  return this.content.size - this.openStart - this.openEnd;
339
339
  }
340
340
  insertAt(t, n) {
341
- let r = lt(this.content, t + this.openStart, n);
341
+ let r = lt(this.content, t + this.openStart, n, this.openStart + 1, this.openEnd + 1);
342
342
  return r && new e(r, this.openStart, this.openEnd);
343
343
  }
344
344
  removeBetween(t, n) {
@@ -378,11 +378,11 @@ function ct(e, t, n) {
378
378
  if (r != o) throw RangeError("Removing non-flat range");
379
379
  return e.replaceChild(r, a.copy(ct(a.content, t - i - 1, n - i - 1)));
380
380
  }
381
- function lt(e, t, n, r) {
382
- let { index: i, offset: a } = e.findIndex(t), o = e.maybeChild(i);
383
- if (a == t || o.isText) return r && !r.canReplace(i, i, n) ? null : e.cut(0, t).append(n).append(e.cut(t));
384
- let s = lt(o.content, t - a - 1, n, o);
385
- return s && e.replaceChild(i, o.copy(s));
381
+ function lt(e, t, n, r, i, a) {
382
+ let { index: o, offset: s } = e.findIndex(t), c = e.maybeChild(o);
383
+ if (s == t || c.isText) return a && r <= 0 && i <= 0 && !a.canReplace(o, o, n) ? null : e.cut(0, t).append(n).append(e.cut(t));
384
+ let l = lt(c.content, t - s - 1, n, o == 0 ? r - 1 : 0, o == e.childCount - 1 ? i - 1 : 0, c);
385
+ return l && e.replaceChild(o, c.copy(l));
386
386
  }
387
387
  function ut(e, t, n) {
388
388
  if (n.openStart > e.depth) throw new st("Inserted content deeper than insertion position");
@@ -1441,7 +1441,7 @@ var tn = class e {
1441
1441
  ul: !0
1442
1442
  }, on = 1, sn = 2, cn = 4;
1443
1443
  function ln(e, t, n) {
1444
- return t == null ? e && e.whitespace == "pre" ? on | sn : n & ~cn : (t ? on : 0) | (t === "full" ? sn : 0);
1444
+ return t == null ? e && e.whitespace == "pre" ? 3 : n & -5 : (t ? on : 0) | (t === "full" ? sn : 0);
1445
1445
  }
1446
1446
  var un = class {
1447
1447
  constructor(e, t, n, r, i, a) {
@@ -1654,7 +1654,7 @@ var un = class {
1654
1654
  }
1655
1655
  matchesContext(e) {
1656
1656
  if (e.indexOf("|") > -1) return e.split(/\s*\|\s*/).some(this.matchesContext, this);
1657
- let t = e.split("/"), n = this.options.context, r = !this.isOpen && (!n || n.parent.type == this.nodes[0].type), i = -(n ? n.depth + 1 : 0) + (r ? 0 : 1), a = (e, o) => {
1657
+ let t = e.split("/"), n = this.options.context, r = !this.isOpen && (!n || n.parent.type == this.nodes[0].type), i = -(n ? n.depth + 1 : 0) + +!r, a = (e, o) => {
1658
1658
  for (; e >= 0; e--) {
1659
1659
  let s = t[e];
1660
1660
  if (s == "") {
@@ -1741,6 +1741,7 @@ var gn = class e {
1741
1741
  }), n;
1742
1742
  }
1743
1743
  serializeNodeInner(e, t) {
1744
+ if (e.isText) return vn(t).createTextNode(e.text);
1744
1745
  let { dom: n, contentDOM: r } = Sn(vn(t), this.nodes[e.type.name](e), null, e.attrs);
1745
1746
  if (r) {
1746
1747
  if (e.isLeaf) throw RangeError("Content hole not allowed in a leaf node spec");
@@ -1761,7 +1762,7 @@ var gn = class e {
1761
1762
  return r && Sn(vn(n), r(e, t), null, e.attrs);
1762
1763
  }
1763
1764
  static renderSpec(e, t, n = null, r) {
1764
- return Sn(e, t, n, r);
1765
+ return typeof t == "string" ? { dom: e.createTextNode(t) } : Sn(e, t, n, r);
1765
1766
  }
1766
1767
  static fromSchema(t) {
1767
1768
  return t.cached.domSerializer || (t.cached.domSerializer = new e(this.nodesFromSchema(t), this.marksFromSchema(t)));
@@ -1800,9 +1801,8 @@ function xn(e) {
1800
1801
  return n(e), t;
1801
1802
  }
1802
1803
  function Sn(e, t, n, r) {
1803
- if (typeof t == "string") return { dom: e.createTextNode(t) };
1804
- if (t.nodeType != null) return { dom: t };
1805
- if (t.dom && t.dom.nodeType != null) return t;
1804
+ if (t.nodeType == 1) return { dom: t };
1805
+ if (t.dom && t.dom.nodeType == 1) return t;
1806
1806
  let i = t[0], a;
1807
1807
  if (typeof i != "string") throw RangeError("Invalid array passed to renderSpec");
1808
1808
  if (r && (a = bn(r)) && a.indexOf(t) > -1) throw RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");
@@ -1824,7 +1824,8 @@ function Sn(e, t, n, r) {
1824
1824
  dom: c,
1825
1825
  contentDOM: c
1826
1826
  };
1827
- } else {
1827
+ } else if (typeof a == "string") c.appendChild(e.createTextNode(a));
1828
+ else {
1828
1829
  let { dom: t, contentDOM: i } = Sn(e, a, n, r);
1829
1830
  if (c.appendChild(t), i) {
1830
1831
  if (s) throw RangeError("Multiple content holes");
@@ -1857,10 +1858,10 @@ var On = 1, kn = 2, An = 4, jn = 8, Mn = class {
1857
1858
  return (this.delInfo & jn) > 0;
1858
1859
  }
1859
1860
  get deletedBefore() {
1860
- return (this.delInfo & (On | An)) > 0;
1861
+ return (this.delInfo & 5) > 0;
1861
1862
  }
1862
1863
  get deletedAfter() {
1863
- return (this.delInfo & (kn | An)) > 0;
1864
+ return (this.delInfo & 6) > 0;
1864
1865
  }
1865
1866
  get deletedAcross() {
1866
1867
  return (this.delInfo & An) > 0;
@@ -2109,7 +2110,7 @@ var zn = class e extends D {
2109
2110
  let t = e.nodeAt(this.pos);
2110
2111
  if (!t) return O.fail("No node at mark step's position");
2111
2112
  let n = t.type.create(t.attrs, null, this.mark.addToSet(t.marks));
2112
- return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(n), 0, t.isLeaf ? 0 : 1));
2113
+ return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(n), 0, +!t.isLeaf));
2113
2114
  }
2114
2115
  invert(t) {
2115
2116
  let n = t.nodeAt(this.pos);
@@ -2147,7 +2148,7 @@ var Bn = class e extends D {
2147
2148
  let t = e.nodeAt(this.pos);
2148
2149
  if (!t) return O.fail("No node at mark step's position");
2149
2150
  let n = t.type.create(t.attrs, null, this.mark.removeFromSet(t.marks));
2150
- return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(n), 0, t.isLeaf ? 0 : 1));
2151
+ return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(n), 0, +!t.isLeaf));
2151
2152
  }
2152
2153
  invert(e) {
2153
2154
  let t = e.nodeAt(this.pos);
@@ -2529,7 +2530,7 @@ function fr(e, t, n) {
2529
2530
  let i = n.content;
2530
2531
  for (let e = 0; e < n.openStart; e++) i = i.firstChild.content;
2531
2532
  for (let e = 1; e <= (n.openStart == 0 && n.size ? 2 : 1); e++) for (let t = r.depth; t >= 0; t--) {
2532
- let n = t == r.depth ? 0 : r.pos <= (r.start(t + 1) + r.end(t + 1)) / 2 ? -1 : 1, a = r.index(t) + (n > 0 ? 1 : 0), o = r.node(t), s = !1;
2533
+ let n = t == r.depth ? 0 : r.pos <= (r.start(t + 1) + r.end(t + 1)) / 2 ? -1 : 1, a = r.index(t) + +(n > 0), o = r.node(t), s = !1;
2533
2534
  if (e == 1) s = o.canReplace(a, a, i);
2534
2535
  else {
2535
2536
  let e = o.contentMatchAt(a).findWrapping(i.firstChild.type);
@@ -2815,7 +2816,7 @@ var Or = class e extends D {
2815
2816
  for (let e in t.attrs) n[e] = t.attrs[e];
2816
2817
  n[this.attr] = this.value;
2817
2818
  let r = t.type.create(n, null, t.marks);
2818
- return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(r), 0, t.isLeaf ? 0 : 1));
2819
+ return O.fromReplace(e, this.pos, this.pos + 1, new E(w.from(r), 0, +!t.isLeaf));
2819
2820
  }
2820
2821
  getMap() {
2821
2822
  return Nn.empty;
@@ -3676,9 +3677,9 @@ function Fi(e, t, n) {
3676
3677
  let a = r.doc.resolve(n.start), o = a.nodeAfter;
3677
3678
  if (r.mapping.map(n.end) != n.start + a.nodeAfter.nodeSize) return !1;
3678
3679
  let s = n.startIndex == 0, c = n.endIndex == i.childCount, l = a.node(-1), u = a.index(-1);
3679
- if (!l.canReplace(u + (s ? 0 : 1), u + 1, o.content.append(c ? w.empty : w.from(i)))) return !1;
3680
+ if (!l.canReplace(u + +!s, u + 1, o.content.append(c ? w.empty : w.from(i)))) return !1;
3680
3681
  let d = a.pos, f = d + o.nodeSize;
3681
- return r.step(new A(d - (s ? 1 : 0), f + (c ? 1 : 0), d + 1, f - 1, new E((s ? w.empty : w.from(i.copy(w.empty))).append(c ? w.empty : w.from(i.copy(w.empty))), s ? 0 : 1, c ? 0 : 1), s ? 0 : 1)), t(r.scrollIntoView()), !0;
3682
+ return r.step(new A(d - +!!s, f + +!!c, d + 1, f - 1, new E((s ? w.empty : w.from(i.copy(w.empty))).append(c ? w.empty : w.from(i.copy(w.empty))), +!s, +!c), +!s)), t(r.scrollIntoView()), !0;
3682
3683
  }
3683
3684
  function Ii(e) {
3684
3685
  return function(t, n) {
@@ -3904,7 +3905,7 @@ function Sa(e, t) {
3904
3905
  n = u, r = e, i = e && n.nodeType == 3 ? {
3905
3906
  left: p.right < t.left ? p.right : p.left,
3906
3907
  top: t.top
3907
- } : t, u.nodeType == 1 && e && (a = d + (t.left >= (p.left + p.right) / 2 ? 1 : 0));
3908
+ } : t, u.nodeType == 1 && e && (a = d + +(t.left >= (p.left + p.right) / 2));
3908
3909
  continue;
3909
3910
  }
3910
3911
  } else p.top > t.top && !c && p.left <= t.left && p.right >= t.left && (c = u, l = {
@@ -3927,7 +3928,7 @@ function Ca(e, t) {
3927
3928
  if (n.top != n.bottom && wa(t, n)) {
3928
3929
  i = {
3929
3930
  node: e,
3930
- offset: a + (t.left >= (n.left + n.right) / 2 ? 1 : 0)
3931
+ offset: a + +(t.left >= (n.left + n.right) / 2)
3931
3932
  };
3932
3933
  break;
3933
3934
  }
@@ -4041,13 +4042,13 @@ function Na(e, t, n) {
4041
4042
  return Fa(r.getBoundingClientRect(), n >= 0);
4042
4043
  }
4043
4044
  if (a == null && i && (n < 0 || i == L(r))) {
4044
- let e = r.childNodes[i - 1], t = e.nodeType == 3 ? zi(e, L(e) - (o ? 0 : 1)) : e.nodeType == 1 && (e.nodeName != "BR" || !e.nextSibling) ? e : null;
4045
+ let e = r.childNodes[i - 1], t = e.nodeType == 3 ? zi(e, L(e) - +!o) : e.nodeType == 1 && (e.nodeName != "BR" || !e.nextSibling) ? e : null;
4045
4046
  if (t) return Pa(ja(t, 1), !1);
4046
4047
  }
4047
4048
  if (a == null && i < L(r)) {
4048
4049
  let e = r.childNodes[i];
4049
4050
  for (; e.pmViewDesc && e.pmViewDesc.ignoreForCoords;) e = e.nextSibling;
4050
- let t = e ? e.nodeType == 3 ? zi(e, 0, o ? 0 : 1) : e.nodeType == 1 ? e : null : null;
4051
+ let t = e ? e.nodeType == 3 ? zi(e, 0, +!o) : e.nodeType == 1 ? e : null : null;
4051
4052
  if (t) return Pa(ja(t, -1), !0);
4052
4053
  }
4053
4054
  return Pa(ja(r.nodeType == 3 ? zi(r) : r, -n), n >= 0);
@@ -4577,7 +4578,7 @@ var U = 0, Wa = 1, Ga = 2, Ka = 3, qa = class {
4577
4578
  return this.node.nodeSize;
4578
4579
  }
4579
4580
  get border() {
4580
- return this.node.isLeaf ? 0 : 1;
4581
+ return +!this.node.isLeaf;
4581
4582
  }
4582
4583
  updateChildren(e, t) {
4583
4584
  let n = this.node.inlineContent, r = t, i = e.composing ? this.localCompositionInfo(e, t) : null, a = i && i.pos > -1 ? i : null, o = i && i.pos < 0, s = new fo(this, a && a.node, e);
@@ -6612,7 +6613,7 @@ function Fc(e, t, n, r, i) {
6612
6613
  } else if (m.endA == m.endB && (te = Lc(h.parent.content.cut(h.parentOffset, g.parentOffset), _.parent.content.cut(_.parentOffset, m.endA - _.start())))) {
6613
6614
  let t = b(e.state.tr);
6614
6615
  te.type == "add" ? t.addMark(v, y, te.mark) : t.removeMark(v, y, te.mark), e.dispatch(t);
6615
- } else if (h.parent.child(h.index()).isText && h.index() == g.index() - (g.textOffset ? 0 : 1)) {
6616
+ } else if (h.parent.child(h.index()).isText && h.index() == g.index() - +!g.textOffset) {
6616
6617
  let t = h.parent.textBetween(h.parentOffset, g.parentOffset), n = () => b(e.state.tr.insertText(t, v, y));
6617
6618
  e.someProp("handleTextInput", (r) => r(e, v, y, t, n)) || e.dispatch(n());
6618
6619
  } else e.dispatch(b());
@@ -7044,7 +7045,7 @@ function cl(e) {
7044
7045
  };
7045
7046
  }
7046
7047
  //#endregion
7047
- //#region ../../node_modules/.pnpm/@tiptap+core@3.22.3_@tiptap+pm@3.22.3/node_modules/@tiptap/core/dist/index.js
7048
+ //#region ../../node_modules/.pnpm/@tiptap+core@3.23.5_@tiptap+pm@3.23.5/node_modules/@tiptap/core/dist/index.js
7048
7049
  var ll = Object.defineProperty, ul = (e, t) => {
7049
7050
  for (var n in t) ll(e, n, {
7050
7051
  get: t[n],
@@ -7908,7 +7909,7 @@ function Uu(e) {
7908
7909
  function Wu(e) {
7909
7910
  return e.sort((e, t) => {
7910
7911
  let n = X(e, "priority") || 100, r = X(t, "priority") || 100;
7911
- return n > r ? -1 : n < r ? 1 : 0;
7912
+ return n > r ? -1 : +(n < r);
7912
7913
  });
7913
7914
  }
7914
7915
  function Gu(e) {
@@ -8220,8 +8221,8 @@ var pd = ({ keepMarks: e = !0 } = {}) => ({ tr: t, state: n, dispatch: r, editor
8220
8221
  function _d(e) {
8221
8222
  let t = e.doc, n = t.firstChild;
8222
8223
  if (!n) return null;
8223
- let r = n.nodeSize - 1;
8224
- return M.create(t, 1, r);
8224
+ let r = t.resolve(1), i = t.resolve(n.nodeSize - 1);
8225
+ return M.between(r, i);
8225
8226
  }
8226
8227
  var vd = (e, t, n, r = {}) => ({ editor: i, tr: a, state: o, dispatch: s, chain: c, commands: l, can: u }) => {
8227
8228
  let { extensions: d, splittableMarks: f } = i.extensionManager, p = Y(e, o.schema), m = Y(t, o.schema), { selection: h, storedMarks: g } = o, { $from: _, $to: ee } = h, v = _.blockRange(ee), y = g || h.$to.parentOffset && h.$from.marks();
@@ -8464,7 +8465,7 @@ var Fd = class {
8464
8465
  ...this.config,
8465
8466
  addOptions: () => Pd(this.options, e)
8466
8467
  });
8467
- return t.name = this.name, t.parent = this.parent, t;
8468
+ return t.name = this.name, t.parent = this.parent, this.child = null, t;
8468
8469
  }
8469
8470
  extend(e = {}) {
8470
8471
  let t = new this.constructor({
@@ -8784,6 +8785,15 @@ var Ud = class {
8784
8785
  }] : [];
8785
8786
  }));
8786
8787
  }
8788
+ destroy() {
8789
+ this.extensions.forEach((e) => {
8790
+ let t = e;
8791
+ for (; t.parent;) {
8792
+ let e = t.parent;
8793
+ e.child === t && (e.child = null), t = e;
8794
+ }
8795
+ }), this.extensions = [], this.baseExtensions = [], this.schema = null, this.editor = null;
8796
+ }
8787
8797
  setupExtensions() {
8788
8798
  let e = this.extensions;
8789
8799
  this.editor.extensionStorage = Object.fromEntries(e.map((e) => [e.name, e.storage])), e.forEach((e) => {
@@ -9028,10 +9038,13 @@ var Q = class e extends Fd {
9028
9038
  }
9029
9039
  }), $d = Q.create({
9030
9040
  name: "tabindex",
9041
+ addOptions() {
9042
+ return { value: void 0 };
9043
+ },
9031
9044
  addProseMirrorPlugins() {
9032
9045
  return [new F({
9033
9046
  key: new Kr("tabindex"),
9034
- props: { attributes: () => this.editor.isEditable ? { tabindex: "0" } : {} }
9047
+ props: { attributes: () => !this.editor.isEditable && this.options.value === void 0 ? {} : { tabindex: this.options.value ?? "0" } }
9035
9048
  })];
9036
9049
  }
9037
9050
  }), ef = Q.create({
@@ -9358,7 +9371,7 @@ function df(e, t, n = {}) {
9358
9371
  }), a.docChanged && t.view.dispatch(a);
9359
9372
  }
9360
9373
  //#endregion
9361
- //#region ../../node_modules/.pnpm/@tiptap+extensions@3.22.3_@tiptap+core@3.22.3_@tiptap+pm@3.22.3__@tiptap+pm@3.22.3/node_modules/@tiptap/extensions/dist/placeholder/index.js
9374
+ //#region ../../node_modules/.pnpm/@tiptap+extensions@3.23.5_@tiptap+core@3.23.5_@tiptap+pm@3.23.5__@tiptap+pm@3.23.5/node_modules/@tiptap/extensions/dist/placeholder/index.js
9362
9375
  var ff = "placeholder";
9363
9376
  function pf(e) {
9364
9377
  return e.replace(/\s+/g, "-").replace(/[^a-zA-Z0-9-]/g, "").replace(/^[0-9-]+/, "").replace(/^-+/, "").toLowerCase();
@@ -10003,11 +10016,9 @@ var mf = Q.create({
10003
10016
  S.value?.view.dispatch(S.value.state.tr);
10004
10017
  });
10005
10018
  let pe = De(u, xe), me = n(() => {
10006
- if (!u.autosize) return;
10007
- let e = u.autosize.min ? Math.max(u.autosize.min, 2) : void 0, t = u.autosize.max;
10008
- return {
10009
- "--onyx-text-editor-autosize-min-rows": e,
10010
- "--onyx-text-editor-autosize-max-rows": t ?? "unset"
10019
+ if (u.autosize) return {
10020
+ "--onyx-text-editor-autosize-min-rows": u.autosize.min ? Math.max(u.autosize.min, 2) : void 0,
10021
+ "--onyx-text-editor-autosize-max-rows": u.autosize.max ?? "unset"
10011
10022
  };
10012
10023
  }), he = n(() => S.value?.getText({ blockSeparator: "\n" })), ge = re("formElement"), _e = n(() => (ge.value?.$el)?.querySelector(".onyx-form-element-v2__content")), ve = re("nativeInput");
10013
10024
  return ae(() => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sit-onyx/tiptap",
3
3
  "description": "A rich text editor powered by the Tiptap editor and the onyx design system created by Schwarz IT",
4
- "version": "0.2.0-dev-20260422105150",
4
+ "version": "0.3.0-dev-20260527084737",
5
5
  "type": "module",
6
6
  "author": "Schwarz IT KG",
7
7
  "license": "Apache-2.0",
@@ -19,7 +19,8 @@
19
19
  "node": "./dist/index.js",
20
20
  "default": "./dist/index.js"
21
21
  },
22
- "./style.css": "./dist/style.css"
22
+ "./style.css": "./dist/style.css",
23
+ "./component-meta.json": "./dist/component-meta.json"
23
24
  },
24
25
  "repository": {
25
26
  "type": "git",
@@ -37,25 +38,28 @@
37
38
  "@tiptap/starter-kit": ">= 3",
38
39
  "@tiptap/vue-3": ">= 3",
39
40
  "vue": ">= 3.5.0",
40
- "@sit-onyx/icons": "^1.9.0-dev-20260422105150",
41
- "sit-onyx": "^1.12.0-dev-20260422105150"
41
+ "@sit-onyx/icons": "^1.9.1",
42
+ "sit-onyx": "^1.14.0-dev-20260527084737"
42
43
  },
43
44
  "devDependencies": {
44
- "@axe-core/playwright": "^4.11.1",
45
- "@playwright/experimental-ct-vue": "1.59.1",
46
- "@playwright/test": "1.59.1",
47
- "@tiptap/extension-heading": "^3.22.3",
48
- "@tiptap/extension-text-align": "^3.22.3",
49
- "@tiptap/extensions": "^3.22.3",
50
- "@tiptap/pm": "^3.22.3",
51
- "@tiptap/starter-kit": "^3.22.3",
52
- "@tiptap/vue-3": "^3.22.3",
53
- "@vue/compiler-dom": "3.5.32",
54
- "@sit-onyx/icons": "^1.9.0-dev-20260422105150",
55
- "@sit-onyx/playwright-utils": "^1.2.2-dev-20260422105150",
45
+ "@axe-core/playwright": "^4.11.3",
46
+ "@playwright/experimental-ct-vue": "1.60.0",
47
+ "@playwright/test": "1.60.0",
48
+ "@tiptap/extension-heading": "^3.23.5",
49
+ "@tiptap/extension-text-align": "^3.23.5",
50
+ "@tiptap/extensions": "^3.23.5",
51
+ "@tiptap/pm": "^3.23.5",
52
+ "@tiptap/starter-kit": "^3.23.5",
53
+ "@tiptap/vue-3": "^3.23.5",
54
+ "@vue/compiler-dom": "3.5.34",
55
+ "unplugin-dts": "1.0.1",
56
+ "vite": "8.0.14",
57
+ "@sit-onyx/playwright-utils": "^1.3.0",
58
+ "@sit-onyx/icons": "^1.9.1",
56
59
  "@sit-onyx/shared": "^0.1.0",
57
- "@sit-onyx/storybook-utils": "^1.1.2",
58
- "sit-onyx": "^1.12.0-dev-20260422105150"
60
+ "@sit-onyx/storybook-utils": "^1.1.3",
61
+ "@sit-onyx/vite-plugin-component-meta": "^0.0.0",
62
+ "sit-onyx": "^1.14.0-dev-20260527084737"
59
63
  },
60
64
  "scripts": {
61
65
  "dev": "storybook dev -p 6006 --no-open",