@sveltia/ui 0.20.2 → 0.22.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 (174) hide show
  1. package/{package → dist}/components/button/button.svelte +1 -1
  2. package/{package → dist}/components/button/select-button-group.svelte +3 -0
  3. package/{package → dist}/components/calendar/calendar.svelte +1 -1
  4. package/{package → dist}/components/checkbox/checkbox.svelte +9 -2
  5. package/{package → dist}/components/grid/grid.svelte +1 -1
  6. package/{package → dist}/components/listbox/listbox.svelte +3 -0
  7. package/{package → dist}/components/menu/menu-button.svelte +1 -1
  8. package/{package → dist}/components/progressbar/progressbar.svelte +4 -1
  9. package/{package → dist}/components/radio/radio-group.svelte +9 -0
  10. package/{package → dist}/components/radio/radio.svelte +3 -3
  11. package/{package → dist}/components/select/combobox.svelte +6 -2
  12. package/{package → dist}/components/select/select-tags.svelte +1 -1
  13. package/{package → dist}/components/slider/slider.svelte +14 -7
  14. package/{package → dist}/components/switch/switch.svelte +4 -1
  15. package/{package → dist}/components/tabs/tab-list.svelte +1 -1
  16. package/{package → dist}/components/text-editor/core.d.ts +3 -1
  17. package/{package → dist}/components/text-editor/core.js +113 -19
  18. package/{package → dist}/components/text-editor/index.js +6 -0
  19. package/dist/components/text-editor/lexical-root.svelte +288 -0
  20. package/{package → dist}/components/text-editor/text-editor.svelte +18 -9
  21. package/{package → dist}/components/text-editor/text-editor.svelte.d.ts +8 -0
  22. package/{package → dist}/components/text-editor/toolbar/editor-toolbar.svelte +15 -0
  23. package/dist/components/text-editor/toolbar/insert-image-button.svelte +43 -0
  24. package/dist/components/text-editor/toolbar/insert-image-button.svelte.d.ts +17 -0
  25. package/dist/components/text-editor/toolbar/insert-menu-button.svelte +53 -0
  26. package/dist/components/text-editor/toolbar/insert-menu-button.svelte.d.ts +17 -0
  27. package/{package → dist}/components/text-editor/toolbar/toggle-block-menu-item.svelte +7 -0
  28. package/{package → dist}/components/text-field/number-input.svelte +31 -16
  29. package/{package → dist}/components/text-field/number-input.svelte.d.ts +8 -0
  30. package/{package → dist}/components/text-field/password-input.svelte +1 -0
  31. package/{package → dist}/components/text-field/password-input.svelte.d.ts +8 -0
  32. package/{package → dist}/components/text-field/search-bar.svelte +1 -0
  33. package/{package → dist}/components/text-field/search-bar.svelte.d.ts +8 -0
  34. package/{package → dist}/components/text-field/text-area.svelte +4 -4
  35. package/{package → dist}/components/text-field/text-input.svelte +7 -2
  36. package/{package → dist}/components/text-field/text-input.svelte.d.ts +13 -2
  37. package/{package → dist}/components/toast/toast.svelte +1 -1
  38. package/{package → dist}/components/toolbar/toolbar.svelte +2 -2
  39. package/{package → dist}/components/util/app-shell.svelte +6 -6
  40. package/{package → dist}/components/util/app-shell.svelte.d.ts +2 -2
  41. package/{package → dist}/components/util/popup.svelte +2 -2
  42. package/{package → dist}/locales/en.d.ts +1 -0
  43. package/{package → dist}/locales/en.js +1 -0
  44. package/{package → dist}/locales/ja.d.ts +1 -0
  45. package/{package → dist}/locales/ja.js +1 -0
  46. package/{package → dist}/styles/variables.scss +2 -2
  47. package/{package → dist}/typedefs.d.ts +32 -5
  48. package/{package → dist}/typedefs.js +26 -14
  49. package/package.json +20 -19
  50. package/package/components/text-editor/lexical-root.svelte +0 -156
  51. /package/{package → dist}/components/alert/alert.svelte +0 -0
  52. /package/{package → dist}/components/alert/alert.svelte.d.ts +0 -0
  53. /package/{package → dist}/components/button/button-group.svelte +0 -0
  54. /package/{package → dist}/components/button/button-group.svelte.d.ts +0 -0
  55. /package/{package → dist}/components/button/button.svelte.d.ts +0 -0
  56. /package/{package → dist}/components/button/select-button-group.svelte.d.ts +0 -0
  57. /package/{package → dist}/components/button/select-button.svelte +0 -0
  58. /package/{package → dist}/components/button/select-button.svelte.d.ts +0 -0
  59. /package/{package → dist}/components/button/split-button.svelte +0 -0
  60. /package/{package → dist}/components/button/split-button.svelte.d.ts +0 -0
  61. /package/{package → dist}/components/calendar/calendar.svelte.d.ts +0 -0
  62. /package/{package → dist}/components/checkbox/checkbox-group.svelte +0 -0
  63. /package/{package → dist}/components/checkbox/checkbox-group.svelte.d.ts +0 -0
  64. /package/{package → dist}/components/checkbox/checkbox.svelte.d.ts +0 -0
  65. /package/{package → dist}/components/dialog/alert-dialog.svelte +0 -0
  66. /package/{package → dist}/components/dialog/alert-dialog.svelte.d.ts +0 -0
  67. /package/{package → dist}/components/dialog/confirmation-dialog.svelte +0 -0
  68. /package/{package → dist}/components/dialog/confirmation-dialog.svelte.d.ts +0 -0
  69. /package/{package → dist}/components/dialog/dialog.svelte +0 -0
  70. /package/{package → dist}/components/dialog/dialog.svelte.d.ts +0 -0
  71. /package/{package → dist}/components/dialog/prompt-dialog.svelte +0 -0
  72. /package/{package → dist}/components/dialog/prompt-dialog.svelte.d.ts +0 -0
  73. /package/{package → dist}/components/disclosure/disclosure.svelte +0 -0
  74. /package/{package → dist}/components/disclosure/disclosure.svelte.d.ts +0 -0
  75. /package/{package → dist}/components/divider/divider.svelte +0 -0
  76. /package/{package → dist}/components/divider/divider.svelte.d.ts +0 -0
  77. /package/{package → dist}/components/divider/spacer.svelte +0 -0
  78. /package/{package → dist}/components/divider/spacer.svelte.d.ts +0 -0
  79. /package/{package → dist}/components/drawer/drawer.svelte +0 -0
  80. /package/{package → dist}/components/drawer/drawer.svelte.d.ts +0 -0
  81. /package/{package → dist}/components/grid/grid-body.svelte +0 -0
  82. /package/{package → dist}/components/grid/grid-body.svelte.d.ts +0 -0
  83. /package/{package → dist}/components/grid/grid-cell.svelte +0 -0
  84. /package/{package → dist}/components/grid/grid-cell.svelte.d.ts +0 -0
  85. /package/{package → dist}/components/grid/grid-col-header.svelte +0 -0
  86. /package/{package → dist}/components/grid/grid-col-header.svelte.d.ts +0 -0
  87. /package/{package → dist}/components/grid/grid-foot.svelte +0 -0
  88. /package/{package → dist}/components/grid/grid-foot.svelte.d.ts +0 -0
  89. /package/{package → dist}/components/grid/grid-head.svelte +0 -0
  90. /package/{package → dist}/components/grid/grid-head.svelte.d.ts +0 -0
  91. /package/{package → dist}/components/grid/grid-row-header.svelte +0 -0
  92. /package/{package → dist}/components/grid/grid-row-header.svelte.d.ts +0 -0
  93. /package/{package → dist}/components/grid/grid-row.svelte +0 -0
  94. /package/{package → dist}/components/grid/grid-row.svelte.d.ts +0 -0
  95. /package/{package → dist}/components/grid/grid.svelte.d.ts +0 -0
  96. /package/{package → dist}/components/icon/icon.svelte +0 -0
  97. /package/{package → dist}/components/icon/icon.svelte.d.ts +0 -0
  98. /package/{package → dist}/components/listbox/listbox.svelte.d.ts +0 -0
  99. /package/{package → dist}/components/listbox/option-group.svelte +0 -0
  100. /package/{package → dist}/components/listbox/option-group.svelte.d.ts +0 -0
  101. /package/{package → dist}/components/listbox/option.svelte +0 -0
  102. /package/{package → dist}/components/listbox/option.svelte.d.ts +0 -0
  103. /package/{package → dist}/components/menu/menu-button.svelte.d.ts +0 -0
  104. /package/{package → dist}/components/menu/menu-item-checkbox.svelte +0 -0
  105. /package/{package → dist}/components/menu/menu-item-checkbox.svelte.d.ts +0 -0
  106. /package/{package → dist}/components/menu/menu-item-group.svelte +0 -0
  107. /package/{package → dist}/components/menu/menu-item-group.svelte.d.ts +0 -0
  108. /package/{package → dist}/components/menu/menu-item-radio.svelte +0 -0
  109. /package/{package → dist}/components/menu/menu-item-radio.svelte.d.ts +0 -0
  110. /package/{package → dist}/components/menu/menu-item.svelte +0 -0
  111. /package/{package → dist}/components/menu/menu-item.svelte.d.ts +0 -0
  112. /package/{package → dist}/components/menu/menu.svelte +0 -0
  113. /package/{package → dist}/components/menu/menu.svelte.d.ts +0 -0
  114. /package/{package → dist}/components/progressbar/progressbar.svelte.d.ts +0 -0
  115. /package/{package → dist}/components/radio/radio-group.svelte.d.ts +0 -0
  116. /package/{package → dist}/components/radio/radio.svelte.d.ts +0 -0
  117. /package/{package → dist}/components/select/combobox.svelte.d.ts +0 -0
  118. /package/{package → dist}/components/select/select-tags.svelte.d.ts +0 -0
  119. /package/{package → dist}/components/select/select.svelte +0 -0
  120. /package/{package → dist}/components/select/select.svelte.d.ts +0 -0
  121. /package/{package → dist}/components/slider/slider.svelte.d.ts +0 -0
  122. /package/{package → dist}/components/switch/switch.svelte.d.ts +0 -0
  123. /package/{package → dist}/components/table/table-body.svelte +0 -0
  124. /package/{package → dist}/components/table/table-body.svelte.d.ts +0 -0
  125. /package/{package → dist}/components/table/table-cell.svelte +0 -0
  126. /package/{package → dist}/components/table/table-cell.svelte.d.ts +0 -0
  127. /package/{package → dist}/components/table/table-col-header.svelte +0 -0
  128. /package/{package → dist}/components/table/table-col-header.svelte.d.ts +0 -0
  129. /package/{package → dist}/components/table/table-foot.svelte +0 -0
  130. /package/{package → dist}/components/table/table-foot.svelte.d.ts +0 -0
  131. /package/{package → dist}/components/table/table-head.svelte +0 -0
  132. /package/{package → dist}/components/table/table-head.svelte.d.ts +0 -0
  133. /package/{package → dist}/components/table/table-row-header.svelte +0 -0
  134. /package/{package → dist}/components/table/table-row-header.svelte.d.ts +0 -0
  135. /package/{package → dist}/components/table/table-row.svelte +0 -0
  136. /package/{package → dist}/components/table/table-row.svelte.d.ts +0 -0
  137. /package/{package → dist}/components/table/table.svelte +0 -0
  138. /package/{package → dist}/components/table/table.svelte.d.ts +0 -0
  139. /package/{package → dist}/components/tabs/tab-box.svelte +0 -0
  140. /package/{package → dist}/components/tabs/tab-box.svelte.d.ts +0 -0
  141. /package/{package → dist}/components/tabs/tab-list.svelte.d.ts +0 -0
  142. /package/{package → dist}/components/tabs/tab-panel.svelte +0 -0
  143. /package/{package → dist}/components/tabs/tab-panel.svelte.d.ts +0 -0
  144. /package/{package → dist}/components/tabs/tab-panels.svelte +0 -0
  145. /package/{package → dist}/components/tabs/tab-panels.svelte.d.ts +0 -0
  146. /package/{package → dist}/components/tabs/tab.svelte +0 -0
  147. /package/{package → dist}/components/tabs/tab.svelte.d.ts +0 -0
  148. /package/{package → dist}/components/text-editor/index.d.ts +0 -0
  149. /package/{package → dist}/components/text-editor/lexical-root.svelte.d.ts +0 -0
  150. /package/{package → dist}/components/text-editor/toolbar/editor-toolbar.svelte.d.ts +0 -0
  151. /package/{package → dist}/components/text-editor/toolbar/format-text-button.svelte +0 -0
  152. /package/{package → dist}/components/text-editor/toolbar/format-text-button.svelte.d.ts +0 -0
  153. /package/{package → dist}/components/text-editor/toolbar/insert-link-button.svelte +0 -0
  154. /package/{package → dist}/components/text-editor/toolbar/insert-link-button.svelte.d.ts +0 -0
  155. /package/{package → dist}/components/text-editor/toolbar/toggle-block-menu-item.svelte.d.ts +0 -0
  156. /package/{package → dist}/components/text-field/text-area.svelte.d.ts +0 -0
  157. /package/{package → dist}/components/toast/toast.svelte.d.ts +0 -0
  158. /package/{package → dist}/components/toolbar/toolbar.svelte.d.ts +0 -0
  159. /package/{package → dist}/components/util/group.svelte +0 -0
  160. /package/{package → dist}/components/util/group.svelte.d.ts +0 -0
  161. /package/{package → dist}/components/util/modal.svelte +0 -0
  162. /package/{package → dist}/components/util/modal.svelte.d.ts +0 -0
  163. /package/{package → dist}/components/util/placeholder.svelte +0 -0
  164. /package/{package → dist}/components/util/placeholder.svelte.d.ts +0 -0
  165. /package/{package → dist}/components/util/popup.svelte.d.ts +0 -0
  166. /package/{package → dist}/index.d.ts +0 -0
  167. /package/{package → dist}/index.js +0 -0
  168. /package/{package → dist}/services/events.svelte.d.ts +0 -0
  169. /package/{package → dist}/services/events.svelte.js +0 -0
  170. /package/{package → dist}/services/group.svelte.d.ts +0 -0
  171. /package/{package → dist}/services/group.svelte.js +0 -0
  172. /package/{package → dist}/services/popup.svelte.d.ts +0 -0
  173. /package/{package → dist}/services/popup.svelte.js +0 -0
  174. /package/{package → dist}/styles/core.scss +0 -0
@@ -1,156 +0,0 @@
1
- <script>
2
- import { $createParagraphNode as createParagraphNode, $getRoot as getRoot } from 'lexical';
3
- import { getContext, onMount } from 'svelte';
4
-
5
- /**
6
- * @typedef {object} Props
7
- * @property {string | undefined} [value] - Input value.
8
- * @property {string} [class] - The `class` attribute on the wrapper element.
9
- * @property {boolean} [hidden] - Whether to hide the widget.
10
- * @property {boolean} [disabled] - Whether to disable the widget. An alias of the `aria-disabled`
11
- * attribute.
12
- * @property {boolean} [readonly] - Whether to make the widget read-only. An alias of the
13
- * `aria-readonly` attribute.
14
- * @property {boolean} [required] - Whether to mark the widget required. An alias of the
15
- * `aria-required` attribute.
16
- * @property {boolean} [invalid] - Whether to mark the widget invalid. An alias of the
17
- * `aria-invalid` attribute.
18
- * @property {import('svelte').Snippet} [children] - Primary slot content.
19
- */
20
-
21
- /**
22
- * @type {Props & Record<string, any>}
23
- */
24
- let {
25
- /* eslint-disable prefer-const */
26
- value = $bindable(),
27
- class: className,
28
- hidden = false,
29
- disabled = false,
30
- readonly = false,
31
- required = false,
32
- invalid = false,
33
- children,
34
- ...restProps
35
- /* eslint-enable prefer-const */
36
- } = $props();
37
-
38
- /**
39
- * Text editor state.
40
- * @type {import('../../typedefs').TextEditorState}
41
- */
42
- const { editor, editorId, selectionBlockType, selectionInlineTypes, hasConverterError } =
43
- getContext('state');
44
-
45
- /**
46
- * Reference to the Lexical editor root element.
47
- * @type {HTMLElement | undefined}
48
- */
49
- let lexicalRoot = $state();
50
-
51
- const editable = $derived(!(disabled || readonly));
52
-
53
- $effect(() => {
54
- $editor?.setEditable(editable);
55
- });
56
-
57
- /**
58
- * Update {@link value} and other state variables whenever the editor content is updated.
59
- * @param {Event} event - `Update` custom event.
60
- */
61
- const onUpdate = (event) => {
62
- if ($hasConverterError) {
63
- return;
64
- }
65
-
66
- const { detail } = /** @type {CustomEvent} */ (event);
67
- const newValue = detail.value;
68
-
69
- if (value !== newValue) {
70
- value = newValue;
71
- }
72
-
73
- $selectionBlockType = detail.selectionBlockType;
74
- $selectionInlineTypes = detail.selectionInlineTypes;
75
- };
76
-
77
- /**
78
- * Listen to `click` events on the editor. Ignore a click on a link.
79
- * @param {MouseEvent} event - `click` event.
80
- */
81
- const onClick = (event) => {
82
- if (/** @type {HTMLElement} */ (event.target)?.matches('a')) {
83
- event.preventDefault();
84
- }
85
- };
86
-
87
- onMount(() => {
88
- lexicalRoot?.addEventListener('Update', onUpdate);
89
- lexicalRoot?.addEventListener('click', onClick);
90
-
91
- return () => {
92
- lexicalRoot?.removeEventListener('Update', onUpdate);
93
- lexicalRoot?.removeEventListener('click', onClick);
94
- };
95
- });
96
-
97
- $effect(() => {
98
- if ($editor && lexicalRoot) {
99
- $editor.setRootElement(lexicalRoot);
100
- // We should avoid an empty editor; there should be at least one `<p>`
101
- // @see https://github.com/facebook/lexical/issues/2308
102
- $editor.update(() => {
103
- getRoot().append(createParagraphNode());
104
- });
105
- }
106
- });
107
- </script>
108
-
109
- <div
110
- bind:this={lexicalRoot}
111
- {...restProps}
112
- role="textbox"
113
- aria-multiline="true"
114
- aria-hidden={hidden}
115
- aria-disabled={disabled}
116
- aria-readonly={readonly}
117
- aria-required={required}
118
- aria-invalid={invalid}
119
- class="lexical-root"
120
- id="{$editorId}-lexical-root"
121
- contenteditable={editable}
122
- {hidden}
123
- ></div>
124
-
125
- <style>.lexical-root {
126
- border: 1px solid var(--sui-textbox-border-color);
127
- border-radius: 0 0 var(--sui-textbox-border-radius) var(--sui-textbox-border-radius) !important;
128
- padding: var(--sui-textbox-multiline-padding);
129
- min-height: 8em;
130
- color: var(--sui-textbox-foreground-color);
131
- background-color: var(--sui-textbox-background-color);
132
- font-family: var(--sui-textbox-font-family);
133
- font-size: var(--sui-textbox-font-size);
134
- line-height: var(--sui-textbox-multiline-line-height);
135
- }
136
- .lexical-root:focus-visible {
137
- outline: 0;
138
- }
139
- .lexical-root[aria-invalid=true] {
140
- border-color: var(--sui-error-foreground-color);
141
- }
142
- .lexical-root > :global(:first-child) {
143
- margin-top: 0;
144
- }
145
- .lexical-root > :global(:last-child) {
146
- margin-bottom: 0;
147
- }
148
- .lexical-root :global(strong.italic) {
149
- font-style: italic;
150
- }
151
- .lexical-root :global(li.nested) {
152
- list-style-type: none;
153
- }
154
- .lexical-root :global([data-lexical-text="true"]) {
155
- cursor: text;
156
- }</style>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes