@flanksource/clicky-ui 0.3.6 → 0.3.7
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/README.md +42 -0
- package/dist/components/DateField.d.ts +1 -1
- package/dist/components/DatePicker.d.ts +1 -1
- package/dist/components/DateTimePicker.d.ts +1 -1
- package/dist/components/FormLookupProvider.cjs +12 -0
- package/dist/components/FormLookupProvider.cjs.map +1 -0
- package/dist/components/FormLookupProvider.d.ts +7 -0
- package/dist/components/FormLookupProvider.d.ts.map +1 -0
- package/dist/components/FormLookupProvider.js +12 -0
- package/dist/components/FormLookupProvider.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +2 -2
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.js +1 -1
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/ListMenu.cjs +145 -0
- package/dist/components/ListMenu.cjs.map +1 -0
- package/dist/components/ListMenu.d.ts +54 -0
- package/dist/components/ListMenu.d.ts.map +1 -0
- package/dist/components/ListMenu.js +145 -0
- package/dist/components/ListMenu.js.map +1 -0
- package/dist/components/MdxEditorField.cjs +128 -0
- package/dist/components/MdxEditorField.cjs.map +1 -0
- package/dist/components/MdxEditorField.d.ts +4 -0
- package/dist/components/MdxEditorField.d.ts.map +1 -0
- package/dist/components/MdxEditorField.js +106 -0
- package/dist/components/MdxEditorField.js.map +1 -0
- package/dist/components/MdxEditorToolbar.cjs +76 -0
- package/dist/components/MdxEditorToolbar.cjs.map +1 -0
- package/dist/components/MdxEditorToolbar.d.ts +8 -0
- package/dist/components/MdxEditorToolbar.d.ts.map +1 -0
- package/dist/components/MdxEditorToolbar.js +76 -0
- package/dist/components/MdxEditorToolbar.js.map +1 -0
- package/dist/components/button-variants.d.ts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/form-lookup-context.cjs +1 -8
- package/dist/components/form-lookup-context.cjs.map +1 -1
- package/dist/components/form-lookup-context.d.ts +1 -5
- package/dist/components/form-lookup-context.d.ts.map +1 -1
- package/dist/components/form-lookup-context.js +1 -8
- package/dist/components/form-lookup-context.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs +197 -0
- package/dist/components/jotai-bindings-core.cjs.map +1 -0
- package/dist/components/jotai-bindings-core.d.ts +45 -0
- package/dist/components/jotai-bindings-core.d.ts.map +1 -0
- package/dist/components/jotai-bindings-core.js +197 -0
- package/dist/components/jotai-bindings-core.js.map +1 -0
- package/dist/components/jotai-bindings.cjs +17 -0
- package/dist/components/jotai-bindings.cjs.map +1 -0
- package/dist/components/jotai-bindings.d.ts +4 -0
- package/dist/components/jotai-bindings.d.ts.map +1 -0
- package/dist/components/jotai-bindings.js +17 -0
- package/dist/components/jotai-bindings.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +37 -0
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +6 -0
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +38 -1
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +3 -1
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +4 -2
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +9 -0
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +9 -0
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +4 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/mdx-editor-field-plugins.cjs +124 -0
- package/dist/components/mdx-editor-field-plugins.cjs.map +1 -0
- package/dist/components/mdx-editor-field-plugins.d.ts +6 -0
- package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -0
- package/dist/components/mdx-editor-field-plugins.js +124 -0
- package/dist/components/mdx-editor-field-plugins.js.map +1 -0
- package/dist/components/mdx-editor-options.d.ts +77 -0
- package/dist/components/mdx-editor-options.d.ts.map +1 -0
- package/dist/components/use-list-menu-selection.cjs +77 -0
- package/dist/components/use-list-menu-selection.cjs.map +1 -0
- package/dist/components/use-list-menu-selection.d.ts +40 -0
- package/dist/components/use-list-menu-selection.d.ts.map +1 -0
- package/dist/components/use-list-menu-selection.js +77 -0
- package/dist/components/use-list-menu-selection.js.map +1 -0
- package/dist/components.cjs +10 -1
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +4 -1
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +10 -1
- package/dist/components.js.map +1 -1
- package/dist/data/MarkdownEditor.model.d.ts +1 -1
- package/dist/data/PromptBanner.cjs +199 -0
- package/dist/data/PromptBanner.cjs.map +1 -0
- package/dist/data/PromptBanner.d.ts +17 -0
- package/dist/data/PromptBanner.d.ts.map +1 -0
- package/dist/data/PromptBanner.js +199 -0
- package/dist/data/PromptBanner.js.map +1 -0
- package/dist/data/PromptBanner.model.cjs +132 -0
- package/dist/data/PromptBanner.model.cjs.map +1 -0
- package/dist/data/PromptBanner.model.d.ts +23 -0
- package/dist/data/PromptBanner.model.d.ts.map +1 -0
- package/dist/data/PromptBanner.model.js +132 -0
- package/dist/data/PromptBanner.model.js.map +1 -0
- package/dist/data/PromptDialog.cjs +43 -0
- package/dist/data/PromptDialog.cjs.map +1 -0
- package/dist/data/PromptDialog.d.ts +14 -0
- package/dist/data/PromptDialog.d.ts.map +1 -0
- package/dist/data/PromptDialog.js +43 -0
- package/dist/data/PromptDialog.js.map +1 -0
- package/dist/data/TaskManager.cjs +8 -1
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +8 -1
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProgress.cjs +15 -2
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +0 -10
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +15 -2
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +53 -9
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +53 -9
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +232 -39
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +4 -7
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +234 -41
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.cjs +89 -3
- package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.js +89 -3
- package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +7 -1
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/task-status.cjs +19 -12
- package/dist/data/task-status.cjs.map +1 -1
- package/dist/data/task-status.d.ts +2 -1
- package/dist/data/task-status.d.ts.map +1 -1
- package/dist/data/task-status.js +19 -12
- package/dist/data/task-status.js.map +1 -1
- package/dist/data/test-runner/TestRunner.fixtures.d.ts +11 -4
- package/dist/data/test-runner/TestRunner.fixtures.d.ts.map +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +7 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +3 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +7 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-prompts.cjs +83 -0
- package/dist/hooks/use-prompts.cjs.map +1 -0
- package/dist/hooks/use-prompts.d.ts +43 -0
- package/dist/hooks/use-prompts.d.ts.map +1 -0
- package/dist/hooks/use-prompts.js +83 -0
- package/dist/hooks/use-prompts.js.map +1 -0
- package/dist/hooks.cjs +3 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +1 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +3 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.cjs +17 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/jotai.cjs +9 -0
- package/dist/jotai.cjs.map +1 -0
- package/dist/jotai.d.ts +4 -0
- package/dist/jotai.d.ts.map +1 -0
- package/dist/jotai.js +9 -0
- package/dist/jotai.js.map +1 -0
- package/dist/lib/utils.cjs +18 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +18 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/mdx-editor.cjs +5 -0
- package/dist/mdx-editor.cjs.map +1 -0
- package/dist/mdx-editor.css +2 -0
- package/dist/mdx-editor.d.ts +2 -0
- package/dist/mdx-editor.d.ts.map +1 -0
- package/dist/mdx-editor.js +5 -0
- package/dist/mdx-editor.js.map +1 -0
- package/dist/rpc/apiClient.cjs +1 -1
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.js +1 -1
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/surfaceIconMap.cjs +12 -1
- package/dist/rpc/surfaceIconMap.cjs.map +1 -1
- package/dist/rpc/surfaceIconMap.d.ts.map +1 -1
- package/dist/rpc/surfaceIconMap.js +12 -1
- package/dist/rpc/surfaceIconMap.js.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +1 -0
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/oxlint-plugins/README.md +148 -0
- package/oxlint-plugins/clicky-ui-no-adhoc-overlay.js +88 -0
- package/oxlint-plugins/clicky-ui-prefer-components.js +46 -0
- package/oxlint-plugins/clicky-ui-prefer-icons.js +121 -0
- package/oxlint-plugins/clicky-ui-prefer-tailwind.js +98 -0
- package/oxlint-plugins/clicky-ui-prefer-theme.js +134 -0
- package/oxlint-plugins/clicky-ui-shared.js +132 -0
- package/oxlint-plugins/clicky-ui.js +34 -0
- package/oxlint-plugins/no-iconify-names.js +37 -0
- package/package.json +21 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const MdxEditorToolbar = require("./MdxEditorToolbar.cjs");
|
|
5
|
+
const DEFAULT_CODE_BLOCK_LANGUAGES = {
|
|
6
|
+
bash: "Bash",
|
|
7
|
+
css: "CSS",
|
|
8
|
+
go: "Go",
|
|
9
|
+
html: "HTML",
|
|
10
|
+
javascript: "JavaScript",
|
|
11
|
+
js: "JavaScript",
|
|
12
|
+
json: "JSON",
|
|
13
|
+
jsx: "JSX",
|
|
14
|
+
markdown: "Markdown",
|
|
15
|
+
python: "Python",
|
|
16
|
+
shell: "Shell",
|
|
17
|
+
sql: "SQL",
|
|
18
|
+
ts: "TypeScript",
|
|
19
|
+
tsx: "TSX",
|
|
20
|
+
typescript: "TypeScript",
|
|
21
|
+
yaml: "YAML"
|
|
22
|
+
};
|
|
23
|
+
function isEnabled(value, defaultValue = true) {
|
|
24
|
+
return value === void 0 ? defaultValue : value !== false;
|
|
25
|
+
}
|
|
26
|
+
function optionObject(value) {
|
|
27
|
+
return typeof value === "object" && value !== null ? value : void 0;
|
|
28
|
+
}
|
|
29
|
+
function diffModeOptions(diffMode) {
|
|
30
|
+
if (!diffMode) return void 0;
|
|
31
|
+
if (diffMode === true) return {};
|
|
32
|
+
if (typeof diffMode === "string") return { viewMode: diffMode };
|
|
33
|
+
return diffMode;
|
|
34
|
+
}
|
|
35
|
+
function createToolbar(mdx, options) {
|
|
36
|
+
return () => react.createElement(MdxEditorToolbar.MdxEditorToolbar, { mdx, options });
|
|
37
|
+
}
|
|
38
|
+
function createMdxEditorPlugins(mdx, options = {}) {
|
|
39
|
+
var _a;
|
|
40
|
+
const plugins = [];
|
|
41
|
+
if (isEnabled(options.toolbar)) {
|
|
42
|
+
const toolbar = optionObject(options.toolbar);
|
|
43
|
+
plugins.push(
|
|
44
|
+
mdx.toolbarPlugin({
|
|
45
|
+
toolbarContents: createToolbar(mdx, options),
|
|
46
|
+
...(toolbar == null ? void 0 : toolbar.className) ? { toolbarClassName: toolbar.className } : {},
|
|
47
|
+
...(toolbar == null ? void 0 : toolbar.position) ? { toolbarPosition: toolbar.position } : {}
|
|
48
|
+
})
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
if (isEnabled(options.headings)) {
|
|
52
|
+
const headings = optionObject(options.headings);
|
|
53
|
+
plugins.push(mdx.headingsPlugin(headings));
|
|
54
|
+
}
|
|
55
|
+
if (isEnabled(options.lists)) plugins.push(mdx.listsPlugin());
|
|
56
|
+
if (isEnabled(options.quote)) plugins.push(mdx.quotePlugin());
|
|
57
|
+
if (isEnabled(options.links)) {
|
|
58
|
+
const links = optionObject(options.links);
|
|
59
|
+
plugins.push(
|
|
60
|
+
mdx.linkPlugin((links == null ? void 0 : links.disableAutoLink) !== void 0 ? { disableAutoLink: links.disableAutoLink } : void 0),
|
|
61
|
+
mdx.linkDialogPlugin({
|
|
62
|
+
...(links == null ? void 0 : links.linkAutocompleteSuggestions) ? { linkAutocompleteSuggestions: links.linkAutocompleteSuggestions } : {},
|
|
63
|
+
...(links == null ? void 0 : links.showLinkTitleField) !== void 0 ? { showLinkTitleField: links.showLinkTitleField } : {}
|
|
64
|
+
})
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
if (isEnabled(options.tables)) plugins.push(mdx.tablePlugin());
|
|
68
|
+
if (isEnabled(options.thematicBreak)) plugins.push(mdx.thematicBreakPlugin());
|
|
69
|
+
if (isEnabled(options.codeBlocks)) {
|
|
70
|
+
const codeBlocks = optionObject(options.codeBlocks);
|
|
71
|
+
plugins.push(
|
|
72
|
+
mdx.codeBlockPlugin({
|
|
73
|
+
defaultCodeBlockLanguage: (codeBlocks == null ? void 0 : codeBlocks.defaultLanguage) ?? "txt"
|
|
74
|
+
})
|
|
75
|
+
);
|
|
76
|
+
if (isEnabled(options.codeMirror)) {
|
|
77
|
+
const codeMirror = optionObject(options.codeMirror);
|
|
78
|
+
plugins.push(
|
|
79
|
+
mdx.codeMirrorPlugin({
|
|
80
|
+
codeBlockLanguages: (codeMirror == null ? void 0 : codeMirror.languages) ?? DEFAULT_CODE_BLOCK_LANGUAGES,
|
|
81
|
+
...(codeMirror == null ? void 0 : codeMirror.autoLoadLanguageSupport) !== void 0 ? { autoLoadLanguageSupport: codeMirror.autoLoadLanguageSupport } : {}
|
|
82
|
+
})
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (isEnabled(options.frontmatter)) plugins.push(mdx.frontmatterPlugin());
|
|
87
|
+
if (isEnabled(options.admonitions)) {
|
|
88
|
+
const admonitions = optionObject(options.admonitions);
|
|
89
|
+
plugins.push(
|
|
90
|
+
mdx.directivesPlugin({
|
|
91
|
+
directiveDescriptors: [mdx.AdmonitionDirectiveDescriptor],
|
|
92
|
+
escapeUnknownTextDirectives: (admonitions == null ? void 0 : admonitions.escapeUnknownTextDirectives) ?? true
|
|
93
|
+
})
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
if (isEnabled(options.images)) {
|
|
97
|
+
const images = optionObject(options.images);
|
|
98
|
+
plugins.push(
|
|
99
|
+
mdx.imagePlugin({
|
|
100
|
+
...(images == null ? void 0 : images.imageUploadHandler) ? { imageUploadHandler: images.imageUploadHandler } : {},
|
|
101
|
+
...(images == null ? void 0 : images.imageAutocompleteSuggestions) ? { imageAutocompleteSuggestions: images.imageAutocompleteSuggestions } : {},
|
|
102
|
+
...(images == null ? void 0 : images.imagePreviewHandler) ? { imagePreviewHandler: images.imagePreviewHandler } : {},
|
|
103
|
+
...(images == null ? void 0 : images.disableImageResize) !== void 0 ? { disableImageResize: images.disableImageResize } : {},
|
|
104
|
+
...(images == null ? void 0 : images.disableImageSettingsButton) !== void 0 ? { disableImageSettingsButton: images.disableImageSettingsButton } : {},
|
|
105
|
+
...(images == null ? void 0 : images.allowSetImageDimensions) !== void 0 ? { allowSetImageDimensions: images.allowSetImageDimensions } : {}
|
|
106
|
+
})
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
if (options.diffMode) {
|
|
110
|
+
const diff = diffModeOptions(options.diffMode);
|
|
111
|
+
plugins.push(
|
|
112
|
+
mdx.diffSourcePlugin({
|
|
113
|
+
...(diff == null ? void 0 : diff.viewMode) ? { viewMode: diff.viewMode } : {},
|
|
114
|
+
...(diff == null ? void 0 : diff.diffMarkdown) !== void 0 ? { diffMarkdown: diff.diffMarkdown } : {},
|
|
115
|
+
...(diff == null ? void 0 : diff.readOnlyDiff) !== void 0 ? { readOnlyDiff: diff.readOnlyDiff } : {}
|
|
116
|
+
})
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
if (isEnabled(options.markdownShortcuts)) plugins.push(mdx.markdownShortcutPlugin());
|
|
120
|
+
if ((_a = options.plugins) == null ? void 0 : _a.length) plugins.push(...options.plugins);
|
|
121
|
+
return plugins;
|
|
122
|
+
}
|
|
123
|
+
exports.createMdxEditorPlugins = createMdxEditorPlugins;
|
|
124
|
+
//# sourceMappingURL=mdx-editor-field-plugins.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx-editor-field-plugins.cjs","sources":["../../src/components/mdx-editor-field-plugins.tsx"],"sourcesContent":["import { createElement } from \"react\";\nimport type { MdxEditorDiffModeOptions, MdxEditorPluginOptions } from \"./mdx-editor-options\";\nimport { MdxEditorToolbar } from \"./MdxEditorToolbar\";\n\ntype MdxEditorModule = typeof import(\"@mdxeditor/editor\");\ntype RealmPlugin = ReturnType<MdxEditorModule[\"headingsPlugin\"]>;\n\nconst DEFAULT_CODE_BLOCK_LANGUAGES: Record<string, string> = {\n bash: \"Bash\",\n css: \"CSS\",\n go: \"Go\",\n html: \"HTML\",\n javascript: \"JavaScript\",\n js: \"JavaScript\",\n json: \"JSON\",\n jsx: \"JSX\",\n markdown: \"Markdown\",\n python: \"Python\",\n shell: \"Shell\",\n sql: \"SQL\",\n ts: \"TypeScript\",\n tsx: \"TSX\",\n typescript: \"TypeScript\",\n yaml: \"YAML\",\n};\n\nfunction isEnabled<T extends object>(value: boolean | T | undefined, defaultValue = true): boolean {\n return value === undefined ? defaultValue : value !== false;\n}\n\nfunction optionObject<T extends object>(value: boolean | T | undefined): T | undefined {\n return typeof value === \"object\" && value !== null ? value : undefined;\n}\n\nfunction diffModeOptions(diffMode: MdxEditorPluginOptions[\"diffMode\"]): MdxEditorDiffModeOptions | undefined {\n if (!diffMode) return undefined;\n if (diffMode === true) return {};\n if (typeof diffMode === \"string\") return { viewMode: diffMode };\n return diffMode;\n}\n\nfunction createToolbar(mdx: MdxEditorModule, options: MdxEditorPluginOptions) {\n return () => createElement(MdxEditorToolbar, { mdx, options });\n}\n\nexport function createMdxEditorPlugins(\n mdx: MdxEditorModule,\n options: MdxEditorPluginOptions = {},\n): RealmPlugin[] {\n const plugins: RealmPlugin[] = [];\n if (isEnabled(options.toolbar)) {\n const toolbar = optionObject(options.toolbar);\n plugins.push(\n mdx.toolbarPlugin({\n toolbarContents: createToolbar(mdx, options),\n ...(toolbar?.className ? { toolbarClassName: toolbar.className } : {}),\n ...(toolbar?.position ? { toolbarPosition: toolbar.position } : {}),\n }),\n );\n }\n if (isEnabled(options.headings)) {\n const headings = optionObject(options.headings);\n plugins.push(mdx.headingsPlugin(headings));\n }\n if (isEnabled(options.lists)) plugins.push(mdx.listsPlugin());\n if (isEnabled(options.quote)) plugins.push(mdx.quotePlugin());\n if (isEnabled(options.links)) {\n const links = optionObject(options.links);\n plugins.push(\n mdx.linkPlugin(links?.disableAutoLink !== undefined ? { disableAutoLink: links.disableAutoLink } : undefined),\n mdx.linkDialogPlugin({\n ...(links?.linkAutocompleteSuggestions ? { linkAutocompleteSuggestions: links.linkAutocompleteSuggestions } : {}),\n ...(links?.showLinkTitleField !== undefined ? { showLinkTitleField: links.showLinkTitleField } : {}),\n }),\n );\n }\n if (isEnabled(options.tables)) plugins.push(mdx.tablePlugin());\n if (isEnabled(options.thematicBreak)) plugins.push(mdx.thematicBreakPlugin());\n if (isEnabled(options.codeBlocks)) {\n const codeBlocks = optionObject(options.codeBlocks);\n plugins.push(\n mdx.codeBlockPlugin({\n defaultCodeBlockLanguage: codeBlocks?.defaultLanguage ?? \"txt\",\n }),\n );\n if (isEnabled(options.codeMirror)) {\n const codeMirror = optionObject(options.codeMirror);\n plugins.push(\n mdx.codeMirrorPlugin({\n codeBlockLanguages: codeMirror?.languages ?? DEFAULT_CODE_BLOCK_LANGUAGES,\n ...(codeMirror?.autoLoadLanguageSupport !== undefined\n ? { autoLoadLanguageSupport: codeMirror.autoLoadLanguageSupport }\n : {}),\n }),\n );\n }\n }\n if (isEnabled(options.frontmatter)) plugins.push(mdx.frontmatterPlugin());\n if (isEnabled(options.admonitions)) {\n const admonitions = optionObject(options.admonitions);\n plugins.push(\n mdx.directivesPlugin({\n directiveDescriptors: [mdx.AdmonitionDirectiveDescriptor],\n escapeUnknownTextDirectives: admonitions?.escapeUnknownTextDirectives ?? true,\n }),\n );\n }\n if (isEnabled(options.images)) {\n const images = optionObject(options.images);\n plugins.push(\n mdx.imagePlugin({\n ...(images?.imageUploadHandler ? { imageUploadHandler: images.imageUploadHandler } : {}),\n ...(images?.imageAutocompleteSuggestions ? { imageAutocompleteSuggestions: images.imageAutocompleteSuggestions } : {}),\n ...(images?.imagePreviewHandler ? { imagePreviewHandler: images.imagePreviewHandler } : {}),\n ...(images?.disableImageResize !== undefined ? { disableImageResize: images.disableImageResize } : {}),\n ...(images?.disableImageSettingsButton !== undefined\n ? { disableImageSettingsButton: images.disableImageSettingsButton }\n : {}),\n ...(images?.allowSetImageDimensions !== undefined ? { allowSetImageDimensions: images.allowSetImageDimensions } : {}),\n }),\n );\n }\n if (options.diffMode) {\n const diff = diffModeOptions(options.diffMode);\n plugins.push(\n mdx.diffSourcePlugin({\n ...(diff?.viewMode ? { viewMode: diff.viewMode } : {}),\n ...(diff?.diffMarkdown !== undefined ? { diffMarkdown: diff.diffMarkdown } : {}),\n ...(diff?.readOnlyDiff !== undefined ? { readOnlyDiff: diff.readOnlyDiff } : {}),\n }),\n );\n }\n if (isEnabled(options.markdownShortcuts)) plugins.push(mdx.markdownShortcutPlugin());\n if (options.plugins?.length) plugins.push(...(options.plugins as RealmPlugin[]));\n return plugins;\n}\n"],"names":["createElement","MdxEditorToolbar"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MdxEditorPluginOptions } from './mdx-editor-options';
|
|
2
|
+
type MdxEditorModule = typeof import("@mdxeditor/editor");
|
|
3
|
+
type RealmPlugin = ReturnType<MdxEditorModule["headingsPlugin"]>;
|
|
4
|
+
export declare function createMdxEditorPlugins(mdx: MdxEditorModule, options?: MdxEditorPluginOptions): RealmPlugin[];
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=mdx-editor-field-plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx-editor-field-plugins.d.ts","sourceRoot":"","sources":["../../src/components/mdx-editor-field-plugins.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG7F,KAAK,eAAe,GAAG,cAAc,mBAAmB,CAAC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAwCjE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,sBAA2B,GACnC,WAAW,EAAE,CAuFf"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
import { MdxEditorToolbar } from "./MdxEditorToolbar.js";
|
|
3
|
+
const DEFAULT_CODE_BLOCK_LANGUAGES = {
|
|
4
|
+
bash: "Bash",
|
|
5
|
+
css: "CSS",
|
|
6
|
+
go: "Go",
|
|
7
|
+
html: "HTML",
|
|
8
|
+
javascript: "JavaScript",
|
|
9
|
+
js: "JavaScript",
|
|
10
|
+
json: "JSON",
|
|
11
|
+
jsx: "JSX",
|
|
12
|
+
markdown: "Markdown",
|
|
13
|
+
python: "Python",
|
|
14
|
+
shell: "Shell",
|
|
15
|
+
sql: "SQL",
|
|
16
|
+
ts: "TypeScript",
|
|
17
|
+
tsx: "TSX",
|
|
18
|
+
typescript: "TypeScript",
|
|
19
|
+
yaml: "YAML"
|
|
20
|
+
};
|
|
21
|
+
function isEnabled(value, defaultValue = true) {
|
|
22
|
+
return value === void 0 ? defaultValue : value !== false;
|
|
23
|
+
}
|
|
24
|
+
function optionObject(value) {
|
|
25
|
+
return typeof value === "object" && value !== null ? value : void 0;
|
|
26
|
+
}
|
|
27
|
+
function diffModeOptions(diffMode) {
|
|
28
|
+
if (!diffMode) return void 0;
|
|
29
|
+
if (diffMode === true) return {};
|
|
30
|
+
if (typeof diffMode === "string") return { viewMode: diffMode };
|
|
31
|
+
return diffMode;
|
|
32
|
+
}
|
|
33
|
+
function createToolbar(mdx, options) {
|
|
34
|
+
return () => createElement(MdxEditorToolbar, { mdx, options });
|
|
35
|
+
}
|
|
36
|
+
function createMdxEditorPlugins(mdx, options = {}) {
|
|
37
|
+
var _a;
|
|
38
|
+
const plugins = [];
|
|
39
|
+
if (isEnabled(options.toolbar)) {
|
|
40
|
+
const toolbar = optionObject(options.toolbar);
|
|
41
|
+
plugins.push(
|
|
42
|
+
mdx.toolbarPlugin({
|
|
43
|
+
toolbarContents: createToolbar(mdx, options),
|
|
44
|
+
...(toolbar == null ? void 0 : toolbar.className) ? { toolbarClassName: toolbar.className } : {},
|
|
45
|
+
...(toolbar == null ? void 0 : toolbar.position) ? { toolbarPosition: toolbar.position } : {}
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
if (isEnabled(options.headings)) {
|
|
50
|
+
const headings = optionObject(options.headings);
|
|
51
|
+
plugins.push(mdx.headingsPlugin(headings));
|
|
52
|
+
}
|
|
53
|
+
if (isEnabled(options.lists)) plugins.push(mdx.listsPlugin());
|
|
54
|
+
if (isEnabled(options.quote)) plugins.push(mdx.quotePlugin());
|
|
55
|
+
if (isEnabled(options.links)) {
|
|
56
|
+
const links = optionObject(options.links);
|
|
57
|
+
plugins.push(
|
|
58
|
+
mdx.linkPlugin((links == null ? void 0 : links.disableAutoLink) !== void 0 ? { disableAutoLink: links.disableAutoLink } : void 0),
|
|
59
|
+
mdx.linkDialogPlugin({
|
|
60
|
+
...(links == null ? void 0 : links.linkAutocompleteSuggestions) ? { linkAutocompleteSuggestions: links.linkAutocompleteSuggestions } : {},
|
|
61
|
+
...(links == null ? void 0 : links.showLinkTitleField) !== void 0 ? { showLinkTitleField: links.showLinkTitleField } : {}
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
if (isEnabled(options.tables)) plugins.push(mdx.tablePlugin());
|
|
66
|
+
if (isEnabled(options.thematicBreak)) plugins.push(mdx.thematicBreakPlugin());
|
|
67
|
+
if (isEnabled(options.codeBlocks)) {
|
|
68
|
+
const codeBlocks = optionObject(options.codeBlocks);
|
|
69
|
+
plugins.push(
|
|
70
|
+
mdx.codeBlockPlugin({
|
|
71
|
+
defaultCodeBlockLanguage: (codeBlocks == null ? void 0 : codeBlocks.defaultLanguage) ?? "txt"
|
|
72
|
+
})
|
|
73
|
+
);
|
|
74
|
+
if (isEnabled(options.codeMirror)) {
|
|
75
|
+
const codeMirror = optionObject(options.codeMirror);
|
|
76
|
+
plugins.push(
|
|
77
|
+
mdx.codeMirrorPlugin({
|
|
78
|
+
codeBlockLanguages: (codeMirror == null ? void 0 : codeMirror.languages) ?? DEFAULT_CODE_BLOCK_LANGUAGES,
|
|
79
|
+
...(codeMirror == null ? void 0 : codeMirror.autoLoadLanguageSupport) !== void 0 ? { autoLoadLanguageSupport: codeMirror.autoLoadLanguageSupport } : {}
|
|
80
|
+
})
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (isEnabled(options.frontmatter)) plugins.push(mdx.frontmatterPlugin());
|
|
85
|
+
if (isEnabled(options.admonitions)) {
|
|
86
|
+
const admonitions = optionObject(options.admonitions);
|
|
87
|
+
plugins.push(
|
|
88
|
+
mdx.directivesPlugin({
|
|
89
|
+
directiveDescriptors: [mdx.AdmonitionDirectiveDescriptor],
|
|
90
|
+
escapeUnknownTextDirectives: (admonitions == null ? void 0 : admonitions.escapeUnknownTextDirectives) ?? true
|
|
91
|
+
})
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
if (isEnabled(options.images)) {
|
|
95
|
+
const images = optionObject(options.images);
|
|
96
|
+
plugins.push(
|
|
97
|
+
mdx.imagePlugin({
|
|
98
|
+
...(images == null ? void 0 : images.imageUploadHandler) ? { imageUploadHandler: images.imageUploadHandler } : {},
|
|
99
|
+
...(images == null ? void 0 : images.imageAutocompleteSuggestions) ? { imageAutocompleteSuggestions: images.imageAutocompleteSuggestions } : {},
|
|
100
|
+
...(images == null ? void 0 : images.imagePreviewHandler) ? { imagePreviewHandler: images.imagePreviewHandler } : {},
|
|
101
|
+
...(images == null ? void 0 : images.disableImageResize) !== void 0 ? { disableImageResize: images.disableImageResize } : {},
|
|
102
|
+
...(images == null ? void 0 : images.disableImageSettingsButton) !== void 0 ? { disableImageSettingsButton: images.disableImageSettingsButton } : {},
|
|
103
|
+
...(images == null ? void 0 : images.allowSetImageDimensions) !== void 0 ? { allowSetImageDimensions: images.allowSetImageDimensions } : {}
|
|
104
|
+
})
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
if (options.diffMode) {
|
|
108
|
+
const diff = diffModeOptions(options.diffMode);
|
|
109
|
+
plugins.push(
|
|
110
|
+
mdx.diffSourcePlugin({
|
|
111
|
+
...(diff == null ? void 0 : diff.viewMode) ? { viewMode: diff.viewMode } : {},
|
|
112
|
+
...(diff == null ? void 0 : diff.diffMarkdown) !== void 0 ? { diffMarkdown: diff.diffMarkdown } : {},
|
|
113
|
+
...(diff == null ? void 0 : diff.readOnlyDiff) !== void 0 ? { readOnlyDiff: diff.readOnlyDiff } : {}
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
if (isEnabled(options.markdownShortcuts)) plugins.push(mdx.markdownShortcutPlugin());
|
|
118
|
+
if ((_a = options.plugins) == null ? void 0 : _a.length) plugins.push(...options.plugins);
|
|
119
|
+
return plugins;
|
|
120
|
+
}
|
|
121
|
+
export {
|
|
122
|
+
createMdxEditorPlugins
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=mdx-editor-field-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx-editor-field-plugins.js","sources":["../../src/components/mdx-editor-field-plugins.tsx"],"sourcesContent":["import { createElement } from \"react\";\nimport type { MdxEditorDiffModeOptions, MdxEditorPluginOptions } from \"./mdx-editor-options\";\nimport { MdxEditorToolbar } from \"./MdxEditorToolbar\";\n\ntype MdxEditorModule = typeof import(\"@mdxeditor/editor\");\ntype RealmPlugin = ReturnType<MdxEditorModule[\"headingsPlugin\"]>;\n\nconst DEFAULT_CODE_BLOCK_LANGUAGES: Record<string, string> = {\n bash: \"Bash\",\n css: \"CSS\",\n go: \"Go\",\n html: \"HTML\",\n javascript: \"JavaScript\",\n js: \"JavaScript\",\n json: \"JSON\",\n jsx: \"JSX\",\n markdown: \"Markdown\",\n python: \"Python\",\n shell: \"Shell\",\n sql: \"SQL\",\n ts: \"TypeScript\",\n tsx: \"TSX\",\n typescript: \"TypeScript\",\n yaml: \"YAML\",\n};\n\nfunction isEnabled<T extends object>(value: boolean | T | undefined, defaultValue = true): boolean {\n return value === undefined ? defaultValue : value !== false;\n}\n\nfunction optionObject<T extends object>(value: boolean | T | undefined): T | undefined {\n return typeof value === \"object\" && value !== null ? value : undefined;\n}\n\nfunction diffModeOptions(diffMode: MdxEditorPluginOptions[\"diffMode\"]): MdxEditorDiffModeOptions | undefined {\n if (!diffMode) return undefined;\n if (diffMode === true) return {};\n if (typeof diffMode === \"string\") return { viewMode: diffMode };\n return diffMode;\n}\n\nfunction createToolbar(mdx: MdxEditorModule, options: MdxEditorPluginOptions) {\n return () => createElement(MdxEditorToolbar, { mdx, options });\n}\n\nexport function createMdxEditorPlugins(\n mdx: MdxEditorModule,\n options: MdxEditorPluginOptions = {},\n): RealmPlugin[] {\n const plugins: RealmPlugin[] = [];\n if (isEnabled(options.toolbar)) {\n const toolbar = optionObject(options.toolbar);\n plugins.push(\n mdx.toolbarPlugin({\n toolbarContents: createToolbar(mdx, options),\n ...(toolbar?.className ? { toolbarClassName: toolbar.className } : {}),\n ...(toolbar?.position ? { toolbarPosition: toolbar.position } : {}),\n }),\n );\n }\n if (isEnabled(options.headings)) {\n const headings = optionObject(options.headings);\n plugins.push(mdx.headingsPlugin(headings));\n }\n if (isEnabled(options.lists)) plugins.push(mdx.listsPlugin());\n if (isEnabled(options.quote)) plugins.push(mdx.quotePlugin());\n if (isEnabled(options.links)) {\n const links = optionObject(options.links);\n plugins.push(\n mdx.linkPlugin(links?.disableAutoLink !== undefined ? { disableAutoLink: links.disableAutoLink } : undefined),\n mdx.linkDialogPlugin({\n ...(links?.linkAutocompleteSuggestions ? { linkAutocompleteSuggestions: links.linkAutocompleteSuggestions } : {}),\n ...(links?.showLinkTitleField !== undefined ? { showLinkTitleField: links.showLinkTitleField } : {}),\n }),\n );\n }\n if (isEnabled(options.tables)) plugins.push(mdx.tablePlugin());\n if (isEnabled(options.thematicBreak)) plugins.push(mdx.thematicBreakPlugin());\n if (isEnabled(options.codeBlocks)) {\n const codeBlocks = optionObject(options.codeBlocks);\n plugins.push(\n mdx.codeBlockPlugin({\n defaultCodeBlockLanguage: codeBlocks?.defaultLanguage ?? \"txt\",\n }),\n );\n if (isEnabled(options.codeMirror)) {\n const codeMirror = optionObject(options.codeMirror);\n plugins.push(\n mdx.codeMirrorPlugin({\n codeBlockLanguages: codeMirror?.languages ?? DEFAULT_CODE_BLOCK_LANGUAGES,\n ...(codeMirror?.autoLoadLanguageSupport !== undefined\n ? { autoLoadLanguageSupport: codeMirror.autoLoadLanguageSupport }\n : {}),\n }),\n );\n }\n }\n if (isEnabled(options.frontmatter)) plugins.push(mdx.frontmatterPlugin());\n if (isEnabled(options.admonitions)) {\n const admonitions = optionObject(options.admonitions);\n plugins.push(\n mdx.directivesPlugin({\n directiveDescriptors: [mdx.AdmonitionDirectiveDescriptor],\n escapeUnknownTextDirectives: admonitions?.escapeUnknownTextDirectives ?? true,\n }),\n );\n }\n if (isEnabled(options.images)) {\n const images = optionObject(options.images);\n plugins.push(\n mdx.imagePlugin({\n ...(images?.imageUploadHandler ? { imageUploadHandler: images.imageUploadHandler } : {}),\n ...(images?.imageAutocompleteSuggestions ? { imageAutocompleteSuggestions: images.imageAutocompleteSuggestions } : {}),\n ...(images?.imagePreviewHandler ? { imagePreviewHandler: images.imagePreviewHandler } : {}),\n ...(images?.disableImageResize !== undefined ? { disableImageResize: images.disableImageResize } : {}),\n ...(images?.disableImageSettingsButton !== undefined\n ? { disableImageSettingsButton: images.disableImageSettingsButton }\n : {}),\n ...(images?.allowSetImageDimensions !== undefined ? { allowSetImageDimensions: images.allowSetImageDimensions } : {}),\n }),\n );\n }\n if (options.diffMode) {\n const diff = diffModeOptions(options.diffMode);\n plugins.push(\n mdx.diffSourcePlugin({\n ...(diff?.viewMode ? { viewMode: diff.viewMode } : {}),\n ...(diff?.diffMarkdown !== undefined ? { diffMarkdown: diff.diffMarkdown } : {}),\n ...(diff?.readOnlyDiff !== undefined ? { readOnlyDiff: diff.readOnlyDiff } : {}),\n }),\n );\n }\n if (isEnabled(options.markdownShortcuts)) plugins.push(mdx.markdownShortcutPlugin());\n if (options.plugins?.length) plugins.push(...(options.plugins as RealmPlugin[]));\n return plugins;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FormSize } from './json-schema-form-size';
|
|
3
|
+
export type MdxEditorHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
|
+
export type MdxEditorViewMode = "rich-text" | "source" | "diff";
|
|
5
|
+
export type MdxEditorPlugin = unknown;
|
|
6
|
+
export interface MdxEditorCodeBlockLanguage {
|
|
7
|
+
name: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export type MdxEditorImageUploadHandler = (image: File) => Promise<string>;
|
|
11
|
+
export type MdxEditorImagePreviewHandler = (imageSource: string) => Promise<string>;
|
|
12
|
+
export interface MdxEditorToolbarOptions {
|
|
13
|
+
className?: string;
|
|
14
|
+
position?: "top" | "bottom";
|
|
15
|
+
}
|
|
16
|
+
export interface MdxEditorCodeBlockOptions {
|
|
17
|
+
defaultLanguage?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface MdxEditorCodeMirrorOptions {
|
|
20
|
+
languages?: Record<string, string> | MdxEditorCodeBlockLanguage[];
|
|
21
|
+
autoLoadLanguageSupport?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface MdxEditorLinkOptions {
|
|
24
|
+
disableAutoLink?: boolean;
|
|
25
|
+
linkAutocompleteSuggestions?: string[];
|
|
26
|
+
showLinkTitleField?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface MdxEditorImageOptions {
|
|
29
|
+
imageUploadHandler?: MdxEditorImageUploadHandler;
|
|
30
|
+
imageAutocompleteSuggestions?: string[];
|
|
31
|
+
imagePreviewHandler?: MdxEditorImagePreviewHandler;
|
|
32
|
+
disableImageResize?: boolean;
|
|
33
|
+
disableImageSettingsButton?: boolean;
|
|
34
|
+
allowSetImageDimensions?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface MdxEditorDiffModeOptions {
|
|
37
|
+
viewMode?: MdxEditorViewMode;
|
|
38
|
+
diffMarkdown?: string;
|
|
39
|
+
readOnlyDiff?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface MdxEditorAdmonitionOptions {
|
|
42
|
+
escapeUnknownTextDirectives?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface MdxEditorPluginOptions {
|
|
45
|
+
toolbar?: boolean | MdxEditorToolbarOptions;
|
|
46
|
+
headings?: boolean | {
|
|
47
|
+
allowedHeadingLevels?: readonly MdxEditorHeadingLevel[];
|
|
48
|
+
};
|
|
49
|
+
lists?: boolean;
|
|
50
|
+
quote?: boolean;
|
|
51
|
+
links?: boolean | MdxEditorLinkOptions;
|
|
52
|
+
tables?: boolean;
|
|
53
|
+
thematicBreak?: boolean;
|
|
54
|
+
codeBlocks?: boolean | MdxEditorCodeBlockOptions;
|
|
55
|
+
codeMirror?: boolean | MdxEditorCodeMirrorOptions;
|
|
56
|
+
frontmatter?: boolean;
|
|
57
|
+
admonitions?: boolean | MdxEditorAdmonitionOptions;
|
|
58
|
+
images?: boolean | MdxEditorImageOptions;
|
|
59
|
+
markdownShortcuts?: boolean;
|
|
60
|
+
diffMode?: boolean | MdxEditorViewMode | MdxEditorDiffModeOptions;
|
|
61
|
+
plugins?: MdxEditorPlugin[];
|
|
62
|
+
}
|
|
63
|
+
export interface MdxEditorFieldProps extends MdxEditorPluginOptions {
|
|
64
|
+
id?: string;
|
|
65
|
+
value?: string;
|
|
66
|
+
onChange?: (markdown: string) => void;
|
|
67
|
+
readOnly?: boolean;
|
|
68
|
+
disabled?: boolean;
|
|
69
|
+
size?: FormSize;
|
|
70
|
+
placeholder?: ReactNode;
|
|
71
|
+
className?: string;
|
|
72
|
+
contentClassName?: string;
|
|
73
|
+
textareaClassName?: string;
|
|
74
|
+
"aria-label"?: string;
|
|
75
|
+
commitInitialMarkdownNormalize?: boolean;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=mdx-editor-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx-editor-options.d.ts","sourceRoot":"","sources":["../../src/components/mdx-editor-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
function useListMenuSelection(options) {
|
|
5
|
+
const { keys, selectedKeys: controlled, defaultSelectedKeys, onSelectionChange } = options;
|
|
6
|
+
const isControlled = controlled !== void 0;
|
|
7
|
+
const [localSet, setLocalSet] = react.useState(
|
|
8
|
+
() => new Set(defaultSelectedKeys ?? [])
|
|
9
|
+
);
|
|
10
|
+
const anchorRef = react.useRef(null);
|
|
11
|
+
const selected = react.useMemo(
|
|
12
|
+
() => isControlled ? new Set(controlled) : localSet,
|
|
13
|
+
[isControlled, controlled, localSet]
|
|
14
|
+
);
|
|
15
|
+
const commit = react.useCallback(
|
|
16
|
+
(next) => {
|
|
17
|
+
if (!isControlled) setLocalSet(next);
|
|
18
|
+
onSelectionChange == null ? void 0 : onSelectionChange(keys.filter((key) => next.has(key)));
|
|
19
|
+
},
|
|
20
|
+
[isControlled, onSelectionChange, keys]
|
|
21
|
+
);
|
|
22
|
+
const toggle = react.useCallback(
|
|
23
|
+
(key, modifiers) => {
|
|
24
|
+
const next = new Set(selected);
|
|
25
|
+
const anchor = anchorRef.current;
|
|
26
|
+
if ((modifiers == null ? void 0 : modifiers.shiftKey) && anchor !== null) {
|
|
27
|
+
const from = keys.indexOf(anchor);
|
|
28
|
+
const to = keys.indexOf(key);
|
|
29
|
+
if (from !== -1 && to !== -1) {
|
|
30
|
+
const [lo, hi] = from <= to ? [from, to] : [to, from];
|
|
31
|
+
for (let i = lo; i <= hi; i += 1) next.add(keys[i]);
|
|
32
|
+
commit(next);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (next.has(key)) next.delete(key);
|
|
37
|
+
else next.add(key);
|
|
38
|
+
anchorRef.current = key;
|
|
39
|
+
commit(next);
|
|
40
|
+
},
|
|
41
|
+
[selected, keys, commit]
|
|
42
|
+
);
|
|
43
|
+
const set = react.useCallback(
|
|
44
|
+
(next) => {
|
|
45
|
+
anchorRef.current = null;
|
|
46
|
+
commit(new Set(next));
|
|
47
|
+
},
|
|
48
|
+
[commit]
|
|
49
|
+
);
|
|
50
|
+
const selectAll = react.useCallback(() => commit(new Set(keys)), [commit, keys]);
|
|
51
|
+
const clear = react.useCallback(() => {
|
|
52
|
+
anchorRef.current = null;
|
|
53
|
+
commit(/* @__PURE__ */ new Set());
|
|
54
|
+
}, [commit]);
|
|
55
|
+
const selectedKeys = react.useMemo(() => keys.filter((key) => selected.has(key)), [keys, selected]);
|
|
56
|
+
const allSelected = keys.length > 0 && keys.every((key) => selected.has(key));
|
|
57
|
+
return {
|
|
58
|
+
selectedKeys,
|
|
59
|
+
selected,
|
|
60
|
+
isSelected: (key) => selected.has(key),
|
|
61
|
+
toggle,
|
|
62
|
+
set,
|
|
63
|
+
selectAll,
|
|
64
|
+
clear,
|
|
65
|
+
allSelected,
|
|
66
|
+
someSelected: selectedKeys.length > 0 && !allSelected,
|
|
67
|
+
count: selectedKeys.length
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const ListMenuSelectionContext = react.createContext(null);
|
|
71
|
+
function useListMenuSelectionContext() {
|
|
72
|
+
return react.useContext(ListMenuSelectionContext);
|
|
73
|
+
}
|
|
74
|
+
exports.ListMenuSelectionContext = ListMenuSelectionContext;
|
|
75
|
+
exports.useListMenuSelection = useListMenuSelection;
|
|
76
|
+
exports.useListMenuSelectionContext = useListMenuSelectionContext;
|
|
77
|
+
//# sourceMappingURL=use-list-menu-selection.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-list-menu-selection.cjs","sources":["../../src/components/use-list-menu-selection.ts"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nexport interface ListMenuSelection {\n /** Selected keys in the order they appear in `keys`. */\n selectedKeys: string[];\n /** Membership set for O(1) lookups. */\n selected: Set<string>;\n isSelected: (key: string) => boolean;\n /** Toggle a key; pass `{ shiftKey: true }` to extend the range from the anchor. */\n toggle: (key: string, modifiers?: { shiftKey?: boolean }) => void;\n /** Replace the entire selection with the given keys. */\n set: (keys: string[]) => void;\n selectAll: () => void;\n clear: () => void;\n /** True when every key in `keys` is selected (and there is at least one). */\n allSelected: boolean;\n /** True when some — but not all — keys are selected. */\n someSelected: boolean;\n /** Number of selected keys. */\n count: number;\n}\n\nexport interface UseListMenuSelectionOptions {\n /** Ordered selectable keys; required for Shift+Click ranges and select-all. */\n keys: string[];\n /** Controlled selection — when set, the hook does not own selection state. */\n selectedKeys?: string[];\n /** Initial selection when uncontrolled. */\n defaultSelectedKeys?: string[];\n /** Fires with the next selection (ordered by `keys`) on every change. */\n onSelectionChange?: (keys: string[]) => void;\n}\n\nexport function useListMenuSelection(\n options: UseListMenuSelectionOptions,\n): ListMenuSelection {\n const { keys, selectedKeys: controlled, defaultSelectedKeys, onSelectionChange } = options;\n const isControlled = controlled !== undefined;\n const [localSet, setLocalSet] = useState<Set<string>>(\n () => new Set(defaultSelectedKeys ?? []),\n );\n const anchorRef = useRef<string | null>(null);\n\n const selected = useMemo(\n () => (isControlled ? new Set(controlled) : localSet),\n [isControlled, controlled, localSet],\n );\n\n const commit = useCallback(\n (next: Set<string>) => {\n if (!isControlled) setLocalSet(next);\n onSelectionChange?.(keys.filter((key) => next.has(key)));\n },\n [isControlled, onSelectionChange, keys],\n );\n\n const toggle = useCallback(\n (key: string, modifiers?: { shiftKey?: boolean }) => {\n const next = new Set(selected);\n const anchor = anchorRef.current;\n if (modifiers?.shiftKey && anchor !== null) {\n const from = keys.indexOf(anchor);\n const to = keys.indexOf(key);\n if (from !== -1 && to !== -1) {\n const [lo, hi] = from <= to ? [from, to] : [to, from];\n for (let i = lo; i <= hi; i += 1) next.add(keys[i]!);\n commit(next);\n return;\n }\n }\n if (next.has(key)) next.delete(key);\n else next.add(key);\n anchorRef.current = key;\n commit(next);\n },\n [selected, keys, commit],\n );\n\n const set = useCallback(\n (next: string[]) => {\n anchorRef.current = null;\n commit(new Set(next));\n },\n [commit],\n );\n\n const selectAll = useCallback(() => commit(new Set(keys)), [commit, keys]);\n\n const clear = useCallback(() => {\n anchorRef.current = null;\n commit(new Set());\n }, [commit]);\n\n const selectedKeys = useMemo(() => keys.filter((key) => selected.has(key)), [keys, selected]);\n const allSelected = keys.length > 0 && keys.every((key) => selected.has(key));\n\n return {\n selectedKeys,\n selected,\n isSelected: (key) => selected.has(key),\n toggle,\n set,\n selectAll,\n clear,\n allSelected,\n someSelected: selectedKeys.length > 0 && !allSelected,\n count: selectedKeys.length,\n };\n}\n\nexport interface ListMenuSelectionContextValue {\n selection: ListMenuSelection;\n /** Whether selectable rows render a leading checkbox. */\n showCheckboxes: boolean;\n}\n\nexport const ListMenuSelectionContext = createContext<ListMenuSelectionContextValue | null>(null);\n\nexport function useListMenuSelectionContext(): ListMenuSelectionContextValue | null {\n return useContext(ListMenuSelectionContext);\n}\n"],"names":["useState","useRef","useMemo","useCallback","createContext","useContext"],"mappings":";;;AAiCO,SAAS,qBACd,SACmB;AACnB,QAAM,EAAE,MAAM,cAAc,YAAY,qBAAqB,sBAAsB;AACnF,QAAM,eAAe,eAAe;AACpC,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA;AAAAA,IAC9B,MAAM,IAAI,IAAI,uBAAuB,CAAA,CAAE;AAAA,EAAA;AAEzC,QAAM,YAAYC,MAAAA,OAAsB,IAAI;AAE5C,QAAM,WAAWC,MAAAA;AAAAA,IACf,MAAO,eAAe,IAAI,IAAI,UAAU,IAAI;AAAA,IAC5C,CAAC,cAAc,YAAY,QAAQ;AAAA,EAAA;AAGrC,QAAM,SAASC,MAAAA;AAAAA,IACb,CAAC,SAAsB;AACrB,UAAI,CAAC,aAAc,aAAY,IAAI;AACnC,6DAAoB,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC;AAAA,IACxD;AAAA,IACA,CAAC,cAAc,mBAAmB,IAAI;AAAA,EAAA;AAGxC,QAAM,SAASA,MAAAA;AAAAA,IACb,CAAC,KAAa,cAAuC;AACnD,YAAM,OAAO,IAAI,IAAI,QAAQ;AAC7B,YAAM,SAAS,UAAU;AACzB,WAAI,uCAAW,aAAY,WAAW,MAAM;AAC1C,cAAM,OAAO,KAAK,QAAQ,MAAM;AAChC,cAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,YAAI,SAAS,MAAM,OAAO,IAAI;AAC5B,gBAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI;AACpD,mBAAS,IAAI,IAAI,KAAK,IAAI,KAAK,EAAG,MAAK,IAAI,KAAK,CAAC,CAAE;AACnD,iBAAO,IAAI;AACX;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAK,IAAI,GAAG,EAAG,MAAK,OAAO,GAAG;AAAA,UAC7B,MAAK,IAAI,GAAG;AACjB,gBAAU,UAAU;AACpB,aAAO,IAAI;AAAA,IACb;AAAA,IACA,CAAC,UAAU,MAAM,MAAM;AAAA,EAAA;AAGzB,QAAM,MAAMA,MAAAA;AAAAA,IACV,CAAC,SAAmB;AAClB,gBAAU,UAAU;AACpB,aAAO,IAAI,IAAI,IAAI,CAAC;AAAA,IACtB;AAAA,IACA,CAAC,MAAM;AAAA,EAAA;AAGT,QAAM,YAAYA,MAAAA,YAAY,MAAM,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC;AAEzE,QAAM,QAAQA,MAAAA,YAAY,MAAM;AAC9B,cAAU,UAAU;AACpB,WAAO,oBAAI,KAAK;AAAA,EAClB,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,eAAeD,MAAAA,QAAQ,MAAM,KAAK,OAAO,CAAC,QAAQ,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC;AAC5F,QAAM,cAAc,KAAK,SAAS,KAAK,KAAK,MAAM,CAAC,QAAQ,SAAS,IAAI,GAAG,CAAC;AAE5E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,aAAa,SAAS,KAAK,CAAC;AAAA,IAC1C,OAAO,aAAa;AAAA,EAAA;AAExB;AAQO,MAAM,2BAA2BE,MAAAA,cAAoD,IAAI;AAEzF,SAAS,8BAAoE;AAClF,SAAOC,MAAAA,WAAW,wBAAwB;AAC5C;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface ListMenuSelection {
|
|
2
|
+
/** Selected keys in the order they appear in `keys`. */
|
|
3
|
+
selectedKeys: string[];
|
|
4
|
+
/** Membership set for O(1) lookups. */
|
|
5
|
+
selected: Set<string>;
|
|
6
|
+
isSelected: (key: string) => boolean;
|
|
7
|
+
/** Toggle a key; pass `{ shiftKey: true }` to extend the range from the anchor. */
|
|
8
|
+
toggle: (key: string, modifiers?: {
|
|
9
|
+
shiftKey?: boolean;
|
|
10
|
+
}) => void;
|
|
11
|
+
/** Replace the entire selection with the given keys. */
|
|
12
|
+
set: (keys: string[]) => void;
|
|
13
|
+
selectAll: () => void;
|
|
14
|
+
clear: () => void;
|
|
15
|
+
/** True when every key in `keys` is selected (and there is at least one). */
|
|
16
|
+
allSelected: boolean;
|
|
17
|
+
/** True when some — but not all — keys are selected. */
|
|
18
|
+
someSelected: boolean;
|
|
19
|
+
/** Number of selected keys. */
|
|
20
|
+
count: number;
|
|
21
|
+
}
|
|
22
|
+
export interface UseListMenuSelectionOptions {
|
|
23
|
+
/** Ordered selectable keys; required for Shift+Click ranges and select-all. */
|
|
24
|
+
keys: string[];
|
|
25
|
+
/** Controlled selection — when set, the hook does not own selection state. */
|
|
26
|
+
selectedKeys?: string[];
|
|
27
|
+
/** Initial selection when uncontrolled. */
|
|
28
|
+
defaultSelectedKeys?: string[];
|
|
29
|
+
/** Fires with the next selection (ordered by `keys`) on every change. */
|
|
30
|
+
onSelectionChange?: (keys: string[]) => void;
|
|
31
|
+
}
|
|
32
|
+
export declare function useListMenuSelection(options: UseListMenuSelectionOptions): ListMenuSelection;
|
|
33
|
+
export interface ListMenuSelectionContextValue {
|
|
34
|
+
selection: ListMenuSelection;
|
|
35
|
+
/** Whether selectable rows render a leading checkbox. */
|
|
36
|
+
showCheckboxes: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare const ListMenuSelectionContext: import('react').Context<ListMenuSelectionContextValue | null>;
|
|
39
|
+
export declare function useListMenuSelectionContext(): ListMenuSelectionContextValue | null;
|
|
40
|
+
//# sourceMappingURL=use-list-menu-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-list-menu-selection.d.ts","sourceRoot":"","sources":["../../src/components/use-list-menu-selection.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uCAAuC;IACvC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,mFAAmF;IACnF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAClE,wDAAwD;IACxD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,+EAA+E;IAC/E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,iBAAiB,CAyEnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,+DAA4D,CAAC;AAElG,wBAAgB,2BAA2B,IAAI,6BAA6B,GAAG,IAAI,CAElF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useState, useRef, useMemo, useCallback, createContext, useContext } from "react";
|
|
2
|
+
function useListMenuSelection(options) {
|
|
3
|
+
const { keys, selectedKeys: controlled, defaultSelectedKeys, onSelectionChange } = options;
|
|
4
|
+
const isControlled = controlled !== void 0;
|
|
5
|
+
const [localSet, setLocalSet] = useState(
|
|
6
|
+
() => new Set(defaultSelectedKeys ?? [])
|
|
7
|
+
);
|
|
8
|
+
const anchorRef = useRef(null);
|
|
9
|
+
const selected = useMemo(
|
|
10
|
+
() => isControlled ? new Set(controlled) : localSet,
|
|
11
|
+
[isControlled, controlled, localSet]
|
|
12
|
+
);
|
|
13
|
+
const commit = useCallback(
|
|
14
|
+
(next) => {
|
|
15
|
+
if (!isControlled) setLocalSet(next);
|
|
16
|
+
onSelectionChange == null ? void 0 : onSelectionChange(keys.filter((key) => next.has(key)));
|
|
17
|
+
},
|
|
18
|
+
[isControlled, onSelectionChange, keys]
|
|
19
|
+
);
|
|
20
|
+
const toggle = useCallback(
|
|
21
|
+
(key, modifiers) => {
|
|
22
|
+
const next = new Set(selected);
|
|
23
|
+
const anchor = anchorRef.current;
|
|
24
|
+
if ((modifiers == null ? void 0 : modifiers.shiftKey) && anchor !== null) {
|
|
25
|
+
const from = keys.indexOf(anchor);
|
|
26
|
+
const to = keys.indexOf(key);
|
|
27
|
+
if (from !== -1 && to !== -1) {
|
|
28
|
+
const [lo, hi] = from <= to ? [from, to] : [to, from];
|
|
29
|
+
for (let i = lo; i <= hi; i += 1) next.add(keys[i]);
|
|
30
|
+
commit(next);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (next.has(key)) next.delete(key);
|
|
35
|
+
else next.add(key);
|
|
36
|
+
anchorRef.current = key;
|
|
37
|
+
commit(next);
|
|
38
|
+
},
|
|
39
|
+
[selected, keys, commit]
|
|
40
|
+
);
|
|
41
|
+
const set = useCallback(
|
|
42
|
+
(next) => {
|
|
43
|
+
anchorRef.current = null;
|
|
44
|
+
commit(new Set(next));
|
|
45
|
+
},
|
|
46
|
+
[commit]
|
|
47
|
+
);
|
|
48
|
+
const selectAll = useCallback(() => commit(new Set(keys)), [commit, keys]);
|
|
49
|
+
const clear = useCallback(() => {
|
|
50
|
+
anchorRef.current = null;
|
|
51
|
+
commit(/* @__PURE__ */ new Set());
|
|
52
|
+
}, [commit]);
|
|
53
|
+
const selectedKeys = useMemo(() => keys.filter((key) => selected.has(key)), [keys, selected]);
|
|
54
|
+
const allSelected = keys.length > 0 && keys.every((key) => selected.has(key));
|
|
55
|
+
return {
|
|
56
|
+
selectedKeys,
|
|
57
|
+
selected,
|
|
58
|
+
isSelected: (key) => selected.has(key),
|
|
59
|
+
toggle,
|
|
60
|
+
set,
|
|
61
|
+
selectAll,
|
|
62
|
+
clear,
|
|
63
|
+
allSelected,
|
|
64
|
+
someSelected: selectedKeys.length > 0 && !allSelected,
|
|
65
|
+
count: selectedKeys.length
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const ListMenuSelectionContext = createContext(null);
|
|
69
|
+
function useListMenuSelectionContext() {
|
|
70
|
+
return useContext(ListMenuSelectionContext);
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
ListMenuSelectionContext,
|
|
74
|
+
useListMenuSelection,
|
|
75
|
+
useListMenuSelectionContext
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=use-list-menu-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-list-menu-selection.js","sources":["../../src/components/use-list-menu-selection.ts"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nexport interface ListMenuSelection {\n /** Selected keys in the order they appear in `keys`. */\n selectedKeys: string[];\n /** Membership set for O(1) lookups. */\n selected: Set<string>;\n isSelected: (key: string) => boolean;\n /** Toggle a key; pass `{ shiftKey: true }` to extend the range from the anchor. */\n toggle: (key: string, modifiers?: { shiftKey?: boolean }) => void;\n /** Replace the entire selection with the given keys. */\n set: (keys: string[]) => void;\n selectAll: () => void;\n clear: () => void;\n /** True when every key in `keys` is selected (and there is at least one). */\n allSelected: boolean;\n /** True when some — but not all — keys are selected. */\n someSelected: boolean;\n /** Number of selected keys. */\n count: number;\n}\n\nexport interface UseListMenuSelectionOptions {\n /** Ordered selectable keys; required for Shift+Click ranges and select-all. */\n keys: string[];\n /** Controlled selection — when set, the hook does not own selection state. */\n selectedKeys?: string[];\n /** Initial selection when uncontrolled. */\n defaultSelectedKeys?: string[];\n /** Fires with the next selection (ordered by `keys`) on every change. */\n onSelectionChange?: (keys: string[]) => void;\n}\n\nexport function useListMenuSelection(\n options: UseListMenuSelectionOptions,\n): ListMenuSelection {\n const { keys, selectedKeys: controlled, defaultSelectedKeys, onSelectionChange } = options;\n const isControlled = controlled !== undefined;\n const [localSet, setLocalSet] = useState<Set<string>>(\n () => new Set(defaultSelectedKeys ?? []),\n );\n const anchorRef = useRef<string | null>(null);\n\n const selected = useMemo(\n () => (isControlled ? new Set(controlled) : localSet),\n [isControlled, controlled, localSet],\n );\n\n const commit = useCallback(\n (next: Set<string>) => {\n if (!isControlled) setLocalSet(next);\n onSelectionChange?.(keys.filter((key) => next.has(key)));\n },\n [isControlled, onSelectionChange, keys],\n );\n\n const toggle = useCallback(\n (key: string, modifiers?: { shiftKey?: boolean }) => {\n const next = new Set(selected);\n const anchor = anchorRef.current;\n if (modifiers?.shiftKey && anchor !== null) {\n const from = keys.indexOf(anchor);\n const to = keys.indexOf(key);\n if (from !== -1 && to !== -1) {\n const [lo, hi] = from <= to ? [from, to] : [to, from];\n for (let i = lo; i <= hi; i += 1) next.add(keys[i]!);\n commit(next);\n return;\n }\n }\n if (next.has(key)) next.delete(key);\n else next.add(key);\n anchorRef.current = key;\n commit(next);\n },\n [selected, keys, commit],\n );\n\n const set = useCallback(\n (next: string[]) => {\n anchorRef.current = null;\n commit(new Set(next));\n },\n [commit],\n );\n\n const selectAll = useCallback(() => commit(new Set(keys)), [commit, keys]);\n\n const clear = useCallback(() => {\n anchorRef.current = null;\n commit(new Set());\n }, [commit]);\n\n const selectedKeys = useMemo(() => keys.filter((key) => selected.has(key)), [keys, selected]);\n const allSelected = keys.length > 0 && keys.every((key) => selected.has(key));\n\n return {\n selectedKeys,\n selected,\n isSelected: (key) => selected.has(key),\n toggle,\n set,\n selectAll,\n clear,\n allSelected,\n someSelected: selectedKeys.length > 0 && !allSelected,\n count: selectedKeys.length,\n };\n}\n\nexport interface ListMenuSelectionContextValue {\n selection: ListMenuSelection;\n /** Whether selectable rows render a leading checkbox. */\n showCheckboxes: boolean;\n}\n\nexport const ListMenuSelectionContext = createContext<ListMenuSelectionContextValue | null>(null);\n\nexport function useListMenuSelectionContext(): ListMenuSelectionContextValue | null {\n return useContext(ListMenuSelectionContext);\n}\n"],"names":[],"mappings":";AAiCO,SAAS,qBACd,SACmB;AACnB,QAAM,EAAE,MAAM,cAAc,YAAY,qBAAqB,sBAAsB;AACnF,QAAM,eAAe,eAAe;AACpC,QAAM,CAAC,UAAU,WAAW,IAAI;AAAA,IAC9B,MAAM,IAAI,IAAI,uBAAuB,CAAA,CAAE;AAAA,EAAA;AAEzC,QAAM,YAAY,OAAsB,IAAI;AAE5C,QAAM,WAAW;AAAA,IACf,MAAO,eAAe,IAAI,IAAI,UAAU,IAAI;AAAA,IAC5C,CAAC,cAAc,YAAY,QAAQ;AAAA,EAAA;AAGrC,QAAM,SAAS;AAAA,IACb,CAAC,SAAsB;AACrB,UAAI,CAAC,aAAc,aAAY,IAAI;AACnC,6DAAoB,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC;AAAA,IACxD;AAAA,IACA,CAAC,cAAc,mBAAmB,IAAI;AAAA,EAAA;AAGxC,QAAM,SAAS;AAAA,IACb,CAAC,KAAa,cAAuC;AACnD,YAAM,OAAO,IAAI,IAAI,QAAQ;AAC7B,YAAM,SAAS,UAAU;AACzB,WAAI,uCAAW,aAAY,WAAW,MAAM;AAC1C,cAAM,OAAO,KAAK,QAAQ,MAAM;AAChC,cAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,YAAI,SAAS,MAAM,OAAO,IAAI;AAC5B,gBAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI;AACpD,mBAAS,IAAI,IAAI,KAAK,IAAI,KAAK,EAAG,MAAK,IAAI,KAAK,CAAC,CAAE;AACnD,iBAAO,IAAI;AACX;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAK,IAAI,GAAG,EAAG,MAAK,OAAO,GAAG;AAAA,UAC7B,MAAK,IAAI,GAAG;AACjB,gBAAU,UAAU;AACpB,aAAO,IAAI;AAAA,IACb;AAAA,IACA,CAAC,UAAU,MAAM,MAAM;AAAA,EAAA;AAGzB,QAAM,MAAM;AAAA,IACV,CAAC,SAAmB;AAClB,gBAAU,UAAU;AACpB,aAAO,IAAI,IAAI,IAAI,CAAC;AAAA,IACtB;AAAA,IACA,CAAC,MAAM;AAAA,EAAA;AAGT,QAAM,YAAY,YAAY,MAAM,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC;AAEzE,QAAM,QAAQ,YAAY,MAAM;AAC9B,cAAU,UAAU;AACpB,WAAO,oBAAI,KAAK;AAAA,EAClB,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,eAAe,QAAQ,MAAM,KAAK,OAAO,CAAC,QAAQ,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC;AAC5F,QAAM,cAAc,KAAK,SAAS,KAAK,KAAK,MAAM,CAAC,QAAQ,SAAS,IAAI,GAAG,CAAC;AAE5E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,aAAa,SAAS,KAAK,CAAC;AAAA,IAC1C,OAAO,aAAa;AAAA,EAAA;AAExB;AAQO,MAAM,2BAA2B,cAAoD,IAAI;AAEzF,SAAS,8BAAoE;AAClF,SAAO,WAAW,wBAAwB;AAC5C;"}
|
package/dist/components.cjs
CHANGED
|
@@ -30,7 +30,10 @@ const SecretKeySelector = require("./components/SecretKeySelector.cjs");
|
|
|
30
30
|
const themeSwitcher = require("./components/theme-switcher.cjs");
|
|
31
31
|
const densitySwitcher = require("./components/density-switcher.cjs");
|
|
32
32
|
const iconMenuPicker = require("./components/icon-menu-picker.cjs");
|
|
33
|
+
const ListMenu = require("./components/ListMenu.cjs");
|
|
34
|
+
const useListMenuSelection = require("./components/use-list-menu-selection.cjs");
|
|
33
35
|
const JsonSchemaForm = require("./components/JsonSchemaForm.cjs");
|
|
36
|
+
const FormLookupProvider = require("./components/FormLookupProvider.cjs");
|
|
34
37
|
const formLookupContext = require("./components/form-lookup-context.cjs");
|
|
35
38
|
const jsonSchemaFormSize = require("./components/json-schema-form-size.cjs");
|
|
36
39
|
const jsonSchemaFormPreferences = require("./components/json-schema-form-preferences.cjs");
|
|
@@ -84,8 +87,14 @@ exports.SecretKeySelector = SecretKeySelector.SecretKeySelector;
|
|
|
84
87
|
exports.ThemeSwitcher = themeSwitcher.ThemeSwitcher;
|
|
85
88
|
exports.DensitySwitcher = densitySwitcher.DensitySwitcher;
|
|
86
89
|
exports.IconMenuPicker = iconMenuPicker.IconMenuPicker;
|
|
90
|
+
exports.ListMenu = ListMenu.ListMenu;
|
|
91
|
+
exports.ListMenuActionBar = ListMenu.ListMenuActionBar;
|
|
92
|
+
exports.ListMenuHeader = ListMenu.ListMenuHeader;
|
|
93
|
+
exports.ListMenuItem = ListMenu.ListMenuItem;
|
|
94
|
+
exports.ListMenuSection = ListMenu.ListMenuSection;
|
|
95
|
+
exports.useListMenuSelection = useListMenuSelection.useListMenuSelection;
|
|
87
96
|
exports.JsonSchemaForm = JsonSchemaForm.JsonSchemaForm;
|
|
88
|
-
exports.FormLookupProvider =
|
|
97
|
+
exports.FormLookupProvider = FormLookupProvider.FormLookupProvider;
|
|
89
98
|
exports.resolveLookupScope = formLookupContext.resolveLookupScope;
|
|
90
99
|
exports.useLookupFetcher = formLookupContext.useLookupFetcher;
|
|
91
100
|
exports.DEFAULT_FORM_SIZE = jsonSchemaFormSize.DEFAULT_FORM_SIZE;
|
package/dist/components.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|