kempo-ui 0.4.20 → 0.4.21
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/CHANGELOG.md +18 -0
- package/dist/components/Chat.js +10 -10
- package/dist/components/CodeEditor.js +23 -24
- package/dist/components/ControlGroup.js +17 -0
- package/dist/components/HtmlEditor.js +105 -106
- package/dist/components/MarkdownEditor.js +49 -49
- package/dist/components/Pagination.js +11 -11
- package/dist/components/Table.js +1 -1
- package/dist/components/controls/AlignCenter.js +1 -0
- package/dist/components/controls/AlignJustify.js +1 -0
- package/dist/components/controls/AlignLeft.js +1 -0
- package/dist/components/controls/AlignRight.js +1 -0
- package/dist/components/controls/Bold.js +1 -0
- package/dist/components/controls/BulletList.js +1 -0
- package/dist/components/controls/ButtonControl.js +33 -0
- package/dist/components/controls/CharacterCount.js +4 -0
- package/dist/components/controls/ClearFormatting.js +1 -0
- package/dist/components/controls/CodeBlock.js +1 -0
- package/dist/components/controls/Control.js +12 -0
- package/dist/components/controls/CopyCode.js +1 -0
- package/dist/components/controls/CreateLink.js +1 -0
- package/dist/components/controls/EditorTheme.js +30 -0
- package/dist/components/controls/FindReplace.js +1 -0
- package/dist/components/controls/FoldAll.js +1 -0
- package/dist/components/controls/FontSize.js +8 -0
- package/dist/components/controls/FontSizeDecrease.js +1 -0
- package/dist/components/controls/FontSizeIncrease.js +1 -0
- package/dist/components/controls/FormatBlock.js +8 -0
- package/dist/components/controls/FormatCode.js +1 -0
- package/dist/components/controls/Fullscreen.js +1 -0
- package/dist/components/controls/InlineCode.js +1 -0
- package/dist/components/controls/InsertTable.js +1 -0
- package/dist/components/controls/Italic.js +1 -0
- package/dist/components/controls/Language.js +21 -0
- package/dist/components/controls/MdImage.js +23 -0
- package/dist/components/controls/MdLink.js +1 -0
- package/dist/components/controls/MdSpeechToText.js +10 -0
- package/dist/components/controls/MdTable.js +19 -0
- package/dist/components/controls/Menu.js +51 -0
- package/dist/components/controls/Minimap.js +1 -0
- package/dist/components/controls/Mode.js +1 -0
- package/dist/components/controls/NumberList.js +1 -0
- package/dist/components/controls/PgCount.js +1 -0
- package/dist/components/controls/PgFirst.js +1 -0
- package/dist/components/controls/PgGotoPage.js +15 -0
- package/dist/components/controls/PgItemsPerPage.js +12 -0
- package/dist/components/controls/PgLast.js +1 -0
- package/dist/components/controls/PgNext.js +1 -0
- package/dist/components/controls/PgPageInfo.js +3 -0
- package/dist/components/controls/PgPrev.js +1 -0
- package/dist/components/controls/Quote.js +1 -0
- package/dist/components/controls/Redo.js +1 -0
- package/dist/components/{htmlEditorControls/ControlSpacer.js → controls/Spacer.js} +5 -5
- package/dist/components/controls/Strikethrough.js +1 -0
- package/dist/components/controls/TcDeleteRecord.js +1 -0
- package/dist/components/controls/TcDeleteSelected.js +1 -0
- package/dist/components/controls/TcEdit.js +12 -0
- package/dist/components/controls/TcExportCsv.js +3 -0
- package/dist/components/controls/TcExportJson.js +3 -0
- package/dist/components/controls/TcFieldSortHide.js +21 -0
- package/dist/components/controls/TcFilters.js +34 -0
- package/dist/components/controls/TcFirstPage.js +1 -0
- package/dist/components/controls/TcHiddenCount.js +1 -0
- package/dist/components/controls/TcHide.js +1 -0
- package/dist/components/controls/TcLastPage.js +1 -0
- package/dist/components/controls/TcNextPage.js +1 -0
- package/dist/components/controls/TcPageSelect.js +9 -0
- package/dist/components/controls/TcPageSize.js +5 -0
- package/dist/components/controls/TcPrevPage.js +1 -0
- package/dist/components/controls/TcSearch.js +1 -0
- package/dist/components/controls/TcShowAll.js +1 -0
- package/dist/components/controls/TextBackgroundColor.js +26 -0
- package/dist/components/controls/TextColor.js +26 -0
- package/dist/components/controls/Underline.js +1 -0
- package/dist/components/controls/Undo.js +1 -0
- package/dist/components/controls/WordCount.js +4 -0
- package/dist/components/controls/WordWrap.js +1 -0
- package/docs/components/code-editor.html +69 -48
- package/docs/components/html-editor.html +70 -69
- package/docs/components/markdown-editor.html +59 -78
- package/docs/components/pagination.html +51 -51
- package/docs/components/tableControls.html +5 -5
- package/docs/components/tableCustomFields.html +3 -3
- package/docs/components/tableFetchRecords.html +13 -13
- package/docs/components/tableFieldSortHide.html +4 -4
- package/docs/components/tablePagination.html +13 -13
- package/docs/components/tablePlaceholder.html +3 -3
- package/docs/components/tableRecordEditing.html +4 -4
- package/docs/components/tableRecordFiltering.html +5 -5
- package/docs/components/tableRecordHiding.html +7 -7
- package/docs/components/tableRecordSearching.html +3 -3
- package/docs/components/tableRowControls.html +6 -6
- package/docs/components/tableServerSync.html +7 -7
- package/docs/src/components/Chat.js +10 -10
- package/docs/src/components/CodeEditor.js +23 -24
- package/docs/src/components/ControlGroup.js +17 -0
- package/docs/src/components/HtmlEditor.js +105 -106
- package/docs/src/components/MarkdownEditor.js +49 -49
- package/docs/src/components/Pagination.js +11 -11
- package/docs/src/components/Table.js +1 -1
- package/docs/src/components/controls/AlignCenter.js +1 -0
- package/docs/src/components/controls/AlignJustify.js +1 -0
- package/docs/src/components/controls/AlignLeft.js +1 -0
- package/docs/src/components/controls/AlignRight.js +1 -0
- package/docs/src/components/controls/Bold.js +1 -0
- package/docs/src/components/controls/BulletList.js +1 -0
- package/docs/src/components/controls/ButtonControl.js +33 -0
- package/docs/src/components/controls/CharacterCount.js +4 -0
- package/docs/src/components/controls/ClearFormatting.js +1 -0
- package/docs/src/components/controls/CodeBlock.js +1 -0
- package/docs/src/components/controls/Control.js +12 -0
- package/docs/src/components/controls/CopyCode.js +1 -0
- package/docs/src/components/controls/CreateLink.js +1 -0
- package/docs/src/components/controls/EditorTheme.js +30 -0
- package/docs/src/components/controls/FindReplace.js +1 -0
- package/docs/src/components/controls/FoldAll.js +1 -0
- package/docs/src/components/controls/FontSize.js +8 -0
- package/docs/src/components/controls/FontSizeDecrease.js +1 -0
- package/docs/src/components/controls/FontSizeIncrease.js +1 -0
- package/docs/src/components/controls/FormatBlock.js +8 -0
- package/docs/src/components/controls/FormatCode.js +1 -0
- package/docs/src/components/controls/Fullscreen.js +1 -0
- package/docs/src/components/controls/InlineCode.js +1 -0
- package/docs/src/components/controls/InsertTable.js +1 -0
- package/docs/src/components/controls/Italic.js +1 -0
- package/docs/src/components/controls/Language.js +21 -0
- package/docs/src/components/controls/MdImage.js +23 -0
- package/docs/src/components/controls/MdLink.js +1 -0
- package/docs/src/components/controls/MdSpeechToText.js +10 -0
- package/docs/src/components/controls/MdTable.js +19 -0
- package/docs/src/components/controls/Menu.js +51 -0
- package/docs/src/components/controls/Minimap.js +1 -0
- package/docs/src/components/controls/Mode.js +1 -0
- package/docs/src/components/controls/NumberList.js +1 -0
- package/docs/src/components/controls/PgCount.js +1 -0
- package/docs/src/components/controls/PgFirst.js +1 -0
- package/docs/src/components/controls/PgGotoPage.js +15 -0
- package/docs/src/components/controls/PgItemsPerPage.js +12 -0
- package/docs/src/components/controls/PgLast.js +1 -0
- package/docs/src/components/controls/PgNext.js +1 -0
- package/docs/src/components/controls/PgPageInfo.js +3 -0
- package/docs/src/components/controls/PgPrev.js +1 -0
- package/docs/src/components/controls/Quote.js +1 -0
- package/docs/src/components/controls/Redo.js +1 -0
- package/docs/src/components/{codeEditorControls/ControlSpacer.js → controls/Spacer.js} +5 -5
- package/docs/src/components/controls/Strikethrough.js +1 -0
- package/docs/src/components/controls/TcDeleteRecord.js +1 -0
- package/docs/src/components/controls/TcDeleteSelected.js +1 -0
- package/docs/src/components/controls/TcEdit.js +12 -0
- package/docs/src/components/controls/TcExportCsv.js +3 -0
- package/docs/src/components/controls/TcExportJson.js +3 -0
- package/docs/src/components/controls/TcFieldSortHide.js +21 -0
- package/docs/src/components/controls/TcFilters.js +34 -0
- package/docs/src/components/controls/TcFirstPage.js +1 -0
- package/docs/src/components/controls/TcHiddenCount.js +1 -0
- package/docs/src/components/controls/TcHide.js +1 -0
- package/docs/src/components/controls/TcLastPage.js +1 -0
- package/docs/src/components/controls/TcNextPage.js +1 -0
- package/docs/src/components/controls/TcPageSelect.js +9 -0
- package/docs/src/components/controls/TcPageSize.js +5 -0
- package/docs/src/components/controls/TcPrevPage.js +1 -0
- package/docs/src/components/controls/TcSearch.js +1 -0
- package/docs/src/components/controls/TcShowAll.js +1 -0
- package/docs/src/components/controls/TextBackgroundColor.js +26 -0
- package/docs/src/components/controls/TextColor.js +26 -0
- package/docs/src/components/controls/Underline.js +1 -0
- package/docs/src/components/controls/Undo.js +1 -0
- package/docs/src/components/controls/WordCount.js +4 -0
- package/docs/src/components/controls/WordWrap.js +1 -0
- package/docs-src/components/code-editor.page.html +69 -48
- package/docs-src/components/html-editor.page.html +70 -69
- package/docs-src/components/markdown-editor.page.html +59 -78
- package/docs-src/components/pagination.page.html +51 -51
- package/docs-src/components/tableControls.page.html +5 -5
- package/docs-src/components/tableCustomFields.page.html +3 -3
- package/docs-src/components/tableFetchRecords.page.html +13 -13
- package/docs-src/components/tableFieldSortHide.page.html +4 -4
- package/docs-src/components/tablePagination.page.html +13 -13
- package/docs-src/components/tablePlaceholder.page.html +3 -3
- package/docs-src/components/tableRecordEditing.page.html +4 -4
- package/docs-src/components/tableRecordFiltering.page.html +5 -5
- package/docs-src/components/tableRecordHiding.page.html +7 -7
- package/docs-src/components/tableRecordSearching.page.html +3 -3
- package/docs-src/components/tableRowControls.page.html +6 -6
- package/docs-src/components/tableServerSync.page.html +7 -7
- package/llms.txt +37 -3
- package/package.json +1 -1
- package/src/components/Chat.js +14 -14
- package/src/components/CodeEditor.js +26 -32
- package/src/components/{codeEditorControls/ControlGroup.js → ControlGroup.js} +10 -6
- package/src/components/HtmlEditor.js +107 -125
- package/src/components/MarkdownEditor.js +117 -59
- package/src/components/Pagination.js +18 -23
- package/src/components/Table.js +5 -0
- package/src/components/controls/AlignCenter.js +19 -0
- package/src/components/controls/AlignJustify.js +19 -0
- package/src/components/controls/AlignLeft.js +19 -0
- package/src/components/controls/AlignRight.js +19 -0
- package/src/components/controls/Bold.js +19 -0
- package/src/components/controls/BulletList.js +19 -0
- package/src/components/controls/ButtonControl.js +114 -0
- package/src/components/controls/CharacterCount.js +48 -0
- package/src/components/controls/ClearFormatting.js +19 -0
- package/src/components/controls/CodeBlock.js +27 -0
- package/src/components/controls/Control.js +176 -0
- package/src/components/controls/CopyCode.js +19 -0
- package/src/components/controls/CreateLink.js +63 -0
- package/src/components/controls/EditorTheme.js +71 -0
- package/src/components/controls/FindReplace.js +19 -0
- package/src/components/controls/FoldAll.js +35 -0
- package/src/components/controls/FontSize.js +31 -0
- package/src/components/controls/FontSizeDecrease.js +19 -0
- package/src/components/controls/FontSizeIncrease.js +19 -0
- package/src/components/controls/FormatBlock.js +64 -0
- package/src/components/controls/FormatCode.js +19 -0
- package/src/components/controls/Fullscreen.js +42 -0
- package/src/components/controls/InlineCode.js +19 -0
- package/src/components/controls/InsertTable.js +67 -0
- package/src/components/controls/Italic.js +19 -0
- package/src/components/controls/Language.js +69 -0
- package/src/components/controls/MdImage.js +72 -0
- package/src/components/controls/MdLink.js +60 -0
- package/src/components/controls/MdSpeechToText.js +46 -0
- package/src/components/controls/MdTable.js +79 -0
- package/src/components/controls/Menu.js +98 -0
- package/src/components/controls/Minimap.js +36 -0
- package/src/components/controls/Mode.js +30 -0
- package/src/components/controls/NumberList.js +19 -0
- package/src/components/controls/PgCount.js +12 -0
- package/src/components/controls/PgFirst.js +28 -0
- package/src/components/controls/PgGotoPage.js +48 -0
- package/src/components/controls/PgItemsPerPage.js +36 -0
- package/src/components/controls/PgLast.js +28 -0
- package/src/components/controls/PgNext.js +25 -0
- package/src/components/controls/PgPageInfo.js +22 -0
- package/src/components/controls/PgPrev.js +25 -0
- package/src/components/controls/Quote.js +19 -0
- package/src/components/controls/Redo.js +18 -0
- package/src/components/controls/Spacer.js +15 -0
- package/src/components/controls/Strikethrough.js +19 -0
- package/src/components/controls/TcDeleteRecord.js +30 -0
- package/src/components/controls/TcDeleteSelected.js +16 -0
- package/src/components/controls/TcEdit.js +73 -0
- package/src/components/controls/TcExportCsv.js +60 -0
- package/src/components/controls/TcExportJson.js +46 -0
- package/src/components/controls/TcFieldSortHide.js +56 -0
- package/src/components/controls/TcFilters.js +86 -0
- package/src/components/controls/TcFirstPage.js +24 -0
- package/src/components/controls/TcHiddenCount.js +39 -0
- package/src/components/controls/TcHide.js +30 -0
- package/src/components/controls/TcLastPage.js +24 -0
- package/src/components/controls/TcNextPage.js +24 -0
- package/src/components/controls/TcPageSelect.js +36 -0
- package/src/components/controls/TcPageSize.js +23 -0
- package/src/components/controls/TcPrevPage.js +24 -0
- package/src/components/controls/TcSearch.js +34 -0
- package/src/components/controls/TcShowAll.js +18 -0
- package/src/components/controls/TextBackgroundColor.js +84 -0
- package/src/components/controls/TextColor.js +84 -0
- package/src/components/controls/Underline.js +19 -0
- package/src/components/controls/Undo.js +18 -0
- package/src/components/controls/WordCount.js +48 -0
- package/src/components/controls/WordWrap.js +36 -0
- package/tasks/released/0007-code-editor-updates/branch-custom-controls.png +0 -0
- package/tasks/released/0007-code-editor-updates/branch-toolbar.png +0 -0
- package/tasks/released/0007-code-editor-updates/docs-overview.png +0 -0
- package/tasks/released/0007-code-editor-updates/form-integration.png +0 -0
- package/tasks/released/0007-code-editor-updates/live-builtin-controls.png +0 -0
- package/tasks/released/0007-code-editor-updates/live-custom-controls.png +0 -0
- package/tasks/released/0007-code-editor-updates/live-toolbar.png +0 -0
- package/tasks/released/0007-code-editor-updates/local-builtin-controls.png +0 -0
- package/tasks/released/0007-code-editor-updates/local-fixed-builtin.png +0 -0
- package/tasks/released/0007-code-editor-updates/theme-selector.png +0 -0
- package/tasks/released/0007-code-editor-updates.md +96 -0
- package/tests/components/CodeEditor.browser-test.js +0 -42
- package/tests/components/HtmlEditor.browser-test.js +0 -88
- package/tests/components/MarkdownEditor.browser-test.js +0 -72
- package/tests/components/Pagination.browser-test.js +12 -90
- package/tests/components/{htmlEditorControls → controls}/Align.browser-test.js +16 -16
- package/tests/components/{htmlEditorControls → controls}/Bold.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/BulletList.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/CharacterCount.browser-test.js +5 -5
- package/tests/components/{htmlEditorControls → controls}/ClearFormatting.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/CodeBlock.browser-test.js +8 -8
- package/tests/components/controls/Control.browser-test.js +147 -0
- package/tests/components/{htmlEditorControls → controls}/ControlGroup.browser-test.js +9 -9
- package/tests/components/{htmlEditorControls → controls}/ControlSpacer.browser-test.js +4 -4
- package/tests/components/{codeEditorControls → controls}/CopyCode.browser-test.js +8 -8
- package/tests/components/{htmlEditorControls → controls}/CreateLink.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/DropdownControl.browser-test.js +8 -8
- package/tests/components/{codeEditorControls → controls}/EditorTheme.browser-test.js +4 -4
- package/tests/components/{tableControls → controls}/ExportControls.browser-test.js +22 -46
- package/tests/components/{tableControls → controls}/FieldSortHide.browser-test.js +14 -26
- package/tests/components/{tableControls → controls}/Filters.browser-test.js +15 -27
- package/tests/components/{codeEditorControls → controls}/FindReplace.browser-test.js +8 -8
- package/tests/components/{codeEditorControls → controls}/FoldAll.browser-test.js +10 -10
- package/tests/components/{codeEditorControls → controls}/FontSize.browser-test.js +19 -14
- package/tests/components/{htmlEditorControls → controls}/FormatBlock.browser-test.js +9 -9
- package/tests/components/{htmlEditorControls → controls}/FormatCode.browser-test.js +17 -18
- package/tests/components/{codeEditorControls → controls}/Fullscreen.browser-test.js +11 -32
- package/tests/components/{tableControls → controls}/HiddenCount.browser-test.js +4 -4
- package/tests/components/{htmlEditorControls → controls}/InlineCode.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/InsertTable.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/Italic.browser-test.js +7 -7
- package/tests/components/{codeEditorControls → controls}/LanguageSelect.browser-test.js +4 -4
- package/tests/components/{codeEditorControls → controls}/Minimap.browser-test.js +8 -8
- package/tests/components/{htmlEditorControls → controls}/Mode.browser-test.js +7 -7
- package/tests/components/{codeEditorControls → controls}/ModeVisibility.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/NumberList.browser-test.js +7 -7
- package/tests/components/{tableControls → controls}/PaginationControls.browser-test.js +45 -45
- package/tests/components/{tableControls → controls}/RecordControls.browser-test.js +24 -60
- package/tests/components/{tableControls → controls}/Search.browser-test.js +4 -16
- package/tests/components/{htmlEditorControls → controls}/Strikethrough.browser-test.js +7 -7
- package/tests/components/{htmlEditorControls → controls}/TextBackgroundColor.browser-test.js +5 -5
- package/tests/components/{htmlEditorControls → controls}/TextColor.browser-test.js +5 -5
- package/tests/components/{htmlEditorControls → controls}/Underline.browser-test.js +7 -7
- package/tests/components/{codeEditorControls → controls}/UndoRedo.browser-test.js +15 -15
- package/tests/components/{htmlEditorControls → controls}/WordCount.browser-test.js +5 -5
- package/tests/components/{codeEditorControls → controls}/WordWrap.browser-test.js +8 -8
- package/dist/components/codeEditorControls/CodeEditorControl.js +0 -17
- package/dist/components/codeEditorControls/ControlGroup.js +0 -12
- package/dist/components/codeEditorControls/ControlSpacer.js +0 -6
- package/dist/components/codeEditorControls/CopyCode.js +0 -9
- package/dist/components/codeEditorControls/EditorTheme.js +0 -26
- package/dist/components/codeEditorControls/FindReplace.js +0 -7
- package/dist/components/codeEditorControls/FoldAll.js +0 -7
- package/dist/components/codeEditorControls/FontSize.js +0 -13
- package/dist/components/codeEditorControls/FormatCode.js +0 -9
- package/dist/components/codeEditorControls/Fullscreen.js +0 -12
- package/dist/components/codeEditorControls/LanguageSelect.js +0 -15
- package/dist/components/codeEditorControls/Minimap.js +0 -8
- package/dist/components/codeEditorControls/Redo.js +0 -7
- package/dist/components/codeEditorControls/Undo.js +0 -7
- package/dist/components/codeEditorControls/WordWrap.js +0 -8
- package/dist/components/htmlEditorControls/AlignCenter.js +0 -12
- package/dist/components/htmlEditorControls/AlignJustify.js +0 -12
- package/dist/components/htmlEditorControls/AlignLeft.js +0 -12
- package/dist/components/htmlEditorControls/AlignRight.js +0 -12
- package/dist/components/htmlEditorControls/Bold.js +0 -12
- package/dist/components/htmlEditorControls/BulletList.js +0 -12
- package/dist/components/htmlEditorControls/CharacterCount.js +0 -18
- package/dist/components/htmlEditorControls/ClearFormatting.js +0 -12
- package/dist/components/htmlEditorControls/CodeBlock.js +0 -12
- package/dist/components/htmlEditorControls/ControlGroup.js +0 -12
- package/dist/components/htmlEditorControls/CreateLink.js +0 -15
- package/dist/components/htmlEditorControls/DropdownControl.js +0 -57
- package/dist/components/htmlEditorControls/FormatBlock.js +0 -12
- package/dist/components/htmlEditorControls/FormatCode.js +0 -1
- package/dist/components/htmlEditorControls/HtmlEditorControl.js +0 -44
- package/dist/components/htmlEditorControls/InlineCode.js +0 -12
- package/dist/components/htmlEditorControls/InsertTable.js +0 -15
- package/dist/components/htmlEditorControls/Italic.js +0 -12
- package/dist/components/htmlEditorControls/Mode.js +0 -9
- package/dist/components/htmlEditorControls/NumberList.js +0 -12
- package/dist/components/htmlEditorControls/Strikethrough.js +0 -12
- package/dist/components/htmlEditorControls/TextBackgroundColor.js +0 -97
- package/dist/components/htmlEditorControls/TextColor.js +0 -97
- package/dist/components/htmlEditorControls/Underline.js +0 -12
- package/dist/components/htmlEditorControls/WordCount.js +0 -18
- package/dist/components/markdownEditorControls/Bold.js +0 -11
- package/dist/components/markdownEditorControls/BulletList.js +0 -11
- package/dist/components/markdownEditorControls/Code.js +0 -11
- package/dist/components/markdownEditorControls/FormatBlock.js +0 -30
- package/dist/components/markdownEditorControls/Heading.js +0 -11
- package/dist/components/markdownEditorControls/Image.js +0 -93
- package/dist/components/markdownEditorControls/Italic.js +0 -11
- package/dist/components/markdownEditorControls/Link.js +0 -11
- package/dist/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
- package/dist/components/markdownEditorControls/Menu.js +0 -30
- package/dist/components/markdownEditorControls/NumberedList.js +0 -11
- package/dist/components/markdownEditorControls/Quote.js +0 -11
- package/dist/components/markdownEditorControls/SpeechToText.js +0 -16
- package/dist/components/markdownEditorControls/Strikethrough.js +0 -11
- package/dist/components/markdownEditorControls/Table.js +0 -80
- package/dist/components/paginationControls/FirstPage.js +0 -1
- package/dist/components/paginationControls/GotoPage.js +0 -17
- package/dist/components/paginationControls/ItemsPerPage.js +0 -15
- package/dist/components/paginationControls/LastPage.js +0 -1
- package/dist/components/paginationControls/NextPage.js +0 -1
- package/dist/components/paginationControls/PageCount.js +0 -1
- package/dist/components/paginationControls/PageInfo.js +0 -6
- package/dist/components/paginationControls/PaginationButtonControl.js +0 -20
- package/dist/components/paginationControls/PaginationControl.js +0 -5
- package/dist/components/paginationControls/PrevPage.js +0 -1
- package/dist/components/tableControls/DeleteRecord.js +0 -7
- package/dist/components/tableControls/DeleteSelected.js +0 -7
- package/dist/components/tableControls/Edit.js +0 -18
- package/dist/components/tableControls/ExportCSV.js +0 -8
- package/dist/components/tableControls/ExportJson.js +0 -8
- package/dist/components/tableControls/FieldSortHide.js +0 -25
- package/dist/components/tableControls/Filters.js +0 -46
- package/dist/components/tableControls/FirstPage.js +0 -9
- package/dist/components/tableControls/HiddenCount.js +0 -3
- package/dist/components/tableControls/Hide.js +0 -5
- package/dist/components/tableControls/LastPage.js +0 -9
- package/dist/components/tableControls/NextPage.js +0 -9
- package/dist/components/tableControls/PageSelect.js +0 -22
- package/dist/components/tableControls/PageSize.js +0 -5
- package/dist/components/tableControls/PrevPage.js +0 -9
- package/dist/components/tableControls/Search.js +0 -9
- package/dist/components/tableControls/ShowAll.js +0 -5
- package/dist/components/tableControls/TableControl.js +0 -16
- package/docs/src/components/codeEditorControls/CodeEditorControl.js +0 -17
- package/docs/src/components/codeEditorControls/ControlGroup.js +0 -12
- package/docs/src/components/codeEditorControls/CopyCode.js +0 -9
- package/docs/src/components/codeEditorControls/EditorTheme.js +0 -26
- package/docs/src/components/codeEditorControls/FindReplace.js +0 -7
- package/docs/src/components/codeEditorControls/FoldAll.js +0 -7
- package/docs/src/components/codeEditorControls/FontSize.js +0 -13
- package/docs/src/components/codeEditorControls/FormatCode.js +0 -9
- package/docs/src/components/codeEditorControls/Fullscreen.js +0 -12
- package/docs/src/components/codeEditorControls/LanguageSelect.js +0 -15
- package/docs/src/components/codeEditorControls/Minimap.js +0 -8
- package/docs/src/components/codeEditorControls/Redo.js +0 -7
- package/docs/src/components/codeEditorControls/Undo.js +0 -7
- package/docs/src/components/codeEditorControls/WordWrap.js +0 -8
- package/docs/src/components/htmlEditorControls/AlignCenter.js +0 -12
- package/docs/src/components/htmlEditorControls/AlignJustify.js +0 -12
- package/docs/src/components/htmlEditorControls/AlignLeft.js +0 -12
- package/docs/src/components/htmlEditorControls/AlignRight.js +0 -12
- package/docs/src/components/htmlEditorControls/Bold.js +0 -12
- package/docs/src/components/htmlEditorControls/BulletList.js +0 -12
- package/docs/src/components/htmlEditorControls/CharacterCount.js +0 -18
- package/docs/src/components/htmlEditorControls/ClearFormatting.js +0 -12
- package/docs/src/components/htmlEditorControls/CodeBlock.js +0 -12
- package/docs/src/components/htmlEditorControls/ControlGroup.js +0 -12
- package/docs/src/components/htmlEditorControls/ControlSpacer.js +0 -6
- package/docs/src/components/htmlEditorControls/CreateLink.js +0 -15
- package/docs/src/components/htmlEditorControls/DropdownControl.js +0 -57
- package/docs/src/components/htmlEditorControls/FormatBlock.js +0 -12
- package/docs/src/components/htmlEditorControls/FormatCode.js +0 -1
- package/docs/src/components/htmlEditorControls/HtmlEditorControl.js +0 -44
- package/docs/src/components/htmlEditorControls/InlineCode.js +0 -12
- package/docs/src/components/htmlEditorControls/InsertTable.js +0 -15
- package/docs/src/components/htmlEditorControls/Italic.js +0 -12
- package/docs/src/components/htmlEditorControls/Mode.js +0 -9
- package/docs/src/components/htmlEditorControls/NumberList.js +0 -12
- package/docs/src/components/htmlEditorControls/Strikethrough.js +0 -12
- package/docs/src/components/htmlEditorControls/TextBackgroundColor.js +0 -97
- package/docs/src/components/htmlEditorControls/TextColor.js +0 -97
- package/docs/src/components/htmlEditorControls/Underline.js +0 -12
- package/docs/src/components/htmlEditorControls/WordCount.js +0 -18
- package/docs/src/components/markdownEditorControls/Bold.js +0 -11
- package/docs/src/components/markdownEditorControls/BulletList.js +0 -11
- package/docs/src/components/markdownEditorControls/Code.js +0 -11
- package/docs/src/components/markdownEditorControls/FormatBlock.js +0 -30
- package/docs/src/components/markdownEditorControls/Heading.js +0 -11
- package/docs/src/components/markdownEditorControls/Image.js +0 -93
- package/docs/src/components/markdownEditorControls/Italic.js +0 -11
- package/docs/src/components/markdownEditorControls/Link.js +0 -11
- package/docs/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
- package/docs/src/components/markdownEditorControls/Menu.js +0 -30
- package/docs/src/components/markdownEditorControls/NumberedList.js +0 -11
- package/docs/src/components/markdownEditorControls/Quote.js +0 -11
- package/docs/src/components/markdownEditorControls/SpeechToText.js +0 -16
- package/docs/src/components/markdownEditorControls/Strikethrough.js +0 -11
- package/docs/src/components/markdownEditorControls/Table.js +0 -80
- package/docs/src/components/paginationControls/FirstPage.js +0 -1
- package/docs/src/components/paginationControls/GotoPage.js +0 -17
- package/docs/src/components/paginationControls/ItemsPerPage.js +0 -15
- package/docs/src/components/paginationControls/LastPage.js +0 -1
- package/docs/src/components/paginationControls/NextPage.js +0 -1
- package/docs/src/components/paginationControls/PageCount.js +0 -1
- package/docs/src/components/paginationControls/PageInfo.js +0 -6
- package/docs/src/components/paginationControls/PaginationButtonControl.js +0 -20
- package/docs/src/components/paginationControls/PaginationControl.js +0 -5
- package/docs/src/components/paginationControls/PrevPage.js +0 -1
- package/docs/src/components/tableControls/DeleteRecord.js +0 -7
- package/docs/src/components/tableControls/DeleteSelected.js +0 -7
- package/docs/src/components/tableControls/Edit.js +0 -18
- package/docs/src/components/tableControls/ExportCSV.js +0 -8
- package/docs/src/components/tableControls/ExportJson.js +0 -8
- package/docs/src/components/tableControls/FieldSortHide.js +0 -25
- package/docs/src/components/tableControls/Filters.js +0 -46
- package/docs/src/components/tableControls/FirstPage.js +0 -9
- package/docs/src/components/tableControls/HiddenCount.js +0 -3
- package/docs/src/components/tableControls/Hide.js +0 -5
- package/docs/src/components/tableControls/LastPage.js +0 -9
- package/docs/src/components/tableControls/NextPage.js +0 -9
- package/docs/src/components/tableControls/PageSelect.js +0 -22
- package/docs/src/components/tableControls/PageSize.js +0 -5
- package/docs/src/components/tableControls/PrevPage.js +0 -9
- package/docs/src/components/tableControls/Search.js +0 -9
- package/docs/src/components/tableControls/ShowAll.js +0 -5
- package/docs/src/components/tableControls/TableControl.js +0 -16
- package/src/components/codeEditorControls/CodeEditorControl.js +0 -134
- package/src/components/codeEditorControls/ControlSpacer.js +0 -23
- package/src/components/codeEditorControls/CopyCode.js +0 -37
- package/src/components/codeEditorControls/EditorTheme.js +0 -81
- package/src/components/codeEditorControls/FindReplace.js +0 -35
- package/src/components/codeEditorControls/FoldAll.js +0 -49
- package/src/components/codeEditorControls/FontSize.js +0 -45
- package/src/components/codeEditorControls/FormatCode.js +0 -37
- package/src/components/codeEditorControls/Fullscreen.js +0 -72
- package/src/components/codeEditorControls/LanguageSelect.js +0 -74
- package/src/components/codeEditorControls/Minimap.js +0 -60
- package/src/components/codeEditorControls/Redo.js +0 -35
- package/src/components/codeEditorControls/Undo.js +0 -35
- package/src/components/codeEditorControls/WordWrap.js +0 -60
- package/src/components/htmlEditorControls/AlignCenter.js +0 -63
- package/src/components/htmlEditorControls/AlignJustify.js +0 -63
- package/src/components/htmlEditorControls/AlignLeft.js +0 -63
- package/src/components/htmlEditorControls/AlignRight.js +0 -63
- package/src/components/htmlEditorControls/Bold.js +0 -63
- package/src/components/htmlEditorControls/BulletList.js +0 -63
- package/src/components/htmlEditorControls/CharacterCount.js +0 -75
- package/src/components/htmlEditorControls/ClearFormatting.js +0 -63
- package/src/components/htmlEditorControls/CodeBlock.js +0 -64
- package/src/components/htmlEditorControls/ControlGroup.js +0 -70
- package/src/components/htmlEditorControls/ControlSpacer.js +0 -23
- package/src/components/htmlEditorControls/CreateLink.js +0 -115
- package/src/components/htmlEditorControls/DropdownControl.js +0 -149
- package/src/components/htmlEditorControls/FormatBlock.js +0 -106
- package/src/components/htmlEditorControls/FormatCode.js +0 -7
- package/src/components/htmlEditorControls/HtmlEditorControl.js +0 -164
- package/src/components/htmlEditorControls/InlineCode.js +0 -63
- package/src/components/htmlEditorControls/InsertTable.js +0 -126
- package/src/components/htmlEditorControls/Italic.js +0 -63
- package/src/components/htmlEditorControls/Mode.js +0 -68
- package/src/components/htmlEditorControls/NumberList.js +0 -63
- package/src/components/htmlEditorControls/Strikethrough.js +0 -63
- package/src/components/htmlEditorControls/TextBackgroundColor.js +0 -189
- package/src/components/htmlEditorControls/TextColor.js +0 -189
- package/src/components/htmlEditorControls/Underline.js +0 -63
- package/src/components/htmlEditorControls/WordCount.js +0 -76
- package/src/components/markdownEditorControls/Bold.js +0 -30
- package/src/components/markdownEditorControls/BulletList.js +0 -30
- package/src/components/markdownEditorControls/Code.js +0 -39
- package/src/components/markdownEditorControls/FormatBlock.js +0 -102
- package/src/components/markdownEditorControls/Heading.js +0 -46
- package/src/components/markdownEditorControls/Image.js +0 -250
- package/src/components/markdownEditorControls/Italic.js +0 -30
- package/src/components/markdownEditorControls/Link.js +0 -74
- package/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -158
- package/src/components/markdownEditorControls/Menu.js +0 -86
- package/src/components/markdownEditorControls/NumberedList.js +0 -69
- package/src/components/markdownEditorControls/Quote.js +0 -30
- package/src/components/markdownEditorControls/SpeechToText.js +0 -65
- package/src/components/markdownEditorControls/Strikethrough.js +0 -35
- package/src/components/markdownEditorControls/Table.js +0 -165
- package/src/components/paginationControls/FirstPage.js +0 -26
- package/src/components/paginationControls/GotoPage.js +0 -56
- package/src/components/paginationControls/ItemsPerPage.js +0 -44
- package/src/components/paginationControls/LastPage.js +0 -26
- package/src/components/paginationControls/NextPage.js +0 -26
- package/src/components/paginationControls/PageCount.js +0 -10
- package/src/components/paginationControls/PageInfo.js +0 -23
- package/src/components/paginationControls/PaginationButtonControl.js +0 -76
- package/src/components/paginationControls/PaginationControl.js +0 -43
- package/src/components/paginationControls/PrevPage.js +0 -26
- package/src/components/tableControls/DeleteRecord.js +0 -29
- package/src/components/tableControls/DeleteSelected.js +0 -27
- package/src/components/tableControls/Edit.js +0 -86
- package/src/components/tableControls/ExportCSV.js +0 -71
- package/src/components/tableControls/ExportJson.js +0 -55
- package/src/components/tableControls/FieldSortHide.js +0 -76
- package/src/components/tableControls/Filters.js +0 -113
- package/src/components/tableControls/FirstPage.js +0 -65
- package/src/components/tableControls/HiddenCount.js +0 -43
- package/src/components/tableControls/Hide.js +0 -34
- package/src/components/tableControls/LastPage.js +0 -65
- package/src/components/tableControls/NextPage.js +0 -65
- package/src/components/tableControls/PageSelect.js +0 -101
- package/src/components/tableControls/PageSize.js +0 -68
- package/src/components/tableControls/PrevPage.js +0 -65
- package/src/components/tableControls/Search.js +0 -56
- package/src/components/tableControls/ShowAll.js +0 -34
- package/src/components/tableControls/TableControl.js +0 -103
- package/tests/components/tableControls/TableControl.browser-test.js +0 -300
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class FoldAll extends ButtonControl {
|
|
6
|
+
static requires = ['foldAll', 'unfoldAll'];
|
|
7
|
+
static hostMode = 'code';
|
|
8
|
+
|
|
9
|
+
static properties = {
|
|
10
|
+
...ButtonControl.properties,
|
|
11
|
+
folded: { type: Boolean, state: true }
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.folded = false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
connectedCallback() {
|
|
20
|
+
super.connectedCallback();
|
|
21
|
+
if(!this.hasAttribute('title')) this.title = 'Fold All';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
handleAction() {
|
|
25
|
+
this.folded = !this.folded;
|
|
26
|
+
if(this.folded) this.host?.foldAll?.();
|
|
27
|
+
else this.host?.unfoldAll?.();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
render() {
|
|
31
|
+
return html`<slot><k-icon name="${this.folded ? 'unfold_more' : 'unfold_less'}"></k-icon></slot>`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
customElements.define('kc-fold-all', FoldAll);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import './FontSizeIncrease.js';
|
|
4
|
+
import './FontSizeDecrease.js';
|
|
5
|
+
import '../ControlGroup.js';
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
Composite control rendering decrease + increase as a single grouped pair.
|
|
9
|
+
Mode/host visibility follows the children.
|
|
10
|
+
*/
|
|
11
|
+
export default class FontSize extends Control {
|
|
12
|
+
static hostMode = 'code';
|
|
13
|
+
|
|
14
|
+
static styles = [
|
|
15
|
+
Control.styles,
|
|
16
|
+
css`
|
|
17
|
+
:host { gap: 0; }
|
|
18
|
+
`
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
render() {
|
|
22
|
+
return html`
|
|
23
|
+
<k-control-group class="b r mq">
|
|
24
|
+
<kc-font-size-decrease></kc-font-size-decrease>
|
|
25
|
+
<kc-font-size-increase></kc-font-size-increase>
|
|
26
|
+
</k-control-group>
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('kc-font-size', FontSize);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class FontSizeDecrease extends ButtonControl {
|
|
6
|
+
static requires = ['decreaseFontSize'];
|
|
7
|
+
static hostMode = 'code';
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Decrease Font Size';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.decreaseFontSize?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="text_decrease"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-font-size-decrease', FontSizeDecrease);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class FontSizeIncrease extends ButtonControl {
|
|
6
|
+
static requires = ['increaseFontSize'];
|
|
7
|
+
static hostMode = 'code';
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Increase Font Size';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.increaseFontSize?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="text_increase"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-font-size-increase', FontSizeIncrease);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
const TAG_LABELS = {
|
|
6
|
+
p: 'Paragraph',
|
|
7
|
+
h1: 'Heading 1', h2: 'Heading 2', h3: 'Heading 3',
|
|
8
|
+
h4: 'Heading 4', h5: 'Heading 5', h6: 'Heading 6',
|
|
9
|
+
blockquote: 'Blockquote',
|
|
10
|
+
pre: 'Code Block'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const TAG_ICONS = {
|
|
14
|
+
p: 'format_paragraph',
|
|
15
|
+
h1: 'format_h1', h2: 'format_h2', h3: 'format_h3',
|
|
16
|
+
h4: 'format_h4', h5: 'format_h5', h6: 'format_h6',
|
|
17
|
+
blockquote: 'format_quote',
|
|
18
|
+
pre: 'code_blocks'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default class FormatBlock extends ButtonControl {
|
|
22
|
+
static requires = ['formatBlock'];
|
|
23
|
+
static hostMode = ['visual', 'write'];
|
|
24
|
+
|
|
25
|
+
static properties = {
|
|
26
|
+
...ButtonControl.properties,
|
|
27
|
+
tag: { type: String, reflect: true }
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
this.tag = 'p';
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
connectedCallback() {
|
|
36
|
+
super.connectedCallback();
|
|
37
|
+
if(!this.hasAttribute('title')) this.title = TAG_LABELS[this.tag] || this.tag;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
getDefaultLabel(tag) { return TAG_LABELS[tag || this.tag] || (tag || this.tag).toUpperCase(); }
|
|
41
|
+
getDefaultIcon(tag) { return TAG_ICONS[tag || this.tag] || 'format_paragraph'; }
|
|
42
|
+
|
|
43
|
+
handleAction() { this.host?.formatBlock?.(this.tag); }
|
|
44
|
+
|
|
45
|
+
render() {
|
|
46
|
+
const label = TAG_LABELS[this.tag] || this.tag.toUpperCase();
|
|
47
|
+
const icon = TAG_ICONS[this.tag] || 'format_paragraph';
|
|
48
|
+
return html`
|
|
49
|
+
<slot name="icon"><k-icon name=${icon}></k-icon></slot>
|
|
50
|
+
<slot>${label}</slot>
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static styles = [
|
|
55
|
+
ButtonControl.styles,
|
|
56
|
+
css`
|
|
57
|
+
:host {
|
|
58
|
+
gap: 0.5rem;
|
|
59
|
+
}
|
|
60
|
+
`
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
customElements.define('kc-format-block', FormatBlock);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class FormatCode extends ButtonControl {
|
|
6
|
+
static requires = ['formatCode'];
|
|
7
|
+
static hostMode = 'code';
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Format Code';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.formatCode?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="frame_source"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-format-code', FormatCode);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class Fullscreen extends ButtonControl {
|
|
6
|
+
static requires = ['toggleFullscreen'];
|
|
7
|
+
static hostEvents = ['fullscreen-changed'];
|
|
8
|
+
|
|
9
|
+
static properties = {
|
|
10
|
+
...ButtonControl.properties,
|
|
11
|
+
fullscreen: { type: Boolean, state: true }
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.fullscreen = false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
connectedCallback() {
|
|
20
|
+
super.connectedCallback();
|
|
21
|
+
if(!this.hasAttribute('title')) this.title = 'Fullscreen';
|
|
22
|
+
if(this.host) this.fullscreen = !!this.host.fullscreen;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
willUpdate(changed) {
|
|
26
|
+
super.willUpdate?.(changed);
|
|
27
|
+
if(this.host) this.fullscreen = !!this.host.fullscreen;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
updated(changed) {
|
|
31
|
+
super.updated(changed);
|
|
32
|
+
if(changed.has('fullscreen')) this.toggleAttribute('active', this.fullscreen);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
handleAction() { this.host?.toggleFullscreen?.(); }
|
|
36
|
+
|
|
37
|
+
render() {
|
|
38
|
+
return html`<slot><k-icon name="${this.fullscreen ? 'fullscreen_exit' : 'fullscreen'}"></k-icon></slot>`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
customElements.define('kc-fullscreen', Fullscreen);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class InlineCode extends ButtonControl {
|
|
6
|
+
static requires = ['inlineCode'];
|
|
7
|
+
static hostMode = ['visual', 'write'];
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Inline Code';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.inlineCode?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="code_blocks"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-inline-code', InlineCode);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
import Dialog from '../Dialog.js';
|
|
5
|
+
|
|
6
|
+
export default class InsertTable extends ButtonControl {
|
|
7
|
+
static requires = ['insertTable'];
|
|
8
|
+
static hostMode = 'visual';
|
|
9
|
+
|
|
10
|
+
connectedCallback() {
|
|
11
|
+
super.connectedCallback();
|
|
12
|
+
if(!this.hasAttribute('title')) this.title = 'Insert Table';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
handleAction() {
|
|
16
|
+
const host = this.host;
|
|
17
|
+
if(!host) return;
|
|
18
|
+
const existing = host.getTableAtSelection?.();
|
|
19
|
+
const isEditing = !!existing;
|
|
20
|
+
const defRows = existing?.rows ?? 3;
|
|
21
|
+
const defCols = existing?.cols ?? 3;
|
|
22
|
+
const defHeaders = existing?.hasHeaders ?? true;
|
|
23
|
+
const cellData = existing?.cellData ?? null;
|
|
24
|
+
|
|
25
|
+
const rowsInput = document.createElement('input');
|
|
26
|
+
rowsInput.type = 'number'; rowsInput.min = '1'; rowsInput.max = '20'; rowsInput.value = String(defRows);
|
|
27
|
+
rowsInput.style.cssText = 'padding: 0.5rem; border: 1px solid var(--c_border); border-radius: var(--radius); font: inherit;';
|
|
28
|
+
|
|
29
|
+
const colsInput = document.createElement('input');
|
|
30
|
+
colsInput.type = 'number'; colsInput.min = '1'; colsInput.max = '10'; colsInput.value = String(defCols);
|
|
31
|
+
colsInput.style.cssText = 'padding: 0.5rem; border: 1px solid var(--c_border); border-radius: var(--radius); font: inherit;';
|
|
32
|
+
|
|
33
|
+
const headersCheckbox = document.createElement('input');
|
|
34
|
+
headersCheckbox.type = 'checkbox'; headersCheckbox.checked = defHeaders;
|
|
35
|
+
headersCheckbox.id = 'kc-table-headers';
|
|
36
|
+
|
|
37
|
+
const content = document.createElement('div');
|
|
38
|
+
content.className = 'p';
|
|
39
|
+
content.style.cssText = 'display: flex; flex-direction: column; gap: 1rem;';
|
|
40
|
+
content.innerHTML = `
|
|
41
|
+
<div style="display: flex; flex-direction: column; gap: 0.5rem;"><label style="font-weight: bold;">Rows</label></div>
|
|
42
|
+
<div style="display: flex; flex-direction: column; gap: 0.5rem;"><label style="font-weight: bold;">Columns</label></div>
|
|
43
|
+
<div style="display: flex; align-items: center; gap: 0.5rem;"><label for="kc-table-headers" style="font-weight: bold;">Include Headers</label></div>
|
|
44
|
+
`;
|
|
45
|
+
content.children[0].appendChild(rowsInput);
|
|
46
|
+
content.children[1].appendChild(colsInput);
|
|
47
|
+
content.children[2].insertBefore(headersCheckbox, content.children[2].firstChild);
|
|
48
|
+
|
|
49
|
+
Dialog.create(content, {
|
|
50
|
+
title: isEditing ? 'Edit Table' : 'Insert Table',
|
|
51
|
+
cancelText: 'Cancel',
|
|
52
|
+
confirmText: isEditing ? 'Update Table' : 'Insert Table',
|
|
53
|
+
confirmClasses: 'success',
|
|
54
|
+
confirmAction: () => {
|
|
55
|
+
const rows = parseInt(rowsInput.value) || 3;
|
|
56
|
+
const cols = parseInt(colsInput.value) || 3;
|
|
57
|
+
const includeHeaders = headersCheckbox.checked;
|
|
58
|
+
if(isEditing) host.removeTableByKey?.(existing.key);
|
|
59
|
+
host.insertTable(rows, cols, includeHeaders, cellData);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
render() { return html`<slot><k-icon name="table"></k-icon></slot>`; }
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
customElements.define('kc-insert-table', InsertTable);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class Italic extends ButtonControl {
|
|
6
|
+
static requires = ['italic'];
|
|
7
|
+
static hostMode = ['visual', 'write'];
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Italic';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.italic?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="format_italic"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-italic', Italic);
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
const COMMON_LANGUAGES = [
|
|
6
|
+
'javascript', 'typescript', 'html', 'css', 'json',
|
|
7
|
+
'markdown', 'python', 'java', 'csharp', 'cpp',
|
|
8
|
+
'go', 'rust', 'php', 'ruby', 'sql',
|
|
9
|
+
'xml', 'yaml', 'shell', 'plaintext'
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
export default class LanguageSelect extends Control {
|
|
13
|
+
static requires = ['setLanguage'];
|
|
14
|
+
static hostMode = 'code';
|
|
15
|
+
static hostEvents = ['language-changed'];
|
|
16
|
+
|
|
17
|
+
static properties = {
|
|
18
|
+
...Control.properties,
|
|
19
|
+
value: { type: String, state: true }
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
this.value = 'javascript';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
connectedCallback() {
|
|
28
|
+
super.connectedCallback();
|
|
29
|
+
if(this.host) this.value = this.host.language || 'javascript';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
willUpdate(changed) {
|
|
33
|
+
super.willUpdate?.(changed);
|
|
34
|
+
if(this.host) this.value = this.host.language || 'javascript';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
handleChange = e => { this.host?.setLanguage?.(e.target.value); };
|
|
38
|
+
|
|
39
|
+
static styles = [
|
|
40
|
+
Control.styles,
|
|
41
|
+
css`
|
|
42
|
+
:host {
|
|
43
|
+
background-color: var(--input_bg);
|
|
44
|
+
color: var(--input_tc);
|
|
45
|
+
border: var(--input_border_width) solid var(--c_input_border);
|
|
46
|
+
border-radius: var(--radius);
|
|
47
|
+
transition: box-shadow var(--animation_ms);
|
|
48
|
+
margin-right: var(--spacer_q);
|
|
49
|
+
}
|
|
50
|
+
select {
|
|
51
|
+
border: 0;
|
|
52
|
+
padding: var(--spacer_h) var(--spacer);
|
|
53
|
+
min-height: 2.5rem;
|
|
54
|
+
}
|
|
55
|
+
`
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
render() {
|
|
59
|
+
return html`
|
|
60
|
+
<select .value=${this.value} @change=${this.handleChange} title="Language">
|
|
61
|
+
${COMMON_LANGUAGES.map(lang => html`
|
|
62
|
+
<option value="${lang}" ?selected=${this.value === lang}>${lang}</option>
|
|
63
|
+
`)}
|
|
64
|
+
</select>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
customElements.define('kc-language', LanguageSelect);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
import '../Dropdown.js';
|
|
5
|
+
|
|
6
|
+
export default class MdImage extends Control {
|
|
7
|
+
static requires = ['replaceSelection'];
|
|
8
|
+
static hostMode = 'write';
|
|
9
|
+
|
|
10
|
+
handleDropdownOpened = () => {
|
|
11
|
+
requestAnimationFrame(() => {
|
|
12
|
+
const url = this.shadowRoot.querySelector('.image-url');
|
|
13
|
+
const alt = this.shadowRoot.querySelector('.image-alt');
|
|
14
|
+
url?.focus();
|
|
15
|
+
const ta = this.host?.textarea;
|
|
16
|
+
if(ta && alt) alt.value = ta.value.substring(ta.selectionStart, ta.selectionEnd) || '';
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
handleDropdownClosed = () => {
|
|
21
|
+
const u = this.shadowRoot.querySelector('.image-url');
|
|
22
|
+
const a = this.shadowRoot.querySelector('.image-alt');
|
|
23
|
+
if(u) u.value = '';
|
|
24
|
+
if(a) a.value = '';
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
handleFormKeydown = (e) => {
|
|
28
|
+
if(e.key === 'Enter'){ e.preventDefault(); this.submit(); }
|
|
29
|
+
else if(e.key === 'Escape') this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
submit() {
|
|
33
|
+
const url = this.shadowRoot.querySelector('.image-url').value.trim();
|
|
34
|
+
const alt = this.shadowRoot.querySelector('.image-alt').value.trim();
|
|
35
|
+
if(!url){ this.shadowRoot.querySelector('.image-url').focus(); return; }
|
|
36
|
+
this.host?.replaceSelection?.(``, { selectInserted: false });
|
|
37
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
render() {
|
|
41
|
+
return html`
|
|
42
|
+
<k-dropdown @opened=${this.handleDropdownOpened} @closed=${this.handleDropdownClosed}>
|
|
43
|
+
<button slot="trigger" type="button" class="trigger" title="Image"><k-icon name="image"></k-icon></button>
|
|
44
|
+
<div class="image-form" @keydown=${this.handleFormKeydown}>
|
|
45
|
+
<label>Image URL</label>
|
|
46
|
+
<input class="image-url" type="url" required placeholder="https://example.com/image.png" />
|
|
47
|
+
<label>Alt text</label>
|
|
48
|
+
<input class="image-alt" type="text" placeholder="Description for screen readers" />
|
|
49
|
+
<div class="image-actions">
|
|
50
|
+
<button type="button" @click=${() => this.shadowRoot.querySelector('k-dropdown').close()}>Cancel</button>
|
|
51
|
+
<button type="button" class="primary" @click=${() => this.submit()}>Insert</button>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</k-dropdown>
|
|
55
|
+
`;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static styles = [
|
|
59
|
+
Control.styles,
|
|
60
|
+
css`
|
|
61
|
+
.trigger { min-width: 2.5rem; min-height: 2.5rem; background: transparent; border: none; cursor: pointer; }
|
|
62
|
+
.image-form { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.75rem; min-width: 16rem; }
|
|
63
|
+
.image-form label { font-weight: bold; font-size: 0.875rem; }
|
|
64
|
+
.image-form input { padding: 0.5rem; border: 1px solid var(--c_border); border-radius: var(--radius); font: inherit; }
|
|
65
|
+
.image-actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.25rem; }
|
|
66
|
+
.image-actions button { padding: 0.4rem 0.8rem; border: 1px solid var(--c_border); border-radius: var(--radius); cursor: pointer; font: inherit; }
|
|
67
|
+
.image-actions button.primary { background: var(--c_primary); color: white; border-color: var(--c_primary); }
|
|
68
|
+
`
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
customElements.define('kc-md-image', MdImage);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Markdown Link control. Toggles `[text](url)` wrapping. If the cursor is
|
|
7
|
+
inside an existing link, unwraps it to just the label.
|
|
8
|
+
*/
|
|
9
|
+
export default class MdLink extends ButtonControl {
|
|
10
|
+
static requires = ['replaceSelection'];
|
|
11
|
+
static hostMode = 'write';
|
|
12
|
+
|
|
13
|
+
connectedCallback() {
|
|
14
|
+
super.connectedCallback();
|
|
15
|
+
if(!this.hasAttribute('title')) this.title = 'Link';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
handleAction() {
|
|
19
|
+
const host = this.host;
|
|
20
|
+
if(!host) return;
|
|
21
|
+
const ta = host.textarea;
|
|
22
|
+
if(!ta) return;
|
|
23
|
+
const start = ta.selectionStart;
|
|
24
|
+
const end = ta.selectionEnd;
|
|
25
|
+
const selText = ta.value.substring(start, end);
|
|
26
|
+
|
|
27
|
+
const re = /\[([^\]]*)\]\([^)]*\)/g;
|
|
28
|
+
let m;
|
|
29
|
+
while((m = re.exec(ta.value)) !== null){
|
|
30
|
+
const ms = m.index;
|
|
31
|
+
const me = ms + m[0].length;
|
|
32
|
+
if(start >= ms && end <= me){
|
|
33
|
+
const label = m[1];
|
|
34
|
+
const next = ta.value.substring(0, ms) + label + ta.value.substring(me);
|
|
35
|
+
ta.value = next;
|
|
36
|
+
ta.selectionStart = ms;
|
|
37
|
+
ta.selectionEnd = ms + label.length;
|
|
38
|
+
ta.focus();
|
|
39
|
+
host.value = next;
|
|
40
|
+
ta.dispatchEvent(new Event('input', { bubbles: true }));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const text = selText || 'link text';
|
|
46
|
+
const inserted = `[${text}](url)`;
|
|
47
|
+
const next = ta.value.substring(0, start) + inserted + ta.value.substring(end);
|
|
48
|
+
const urlStart = start + 1 + text.length + 2;
|
|
49
|
+
ta.value = next;
|
|
50
|
+
ta.selectionStart = urlStart;
|
|
51
|
+
ta.selectionEnd = urlStart + 'url'.length;
|
|
52
|
+
ta.focus();
|
|
53
|
+
host.value = next;
|
|
54
|
+
ta.dispatchEvent(new Event('input', { bubbles: true }));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
render() { return html`<slot><k-icon name="link"></k-icon></slot>`; }
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
customElements.define('kc-md-link', MdLink);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../SpeechToText.js';
|
|
4
|
+
|
|
5
|
+
export default class MdSpeechToText extends Control {
|
|
6
|
+
static requires = ['replaceSelection'];
|
|
7
|
+
static hostMode = 'write';
|
|
8
|
+
|
|
9
|
+
static properties = {
|
|
10
|
+
...Control.properties,
|
|
11
|
+
language: { type: String, reflect: true },
|
|
12
|
+
continuous: { type: Boolean, reflect: true }
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.language = 'en-US';
|
|
18
|
+
this.continuous = false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
handleEnd = (e) => {
|
|
22
|
+
const text = (e.detail?.text || '').trim();
|
|
23
|
+
if(!text) return;
|
|
24
|
+
this.host?.replaceSelection?.(text + ' ', { selectInserted: false });
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
render() {
|
|
28
|
+
return html`
|
|
29
|
+
<k-speech-to-text
|
|
30
|
+
language=${this.language}
|
|
31
|
+
?continuous=${this.continuous}
|
|
32
|
+
@end=${this.handleEnd}
|
|
33
|
+
></k-speech-to-text>
|
|
34
|
+
`;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static styles = [
|
|
38
|
+
Control.styles,
|
|
39
|
+
css`
|
|
40
|
+
:host { margin: var(--spacer_q); }
|
|
41
|
+
k-speech-to-text { --btn_size: 2rem; }
|
|
42
|
+
`
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
customElements.define('kc-md-speech-to-text', MdSpeechToText);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
import '../Dropdown.js';
|
|
5
|
+
import { bound } from '../../utils/number.js';
|
|
6
|
+
|
|
7
|
+
export default class MdTable extends Control {
|
|
8
|
+
static requires = ['replaceSelection'];
|
|
9
|
+
static hostMode = 'write';
|
|
10
|
+
|
|
11
|
+
handleDropdownOpened = () => {
|
|
12
|
+
requestAnimationFrame(() => {
|
|
13
|
+
const cols = this.shadowRoot.querySelector('.tbl-cols');
|
|
14
|
+
if(cols){ cols.value = '3'; cols.select(); }
|
|
15
|
+
const rows = this.shadowRoot.querySelector('.tbl-rows');
|
|
16
|
+
if(rows) rows.value = '2';
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
handleFormKeydown = (e) => {
|
|
21
|
+
if(e.key === 'Enter'){ e.preventDefault(); this.submit(); }
|
|
22
|
+
else if(e.key === 'Escape') this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
submit() {
|
|
26
|
+
const cols = this.clamp(this.shadowRoot.querySelector('.tbl-cols').value, 1, 20);
|
|
27
|
+
const rows = this.clamp(this.shadowRoot.querySelector('.tbl-rows').value, 1, 50);
|
|
28
|
+
if(!cols || !rows) return;
|
|
29
|
+
this.host?.replaceSelection?.(this.buildTable(cols, rows), { selectInserted: false });
|
|
30
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
clamp(raw, min, max) {
|
|
34
|
+
const n = parseInt(raw, 10);
|
|
35
|
+
if(!Number.isFinite(n)) return 0;
|
|
36
|
+
return bound(n, min, max);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
buildTable(cols, rows) {
|
|
40
|
+
const headerCells = Array.from({ length: cols }, (_, i) => ` Header ${i + 1} `).join('|');
|
|
41
|
+
const separatorCells = Array.from({ length: cols }, () => ' --- ').join('|');
|
|
42
|
+
const bodyCells = Array.from({ length: cols }, () => ' ').join('|');
|
|
43
|
+
const lines = [
|
|
44
|
+
`|${headerCells}|`,
|
|
45
|
+
`|${separatorCells}|`,
|
|
46
|
+
...Array.from({ length: rows }, () => `|${bodyCells}|`)
|
|
47
|
+
];
|
|
48
|
+
return `\n${lines.join('\n')}\n`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
render() {
|
|
52
|
+
return html`
|
|
53
|
+
<k-dropdown @opened=${this.handleDropdownOpened}>
|
|
54
|
+
<button slot="trigger" type="button" class="trigger" title="Table"><k-icon name="table"></k-icon></button>
|
|
55
|
+
<div class="tbl-form" @keydown=${this.handleFormKeydown}>
|
|
56
|
+
<input class="tbl-cols" type="number" min="1" max="20" inputmode="numeric" aria-label="Columns" value="3" />
|
|
57
|
+
<span class="tbl-x" aria-hidden="true">×</span>
|
|
58
|
+
<input class="tbl-rows" type="number" min="1" max="50" inputmode="numeric" aria-label="Rows" value="2" />
|
|
59
|
+
<button type="button" class="primary" @click=${() => this.submit()}>Insert</button>
|
|
60
|
+
</div>
|
|
61
|
+
</k-dropdown>
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static styles = [
|
|
66
|
+
Control.styles,
|
|
67
|
+
css`
|
|
68
|
+
.trigger { min-width: 2.5rem; min-height: 2.5rem; background: transparent; border: none; cursor: pointer; }
|
|
69
|
+
.tbl-form { display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem; }
|
|
70
|
+
.tbl-form input { width: 2.5rem; padding: 0.35rem 0.4rem; border: 1px solid var(--c_border); border-radius: var(--radius); font: inherit; text-align: center; -moz-appearance: textfield; }
|
|
71
|
+
.tbl-form input::-webkit-inner-spin-button,
|
|
72
|
+
.tbl-form input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
|
|
73
|
+
.tbl-x { color: var(--tc_muted); font-weight: bold; }
|
|
74
|
+
.tbl-form button.primary { padding: 0.4rem 0.8rem; border: 1px solid var(--c_primary); border-radius: var(--radius); background: var(--c_primary); color: white; cursor: pointer; font: inherit; }
|
|
75
|
+
`
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
customElements.define('kc-md-table', MdTable);
|