mikuru 1.0.37 → 1.0.39

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 (76) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/MikuruAlertDialog.mikuru +183 -0
  3. package/components/MikuruAvatar.mikuru +60 -0
  4. package/components/MikuruAvatarGroup.mikuru +66 -0
  5. package/components/MikuruBadge.mikuru +62 -0
  6. package/components/MikuruBreadcrumb.mikuru +86 -0
  7. package/components/MikuruCalendar.mikuru +142 -0
  8. package/components/MikuruChip.mikuru +64 -0
  9. package/components/MikuruCodeBlock.mikuru +20 -13
  10. package/components/MikuruCodeView.mikuru +21 -0
  11. package/components/MikuruColorPicker.mikuru +63 -0
  12. package/components/MikuruCommandPalette.mikuru +197 -0
  13. package/components/MikuruContextMenu.mikuru +137 -0
  14. package/components/MikuruDataList.mikuru +61 -0
  15. package/components/MikuruDatePicker.mikuru +293 -0
  16. package/components/MikuruDrawer.mikuru +115 -0
  17. package/components/MikuruEmptyState.mikuru +72 -0
  18. package/components/MikuruFileUpload.mikuru +161 -0
  19. package/components/MikuruKbd.mikuru +28 -0
  20. package/components/MikuruMarkdownEditor.mikuru +561 -0
  21. package/components/MikuruPagination.mikuru +109 -0
  22. package/components/MikuruPopover.mikuru +152 -0
  23. package/components/MikuruRadioGroup.mikuru +111 -0
  24. package/components/MikuruRangeSlider.mikuru +96 -0
  25. package/components/MikuruRating.mikuru +72 -0
  26. package/components/MikuruSearchInput.mikuru +97 -0
  27. package/components/MikuruSegmentedControl.mikuru +70 -0
  28. package/components/MikuruSkeleton.mikuru +74 -0
  29. package/components/MikuruSlider.mikuru +77 -0
  30. package/components/MikuruStatCard.mikuru +63 -0
  31. package/components/MikuruStepper.mikuru +123 -0
  32. package/components/MikuruSwitch.mikuru +104 -0
  33. package/components/MikuruTable.mikuru +242 -0
  34. package/components/MikuruTagInput.mikuru +127 -0
  35. package/components/MikuruTimePicker.mikuru +61 -0
  36. package/components/MikuruTimeline.mikuru +93 -0
  37. package/components/MikuruTreeView.mikuru +72 -0
  38. package/components/MikuruVideoPlayer.mikuru +44 -13
  39. package/components/MikuruWysiwygEditor.mikuru +259 -0
  40. package/package.json +289 -1
  41. package/types/components/MikuruAlertDialog.d.ts +16 -0
  42. package/types/components/MikuruAvatar.d.ts +12 -0
  43. package/types/components/MikuruAvatarGroup.d.ts +19 -0
  44. package/types/components/MikuruBadge.d.ts +11 -0
  45. package/types/components/MikuruBreadcrumb.d.ts +16 -0
  46. package/types/components/MikuruCalendar.d.ts +11 -0
  47. package/types/components/MikuruChip.d.ts +12 -0
  48. package/types/components/MikuruCodeView.d.ts +11 -0
  49. package/types/components/MikuruColorPicker.d.ts +11 -0
  50. package/types/components/MikuruCommandPalette.d.ts +20 -0
  51. package/types/components/MikuruContextMenu.d.ts +18 -0
  52. package/types/components/MikuruDataList.d.ts +17 -0
  53. package/types/components/MikuruDatePicker.d.ts +12 -0
  54. package/types/components/MikuruDrawer.d.ts +14 -0
  55. package/types/components/MikuruEmptyState.d.ts +12 -0
  56. package/types/components/MikuruFileUpload.d.ts +14 -0
  57. package/types/components/MikuruKbd.d.ts +9 -0
  58. package/types/components/MikuruMarkdownEditor.d.ts +15 -0
  59. package/types/components/MikuruPagination.d.ts +12 -0
  60. package/types/components/MikuruPopover.d.ts +13 -0
  61. package/types/components/MikuruRadioGroup.d.ts +21 -0
  62. package/types/components/MikuruRangeSlider.d.ts +15 -0
  63. package/types/components/MikuruRating.d.ts +13 -0
  64. package/types/components/MikuruSearchInput.d.ts +12 -0
  65. package/types/components/MikuruSegmentedControl.d.ts +18 -0
  66. package/types/components/MikuruSkeleton.d.ts +13 -0
  67. package/types/components/MikuruSlider.d.ts +15 -0
  68. package/types/components/MikuruStatCard.d.ts +12 -0
  69. package/types/components/MikuruStepper.d.ts +19 -0
  70. package/types/components/MikuruSwitch.d.ts +12 -0
  71. package/types/components/MikuruTable.d.ts +27 -0
  72. package/types/components/MikuruTagInput.d.ts +13 -0
  73. package/types/components/MikuruTimePicker.d.ts +12 -0
  74. package/types/components/MikuruTimeline.d.ts +17 -0
  75. package/types/components/MikuruTreeView.d.ts +17 -0
  76. package/types/components/MikuruWysiwygEditor.d.ts +12 -0
@@ -0,0 +1,259 @@
1
+ <template>
2
+ <section class="mikuru-wysiwyg-editor">
3
+ <header class="editor-header">
4
+ <label>{{ label }}</label>
5
+ <div class="toolbar" role="toolbar" aria-label="WYSIWYG formatting">
6
+ <button type="button" title="Bold" @click="format('bold')"><strong>B</strong></button>
7
+ <button type="button" title="Italic" @click="format('italic')"><em>I</em></button>
8
+ <button type="button" title="Heading" @click="toggleHeading">H</button>
9
+ <button type="button" title="Bulleted list" @click="format('insertUnorderedList')">•</button>
10
+ <button type="button" title="Link" @click="createLink">🔗</button>
11
+ <button type="button" title="Clear formatting" @click="format('removeFormat')">Tx</button>
12
+ </div>
13
+ </header>
14
+
15
+ <div
16
+ ref="editorEl"
17
+ class="wysiwyg-surface"
18
+ contenteditable="true"
19
+ role="textbox"
20
+ aria-multiline="true"
21
+ :aria-label="label"
22
+ :data-placeholder="placeholder"
23
+ @input="handleInput"
24
+ @blur="handleBlur"
25
+ @paste="handlePaste"
26
+ ></div>
27
+
28
+ <small m-if="help">{{ help }}</small>
29
+ </section>
30
+ </template>
31
+
32
+ <script>
33
+ import { onMounted, ref, watch } from "mikuru";
34
+
35
+ const {
36
+ label = "Editor",
37
+ modelValue = "",
38
+ placeholder = "Start writing...",
39
+ help = ""
40
+ } = defineProps({
41
+ label: String,
42
+ modelValue: String,
43
+ placeholder: String,
44
+ help: String
45
+ });
46
+
47
+ const emit = defineEmits(["update:modelValue", "input", "change"]);
48
+ const editorEl = ref(null);
49
+ let internalUpdate = false;
50
+
51
+ onMounted(() => {
52
+ syncHtml();
53
+ });
54
+
55
+ watch(modelValue, syncHtml);
56
+
57
+ function syncHtml() {
58
+ if (internalUpdate) return;
59
+ const editor = editorEl.value;
60
+ if (!editor) return;
61
+ const nextHtml = sanitizeHtml(modelValue.value || "");
62
+ if (editor.innerHTML !== nextHtml) {
63
+ editor.innerHTML = nextHtml;
64
+ }
65
+ }
66
+
67
+ function emitInputHtml() {
68
+ const editor = editorEl.value;
69
+ if (!editor) return;
70
+ const nextHtml = sanitizeHtml(editor.innerHTML);
71
+ if (editor.innerHTML !== nextHtml) {
72
+ editor.innerHTML = nextHtml;
73
+ }
74
+ internalUpdate = true;
75
+ emit("update:modelValue", nextHtml);
76
+ emit("input", nextHtml);
77
+ internalUpdate = false;
78
+ }
79
+
80
+ function handleInput() {
81
+ emitInputHtml();
82
+ }
83
+
84
+ function handleBlur() {
85
+ emitChangeHtml();
86
+ }
87
+
88
+ function emitChangeHtml() {
89
+ const editor = editorEl.value;
90
+ if (!editor) return;
91
+ const nextHtml = sanitizeHtml(editor.innerHTML);
92
+ if (editor.innerHTML !== nextHtml) {
93
+ editor.innerHTML = nextHtml;
94
+ }
95
+ internalUpdate = true;
96
+ emit("update:modelValue", nextHtml);
97
+ emit("change", nextHtml);
98
+ internalUpdate = false;
99
+ }
100
+
101
+ function format(command) {
102
+ focusEditor();
103
+ document.execCommand(command, false);
104
+ emitInputHtml();
105
+ }
106
+
107
+ function toggleHeading() {
108
+ focusEditor();
109
+ document.execCommand("formatBlock", false, "h2");
110
+ emitInputHtml();
111
+ }
112
+
113
+ function createLink() {
114
+ focusEditor();
115
+ const url = window.prompt("Link URL");
116
+ if (!url) return;
117
+ const safeUrl = sanitizeUrl(url);
118
+ if (!safeUrl) return;
119
+ document.execCommand("createLink", false, safeUrl);
120
+ emitInputHtml();
121
+ }
122
+
123
+ function handlePaste(event) {
124
+ event.preventDefault();
125
+ const text = event.clipboardData?.getData("text/plain") || "";
126
+ document.execCommand("insertText", false, text);
127
+ emitInputHtml();
128
+ }
129
+
130
+ function focusEditor() {
131
+ editorEl.value?.focus();
132
+ }
133
+
134
+ function sanitizeHtml(html) {
135
+ const template = document.createElement("template");
136
+ template.innerHTML = String(html || "");
137
+ template.content.querySelectorAll("script, style, iframe, object, embed").forEach((node) => node.remove());
138
+ template.content.querySelectorAll("*").forEach((node) => {
139
+ for (const attribute of [...node.attributes]) {
140
+ const name = attribute.name.toLowerCase();
141
+ if (name.startsWith("on")) {
142
+ node.removeAttribute(attribute.name);
143
+ continue;
144
+ }
145
+ if ((name === "href" || name === "src") && !sanitizeUrl(attribute.value)) {
146
+ node.removeAttribute(attribute.name);
147
+ }
148
+ }
149
+ if (node.tagName === "A") {
150
+ node.setAttribute("rel", "noreferrer");
151
+ node.setAttribute("target", "_blank");
152
+ }
153
+ });
154
+ return template.innerHTML;
155
+ }
156
+
157
+ function sanitizeUrl(value) {
158
+ const trimmed = String(value || "").trim();
159
+ if (!trimmed) return "";
160
+ if (trimmed.startsWith("#") || trimmed.startsWith("/")) return trimmed;
161
+ try {
162
+ const parsed = new URL(trimmed);
163
+ return parsed.protocol === "http:" || parsed.protocol === "https:" || parsed.protocol === "mailto:"
164
+ ? parsed.toString()
165
+ : "";
166
+ } catch {
167
+ return "";
168
+ }
169
+ }
170
+ </script>
171
+
172
+ <style scoped>
173
+ .mikuru-wysiwyg-editor {
174
+ display: grid;
175
+ gap: 8px;
176
+ color: #111827;
177
+ font: inherit;
178
+ }
179
+
180
+ .editor-header {
181
+ display: flex;
182
+ align-items: center;
183
+ justify-content: space-between;
184
+ gap: 12px;
185
+ }
186
+
187
+ label {
188
+ font-weight: 650;
189
+ }
190
+
191
+ .toolbar {
192
+ display: flex;
193
+ gap: 4px;
194
+ flex-wrap: wrap;
195
+ }
196
+
197
+ button {
198
+ display: inline-flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ min-width: 34px;
202
+ border: 1px solid #cbd5e1;
203
+ border-radius: 8px;
204
+ padding: 7px 9px;
205
+ color: #111827;
206
+ background: #ffffff;
207
+ font: inherit;
208
+ cursor: pointer;
209
+ }
210
+
211
+ button:hover,
212
+ button:focus-visible {
213
+ border-color: #2563eb;
214
+ outline: 3px solid rgb(37 99 235 / 16%);
215
+ }
216
+
217
+ .wysiwyg-surface {
218
+ min-height: 220px;
219
+ overflow: auto;
220
+ border: 1px solid #cbd5e1;
221
+ border-radius: 8px;
222
+ padding: 12px;
223
+ color: #111827;
224
+ background: #ffffff;
225
+ line-height: 1.6;
226
+ outline: none;
227
+ }
228
+
229
+ .wysiwyg-surface:focus {
230
+ border-color: #2563eb;
231
+ outline: 3px solid rgb(37 99 235 / 18%);
232
+ }
233
+
234
+ .wysiwyg-surface:empty::before {
235
+ content: attr(data-placeholder);
236
+ color: #94a3b8;
237
+ }
238
+
239
+ small {
240
+ color: #64748b;
241
+ }
242
+
243
+ :deep(.wysiwyg-surface h2),
244
+ :deep(.wysiwyg-surface p),
245
+ :deep(.wysiwyg-surface ul) {
246
+ margin: 0 0 10px;
247
+ }
248
+
249
+ :deep(.wysiwyg-surface a) {
250
+ color: #2563eb;
251
+ }
252
+
253
+ @media (max-width: 760px) {
254
+ .editor-header {
255
+ align-items: stretch;
256
+ flex-direction: column;
257
+ }
258
+ }
259
+ </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mikuru",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "A compile-first JavaScript framework with Vue-like authoring and Svelte-like generated DOM updates.",
@@ -117,6 +117,238 @@
117
117
  "types": "./types/components/MikuruCodeBlock.d.ts",
118
118
  "default": "./components/MikuruCodeBlock.mikuru"
119
119
  },
120
+ "./components/MikuruCodeView": {
121
+ "types": "./types/components/MikuruCodeView.d.ts",
122
+ "default": "./components/MikuruCodeView.mikuru"
123
+ },
124
+ "./components/MikuruCodeView.mikuru": {
125
+ "types": "./types/components/MikuruCodeView.d.ts",
126
+ "default": "./components/MikuruCodeView.mikuru"
127
+ },
128
+ "./components/MikuruDrawer": {
129
+ "types": "./types/components/MikuruDrawer.d.ts",
130
+ "default": "./components/MikuruDrawer.mikuru"
131
+ },
132
+ "./components/MikuruDrawer.mikuru": {
133
+ "types": "./types/components/MikuruDrawer.d.ts",
134
+ "default": "./components/MikuruDrawer.mikuru"
135
+ },
136
+ "./components/MikuruBreadcrumb": {
137
+ "types": "./types/components/MikuruBreadcrumb.d.ts",
138
+ "default": "./components/MikuruBreadcrumb.mikuru"
139
+ },
140
+ "./components/MikuruBreadcrumb.mikuru": {
141
+ "types": "./types/components/MikuruBreadcrumb.d.ts",
142
+ "default": "./components/MikuruBreadcrumb.mikuru"
143
+ },
144
+ "./components/MikuruSwitch": {
145
+ "types": "./types/components/MikuruSwitch.d.ts",
146
+ "default": "./components/MikuruSwitch.mikuru"
147
+ },
148
+ "./components/MikuruSwitch.mikuru": {
149
+ "types": "./types/components/MikuruSwitch.d.ts",
150
+ "default": "./components/MikuruSwitch.mikuru"
151
+ },
152
+ "./components/MikuruRadioGroup": {
153
+ "types": "./types/components/MikuruRadioGroup.d.ts",
154
+ "default": "./components/MikuruRadioGroup.mikuru"
155
+ },
156
+ "./components/MikuruRadioGroup.mikuru": {
157
+ "types": "./types/components/MikuruRadioGroup.d.ts",
158
+ "default": "./components/MikuruRadioGroup.mikuru"
159
+ },
160
+ "./components/MikuruFileUpload": {
161
+ "types": "./types/components/MikuruFileUpload.d.ts",
162
+ "default": "./components/MikuruFileUpload.mikuru"
163
+ },
164
+ "./components/MikuruFileUpload.mikuru": {
165
+ "types": "./types/components/MikuruFileUpload.d.ts",
166
+ "default": "./components/MikuruFileUpload.mikuru"
167
+ },
168
+ "./components/MikuruEmptyState": {
169
+ "types": "./types/components/MikuruEmptyState.d.ts",
170
+ "default": "./components/MikuruEmptyState.mikuru"
171
+ },
172
+ "./components/MikuruEmptyState.mikuru": {
173
+ "types": "./types/components/MikuruEmptyState.d.ts",
174
+ "default": "./components/MikuruEmptyState.mikuru"
175
+ },
176
+ "./components/MikuruSkeleton": {
177
+ "types": "./types/components/MikuruSkeleton.d.ts",
178
+ "default": "./components/MikuruSkeleton.mikuru"
179
+ },
180
+ "./components/MikuruSkeleton.mikuru": {
181
+ "types": "./types/components/MikuruSkeleton.d.ts",
182
+ "default": "./components/MikuruSkeleton.mikuru"
183
+ },
184
+ "./components/MikuruBadge": {
185
+ "types": "./types/components/MikuruBadge.d.ts",
186
+ "default": "./components/MikuruBadge.mikuru"
187
+ },
188
+ "./components/MikuruBadge.mikuru": {
189
+ "types": "./types/components/MikuruBadge.d.ts",
190
+ "default": "./components/MikuruBadge.mikuru"
191
+ },
192
+ "./components/MikuruCommandPalette": {
193
+ "types": "./types/components/MikuruCommandPalette.d.ts",
194
+ "default": "./components/MikuruCommandPalette.mikuru"
195
+ },
196
+ "./components/MikuruCommandPalette.mikuru": {
197
+ "types": "./types/components/MikuruCommandPalette.d.ts",
198
+ "default": "./components/MikuruCommandPalette.mikuru"
199
+ },
200
+ "./components/MikuruAvatar": {
201
+ "types": "./types/components/MikuruAvatar.d.ts",
202
+ "default": "./components/MikuruAvatar.mikuru"
203
+ },
204
+ "./components/MikuruAvatar.mikuru": {
205
+ "types": "./types/components/MikuruAvatar.d.ts",
206
+ "default": "./components/MikuruAvatar.mikuru"
207
+ },
208
+ "./components/MikuruAvatarGroup": {
209
+ "types": "./types/components/MikuruAvatarGroup.d.ts",
210
+ "default": "./components/MikuruAvatarGroup.mikuru"
211
+ },
212
+ "./components/MikuruAvatarGroup.mikuru": {
213
+ "types": "./types/components/MikuruAvatarGroup.d.ts",
214
+ "default": "./components/MikuruAvatarGroup.mikuru"
215
+ },
216
+ "./components/MikuruContextMenu": {
217
+ "types": "./types/components/MikuruContextMenu.d.ts",
218
+ "default": "./components/MikuruContextMenu.mikuru"
219
+ },
220
+ "./components/MikuruContextMenu.mikuru": {
221
+ "types": "./types/components/MikuruContextMenu.d.ts",
222
+ "default": "./components/MikuruContextMenu.mikuru"
223
+ },
224
+ "./components/MikuruStepper": {
225
+ "types": "./types/components/MikuruStepper.d.ts",
226
+ "default": "./components/MikuruStepper.mikuru"
227
+ },
228
+ "./components/MikuruStepper.mikuru": {
229
+ "types": "./types/components/MikuruStepper.d.ts",
230
+ "default": "./components/MikuruStepper.mikuru"
231
+ },
232
+ "./components/MikuruSlider": {
233
+ "types": "./types/components/MikuruSlider.d.ts",
234
+ "default": "./components/MikuruSlider.mikuru"
235
+ },
236
+ "./components/MikuruSlider.mikuru": {
237
+ "types": "./types/components/MikuruSlider.d.ts",
238
+ "default": "./components/MikuruSlider.mikuru"
239
+ },
240
+ "./components/MikuruRating": {
241
+ "types": "./types/components/MikuruRating.d.ts",
242
+ "default": "./components/MikuruRating.mikuru"
243
+ },
244
+ "./components/MikuruRating.mikuru": {
245
+ "types": "./types/components/MikuruRating.d.ts",
246
+ "default": "./components/MikuruRating.mikuru"
247
+ },
248
+ "./components/MikuruTimeline": {
249
+ "types": "./types/components/MikuruTimeline.d.ts",
250
+ "default": "./components/MikuruTimeline.mikuru"
251
+ },
252
+ "./components/MikuruTimeline.mikuru": {
253
+ "types": "./types/components/MikuruTimeline.d.ts",
254
+ "default": "./components/MikuruTimeline.mikuru"
255
+ },
256
+ "./components/MikuruStatCard": {
257
+ "types": "./types/components/MikuruStatCard.d.ts",
258
+ "default": "./components/MikuruStatCard.mikuru"
259
+ },
260
+ "./components/MikuruStatCard.mikuru": {
261
+ "types": "./types/components/MikuruStatCard.d.ts",
262
+ "default": "./components/MikuruStatCard.mikuru"
263
+ },
264
+ "./components/MikuruKbd": {
265
+ "types": "./types/components/MikuruKbd.d.ts",
266
+ "default": "./components/MikuruKbd.mikuru"
267
+ },
268
+ "./components/MikuruKbd.mikuru": {
269
+ "types": "./types/components/MikuruKbd.d.ts",
270
+ "default": "./components/MikuruKbd.mikuru"
271
+ },
272
+ "./components/MikuruSearchInput": {
273
+ "types": "./types/components/MikuruSearchInput.d.ts",
274
+ "default": "./components/MikuruSearchInput.mikuru"
275
+ },
276
+ "./components/MikuruSearchInput.mikuru": {
277
+ "types": "./types/components/MikuruSearchInput.d.ts",
278
+ "default": "./components/MikuruSearchInput.mikuru"
279
+ },
280
+ "./components/MikuruSegmentedControl": {
281
+ "types": "./types/components/MikuruSegmentedControl.d.ts",
282
+ "default": "./components/MikuruSegmentedControl.mikuru"
283
+ },
284
+ "./components/MikuruSegmentedControl.mikuru": {
285
+ "types": "./types/components/MikuruSegmentedControl.d.ts",
286
+ "default": "./components/MikuruSegmentedControl.mikuru"
287
+ },
288
+ "./components/MikuruChip": {
289
+ "types": "./types/components/MikuruChip.d.ts",
290
+ "default": "./components/MikuruChip.mikuru"
291
+ },
292
+ "./components/MikuruChip.mikuru": {
293
+ "types": "./types/components/MikuruChip.d.ts",
294
+ "default": "./components/MikuruChip.mikuru"
295
+ },
296
+ "./components/MikuruTagInput": {
297
+ "types": "./types/components/MikuruTagInput.d.ts",
298
+ "default": "./components/MikuruTagInput.mikuru"
299
+ },
300
+ "./components/MikuruTagInput.mikuru": {
301
+ "types": "./types/components/MikuruTagInput.d.ts",
302
+ "default": "./components/MikuruTagInput.mikuru"
303
+ },
304
+ "./components/MikuruRangeSlider": {
305
+ "types": "./types/components/MikuruRangeSlider.d.ts",
306
+ "default": "./components/MikuruRangeSlider.mikuru"
307
+ },
308
+ "./components/MikuruRangeSlider.mikuru": {
309
+ "types": "./types/components/MikuruRangeSlider.d.ts",
310
+ "default": "./components/MikuruRangeSlider.mikuru"
311
+ },
312
+ "./components/MikuruColorPicker": {
313
+ "types": "./types/components/MikuruColorPicker.d.ts",
314
+ "default": "./components/MikuruColorPicker.mikuru"
315
+ },
316
+ "./components/MikuruColorPicker.mikuru": {
317
+ "types": "./types/components/MikuruColorPicker.d.ts",
318
+ "default": "./components/MikuruColorPicker.mikuru"
319
+ },
320
+ "./components/MikuruTimePicker": {
321
+ "types": "./types/components/MikuruTimePicker.d.ts",
322
+ "default": "./components/MikuruTimePicker.mikuru"
323
+ },
324
+ "./components/MikuruTimePicker.mikuru": {
325
+ "types": "./types/components/MikuruTimePicker.d.ts",
326
+ "default": "./components/MikuruTimePicker.mikuru"
327
+ },
328
+ "./components/MikuruCalendar": {
329
+ "types": "./types/components/MikuruCalendar.d.ts",
330
+ "default": "./components/MikuruCalendar.mikuru"
331
+ },
332
+ "./components/MikuruCalendar.mikuru": {
333
+ "types": "./types/components/MikuruCalendar.d.ts",
334
+ "default": "./components/MikuruCalendar.mikuru"
335
+ },
336
+ "./components/MikuruDataList": {
337
+ "types": "./types/components/MikuruDataList.d.ts",
338
+ "default": "./components/MikuruDataList.mikuru"
339
+ },
340
+ "./components/MikuruDataList.mikuru": {
341
+ "types": "./types/components/MikuruDataList.d.ts",
342
+ "default": "./components/MikuruDataList.mikuru"
343
+ },
344
+ "./components/MikuruTreeView": {
345
+ "types": "./types/components/MikuruTreeView.d.ts",
346
+ "default": "./components/MikuruTreeView.mikuru"
347
+ },
348
+ "./components/MikuruTreeView.mikuru": {
349
+ "types": "./types/components/MikuruTreeView.d.ts",
350
+ "default": "./components/MikuruTreeView.mikuru"
351
+ },
120
352
  "./components/MikuruTabs": {
121
353
  "types": "./types/components/MikuruTabs.d.ts",
122
354
  "default": "./components/MikuruTabs.mikuru"
@@ -173,6 +405,62 @@
173
405
  "types": "./types/components/MikuruCombobox.d.ts",
174
406
  "default": "./components/MikuruCombobox.mikuru"
175
407
  },
408
+ "./components/MikuruPopover": {
409
+ "types": "./types/components/MikuruPopover.d.ts",
410
+ "default": "./components/MikuruPopover.mikuru"
411
+ },
412
+ "./components/MikuruPopover.mikuru": {
413
+ "types": "./types/components/MikuruPopover.d.ts",
414
+ "default": "./components/MikuruPopover.mikuru"
415
+ },
416
+ "./components/MikuruAlertDialog": {
417
+ "types": "./types/components/MikuruAlertDialog.d.ts",
418
+ "default": "./components/MikuruAlertDialog.mikuru"
419
+ },
420
+ "./components/MikuruAlertDialog.mikuru": {
421
+ "types": "./types/components/MikuruAlertDialog.d.ts",
422
+ "default": "./components/MikuruAlertDialog.mikuru"
423
+ },
424
+ "./components/MikuruTable": {
425
+ "types": "./types/components/MikuruTable.d.ts",
426
+ "default": "./components/MikuruTable.mikuru"
427
+ },
428
+ "./components/MikuruTable.mikuru": {
429
+ "types": "./types/components/MikuruTable.d.ts",
430
+ "default": "./components/MikuruTable.mikuru"
431
+ },
432
+ "./components/MikuruPagination": {
433
+ "types": "./types/components/MikuruPagination.d.ts",
434
+ "default": "./components/MikuruPagination.mikuru"
435
+ },
436
+ "./components/MikuruPagination.mikuru": {
437
+ "types": "./types/components/MikuruPagination.d.ts",
438
+ "default": "./components/MikuruPagination.mikuru"
439
+ },
440
+ "./components/MikuruDatePicker": {
441
+ "types": "./types/components/MikuruDatePicker.d.ts",
442
+ "default": "./components/MikuruDatePicker.mikuru"
443
+ },
444
+ "./components/MikuruDatePicker.mikuru": {
445
+ "types": "./types/components/MikuruDatePicker.d.ts",
446
+ "default": "./components/MikuruDatePicker.mikuru"
447
+ },
448
+ "./components/MikuruMarkdownEditor": {
449
+ "types": "./types/components/MikuruMarkdownEditor.d.ts",
450
+ "default": "./components/MikuruMarkdownEditor.mikuru"
451
+ },
452
+ "./components/MikuruMarkdownEditor.mikuru": {
453
+ "types": "./types/components/MikuruMarkdownEditor.d.ts",
454
+ "default": "./components/MikuruMarkdownEditor.mikuru"
455
+ },
456
+ "./components/MikuruWysiwygEditor": {
457
+ "types": "./types/components/MikuruWysiwygEditor.d.ts",
458
+ "default": "./components/MikuruWysiwygEditor.mikuru"
459
+ },
460
+ "./components/MikuruWysiwygEditor.mikuru": {
461
+ "types": "./types/components/MikuruWysiwygEditor.d.ts",
462
+ "default": "./components/MikuruWysiwygEditor.mikuru"
463
+ },
176
464
  "./components/MikuruHeader": {
177
465
  "types": "./types/components/MikuruHeader.d.ts",
178
466
  "default": "./components/MikuruHeader.mikuru"
@@ -0,0 +1,16 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruAlertDialogProps = {
4
+ open?: boolean;
5
+ title?: string;
6
+ description?: string;
7
+ body?: string;
8
+ confirmLabel?: string;
9
+ cancelLabel?: string;
10
+ closeOnBackdrop?: boolean;
11
+ closeOnEscape?: boolean;
12
+ };
13
+
14
+ declare const component: MikuruComponent<MikuruAlertDialogProps>;
15
+ export default component;
16
+ export const mount: MikuruComponent<MikuruAlertDialogProps>["mount"];
@@ -0,0 +1,12 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruAvatarProps = {
4
+ src?: string;
5
+ name?: string;
6
+ alt?: string;
7
+ size?: "sm" | "md" | "lg" | string;
8
+ };
9
+
10
+ declare const component: MikuruComponent<MikuruAvatarProps>;
11
+ export default component;
12
+ export const mount: MikuruComponent<MikuruAvatarProps>["mount"];
@@ -0,0 +1,19 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruAvatarGroupItem = {
4
+ id?: string;
5
+ src?: string;
6
+ name: string;
7
+ alt?: string;
8
+ };
9
+
10
+ export type MikuruAvatarGroupProps = {
11
+ avatars?: MikuruAvatarGroupItem[];
12
+ max?: number;
13
+ size?: "sm" | "md" | "lg" | string;
14
+ label?: string;
15
+ };
16
+
17
+ declare const component: MikuruComponent<MikuruAvatarGroupProps>;
18
+ export default component;
19
+ export const mount: MikuruComponent<MikuruAvatarGroupProps>["mount"];
@@ -0,0 +1,11 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruBadgeProps = {
4
+ label?: string;
5
+ tone?: "neutral" | "success" | "warning" | "danger" | "info" | string;
6
+ variant?: "soft" | "outline" | string;
7
+ };
8
+
9
+ declare const component: MikuruComponent<MikuruBadgeProps>;
10
+ export default component;
11
+ export const mount: MikuruComponent<MikuruBadgeProps>["mount"];
@@ -0,0 +1,16 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruBreadcrumbItem = {
4
+ label: string;
5
+ value?: string;
6
+ href?: string;
7
+ current?: boolean;
8
+ };
9
+
10
+ export type MikuruBreadcrumbProps = {
11
+ items?: MikuruBreadcrumbItem[];
12
+ };
13
+
14
+ declare const component: MikuruComponent<MikuruBreadcrumbProps>;
15
+ export default component;
16
+ export const mount: MikuruComponent<MikuruBreadcrumbProps>["mount"];
@@ -0,0 +1,11 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruCalendarProps = {
4
+ label?: string;
5
+ modelValue?: string;
6
+ locale?: string;
7
+ };
8
+
9
+ declare const component: MikuruComponent<MikuruCalendarProps>;
10
+ export default component;
11
+ export const mount: MikuruComponent<MikuruCalendarProps>["mount"];
@@ -0,0 +1,12 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruChipProps = {
4
+ label?: string;
5
+ tone?: "neutral" | "info" | "success" | string;
6
+ removable?: boolean;
7
+ removeLabel?: string;
8
+ };
9
+
10
+ declare const component: MikuruComponent<MikuruChipProps>;
11
+ export default component;
12
+ export const mount: MikuruComponent<MikuruChipProps>["mount"];
@@ -0,0 +1,11 @@
1
+ import type { MikuruComponent } from "../env";
2
+
3
+ export type MikuruCodeViewProps = {
4
+ code?: string;
5
+ language?: string;
6
+ showLineNumbers?: boolean;
7
+ };
8
+
9
+ declare const component: MikuruComponent<MikuruCodeViewProps>;
10
+ export default component;
11
+ export const mount: MikuruComponent<MikuruCodeViewProps>["mount"];