kempo-ui 0.4.19 → 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 +20 -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/0006-create-pagination-component.md +1 -1
- 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/tasks/0006-create-pagination-component/screenshot-01-top.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-02-controls.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-03-preconfigured.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-04-live-demo-page1.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-05-live-demo-page2.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-06-live-demo-last-page.png +0 -0
- package/tasks/0006-create-pagination-component/screenshot-07-js-reference.png +0 -0
- package/tasks/0006-create-pagination-component.md +0 -136
- package/tests/components/tableControls/TableControl.browser-test.js +0 -300
|
@@ -4,6 +4,7 @@ import formatCode from '../utils/formatCode.js';
|
|
|
4
4
|
import debounce from '../utils/debounce.js';
|
|
5
5
|
import { getCalculatedTheme, subscribeToTheme } from '../utils/theme.js';
|
|
6
6
|
import Dialog from './Dialog.js';
|
|
7
|
+
import Control from './controls/Control.js';
|
|
7
8
|
|
|
8
9
|
/*
|
|
9
10
|
Default CDN URLs
|
|
@@ -71,6 +72,7 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
71
72
|
*/
|
|
72
73
|
connectedCallback() {
|
|
73
74
|
super.connectedCallback();
|
|
75
|
+
if(!this.hasAttribute('controlled')) this.setAttribute('controlled', '');
|
|
74
76
|
if (this.hasAttribute('value')) {
|
|
75
77
|
this.value = this.getAttribute('value');
|
|
76
78
|
}
|
|
@@ -180,16 +182,9 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
180
182
|
Module Loading
|
|
181
183
|
*/
|
|
182
184
|
loadControls() {
|
|
183
|
-
const
|
|
184
|
-
if(!
|
|
185
|
-
|
|
186
|
-
const hecBase = new URL('./htmlEditorControls/', import.meta.url).href;
|
|
187
|
-
const cecBase = new URL('./codeEditorControls/', import.meta.url).href;
|
|
188
|
-
modules.filter(m => !loaded.has(m)).forEach(m => {
|
|
189
|
-
loaded.add(m);
|
|
190
|
-
const [dir, file] = m.split('/');
|
|
191
|
-
import(`${dir === 'cec' ? cecBase : hecBase}${file}.js`);
|
|
192
|
-
});
|
|
185
|
+
const set = this.constructor.controlSets[this.controls];
|
|
186
|
+
if(!set) return;
|
|
187
|
+
Control.load(Object.values(set));
|
|
193
188
|
}
|
|
194
189
|
|
|
195
190
|
async loadNodeModules() {
|
|
@@ -619,6 +614,16 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
619
614
|
return this;
|
|
620
615
|
}
|
|
621
616
|
|
|
617
|
+
/* Aliases matching the unified controls API */
|
|
618
|
+
bulletList() { return this.unorderedList(); }
|
|
619
|
+
numberList() { return this.orderedList(); }
|
|
620
|
+
toggleWordWrap() { return this.setWordWrap(!this.wordWrap); }
|
|
621
|
+
toggleMinimap() { return this.setMinimap(!this.minimapEnabled); }
|
|
622
|
+
formatCode() {
|
|
623
|
+
this.monacoEditor?.getAction('editor.action.formatDocument')?.run();
|
|
624
|
+
return this;
|
|
625
|
+
}
|
|
626
|
+
|
|
622
627
|
/*
|
|
623
628
|
Public Methods - Text Alignment
|
|
624
629
|
*/
|
|
@@ -1184,10 +1189,9 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
1184
1189
|
}
|
|
1185
1190
|
:host([fullscreen]) {
|
|
1186
1191
|
position: fixed;
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
height: 100vh !important;
|
|
1192
|
+
inset: 0;
|
|
1193
|
+
width: auto;
|
|
1194
|
+
height: auto;
|
|
1191
1195
|
z-index: 10000;
|
|
1192
1196
|
}
|
|
1193
1197
|
:host([disabled]) {
|
|
@@ -1326,40 +1330,18 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
1326
1330
|
/*
|
|
1327
1331
|
Static Properties
|
|
1328
1332
|
*/
|
|
1329
|
-
static loadedModules = new Set();
|
|
1330
|
-
static controlModules = {
|
|
1331
|
-
minimal: [
|
|
1332
|
-
'hec/Bold', 'hec/Italic', 'hec/Underline', 'hec/BulletList', 'hec/NumberList', 'hec/ControlGroup'
|
|
1333
|
-
],
|
|
1334
|
-
normal: [
|
|
1335
|
-
'hec/Bold', 'hec/Italic', 'hec/Underline', 'hec/Strikethrough', 'hec/InlineCode', 'hec/DropdownControl',
|
|
1336
|
-
'hec/FormatBlock', 'hec/CodeBlock', 'hec/BulletList', 'hec/NumberList', 'hec/AlignLeft',
|
|
1337
|
-
'hec/AlignCenter', 'hec/AlignRight', 'hec/CreateLink', 'hec/Mode', 'hec/WordCount', 'hec/ControlGroup',
|
|
1338
|
-
'cec/FormatCode'
|
|
1339
|
-
],
|
|
1340
|
-
full: [
|
|
1341
|
-
'hec/Bold', 'hec/Italic', 'hec/Underline', 'hec/Strikethrough', 'hec/InlineCode', 'hec/DropdownControl',
|
|
1342
|
-
'hec/FormatBlock', 'hec/CodeBlock', 'hec/BulletList', 'hec/NumberList', 'hec/AlignLeft',
|
|
1343
|
-
'hec/AlignCenter', 'hec/AlignRight', 'hec/AlignJustify', 'hec/TextColor', 'hec/TextBackgroundColor',
|
|
1344
|
-
'hec/ClearFormatting', 'hec/CreateLink', 'hec/InsertTable', 'hec/Mode', 'hec/WordCount',
|
|
1345
|
-
'hec/CharacterCount', 'hec/ControlGroup',
|
|
1346
|
-
'cec/Undo', 'cec/Redo', 'cec/FormatCode', 'cec/CopyCode', 'cec/FindReplace',
|
|
1347
|
-
'cec/WordWrap', 'cec/Minimap', 'cec/FoldAll', 'cec/FontSize', 'cec/EditorTheme', 'cec/Fullscreen', 'cec/ControlGroup'
|
|
1348
|
-
]
|
|
1349
|
-
};
|
|
1350
|
-
|
|
1351
1333
|
static controlSets = {
|
|
1352
1334
|
minimal: {
|
|
1353
1335
|
topLeft: html`
|
|
1354
|
-
<k-
|
|
1355
|
-
<
|
|
1356
|
-
<
|
|
1357
|
-
<
|
|
1358
|
-
</k-
|
|
1359
|
-
<k-
|
|
1360
|
-
<
|
|
1361
|
-
<
|
|
1362
|
-
</k-
|
|
1336
|
+
<k-control-group>
|
|
1337
|
+
<kc-bold></kc-bold>
|
|
1338
|
+
<kc-italic></kc-italic>
|
|
1339
|
+
<kc-underline></kc-underline>
|
|
1340
|
+
</k-control-group>
|
|
1341
|
+
<k-control-group>
|
|
1342
|
+
<kc-bullet-list></kc-bullet-list>
|
|
1343
|
+
<kc-number-list></kc-number-list>
|
|
1344
|
+
</k-control-group>
|
|
1363
1345
|
`,
|
|
1364
1346
|
topRight: null,
|
|
1365
1347
|
bottomLeft: null,
|
|
@@ -1367,101 +1349,101 @@ export default class HtmlEditor extends ShadowComponent {
|
|
|
1367
1349
|
},
|
|
1368
1350
|
normal: {
|
|
1369
1351
|
topLeft: html`
|
|
1370
|
-
<k-
|
|
1371
|
-
<
|
|
1372
|
-
<
|
|
1373
|
-
<
|
|
1374
|
-
<
|
|
1375
|
-
</k-
|
|
1376
|
-
<
|
|
1377
|
-
<
|
|
1352
|
+
<k-control-group>
|
|
1353
|
+
<kc-bold></kc-bold>
|
|
1354
|
+
<kc-italic></kc-italic>
|
|
1355
|
+
<kc-underline></kc-underline>
|
|
1356
|
+
<kc-strikethrough></kc-strikethrough>
|
|
1357
|
+
</k-control-group>
|
|
1358
|
+
<kc-inline-code></kc-inline-code>
|
|
1359
|
+
<kc-menu>
|
|
1378
1360
|
<k-icon slot="icon" name="format_paragraph"></k-icon>
|
|
1379
1361
|
<span slot="label">Text Style</span>
|
|
1380
|
-
<
|
|
1381
|
-
<
|
|
1382
|
-
<
|
|
1383
|
-
<
|
|
1384
|
-
<
|
|
1385
|
-
<
|
|
1386
|
-
</
|
|
1387
|
-
<k-
|
|
1388
|
-
<
|
|
1389
|
-
<
|
|
1390
|
-
</k-
|
|
1362
|
+
<kc-format-block tag="p">Paragraph</kc-format-block>
|
|
1363
|
+
<kc-format-block tag="h1">Heading 1</kc-format-block>
|
|
1364
|
+
<kc-format-block tag="h2">Heading 2</kc-format-block>
|
|
1365
|
+
<kc-format-block tag="h3">Heading 3</kc-format-block>
|
|
1366
|
+
<kc-format-block tag="blockquote">Blockquote</kc-format-block>
|
|
1367
|
+
<kc-code-block></kc-code-block>
|
|
1368
|
+
</kc-menu>
|
|
1369
|
+
<k-control-group>
|
|
1370
|
+
<kc-bullet-list></kc-bullet-list>
|
|
1371
|
+
<kc-number-list></kc-number-list>
|
|
1372
|
+
</k-control-group>
|
|
1391
1373
|
`,
|
|
1392
1374
|
topRight: html`
|
|
1393
|
-
<k-
|
|
1394
|
-
<
|
|
1395
|
-
<
|
|
1396
|
-
<
|
|
1397
|
-
</k-
|
|
1398
|
-
<
|
|
1399
|
-
<
|
|
1400
|
-
<
|
|
1375
|
+
<k-control-group>
|
|
1376
|
+
<kc-align-left></kc-align-left>
|
|
1377
|
+
<kc-align-center></kc-align-center>
|
|
1378
|
+
<kc-align-right></kc-align-right>
|
|
1379
|
+
</k-control-group>
|
|
1380
|
+
<kc-create-link></kc-create-link>
|
|
1381
|
+
<kc-format-code></kc-format-code>
|
|
1382
|
+
<kc-mode></kc-mode>
|
|
1401
1383
|
`,
|
|
1402
|
-
bottomLeft: html`<
|
|
1384
|
+
bottomLeft: html`<kc-word-count></kc-word-count>`,
|
|
1403
1385
|
bottomRight: null,
|
|
1404
1386
|
},
|
|
1405
1387
|
full: {
|
|
1406
1388
|
topLeft: html`
|
|
1407
|
-
<k-
|
|
1408
|
-
<
|
|
1409
|
-
<
|
|
1410
|
-
<
|
|
1411
|
-
<
|
|
1412
|
-
</k-
|
|
1413
|
-
<
|
|
1414
|
-
<
|
|
1389
|
+
<k-control-group>
|
|
1390
|
+
<kc-bold></kc-bold>
|
|
1391
|
+
<kc-italic></kc-italic>
|
|
1392
|
+
<kc-underline></kc-underline>
|
|
1393
|
+
<kc-strikethrough></kc-strikethrough>
|
|
1394
|
+
</k-control-group>
|
|
1395
|
+
<kc-inline-code></kc-inline-code>
|
|
1396
|
+
<kc-menu>
|
|
1415
1397
|
<k-icon slot="icon" name="format_paragraph"></k-icon>
|
|
1416
1398
|
<span slot="label">Text Style</span>
|
|
1417
|
-
<
|
|
1418
|
-
<
|
|
1419
|
-
<
|
|
1420
|
-
<
|
|
1421
|
-
<
|
|
1422
|
-
<
|
|
1423
|
-
</
|
|
1424
|
-
<k-
|
|
1425
|
-
<
|
|
1426
|
-
<
|
|
1427
|
-
</k-
|
|
1428
|
-
<k-
|
|
1429
|
-
<
|
|
1430
|
-
<
|
|
1431
|
-
</k-
|
|
1432
|
-
<k-
|
|
1433
|
-
<
|
|
1434
|
-
<
|
|
1435
|
-
<
|
|
1436
|
-
</k-
|
|
1437
|
-
<k-
|
|
1438
|
-
<
|
|
1439
|
-
<
|
|
1440
|
-
<
|
|
1441
|
-
</k-
|
|
1442
|
-
<
|
|
1399
|
+
<kc-format-block tag="p">Paragraph</kc-format-block>
|
|
1400
|
+
<kc-format-block tag="h1">Heading 1</kc-format-block>
|
|
1401
|
+
<kc-format-block tag="h2">Heading 2</kc-format-block>
|
|
1402
|
+
<kc-format-block tag="h3">Heading 3</kc-format-block>
|
|
1403
|
+
<kc-format-block tag="blockquote">Blockquote</kc-format-block>
|
|
1404
|
+
<kc-code-block></kc-code-block>
|
|
1405
|
+
</kc-menu>
|
|
1406
|
+
<k-control-group>
|
|
1407
|
+
<kc-bullet-list></kc-bullet-list>
|
|
1408
|
+
<kc-number-list></kc-number-list>
|
|
1409
|
+
</k-control-group>
|
|
1410
|
+
<k-control-group>
|
|
1411
|
+
<kc-undo></kc-undo>
|
|
1412
|
+
<kc-redo></kc-redo>
|
|
1413
|
+
</k-control-group>
|
|
1414
|
+
<k-control-group>
|
|
1415
|
+
<kc-format-code></kc-format-code>
|
|
1416
|
+
<kc-copy-code></kc-copy-code>
|
|
1417
|
+
<kc-find-replace></kc-find-replace>
|
|
1418
|
+
</k-control-group>
|
|
1419
|
+
<k-control-group>
|
|
1420
|
+
<kc-word-wrap></kc-word-wrap>
|
|
1421
|
+
<kc-minimap></kc-minimap>
|
|
1422
|
+
<kc-fold-all></kc-fold-all>
|
|
1423
|
+
</k-control-group>
|
|
1424
|
+
<kc-font-size></kc-font-size>
|
|
1443
1425
|
`,
|
|
1444
1426
|
topRight: html`
|
|
1445
|
-
<k-
|
|
1446
|
-
<
|
|
1447
|
-
<
|
|
1448
|
-
<
|
|
1449
|
-
<
|
|
1450
|
-
</k-
|
|
1451
|
-
<
|
|
1452
|
-
<k-
|
|
1453
|
-
<
|
|
1454
|
-
<
|
|
1455
|
-
</k-
|
|
1456
|
-
<
|
|
1457
|
-
<
|
|
1458
|
-
<
|
|
1459
|
-
<
|
|
1460
|
-
<
|
|
1427
|
+
<k-control-group>
|
|
1428
|
+
<kc-align-left></kc-align-left>
|
|
1429
|
+
<kc-align-center></kc-align-center>
|
|
1430
|
+
<kc-align-right></kc-align-right>
|
|
1431
|
+
<kc-align-justify></kc-align-justify>
|
|
1432
|
+
</k-control-group>
|
|
1433
|
+
<kc-create-link></kc-create-link>
|
|
1434
|
+
<k-control-group>
|
|
1435
|
+
<kc-text-color></kc-text-color>
|
|
1436
|
+
<kc-text-background-color></kc-text-background-color>
|
|
1437
|
+
</k-control-group>
|
|
1438
|
+
<kc-clear-formatting></kc-clear-formatting>
|
|
1439
|
+
<kc-insert-table></kc-insert-table>
|
|
1440
|
+
<kc-editor-theme></kc-editor-theme>
|
|
1441
|
+
<kc-mode></kc-mode>
|
|
1442
|
+
<kc-fullscreen></kc-fullscreen>
|
|
1461
1443
|
`,
|
|
1462
1444
|
bottomLeft: html`
|
|
1463
|
-
<
|
|
1464
|
-
<
|
|
1445
|
+
<kc-word-count></kc-word-count>
|
|
1446
|
+
<kc-character-count></kc-character-count>
|
|
1465
1447
|
`,
|
|
1466
1448
|
bottomRight: null,
|
|
1467
1449
|
},
|
|
@@ -3,6 +3,7 @@ import ShadowComponent from './ShadowComponent.js';
|
|
|
3
3
|
import renderMarkdown from '../utils/renderMarkdown.js';
|
|
4
4
|
import sanitizeHtml, { STRIP_COMPLETELY } from '../utils/sanitizeHtml.js';
|
|
5
5
|
import debounce from '../utils/debounce.js';
|
|
6
|
+
import Control from './controls/Control.js';
|
|
6
7
|
import './Resize.js';
|
|
7
8
|
import './Tabs.js';
|
|
8
9
|
|
|
@@ -93,15 +94,14 @@ export default class MarkdownEditor extends ShadowComponent {
|
|
|
93
94
|
Lifecycle
|
|
94
95
|
*/
|
|
95
96
|
loadControls() {
|
|
96
|
-
const
|
|
97
|
-
if(!
|
|
98
|
-
|
|
99
|
-
const base = new URL('./markdownEditorControls/', import.meta.url).href;
|
|
100
|
-
modules.filter(m => !loaded.has(m)).forEach(m => { loaded.add(m); import(`${base}${m}.js`); });
|
|
97
|
+
const set = this.constructor.controlSets[this.controls];
|
|
98
|
+
if(!set) return;
|
|
99
|
+
Control.load(Object.values(set));
|
|
101
100
|
}
|
|
102
101
|
|
|
103
102
|
connectedCallback() {
|
|
104
103
|
super.connectedCallback();
|
|
104
|
+
if(!this.hasAttribute('controlled')) this.setAttribute('controlled', '');
|
|
105
105
|
if(this.hasAttribute('value')){
|
|
106
106
|
this[defaultValue] = this.getAttribute('value');
|
|
107
107
|
}
|
|
@@ -303,6 +303,71 @@ export default class MarkdownEditor extends ShadowComponent {
|
|
|
303
303
|
});
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
+
/*
|
|
307
|
+
Unified Formatting API — implemented as text-manipulation wrappers
|
|
308
|
+
over the helpers above so controls (kc-bold, kc-italic, etc.) can
|
|
309
|
+
target this host the same way they target HtmlEditor.
|
|
310
|
+
*/
|
|
311
|
+
bold() { this.wrapSelection('**', '**', 'bold text'); return this; }
|
|
312
|
+
italic() { this.wrapSelection('_', '_', 'italic text'); return this; }
|
|
313
|
+
strikethrough() { this.wrapSelection('~~', '~~', 'strikethrough'); return this; }
|
|
314
|
+
inlineCode() {
|
|
315
|
+
const sel = this.getSelection();
|
|
316
|
+
if(sel.text.includes('\n')) this.wrapSelection('```\n', '\n```', 'code');
|
|
317
|
+
else this.wrapSelection('`', '`', 'code');
|
|
318
|
+
return this;
|
|
319
|
+
}
|
|
320
|
+
quote() { this.insertLinePrefix('> '); return this; }
|
|
321
|
+
bulletList() { this.insertLinePrefix('- '); return this; }
|
|
322
|
+
numberList() {
|
|
323
|
+
const ta = this.textarea;
|
|
324
|
+
if(!ta) return this;
|
|
325
|
+
if(this.mode !== 'write') this.mode = 'write';
|
|
326
|
+
this.updateComplete.then(() => {
|
|
327
|
+
ta.focus();
|
|
328
|
+
const { selectionStart: start, selectionEnd: end, value } = ta;
|
|
329
|
+
const lineStart = value.lastIndexOf('\n', start - 1) + 1;
|
|
330
|
+
const lineEndIdx = value.indexOf('\n', end);
|
|
331
|
+
const lineEnd = lineEndIdx === -1 ? value.length : lineEndIdx;
|
|
332
|
+
const block = value.substring(lineStart, lineEnd);
|
|
333
|
+
const lines = block.split('\n');
|
|
334
|
+
const numbered = /^\d+\. /;
|
|
335
|
+
const nonEmpty = lines.filter(l => l.length > 0);
|
|
336
|
+
const allNumbered = nonEmpty.length > 0 && nonEmpty.every(l => numbered.test(l));
|
|
337
|
+
let processed;
|
|
338
|
+
if(allNumbered){
|
|
339
|
+
processed = lines.map(l => l.replace(numbered, ''));
|
|
340
|
+
} else {
|
|
341
|
+
let n = 1;
|
|
342
|
+
processed = lines.map(l => {
|
|
343
|
+
if(!l) return l;
|
|
344
|
+
const stripped = l.replace(numbered, '');
|
|
345
|
+
return `${n++}. ${stripped}`;
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
const nextBlock = processed.join('\n');
|
|
349
|
+
const next = value.substring(0, lineStart) + nextBlock + value.substring(lineEnd);
|
|
350
|
+
ta.value = next;
|
|
351
|
+
ta.selectionStart = lineStart;
|
|
352
|
+
ta.selectionEnd = lineStart + nextBlock.length;
|
|
353
|
+
this.value = next;
|
|
354
|
+
ta.dispatchEvent(new Event('input', { bubbles: true }));
|
|
355
|
+
});
|
|
356
|
+
return this;
|
|
357
|
+
}
|
|
358
|
+
formatBlock(tag) {
|
|
359
|
+
const t = (tag || '').toLowerCase();
|
|
360
|
+
if(/^h[1-6]$/.test(t)){
|
|
361
|
+
const lvl = parseInt(t.slice(1), 10);
|
|
362
|
+
this.insertLinePrefix('#'.repeat(lvl) + ' ', /^#{1,6} /);
|
|
363
|
+
} else if(t === 'blockquote'){
|
|
364
|
+
this.quote();
|
|
365
|
+
} else if(t === 'pre'){
|
|
366
|
+
this.wrapSelection('```\n', '\n```', 'code');
|
|
367
|
+
}
|
|
368
|
+
return this;
|
|
369
|
+
}
|
|
370
|
+
|
|
306
371
|
/*
|
|
307
372
|
Protected Members
|
|
308
373
|
*/
|
|
@@ -375,7 +440,7 @@ export default class MarkdownEditor extends ShadowComponent {
|
|
|
375
440
|
const newMode = e.detail?.tab;
|
|
376
441
|
if(!newMode || newMode === this.mode) return;
|
|
377
442
|
this.mode = newMode;
|
|
378
|
-
this.dispatchEvent(new CustomEvent('mode-
|
|
443
|
+
this.dispatchEvent(new CustomEvent('mode-changed', {
|
|
379
444
|
detail: { mode: newMode },
|
|
380
445
|
bubbles: true
|
|
381
446
|
}));
|
|
@@ -520,74 +585,67 @@ export default class MarkdownEditor extends ShadowComponent {
|
|
|
520
585
|
be imported eagerly. Lit creates the elements as plain HTMLElements
|
|
521
586
|
until their definitions arrive, then the browser upgrades them in place.
|
|
522
587
|
*/
|
|
523
|
-
static loadedModules = new Set();
|
|
524
|
-
static controlModules = {
|
|
525
|
-
minimal: ['Menu', 'FormatBlock', 'Bold', 'Italic', 'BulletList', 'NumberedList'],
|
|
526
|
-
normal: ['Menu', 'FormatBlock', 'Bold', 'Italic', 'Quote', 'Code', 'Link', 'BulletList', 'NumberedList'],
|
|
527
|
-
full: ['Menu', 'FormatBlock', 'Bold', 'Italic', 'Strikethrough', 'Quote', 'Code', 'Link', 'Image', 'Table', 'BulletList', 'NumberedList', 'SpeechToText']
|
|
528
|
-
};
|
|
529
|
-
|
|
530
588
|
static controlSets = {
|
|
531
589
|
'': { top: null, bottom: null },
|
|
532
590
|
none: { top: null, bottom: null },
|
|
533
591
|
minimal: {
|
|
534
592
|
top: html`
|
|
535
|
-
<
|
|
536
|
-
<k-icon slot="
|
|
537
|
-
<
|
|
538
|
-
<
|
|
539
|
-
<
|
|
540
|
-
</
|
|
541
|
-
<
|
|
542
|
-
<
|
|
543
|
-
<
|
|
544
|
-
<
|
|
593
|
+
<kc-menu>
|
|
594
|
+
<k-icon slot="icon" name="text_fields"></k-icon>
|
|
595
|
+
<kc-format-block tag="h1"></kc-format-block>
|
|
596
|
+
<kc-format-block tag="h3"></kc-format-block>
|
|
597
|
+
<kc-format-block tag="h5"></kc-format-block>
|
|
598
|
+
</kc-menu>
|
|
599
|
+
<kc-bold></kc-bold>
|
|
600
|
+
<kc-italic></kc-italic>
|
|
601
|
+
<kc-bullet-list></kc-bullet-list>
|
|
602
|
+
<kc-number-list></kc-number-list>
|
|
545
603
|
`,
|
|
546
604
|
bottom: null
|
|
547
605
|
},
|
|
548
606
|
normal: {
|
|
549
607
|
top: html`
|
|
550
|
-
<
|
|
551
|
-
<k-icon slot="
|
|
552
|
-
<
|
|
553
|
-
<
|
|
554
|
-
<
|
|
555
|
-
<
|
|
556
|
-
<
|
|
557
|
-
<
|
|
558
|
-
</
|
|
559
|
-
<
|
|
560
|
-
<
|
|
561
|
-
<
|
|
562
|
-
<
|
|
563
|
-
<
|
|
564
|
-
<
|
|
565
|
-
<
|
|
608
|
+
<kc-menu>
|
|
609
|
+
<k-icon slot="icon" name="text_fields"></k-icon>
|
|
610
|
+
<kc-format-block tag="h1"></kc-format-block>
|
|
611
|
+
<kc-format-block tag="h2"></kc-format-block>
|
|
612
|
+
<kc-format-block tag="h3"></kc-format-block>
|
|
613
|
+
<kc-format-block tag="h4"></kc-format-block>
|
|
614
|
+
<kc-format-block tag="h5"></kc-format-block>
|
|
615
|
+
<kc-format-block tag="h6"></kc-format-block>
|
|
616
|
+
</kc-menu>
|
|
617
|
+
<kc-bold></kc-bold>
|
|
618
|
+
<kc-italic></kc-italic>
|
|
619
|
+
<kc-quote></kc-quote>
|
|
620
|
+
<kc-inline-code></kc-inline-code>
|
|
621
|
+
<kc-md-link></kc-md-link>
|
|
622
|
+
<kc-bullet-list></kc-bullet-list>
|
|
623
|
+
<kc-number-list></kc-number-list>
|
|
566
624
|
`,
|
|
567
625
|
bottom: null
|
|
568
626
|
},
|
|
569
627
|
full: {
|
|
570
628
|
top: html`
|
|
571
|
-
<
|
|
572
|
-
<k-icon slot="
|
|
573
|
-
<
|
|
574
|
-
<
|
|
575
|
-
<
|
|
576
|
-
<
|
|
577
|
-
<
|
|
578
|
-
<
|
|
579
|
-
</
|
|
580
|
-
<
|
|
581
|
-
<
|
|
582
|
-
<
|
|
583
|
-
<
|
|
584
|
-
<
|
|
585
|
-
<
|
|
586
|
-
<
|
|
587
|
-
<
|
|
588
|
-
<
|
|
589
|
-
<
|
|
590
|
-
<
|
|
629
|
+
<kc-menu>
|
|
630
|
+
<k-icon slot="icon" name="text_fields"></k-icon>
|
|
631
|
+
<kc-format-block tag="h1"></kc-format-block>
|
|
632
|
+
<kc-format-block tag="h2"></kc-format-block>
|
|
633
|
+
<kc-format-block tag="h3"></kc-format-block>
|
|
634
|
+
<kc-format-block tag="h4"></kc-format-block>
|
|
635
|
+
<kc-format-block tag="h5"></kc-format-block>
|
|
636
|
+
<kc-format-block tag="h6"></kc-format-block>
|
|
637
|
+
</kc-menu>
|
|
638
|
+
<kc-bold></kc-bold>
|
|
639
|
+
<kc-italic></kc-italic>
|
|
640
|
+
<kc-strikethrough></kc-strikethrough>
|
|
641
|
+
<kc-quote></kc-quote>
|
|
642
|
+
<kc-inline-code></kc-inline-code>
|
|
643
|
+
<kc-md-link></kc-md-link>
|
|
644
|
+
<kc-md-image></kc-md-image>
|
|
645
|
+
<kc-md-table></kc-md-table>
|
|
646
|
+
<kc-bullet-list></kc-bullet-list>
|
|
647
|
+
<kc-number-list></kc-number-list>
|
|
648
|
+
<kc-md-speech-to-text></kc-md-speech-to-text>
|
|
591
649
|
`,
|
|
592
650
|
bottom: null
|
|
593
651
|
}
|
|
@@ -2,6 +2,7 @@ import { html, css, nothing } from '../lit-all.min.js';
|
|
|
2
2
|
import ShadowComponent from './ShadowComponent.js';
|
|
3
3
|
import { bound, closest } from '../utils/number.js';
|
|
4
4
|
import { commaSeparatedArray } from '../utils/propConverters.js';
|
|
5
|
+
import Control from './controls/Control.js';
|
|
5
6
|
|
|
6
7
|
export default class Pagination extends ShadowComponent {
|
|
7
8
|
/*
|
|
@@ -37,15 +38,15 @@ export default class Pagination extends ShadowComponent {
|
|
|
37
38
|
/*
|
|
38
39
|
Lifecycle
|
|
39
40
|
*/
|
|
41
|
+
connectedCallback() {
|
|
42
|
+
super.connectedCallback();
|
|
43
|
+
if(!this.hasAttribute('controlled')) this.setAttribute('controlled', '');
|
|
44
|
+
}
|
|
45
|
+
|
|
40
46
|
loadControls() {
|
|
41
|
-
const
|
|
42
|
-
if
|
|
43
|
-
|
|
44
|
-
const base = new URL('./paginationControls/', import.meta.url).href;
|
|
45
|
-
modules.filter(m => !loaded.has(m)).forEach(m => {
|
|
46
|
-
loaded.add(m);
|
|
47
|
-
import(`${base}${m}.js`);
|
|
48
|
-
});
|
|
47
|
+
const set = this.constructor.controlSets[this.controls];
|
|
48
|
+
if(!set) return;
|
|
49
|
+
Control.load(Object.values(set));
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
willUpdate(changedProperties) {
|
|
@@ -174,32 +175,26 @@ export default class Pagination extends ShadowComponent {
|
|
|
174
175
|
}
|
|
175
176
|
`;
|
|
176
177
|
|
|
177
|
-
static loadedModules = new Set();
|
|
178
|
-
static controlModules = {
|
|
179
|
-
simple: ['PrevPage', 'NextPage', 'PageInfo'],
|
|
180
|
-
full: ['FirstPage', 'PrevPage', 'GotoPage', 'NextPage', 'LastPage', 'ItemsPerPage']
|
|
181
|
-
};
|
|
182
|
-
|
|
183
178
|
static controlSets = {
|
|
184
179
|
'': { left: null, right: null },
|
|
185
180
|
none: { left: null, right: null },
|
|
186
181
|
simple: {
|
|
187
182
|
left: html`
|
|
188
|
-
<
|
|
189
|
-
<
|
|
190
|
-
<
|
|
183
|
+
<kc-pg-prev></kc-pg-prev>
|
|
184
|
+
<kc-pg-page-info></kc-pg-page-info>
|
|
185
|
+
<kc-pg-next></kc-pg-next>
|
|
191
186
|
`,
|
|
192
187
|
right: null
|
|
193
188
|
},
|
|
194
189
|
full: {
|
|
195
190
|
left: html`
|
|
196
|
-
<
|
|
197
|
-
<
|
|
198
|
-
<
|
|
199
|
-
<
|
|
200
|
-
<
|
|
191
|
+
<kc-pg-first></kc-pg-first>
|
|
192
|
+
<kc-pg-prev></kc-pg-prev>
|
|
193
|
+
<kc-pg-goto-page></kc-pg-goto-page>
|
|
194
|
+
<kc-pg-next></kc-pg-next>
|
|
195
|
+
<kc-pg-last></kc-pg-last>
|
|
201
196
|
`,
|
|
202
|
-
right: html`<
|
|
197
|
+
right: html`<kc-pg-items-per-page></kc-pg-items-per-page>`
|
|
203
198
|
}
|
|
204
199
|
};
|
|
205
200
|
}
|
package/src/components/Table.js
CHANGED
|
@@ -74,6 +74,11 @@ export default class Table extends ShadowComponent {
|
|
|
74
74
|
|
|
75
75
|
/* Lifecycle Callbacks */
|
|
76
76
|
|
|
77
|
+
connectedCallback() {
|
|
78
|
+
super.connectedCallback();
|
|
79
|
+
if(!this.hasAttribute('controlled')) this.setAttribute('controlled', '');
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
firstUpdated() {
|
|
78
83
|
this.setData({
|
|
79
84
|
records: this.records,
|
|
@@ -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 AlignCenter extends ButtonControl {
|
|
6
|
+
static requires = ['alignCenter'];
|
|
7
|
+
static hostMode = 'visual';
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Align Center';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.alignCenter?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="format_align_center"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-align-center', AlignCenter);
|