luxen-ui 0.6.2 → 0.7.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 (62) hide show
  1. package/cdn/chunks/decorate.js +1 -1
  2. package/cdn/chunks/floating-ui.dom.js +2 -0
  3. package/cdn/chunks/floating-ui.dom.js.map +1 -0
  4. package/cdn/chunks/lit.js +1 -1
  5. package/cdn/chunks/module.js +717 -0
  6. package/cdn/chunks/module.js.map +1 -0
  7. package/cdn/chunks/native.js +2 -0
  8. package/cdn/chunks/native.js.map +1 -0
  9. package/cdn/custom-elements.json +10269 -7939
  10. package/cdn/elements/avatar/avatar.js +7 -7
  11. package/cdn/elements/avatar/avatar.js.map +1 -1
  12. package/cdn/elements/carousel/carousel.js +5 -5
  13. package/cdn/elements/carousel-item/carousel-item.js +1 -1
  14. package/cdn/elements/dialog/dialog.js +1 -1
  15. package/cdn/elements/dialog/dialog.styles.js +1 -1
  16. package/cdn/elements/drawer/drawer.js +1 -1
  17. package/cdn/elements/dropdown/dropdown.js +1 -1
  18. package/cdn/elements/dropdown-item/dropdown-item.js +5 -5
  19. package/cdn/elements/icon/icon.js +1 -1
  20. package/cdn/elements/popover/popover.js +2 -2
  21. package/cdn/elements/prose-editor/index.d.ts +2 -0
  22. package/cdn/elements/prose-editor/index.d.ts.map +1 -0
  23. package/cdn/elements/prose-editor/index.js +2 -0
  24. package/cdn/elements/prose-editor/index.js.map +1 -0
  25. package/cdn/elements/prose-editor/prose-editor.d.ts +110 -0
  26. package/cdn/elements/prose-editor/prose-editor.d.ts.map +1 -0
  27. package/cdn/elements/prose-editor/prose-editor.js +180 -0
  28. package/cdn/elements/prose-editor/prose-editor.js.map +1 -0
  29. package/cdn/elements/rating/rating.js +5 -5
  30. package/cdn/elements/spinner/spinner.js +1 -1
  31. package/cdn/elements/sticky-bar/sticky-bar.js +1 -1
  32. package/cdn/elements/stories-viewer/stories-viewer.js +7 -7
  33. package/cdn/elements/story/story.js +1 -1
  34. package/cdn/elements/tooltip/tooltip.js +2 -2
  35. package/cdn/elements/tree/tree.js +1 -1
  36. package/cdn/elements/tree-item/tree-item.js +4 -4
  37. package/cdn/registry.d.ts +1 -1
  38. package/cdn/registry.d.ts.map +1 -1
  39. package/cdn/registry.js.map +1 -1
  40. package/cdn/shared/controllers/popover.js +1 -1
  41. package/cdn/shared/controllers/popover.js.map +1 -1
  42. package/cdn/shared/styles/host.styles.js +1 -1
  43. package/cdn/standalone.css +132 -1
  44. package/cdn/standalone.js +25567 -149
  45. package/cdn/standalone.js.map +1 -1
  46. package/cdn/styles/elements/prose-editor.css +129 -0
  47. package/cdn/styles/elements/toast.css +1 -1
  48. package/dist/css/elements/prose-editor.css +129 -0
  49. package/dist/css/elements/toast.css +1 -1
  50. package/dist/custom-elements.json +10269 -7939
  51. package/dist/elements/prose-editor/index.d.ts +2 -0
  52. package/dist/elements/prose-editor/index.d.ts.map +1 -0
  53. package/dist/elements/prose-editor/index.js +4 -0
  54. package/dist/elements/prose-editor/prose-editor.css +133 -0
  55. package/dist/elements/prose-editor/prose-editor.d.ts +111 -0
  56. package/dist/elements/prose-editor/prose-editor.d.ts.map +1 -0
  57. package/dist/elements/prose-editor/prose-editor.js +475 -0
  58. package/dist/registry.d.ts +1 -1
  59. package/dist/registry.d.ts.map +1 -1
  60. package/dist/templates/elements/prose-editor.md +216 -0
  61. package/elements.json +7 -0
  62. package/package.json +8 -1
@@ -0,0 +1,110 @@
1
+ import { PropertyValues, TemplateResult } from 'lit';
2
+ import { Editor, JSONContent } from '@tiptap/core';
3
+ import { LuxenFormAssociatedElement } from '../../shared/luxen-form-associated-element.js';
4
+ type ToolbarCommandName = 'heading-1' | 'heading-2' | 'heading-3' | 'bold' | 'italic' | 'underline' | 'strike' | 'highlight' | 'bulletlist' | 'orderedlist' | 'blockquote' | 'code-block' | 'horizontal-rule' | 'link' | 'emoji' | 'attachment' | 'undo' | 'redo' | 'divider';
5
+ /**
6
+ * @summary A rich text editor built on Tiptap (ProseMirror). Form-associated: its value is the editor HTML.
7
+ * @customElement l-prose-editor
8
+ *
9
+ * @slot toolbar-start - Content placed before the generated toolbar buttons.
10
+ * @slot toolbar-end - Content placed after the generated toolbar buttons.
11
+ *
12
+ * @event change - Fired when the content changes. `detail` is `{ html, json }`.
13
+ * @event add-file - Fired when the attachment toolbar button is clicked.
14
+ *
15
+ * @csspart wrapper - The editor frame wrapping the toolbar and content.
16
+ * @csspart toolbar - The toolbar row.
17
+ * @csspart toolbar-button - Any toolbar button.
18
+ * @csspart divider - A toolbar divider.
19
+ * @csspart editor - The container around the editable content.
20
+ *
21
+ * @cssproperty --border-color - Color of the editor frame border.
22
+ * @cssproperty --border-width - Width of the editor frame border.
23
+ * @cssproperty --border-radius - Corner radius of the editor frame.
24
+ * @cssproperty --background - Background color of the editor.
25
+ * @cssproperty --color - Text color of the editor.
26
+ * @cssproperty --toolbar-background - Background color of the toolbar.
27
+ * @cssproperty --toolbar-padding - Padding around the toolbar.
28
+ * @cssproperty --toolbar-gap - Gap between toolbar buttons.
29
+ * @cssproperty --toolbar-divider-color - Color of toolbar dividers.
30
+ * @cssproperty --toolbar-button-size - Size of toolbar buttons.
31
+ * @cssproperty --toolbar-button-radius - Corner radius of toolbar buttons.
32
+ * @cssproperty --toolbar-button-color - Icon color of inactive toolbar buttons.
33
+ * @cssproperty --toolbar-button-color-active - Icon color of hovered/active toolbar buttons.
34
+ * @cssproperty --toolbar-button-background-hover - Background of hovered toolbar buttons.
35
+ * @cssproperty --toolbar-button-background-active - Background of active toolbar buttons.
36
+ */
37
+ export declare class ProseEditor extends LuxenFormAssociatedElement {
38
+ static styles: import('lit').CSSResult[];
39
+ /** The Tiptap editor instance. Available after the first render. */
40
+ editor: Editor;
41
+ /** Initial HTML content. */
42
+ accessor initialHtml: string;
43
+ /** Initial content as a serialized ProseMirror JSON string. */
44
+ accessor initialJson: string;
45
+ /** Class applied to the `.ProseMirror` editable element (e.g. for Tailwind Typography `prose`). */
46
+ accessor editorClass: string;
47
+ /** Explicit list of toolbar commands. Overrides `toolbar-preset` when set. */
48
+ accessor toolbar: ToolbarCommandName[];
49
+ /** Built-in toolbar layout used when `toolbar` is not set. */
50
+ accessor toolbarPreset: 'default' | 'minimal';
51
+ /** Where the toolbar sits relative to the content. */
52
+ accessor toolbarPlacement: 'top' | 'bottom';
53
+ /** Focus the editor on creation. */
54
+ accessor autofocus: boolean;
55
+ /** Placeholder shown when the editor is empty. */
56
+ accessor placeholder: string;
57
+ accessor _emojiPickerActive: boolean;
58
+ private _editorRoot?;
59
+ private _emojiPicker?;
60
+ get validationTarget(): HTMLElement | undefined;
61
+ private get _toolbar();
62
+ firstUpdated(): void;
63
+ updated(changed: PropertyValues<this>): void;
64
+ disconnectedCallback(): void;
65
+ /** Get the current content as an HTML string. Empty paragraph resolves to `''`. */
66
+ getHTML(): string;
67
+ /** Get the current content as ProseMirror JSON. */
68
+ getJSON(): JSONContent;
69
+ /** Remove all content. */
70
+ clear(): void;
71
+ focus(): void;
72
+ blur(): void;
73
+ toggleBold(): void;
74
+ toggleItalic(): void;
75
+ toggleUnderline(): void;
76
+ toggleStrike(): void;
77
+ toggleHighlight(): void;
78
+ toggleHeading(level: 1 | 2 | 3): void;
79
+ toggleBulletList(): void;
80
+ toggleOrderedList(): void;
81
+ toggleBlockquote(): void;
82
+ toggleCodeBlock(): void;
83
+ setHorizontalRule(): void;
84
+ undo(): void;
85
+ redo(): void;
86
+ toggleLink(): void;
87
+ formResetCallback(): void;
88
+ /** Sync the form value and validity from the current content. Returns the HTML. */
89
+ private _syncValue;
90
+ private _emitChange;
91
+ private _initialContent;
92
+ /**
93
+ * The editable element is created in light DOM (slotted), not the shadow root.
94
+ * Firefox and WebKit have long-standing bugs with `contenteditable` carets and
95
+ * DOM selections inside a shadow tree, so ProseMirror must live outside it.
96
+ * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1496769
97
+ * @see https://bugs.webkit.org/show_bug.cgi?id=163921
98
+ */
99
+ private _createEditorRoot;
100
+ private _onFocus;
101
+ private _onKeyDown;
102
+ private _toggleEmojiPicker;
103
+ private get _emojiButton();
104
+ private _positionEmojiPicker;
105
+ private _renderButton;
106
+ private _renderToolbarItem;
107
+ render(): TemplateResult<1>;
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=prose-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose-editor.d.ts","sourceRoot":"","sources":["../../../src/html/elements/prose-editor/prose-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKhF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAE3F,OAAO,kBAAkB,CAAC;AAK1B,KAAK,kBAAkB,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,MAAM,GACN,OAAO,GACP,YAAY,GACZ,MAAM,GACN,MAAM,GACN,SAAS,CAAC;AA2Bd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAY,SAAQ,0BAA0B;IACzD,OAAgB,MAAM,4BAAwB;IAE9C,oEAAoE;IACpE,MAAM,EAAG,MAAM,CAAC;IAEhB,4BAA4B;IAE5B,QAAQ,CAAC,WAAW,SAAM;IAE1B,+DAA+D;IAE/D,QAAQ,CAAC,WAAW,SAAM;IAE1B,mGAAmG;IAEnG,QAAQ,CAAC,WAAW,SAAW;IAE/B,8EAA8E;IAO9E,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAM;IAE5C,8DAA8D;IAE9D,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAa;IAE1D,sDAAsD;IAEtD,QAAQ,CAAC,gBAAgB,EAAE,KAAK,GAAG,QAAQ,CAAS;IAEpD,oCAAoC;IAEpC,QAAQ,CAAC,SAAS,UAAS;IAE3B,kDAAkD;IAElD,QAAQ,CAAC,WAAW,SAAM;IAG1B,QAAQ,CAAC,kBAAkB,UAAS;IAEpC,OAAO,CAAC,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,YAAY,CAAC,CAAc;IAEnC,IAAa,gBAAgB,IAAI,WAAW,GAAG,SAAS,CAEvD;IAED,OAAO,KAAK,QAAQ,GAEnB;IAEQ,YAAY;IA4BZ,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IASrC,oBAAoB;IAW7B,mFAAmF;IACnF,OAAO,IAAI,MAAM;IAMjB,mDAAmD;IACnD,OAAO,IAAI,WAAW;IAItB,0BAA0B;IAC1B,KAAK;IAII,KAAK;IAIL,IAAI;IAIb,UAAU;IAIV,YAAY;IAIZ,eAAe;IAIf,YAAY;IAIZ,eAAe;IAIf,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAI9B,gBAAgB;IAIhB,iBAAiB;IAIjB,gBAAgB;IAIhB,eAAe;IAIf,iBAAiB;IAIjB,IAAI;IAIJ,IAAI;IAIJ,UAAU;IAaD,iBAAiB;IAK1B,mFAAmF;IACnF,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAQvB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,QAAQ,CAId;IAEF,OAAO,CAAC,UAAU,CAEhB;YAIY,kBAAkB;IA0BhC,OAAO,KAAK,YAAY,GAEvB;YAEa,oBAAoB;IAwBlC,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,kBAAkB;IAwIjB,MAAM;CAyBhB"}