@mnaoumov/obsidian-lib 10.5.1 → 10.6.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.
- package/codemirror/inline-token-widgets/package.json +6 -0
- package/codemirror/settings-facet/package.json +6 -0
- package/components/settings-facet-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +96 -1
- package/dist/lib/cjs/__merged.d.cts +17 -0
- package/dist/lib/cjs/anchored-suggest.cjs +232 -0
- package/dist/lib/cjs/anchored-suggest.d.cts +116 -0
- package/dist/lib/cjs/bug-report.cjs +4 -2
- package/dist/lib/cjs/bug-report.d.cts +1 -1
- package/dist/lib/cjs/code-block-render-handoff.cjs +272 -0
- package/dist/lib/cjs/code-block-render-handoff.d.cts +131 -0
- package/dist/lib/cjs/codemirror/index.cjs +7 -1
- package/dist/lib/cjs/codemirror/index.d.cts +2 -0
- package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +250 -0
- package/dist/lib/cjs/codemirror/inline-token-widgets.d.cts +109 -0
- package/dist/lib/cjs/codemirror/settings-facet.cjs +132 -0
- package/dist/lib/cjs/codemirror/settings-facet.d.cts +19 -0
- package/dist/lib/cjs/components/index.cjs +4 -1
- package/dist/lib/cjs/components/index.d.cts +1 -0
- package/dist/lib/cjs/components/settings-facet-component.cjs +136 -0
- package/dist/lib/cjs/components/settings-facet-component.d.cts +68 -0
- package/dist/lib/cjs/css-class.cjs +8 -1
- package/dist/lib/cjs/css-class.d.cts +28 -0
- package/dist/lib/cjs/desktop-request-url-stream.cjs +258 -0
- package/dist/lib/cjs/desktop-request-url-stream.d.cts +22 -0
- package/dist/lib/cjs/editor-suggest-registrar.cjs +8 -2
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +14 -2
- package/dist/lib/cjs/editor-suggest.cjs +198 -0
- package/dist/lib/cjs/editor-suggest.d.cts +103 -0
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/hotkey.cjs +185 -0
- package/dist/lib/cjs/hotkey.d.cts +59 -0
- package/dist/lib/cjs/i18n/locales/en.cjs +13 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +12 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +12 -0
- package/dist/lib/cjs/index.cjs +31 -1
- package/dist/lib/cjs/index.d.cts +10 -0
- package/dist/lib/cjs/inline-token-renderer.cjs +145 -0
- package/dist/lib/cjs/inline-token-renderer.d.cts +88 -0
- package/dist/lib/cjs/link-and-tag-input-suggest.cjs +325 -0
- package/dist/lib/cjs/link-and-tag-input-suggest.d.cts +229 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -1
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +18 -0
- package/dist/lib/cjs/markdown.cjs +6 -1
- package/dist/lib/cjs/markdown.d.cts +10 -1
- package/dist/lib/cjs/rendered-markdown.cjs +306 -0
- package/dist/lib/cjs/rendered-markdown.d.cts +77 -0
- package/dist/lib/cjs/request-url.cjs +523 -0
- package/dist/lib/cjs/request-url.d.cts +233 -0
- package/dist/lib/cjs/setting-components/folder-list-component.cjs +216 -0
- package/dist/lib/cjs/setting-components/folder-list-component.d.cts +73 -0
- package/dist/lib/cjs/setting-components/hotkey-component.cjs +260 -0
- package/dist/lib/cjs/setting-components/hotkey-component.d.cts +85 -0
- package/dist/lib/cjs/setting-components/index.cjs +13 -1
- package/dist/lib/cjs/setting-components/index.d.cts +4 -0
- package/dist/lib/cjs/setting-components/list-component.cjs +291 -0
- package/dist/lib/cjs/setting-components/list-component.d.cts +106 -0
- package/dist/lib/cjs/setting-components/tag-list-component.cjs +220 -0
- package/dist/lib/cjs/setting-components/tag-list-component.d.cts +82 -0
- package/dist/lib/cjs/setting-ex.cjs +51 -1
- package/dist/lib/cjs/setting-ex.d.cts +35 -1
- package/dist/lib/cjs/settings-tabs.cjs +258 -0
- package/dist/lib/cjs/settings-tabs.d.cts +101 -0
- package/dist/lib/esm/__merged.d.mts +17 -0
- package/dist/lib/esm/__merged.mjs +99 -1
- package/dist/lib/esm/anchored-suggest.d.mts +116 -0
- package/dist/lib/esm/anchored-suggest.mjs +144 -0
- package/dist/lib/esm/bug-report.d.mts +1 -1
- package/dist/lib/esm/bug-report.mjs +4 -2
- package/dist/lib/esm/code-block-render-handoff.d.mts +131 -0
- package/dist/lib/esm/code-block-render-handoff.mjs +183 -0
- package/dist/lib/esm/codemirror/index.d.mts +2 -0
- package/dist/lib/esm/codemirror/index.mjs +5 -1
- package/dist/lib/esm/codemirror/inline-token-widgets.d.mts +109 -0
- package/dist/lib/esm/codemirror/inline-token-widgets.mjs +167 -0
- package/dist/lib/esm/codemirror/settings-facet.d.mts +19 -0
- package/dist/lib/esm/codemirror/settings-facet.mjs +44 -0
- package/dist/lib/esm/components/index.d.mts +1 -0
- package/dist/lib/esm/components/index.mjs +3 -1
- package/dist/lib/esm/components/settings-facet-component.d.mts +68 -0
- package/dist/lib/esm/components/settings-facet-component.mjs +48 -0
- package/dist/lib/esm/css-class.d.mts +28 -0
- package/dist/lib/esm/css-class.mjs +8 -1
- package/dist/lib/esm/desktop-request-url-stream.d.mts +22 -0
- package/dist/lib/esm/desktop-request-url-stream.mjs +170 -0
- package/dist/lib/esm/editor-suggest-registrar.d.mts +14 -2
- package/dist/lib/esm/editor-suggest-registrar.mjs +8 -2
- package/dist/lib/esm/editor-suggest.d.mts +103 -0
- package/dist/lib/esm/editor-suggest.mjs +109 -0
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/hotkey.d.mts +59 -0
- package/dist/lib/esm/hotkey.mjs +95 -0
- package/dist/lib/esm/i18n/locales/en.d.mts +12 -0
- package/dist/lib/esm/i18n/locales/en.mjs +13 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +12 -0
- package/dist/lib/esm/index.d.mts +10 -0
- package/dist/lib/esm/index.mjs +21 -1
- package/dist/lib/esm/inline-token-renderer.d.mts +88 -0
- package/dist/lib/esm/inline-token-renderer.mjs +59 -0
- package/dist/lib/esm/link-and-tag-input-suggest.d.mts +229 -0
- package/dist/lib/esm/link-and-tag-input-suggest.mjs +239 -0
- package/dist/lib/esm/markdown-code-block-processor.d.mts +18 -0
- package/dist/lib/esm/markdown-code-block-processor.mjs +16 -1
- package/dist/lib/esm/markdown.d.mts +10 -1
- package/dist/lib/esm/markdown.mjs +9 -1
- package/dist/lib/esm/rendered-markdown.d.mts +77 -0
- package/dist/lib/esm/rendered-markdown.mjs +219 -0
- package/dist/lib/esm/request-url.d.mts +233 -0
- package/dist/lib/esm/request-url.mjs +428 -0
- package/dist/lib/esm/setting-components/folder-list-component.d.mts +73 -0
- package/dist/lib/esm/setting-components/folder-list-component.mjs +131 -0
- package/dist/lib/esm/setting-components/hotkey-component.d.mts +85 -0
- package/dist/lib/esm/setting-components/hotkey-component.mjs +178 -0
- package/dist/lib/esm/setting-components/index.d.mts +4 -0
- package/dist/lib/esm/setting-components/index.mjs +9 -1
- package/dist/lib/esm/setting-components/list-component.d.mts +106 -0
- package/dist/lib/esm/setting-components/list-component.mjs +206 -0
- package/dist/lib/esm/setting-components/tag-list-component.d.mts +82 -0
- package/dist/lib/esm/setting-components/tag-list-component.mjs +131 -0
- package/dist/lib/esm/setting-ex.d.mts +35 -1
- package/dist/lib/esm/setting-ex.mjs +51 -1
- package/dist/lib/esm/settings-tabs.d.mts +101 -0
- package/dist/lib/esm/settings-tabs.mjs +170 -0
- package/dist/styles.css +83 -1
- package/package.json +1 -1
- package/setting-components/folder-list-component/package.json +6 -0
- package/setting-components/hotkey-component/package.json +6 -0
- package/setting-components/list-component/package.json +6 -0
- package/setting-components/tag-list-component/package.json +6 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
32
|
+
(function patchObsidianRequire() {
|
|
33
|
+
const originalRequire = require;
|
|
34
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
require = Object.assign(
|
|
38
|
+
(id) => requirePatched(id),
|
|
39
|
+
originalRequire,
|
|
40
|
+
{
|
|
41
|
+
__isPatched: true
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
function extractDefault($module) {
|
|
45
|
+
return $module && $module.__esModule && "default" in $module ? $module.default : $module;
|
|
46
|
+
}
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
48
|
+
"@codemirror/autocomplete",
|
|
49
|
+
"@codemirror/collab",
|
|
50
|
+
"@codemirror/commands",
|
|
51
|
+
"@codemirror/language",
|
|
52
|
+
"@codemirror/lint",
|
|
53
|
+
"@codemirror/search",
|
|
54
|
+
"@codemirror/state",
|
|
55
|
+
"@codemirror/text",
|
|
56
|
+
"@codemirror/view",
|
|
57
|
+
"@lezer/common",
|
|
58
|
+
"@lezer/highlight",
|
|
59
|
+
"@lezer/lr",
|
|
60
|
+
"obsidian"
|
|
61
|
+
]);
|
|
62
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
63
|
+
"@codemirror/closebrackets",
|
|
64
|
+
"@codemirror/comment",
|
|
65
|
+
"@codemirror/fold",
|
|
66
|
+
"@codemirror/gutter",
|
|
67
|
+
"@codemirror/highlight",
|
|
68
|
+
"@codemirror/history",
|
|
69
|
+
"@codemirror/matchbrackets",
|
|
70
|
+
"@codemirror/panel",
|
|
71
|
+
"@codemirror/rangeset",
|
|
72
|
+
"@codemirror/rectangular-selection",
|
|
73
|
+
"@codemirror/stream-parser",
|
|
74
|
+
"@codemirror/tooltip"
|
|
75
|
+
]);
|
|
76
|
+
function requirePatched(id) {
|
|
77
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
78
|
+
return originalRequire?.(id);
|
|
79
|
+
}
|
|
80
|
+
const app = globalThis.app;
|
|
81
|
+
if (app?.isMobile) {
|
|
82
|
+
if (id === "process" || id === "node:process") {
|
|
83
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
84
|
+
return process;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
const $module = originalRequire?.(id);
|
|
88
|
+
if ($module) {
|
|
89
|
+
return extractDefault($module);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
|
|
97
|
+
"use strict";
|
|
98
|
+
var __defProp = Object.defineProperty;
|
|
99
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
100
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
101
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
102
|
+
var __export = (target, all) => {
|
|
103
|
+
for (var name in all)
|
|
104
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
105
|
+
};
|
|
106
|
+
var __copyProps = (to, from, except, desc) => {
|
|
107
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
108
|
+
for (let key of __getOwnPropNames(from))
|
|
109
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
110
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
111
|
+
}
|
|
112
|
+
return to;
|
|
113
|
+
};
|
|
114
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
115
|
+
var hotkey_component_exports = {};
|
|
116
|
+
__export(hotkey_component_exports, {
|
|
117
|
+
HotkeyComponent: () => HotkeyComponent
|
|
118
|
+
});
|
|
119
|
+
module.exports = __toCommonJS(hotkey_component_exports);
|
|
120
|
+
var import_obsidian = require('obsidian');
|
|
121
|
+
var import_css_class = require('../css-class.cjs');
|
|
122
|
+
var import_hotkey = require('../hotkey.cjs');
|
|
123
|
+
var import_i18n = require('../i18n/i18n.cjs');
|
|
124
|
+
var import_plugin_context = require('../plugin/plugin-context.cjs');
|
|
125
|
+
class HotkeyComponent extends import_obsidian.ValueComponent {
|
|
126
|
+
/**
|
|
127
|
+
* The button that shows the hotkey and starts the recording.
|
|
128
|
+
*/
|
|
129
|
+
buttonEl;
|
|
130
|
+
/**
|
|
131
|
+
* The button that clears the hotkey.
|
|
132
|
+
*/
|
|
133
|
+
clearButton;
|
|
134
|
+
/**
|
|
135
|
+
* Whether the component is waiting for a key press.
|
|
136
|
+
*
|
|
137
|
+
* @returns Whether it is recording.
|
|
138
|
+
*/
|
|
139
|
+
get isRecording() {
|
|
140
|
+
return this._isRecording;
|
|
141
|
+
}
|
|
142
|
+
_isRecording = false;
|
|
143
|
+
changeCallback;
|
|
144
|
+
value = null;
|
|
145
|
+
/**
|
|
146
|
+
* Creates a new hotkey component.
|
|
147
|
+
*
|
|
148
|
+
* @param containerEl - The container element.
|
|
149
|
+
*/
|
|
150
|
+
constructor(containerEl) {
|
|
151
|
+
super();
|
|
152
|
+
(0, import_plugin_context.addPluginCssClasses)(containerEl, import_css_class.CssClass.HotkeyComponent);
|
|
153
|
+
this.buttonEl = containerEl.createEl("button");
|
|
154
|
+
this.buttonEl.addEventListener("click", this.startRecording.bind(this));
|
|
155
|
+
this.buttonEl.addEventListener("keydown", this.onKeyDown.bind(this));
|
|
156
|
+
this.buttonEl.addEventListener("blur", this.stopRecording.bind(this));
|
|
157
|
+
this.clearButton = new import_obsidian.ExtraButtonComponent(containerEl).setIcon("x").setTooltip((0, import_i18n.t)(($) => $.obsidianLib.hotkey.clear)).onClick(() => {
|
|
158
|
+
this.setValueAndNotify(null);
|
|
159
|
+
});
|
|
160
|
+
this.render();
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Gets the hotkey.
|
|
164
|
+
*
|
|
165
|
+
* @returns The hotkey, or `null` when none is set.
|
|
166
|
+
*/
|
|
167
|
+
getValue() {
|
|
168
|
+
return this.value;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Sets the callback to be called when the user records or clears a hotkey.
|
|
172
|
+
*
|
|
173
|
+
* @param callback - The callback.
|
|
174
|
+
* @returns The component.
|
|
175
|
+
*/
|
|
176
|
+
onChange(callback) {
|
|
177
|
+
this.changeCallback = callback;
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Sets the disabled state of the component.
|
|
182
|
+
*
|
|
183
|
+
* @param isDisabled - The disabled state.
|
|
184
|
+
* @returns The component.
|
|
185
|
+
*/
|
|
186
|
+
setDisabled(isDisabled) {
|
|
187
|
+
super.setDisabled(isDisabled);
|
|
188
|
+
this.buttonEl.disabled = isDisabled;
|
|
189
|
+
this.clearButton.setDisabled(isDisabled);
|
|
190
|
+
if (isDisabled) {
|
|
191
|
+
this.stopRecording();
|
|
192
|
+
}
|
|
193
|
+
return this;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Sets the hotkey.
|
|
197
|
+
*
|
|
198
|
+
* @param value - The hotkey, or `null` to clear it.
|
|
199
|
+
* @returns The component.
|
|
200
|
+
*/
|
|
201
|
+
setValue(value) {
|
|
202
|
+
this.value = value;
|
|
203
|
+
this.render();
|
|
204
|
+
return this;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Starts waiting for a key press.
|
|
208
|
+
*/
|
|
209
|
+
startRecording() {
|
|
210
|
+
if (this.disabled) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
this._isRecording = true;
|
|
214
|
+
this.render();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Stops waiting for a key press, keeping the current hotkey.
|
|
218
|
+
*/
|
|
219
|
+
stopRecording() {
|
|
220
|
+
this._isRecording = false;
|
|
221
|
+
this.render();
|
|
222
|
+
}
|
|
223
|
+
onKeyDown($event) {
|
|
224
|
+
if (!this._isRecording) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
$event.preventDefault();
|
|
228
|
+
$event.stopPropagation();
|
|
229
|
+
if ($event.key === "Escape") {
|
|
230
|
+
this.stopRecording();
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
const hotkey = (0, import_hotkey.getHotkeyFromKeyboardEvent)({ event: $event });
|
|
234
|
+
if (!hotkey) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
this._isRecording = false;
|
|
238
|
+
this.setValueAndNotify(hotkey);
|
|
239
|
+
}
|
|
240
|
+
render() {
|
|
241
|
+
if (this._isRecording) {
|
|
242
|
+
this.buttonEl.setText((0, import_i18n.t)(($) => $.obsidianLib.hotkey.pressHotkey));
|
|
243
|
+
} else if (this.value) {
|
|
244
|
+
this.buttonEl.setText((0, import_hotkey.formatHotkey)({ hotkey: this.value }));
|
|
245
|
+
} else {
|
|
246
|
+
this.buttonEl.setText((0, import_i18n.t)(($) => $.obsidianLib.hotkey.notSet));
|
|
247
|
+
}
|
|
248
|
+
this.buttonEl.toggleClass(import_css_class.CssClass.IsActive, this._isRecording);
|
|
249
|
+
this.buttonEl.toggleClass(import_css_class.CssClass.IsPlaceholder, !this._isRecording && !this.value);
|
|
250
|
+
}
|
|
251
|
+
setValueAndNotify(value) {
|
|
252
|
+
this.setValue(value);
|
|
253
|
+
this.changeCallback?.(value);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
257
|
+
0 && (module.exports = {
|
|
258
|
+
HotkeyComponent
|
|
259
|
+
});
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXR0aW5nLWNvbXBvbmVudHMvaG90a2V5LWNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCByZWNvcmRzIGEgaG90a2V5LlxuICovXG5cbmltcG9ydCB0eXBlIHsgSG90a2V5IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBFeHRyYUJ1dHRvbkNvbXBvbmVudCxcbiAgVmFsdWVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHtcbiAgZm9ybWF0SG90a2V5LFxuICBnZXRIb3RrZXlGcm9tS2V5Ym9hcmRFdmVudFxufSBmcm9tICcuLi9ob3RrZXkudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IHJlY29yZHMgYSBob3RrZXk6IGNsaWNrIHRoZSBidXR0b24sIHRoZW4gcHJlc3MgdGhlIGtleSBjb21iaW5hdGlvbi4gRXNjYXBlIGNhbmNlbHMgdGhlIHJlY29yZGluZyxcbiAqIGFuZCB0aGUgY2xlYXIgYnV0dG9uIHNldHMgdGhlIHZhbHVlIHRvIGBudWxsYC5cbiAqXG4gKiBUaGUgdmFsdWUgaXMgYSB7QGxpbmsgSG90a2V5fSwgdGhlIHNoYXBlIE9ic2lkaWFuIHN0b3JlcyBpbiBgaG90a2V5cy5qc29uYCwgc28gaXQgY2FuIGJlIGhhbmRlZCB0byBgU2NvcGUucmVnaXN0ZXJgLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkSG90a2V5fS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly91bnBrZy5jb20vQG1uYW91bW92L29ic2lkaWFuLWxpYi9kaXN0L3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgSG90a2V5Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8SG90a2V5IHwgbnVsbD4gaW1wbGVtZW50cyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxIb3RrZXkgfCBudWxsPiB7XG4gIC8qKlxuICAgKiBUaGUgYnV0dG9uIHRoYXQgc2hvd3MgdGhlIGhvdGtleSBhbmQgc3RhcnRzIHRoZSByZWNvcmRpbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uRWw6IEhUTUxCdXR0b25FbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgYnV0dG9uIHRoYXQgY2xlYXJzIHRoZSBob3RrZXkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xlYXJCdXR0b246IEV4dHJhQnV0dG9uQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgd2FpdGluZyBmb3IgYSBrZXkgcHJlc3MuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgaXQgaXMgcmVjb3JkaW5nLlxuICAgKi9cbiAgcHVibGljIGdldCBpc1JlY29yZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNSZWNvcmRpbmc7XG4gIH1cblxuICBwcml2YXRlIF9pc1JlY29yZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIGNoYW5nZUNhbGxiYWNrPzogKG5ld1ZhbHVlOiBIb3RrZXkgfCBudWxsKSA9PiB2b2lkO1xuICBwcml2YXRlIHZhbHVlOiBIb3RrZXkgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBob3RrZXkgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKGNvbnRhaW5lckVsLCBDc3NDbGFzcy5Ib3RrZXlDb21wb25lbnQpO1xuICAgIHRoaXMuYnV0dG9uRWwgPSBjb250YWluZXJFbC5jcmVhdGVFbCgnYnV0dG9uJyk7XG4gICAgdGhpcy5idXR0b25FbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuc3RhcnRSZWNvcmRpbmcuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5idXR0b25FbC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5vbktleURvd24uYmluZCh0aGlzKSk7XG4gICAgdGhpcy5idXR0b25FbC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5zdG9wUmVjb3JkaW5nLmJpbmQodGhpcykpO1xuICAgIHRoaXMuY2xlYXJCdXR0b24gPSBuZXcgRXh0cmFCdXR0b25Db21wb25lbnQoY29udGFpbmVyRWwpXG4gICAgICAuc2V0SWNvbigneCcpXG4gICAgICAuc2V0VG9vbHRpcCh0KCgkKSA9PiAkLm9ic2lkaWFuTGliLmhvdGtleS5jbGVhcikpXG4gICAgICAub25DbGljaygoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWVBbmROb3RpZnkobnVsbCk7XG4gICAgICB9KTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhvdGtleS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGhvdGtleSwgb3IgYG51bGxgIHdoZW4gbm9uZSBpcyBzZXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogSG90a2V5IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgcmVjb3JkcyBvciBjbGVhcnMgYSBob3RrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjay5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBIb3RrZXkgfCBudWxsKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIC0gVGhlIGRpc2FibGVkIHN0YXRlLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICBzdXBlci5zZXREaXNhYmxlZChpc0Rpc2FibGVkKTtcbiAgICB0aGlzLmJ1dHRvbkVsLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNsZWFyQnV0dG9uLnNldERpc2FibGVkKGlzRGlzYWJsZWQpO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaG90a2V5LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaG90a2V5LCBvciBgbnVsbGAgdG8gY2xlYXIgaXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IEhvdGtleSB8IG51bGwpOiB0aGlzIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgd2FpdGluZyBmb3IgYSBrZXkgcHJlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhcnRSZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faXNSZWNvcmRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcHMgd2FpdGluZyBmb3IgYSBrZXkgcHJlc3MsIGtlZXBpbmcgdGhlIGN1cnJlbnQgaG90a2V5LlxuICAgKi9cbiAgcHVibGljIHN0b3BSZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5faXNSZWNvcmRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbktleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1JlY29yZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaG90a2V5ID0gZ2V0SG90a2V5RnJvbUtleWJvYXJkRXZlbnQoeyBldmVudDogJGV2ZW50IH0pO1xuICAgIGlmICghaG90a2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2lzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5zZXRWYWx1ZUFuZE5vdGlmeShob3RrZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzUmVjb3JkaW5nKSB7XG4gICAgICB0aGlzLmJ1dHRvbkVsLnNldFRleHQodCgoJCkgPT4gJC5vYnNpZGlhbkxpYi5ob3RrZXkucHJlc3NIb3RrZXkpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuYnV0dG9uRWwuc2V0VGV4dChmb3JtYXRIb3RrZXkoeyBob3RrZXk6IHRoaXMudmFsdWUgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvbkVsLnNldFRleHQodCgoJCkgPT4gJC5vYnNpZGlhbkxpYi5ob3RrZXkubm90U2V0KSk7XG4gICAgfVxuICAgIHRoaXMuYnV0dG9uRWwudG9nZ2xlQ2xhc3MoQ3NzQ2xhc3MuSXNBY3RpdmUsIHRoaXMuX2lzUmVjb3JkaW5nKTtcbiAgICB0aGlzLmJ1dHRvbkVsLnRvZ2dsZUNsYXNzKENzc0NsYXNzLklzUGxhY2Vob2xkZXIsICF0aGlzLl9pc1JlY29yZGluZyAmJiAhdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlQW5kTm90aWZ5KHZhbHVlOiBIb3RrZXkgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjaz8uKHZhbHVlKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBR087QUFRUCx1QkFBeUI7QUFDekIsb0JBR087QUFDUCxrQkFBa0I7QUFDbEIsNEJBQW9DO0FBYzdCLE1BQU0sd0JBQXdCLCtCQUF5RjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSTVHO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQixJQUFXLGNBQXVCO0FBQ2hDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVRLGVBQWU7QUFBQSxFQUNmO0FBQUEsRUFDQSxRQUF1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU94QixZQUFZLGFBQTBCO0FBQzNDLFVBQU07QUFDTixtREFBb0IsYUFBYSwwQkFBUyxlQUFlO0FBQ3pELFNBQUssV0FBVyxZQUFZLFNBQVMsUUFBUTtBQUM3QyxTQUFLLFNBQVMsaUJBQWlCLFNBQVMsS0FBSyxlQUFlLEtBQUssSUFBSSxDQUFDO0FBQ3RFLFNBQUssU0FBUyxpQkFBaUIsV0FBVyxLQUFLLFVBQVUsS0FBSyxJQUFJLENBQUM7QUFDbkUsU0FBSyxTQUFTLGlCQUFpQixRQUFRLEtBQUss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
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/// <reference lib="dom" />
|
|
3
|
+
/**
|
|
4
|
+
* @file
|
|
5
|
+
*
|
|
6
|
+
* Contains a component that records a hotkey.
|
|
7
|
+
*/
|
|
8
|
+
import type { Hotkey } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
9
|
+
import { ExtraButtonComponent, ValueComponent } from 'obsidian';
|
|
10
|
+
import type { ValueComponentWithChangeTracking } from './value-component-with-change-tracking.cjs';
|
|
11
|
+
/**
|
|
12
|
+
* A component that records a hotkey: click the button, then press the key combination. Escape cancels the recording,
|
|
13
|
+
* and the clear button sets the value to `null`.
|
|
14
|
+
*
|
|
15
|
+
* The value is a {@link Hotkey}, the shape Obsidian stores in `hotkeys.json`, so it can be handed to `Scope.register`.
|
|
16
|
+
*
|
|
17
|
+
* You can add this component using {@link SettingEx.addHotkey}.
|
|
18
|
+
*
|
|
19
|
+
* In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
|
|
20
|
+
*
|
|
21
|
+
* Alternatively, you can copy styles from {@link https://unpkg.com/@mnaoumov/obsidian-lib/dist/styles.css}.
|
|
22
|
+
*/
|
|
23
|
+
export declare class HotkeyComponent extends ValueComponent<Hotkey | null> implements ValueComponentWithChangeTracking<Hotkey | null> {
|
|
24
|
+
/**
|
|
25
|
+
* The button that shows the hotkey and starts the recording.
|
|
26
|
+
*/
|
|
27
|
+
readonly buttonEl: HTMLButtonElement;
|
|
28
|
+
/**
|
|
29
|
+
* The button that clears the hotkey.
|
|
30
|
+
*/
|
|
31
|
+
readonly clearButton: ExtraButtonComponent;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the component is waiting for a key press.
|
|
34
|
+
*
|
|
35
|
+
* @returns Whether it is recording.
|
|
36
|
+
*/
|
|
37
|
+
get isRecording(): boolean;
|
|
38
|
+
private _isRecording;
|
|
39
|
+
private changeCallback?;
|
|
40
|
+
private value;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new hotkey component.
|
|
43
|
+
*
|
|
44
|
+
* @param containerEl - The container element.
|
|
45
|
+
*/
|
|
46
|
+
constructor(containerEl: HTMLElement);
|
|
47
|
+
/**
|
|
48
|
+
* Gets the hotkey.
|
|
49
|
+
*
|
|
50
|
+
* @returns The hotkey, or `null` when none is set.
|
|
51
|
+
*/
|
|
52
|
+
getValue(): Hotkey | null;
|
|
53
|
+
/**
|
|
54
|
+
* Sets the callback to be called when the user records or clears a hotkey.
|
|
55
|
+
*
|
|
56
|
+
* @param callback - The callback.
|
|
57
|
+
* @returns The component.
|
|
58
|
+
*/
|
|
59
|
+
onChange(callback: (newValue: Hotkey | null) => void): this;
|
|
60
|
+
/**
|
|
61
|
+
* Sets the disabled state of the component.
|
|
62
|
+
*
|
|
63
|
+
* @param isDisabled - The disabled state.
|
|
64
|
+
* @returns The component.
|
|
65
|
+
*/
|
|
66
|
+
setDisabled(isDisabled: boolean): this;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the hotkey.
|
|
69
|
+
*
|
|
70
|
+
* @param value - The hotkey, or `null` to clear it.
|
|
71
|
+
* @returns The component.
|
|
72
|
+
*/
|
|
73
|
+
setValue(value: Hotkey | null): this;
|
|
74
|
+
/**
|
|
75
|
+
* Starts waiting for a key press.
|
|
76
|
+
*/
|
|
77
|
+
startRecording(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Stops waiting for a key press, keeping the current hotkey.
|
|
80
|
+
*/
|
|
81
|
+
stopRecording(): void;
|
|
82
|
+
private onKeyDown;
|
|
83
|
+
private render;
|
|
84
|
+
private setValueAndNotify;
|
|
85
|
+
}
|
|
@@ -103,6 +103,9 @@ __export(setting_components_exports, {
|
|
|
103
103
|
"date-time-component": () => date_time_component,
|
|
104
104
|
"email-component": () => email_component,
|
|
105
105
|
"file-component": () => file_component,
|
|
106
|
+
"folder-list-component": () => folder_list_component,
|
|
107
|
+
"hotkey-component": () => hotkey_component,
|
|
108
|
+
"list-component": () => list_component,
|
|
106
109
|
"month-component": () => month_component,
|
|
107
110
|
"multiple-dropdown-component": () => multiple_dropdown_component,
|
|
108
111
|
"multiple-email-component": () => multiple_email_component,
|
|
@@ -111,6 +114,7 @@ __export(setting_components_exports, {
|
|
|
111
114
|
"number-component": () => number_component,
|
|
112
115
|
"password-component": () => password_component,
|
|
113
116
|
"setting-component-wrapper": () => setting_component_wrapper,
|
|
117
|
+
"tag-list-component": () => tag_list_component,
|
|
114
118
|
"telephone-component": () => telephone_component,
|
|
115
119
|
"text-based-component": () => text_based_component,
|
|
116
120
|
"time-component": () => time_component,
|
|
@@ -131,6 +135,9 @@ var date_component = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
131
135
|
var date_time_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./date-time-component.cjs')), 1);
|
|
132
136
|
var email_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./email-component.cjs')), 1);
|
|
133
137
|
var file_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./file-component.cjs')), 1);
|
|
138
|
+
var folder_list_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./folder-list-component.cjs')), 1);
|
|
139
|
+
var hotkey_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./hotkey-component.cjs')), 1);
|
|
140
|
+
var list_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./list-component.cjs')), 1);
|
|
134
141
|
var month_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./month-component.cjs')), 1);
|
|
135
142
|
var multiple_dropdown_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./multiple-dropdown-component.cjs')), 1);
|
|
136
143
|
var multiple_email_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./multiple-email-component.cjs')), 1);
|
|
@@ -139,6 +146,7 @@ var multiple_text_component = __toESM(((module) => module && module.__esModule &
|
|
|
139
146
|
var number_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./number-component.cjs')), 1);
|
|
140
147
|
var password_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./password-component.cjs')), 1);
|
|
141
148
|
var setting_component_wrapper = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./setting-component-wrapper.cjs')), 1);
|
|
149
|
+
var tag_list_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./tag-list-component.cjs')), 1);
|
|
142
150
|
var telephone_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./telephone-component.cjs')), 1);
|
|
143
151
|
var text_based_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./text-based-component.cjs')), 1);
|
|
144
152
|
var time_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./time-component.cjs')), 1);
|
|
@@ -159,6 +167,9 @@ var week_component = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
159
167
|
"date-time-component": null,
|
|
160
168
|
"email-component": null,
|
|
161
169
|
"file-component": null,
|
|
170
|
+
"folder-list-component": null,
|
|
171
|
+
"hotkey-component": null,
|
|
172
|
+
"list-component": null,
|
|
162
173
|
"month-component": null,
|
|
163
174
|
"multiple-dropdown-component": null,
|
|
164
175
|
"multiple-email-component": null,
|
|
@@ -167,6 +178,7 @@ var week_component = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
167
178
|
"number-component": null,
|
|
168
179
|
"password-component": null,
|
|
169
180
|
"setting-component-wrapper": null,
|
|
181
|
+
"tag-list-component": null,
|
|
170
182
|
"telephone-component": null,
|
|
171
183
|
"text-based-component": null,
|
|
172
184
|
"time-component": null,
|
|
@@ -180,4 +192,4 @@ var week_component = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
180
192
|
"value-component-with-change-tracking": null,
|
|
181
193
|
"week-component": null
|
|
182
194
|
});
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXR0aW5nLWNvbXBvbmVudHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdjaGVja2JveC1jb21wb25lbnQnIGZyb20gJy4vY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudCcgZnJvbSAnLi9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZGF0ZS1jb21wb25lbnQnIGZyb20gJy4vZGF0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2RhdGUtdGltZS1jb21wb25lbnQnIGZyb20gJy4vZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZW1haWwtY29tcG9uZW50JyBmcm9tICcuL2VtYWlsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1jb21wb25lbnQnIGZyb20gJy4vZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2ZvbGRlci1saXN0LWNvbXBvbmVudCcgZnJvbSAnLi9mb2xkZXItbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2hvdGtleS1jb21wb25lbnQnIGZyb20gJy4vaG90a2V5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbGlzdC1jb21wb25lbnQnIGZyb20gJy4vbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21vbnRoLWNvbXBvbmVudCcgZnJvbSAnLi9tb250aC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcgZnJvbSAnLi9tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ211bHRpcGxlLWVtYWlsLWNvbXBvbmVudCcgZnJvbSAnLi9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ211bHRpcGxlLWZpbGUtY29tcG9uZW50JyBmcm9tICcuL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdtdWx0aXBsZS10ZXh0LWNvbXBvbmVudCcgZnJvbSAnLi9tdWx0aXBsZS10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbnVtYmVyLWNvbXBvbmVudCcgZnJvbSAnLi9udW1iZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwYXNzd29yZC1jb21wb25lbnQnIGZyb20gJy4vcGFzc3dvcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5nLWNvbXBvbmVudC13cmFwcGVyJyBmcm9tICcuL3NldHRpbmctY29tcG9uZW50LXdyYXBwZXIudHMnO1xuZXhwb3J0ICogYXMgJ3RhZy1saXN0LWNvbXBvbmVudCcgZnJvbSAnLi90YWctbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3RlbGVwaG9uZS1jb21wb25lbnQnIGZyb20gJy4vdGVsZXBob25lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAndGV4dC1iYXNlZC1jb21wb25lbnQnIGZyb20gJy4vdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3RpbWUtY29tcG9uZW50JyBmcm9tICcuL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd0cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50JyBmcm9tICcuL3RyaS1zdGF0ZS1jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudCcgZnJvbSAnLi90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3R5cGVkLW11bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcgZnJvbSAnLi90eXBlZC1tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3R5cGVkLXJhbmdlLXRleHQtY29tcG9uZW50JyBmcm9tICcuL3R5cGVkLXJhbmdlLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd0eXBlZC10ZXh0LWNvbXBvbmVudCcgZnJvbSAnLi90eXBlZC10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAndXJsLWNvbXBvbmVudCcgZnJvbSAnLi91cmwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0b3ItY29tcG9uZW50JyBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3ZhbHVlLWNvbXBvbmVudC13aXRoLWNoYW5nZS10cmFja2luZycgZnJvbSAnLi92YWx1ZS1jb21wb25lbnQtd2l0aC1jaGFuZ2UtdHJhY2tpbmcudHMnO1xuZXhwb3J0ICogYXMgJ3dlZWstY29tcG9uZW50JyBmcm9tICcuL3dlZWstY29tcG9uZW50LnRzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQSw4QkFBQUE7QUFBQSxFQUFBLG9DQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSw2QkFBQUM7QUFBQSxFQUFBLHlCQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSwrQkFBQUM7QUFBQSxFQUFBLDBCQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSx5QkFBQUM7QUFBQSxFQUFBLHFDQUFBQztBQUFBLEVBQUEsa0NBQUFDO0FBQUEsRUFBQSxpQ0FBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEsMEJBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQSxFQUFBLG1DQUFBQztBQUFBLEVBQUEsNEJBQUFDO0FBQUEsRUFBQSw2QkFBQUM7QUFBQSxFQUFBLDhCQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSxzQ0FBQUM7QUFBQSxFQUFBLGtDQUFBQztBQUFBLEVBQUEsMkNBQUFDO0FBQUEsRUFBQSxvQ0FBQUM7QUFBQSxFQUFBLDhCQUFBQztBQUFBLEVBQUEsdUJBQUFDO0FBQUEsRUFBQSw2QkFBQUM7QUFBQSxFQUFBLDhDQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUE7QUFBQTtBQUVBLElBQUE3QixxQkFBc0M7QUFDdEMsSUFBQUMsNkJBQThDO0FBQzlDLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxzQkFBdUM7QUFDdkMsSUFBQUMsa0JBQW1DO0FBQ25DLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyx3QkFBeUM7QUFDekMsSUFBQUMsbUJBQW9DO0FBQ3BDLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxrQkFBbUM7QUFDbkMsSUFBQUMsOEJBQStDO0FBQy9DLElBQUFDLDJCQUE0QztBQUM1QyxJQUFBQywwQkFBMkM7QUFDM0MsSUFBQUMsMEJBQTJDO0FBQzNDLElBQUFDLG1CQUFvQztBQUNwQyxJQUFBQyxxQkFBc0M7QUFDdEMsSUFBQUMsNEJBQTZDO0FBQzdDLElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQyxzQkFBdUM7QUFDdkMsSUFBQUMsdUJBQXdDO0FBQ3hDLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQywrQkFBZ0Q7QUFDaEQsSUFBQUMsMkJBQTRDO0FBQzVDLElBQUFDLG9DQUFxRDtBQUNyRCxJQUFBQyw2QkFBOEM7QUFDOUMsSUFBQUMsdUJBQXdDO0FBQ3hDLElBQUFDLGdCQUFpQztBQUNqQyxJQUFBQyxzQkFBdUM7QUFDdkMsSUFBQUMsdUNBQXdEO0FBQ3hELElBQUFDLGlCQUFrQzsiLCJuYW1lcyI6WyJjaGVja2JveC1jb21wb25lbnQiLCJjb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudCIsImRhdGUtY29tcG9uZW50IiwiZGF0ZS10aW1lLWNvbXBvbmVudCIsImVtYWlsLWNvbXBvbmVudCIsImZpbGUtY29tcG9uZW50IiwiZm9sZGVyLWxpc3QtY29tcG9uZW50IiwiaG90a2V5LWNvbXBvbmVudCIsImxpc3QtY29tcG9uZW50IiwibW9udGgtY29tcG9uZW50IiwibXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50IiwibXVsdGlwbGUtZW1haWwtY29tcG9uZW50IiwibXVsdGlwbGUtZmlsZS1jb21wb25lbnQiLCJtdWx0aXBsZS10ZXh0LWNvbXBvbmVudCIsIm51bWJlci1jb21wb25lbnQiLCJwYXNzd29yZC1jb21wb25lbnQiLCJzZXR0aW5nLWNvbXBvbmVudC13cmFwcGVyIiwidGFnLWxpc3QtY29tcG9uZW50IiwidGVsZXBob25lLWNvbXBvbmVudCIsInRleHQtYmFzZWQtY29tcG9uZW50IiwidGltZS1jb21wb25lbnQiLCJ0cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50IiwidHlwZWQtZHJvcGRvd24tY29tcG9uZW50IiwidHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50IiwidHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQiLCJ0eXBlZC10ZXh0LWNvbXBvbmVudCIsInVybC1jb21wb25lbnQiLCJ2YWxpZGF0b3ItY29tcG9uZW50IiwidmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nIiwid2Vlay1jb21wb25lbnQiXX0=
|
|
@@ -5,6 +5,9 @@ export * as 'date-component' from './date-component.cjs';
|
|
|
5
5
|
export * as 'date-time-component' from './date-time-component.cjs';
|
|
6
6
|
export * as 'email-component' from './email-component.cjs';
|
|
7
7
|
export * as 'file-component' from './file-component.cjs';
|
|
8
|
+
export * as 'folder-list-component' from './folder-list-component.cjs';
|
|
9
|
+
export * as 'hotkey-component' from './hotkey-component.cjs';
|
|
10
|
+
export * as 'list-component' from './list-component.cjs';
|
|
8
11
|
export * as 'month-component' from './month-component.cjs';
|
|
9
12
|
export * as 'multiple-dropdown-component' from './multiple-dropdown-component.cjs';
|
|
10
13
|
export * as 'multiple-email-component' from './multiple-email-component.cjs';
|
|
@@ -13,6 +16,7 @@ export * as 'multiple-text-component' from './multiple-text-component.cjs';
|
|
|
13
16
|
export * as 'number-component' from './number-component.cjs';
|
|
14
17
|
export * as 'password-component' from './password-component.cjs';
|
|
15
18
|
export * as 'setting-component-wrapper' from './setting-component-wrapper.cjs';
|
|
19
|
+
export * as 'tag-list-component' from './tag-list-component.cjs';
|
|
16
20
|
export * as 'telephone-component' from './telephone-component.cjs';
|
|
17
21
|
export * as 'text-based-component' from './text-based-component.cjs';
|
|
18
22
|
export * as 'time-component' from './time-component.cjs';
|