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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcExportJson extends ButtonControl {
|
|
6
|
+
connectedCallback() {
|
|
7
|
+
super.connectedCallback();
|
|
8
|
+
if(!this.hasAttribute('title')) this.title = 'Export JSON';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
get record() {
|
|
12
|
+
const $rec = this.closest('.record');
|
|
13
|
+
if($rec){
|
|
14
|
+
const idx = $rec.dataset.index;
|
|
15
|
+
if(idx !== undefined) return this.host?.records?.[idx];
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export() { this.handleAction(); }
|
|
21
|
+
|
|
22
|
+
handleAction() {
|
|
23
|
+
const rec = this.record;
|
|
24
|
+
const data = rec ? JSON.stringify(rec) : JSON.stringify(this.host?.records || []);
|
|
25
|
+
const blob = new Blob([data], { type: 'application/json' });
|
|
26
|
+
const url = URL.createObjectURL(blob);
|
|
27
|
+
const a = document.createElement('a');
|
|
28
|
+
a.href = url;
|
|
29
|
+
a.download = 'data.json';
|
|
30
|
+
a.click();
|
|
31
|
+
URL.revokeObjectURL(url);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
render() {
|
|
35
|
+
return html`<slot><k-icon name="export-file"></k-icon> Export JSON</slot>`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static styles = [
|
|
39
|
+
ButtonControl.styles,
|
|
40
|
+
css`
|
|
41
|
+
:host { gap: 0.25rem; padding: 0 var(--spacer_h, 0.5rem); }
|
|
42
|
+
`
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
customElements.define('kc-tc-export-json', TcExportJson);
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html, render } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
import Dialog from '../Dialog.js';
|
|
5
|
+
|
|
6
|
+
export default class TcFieldSortHide extends ButtonControl {
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
super.connectedCallback();
|
|
9
|
+
if(!this.hasAttribute('title')) this.title = 'Show / Hide / Order Fields';
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
openDialog() { this.handleAction(); }
|
|
13
|
+
|
|
14
|
+
handleAction() {
|
|
15
|
+
import('../Sortable.js');
|
|
16
|
+
const host = this.host;
|
|
17
|
+
if(!host) return;
|
|
18
|
+
|
|
19
|
+
const dialogContent = document.createElement('div');
|
|
20
|
+
render(html`
|
|
21
|
+
<div class="m">
|
|
22
|
+
<k-sortable id="sorting" @sort=${(e) => {
|
|
23
|
+
const newOrder = Array.from(e.target.querySelectorAll('k-sortable-item'))
|
|
24
|
+
.map(item => item.getAttribute('data-field'));
|
|
25
|
+
host.reorderFields(newOrder);
|
|
26
|
+
}}>
|
|
27
|
+
${host.fields.map(field => html`
|
|
28
|
+
<k-sortable-item data-field="${field.name}">
|
|
29
|
+
<label class="field pb0">
|
|
30
|
+
<input
|
|
31
|
+
class="field-visibility"
|
|
32
|
+
data-field="${field.name}"
|
|
33
|
+
type="checkbox"
|
|
34
|
+
.checked="${!field.hidden}"
|
|
35
|
+
@change="${(e) => host.setFieldHiddenState(field.name, !e.target.checked)}"
|
|
36
|
+
style="height: 1.25rem; width: 1.25rem"
|
|
37
|
+
/>
|
|
38
|
+
${field.label}
|
|
39
|
+
</label>
|
|
40
|
+
</k-sortable-item>
|
|
41
|
+
`)}
|
|
42
|
+
</k-sortable>
|
|
43
|
+
</div>
|
|
44
|
+
`, dialogContent);
|
|
45
|
+
|
|
46
|
+
Dialog.create(dialogContent, {
|
|
47
|
+
title: 'Show / Hide / Order Fields',
|
|
48
|
+
width: '400px',
|
|
49
|
+
cancelText: 'Close'
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
render() { return html`<slot><k-icon name="table-visibility"></k-icon></slot>`; }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
customElements.define('kc-tc-field-sort-hide', TcFieldSortHide);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html, render } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
import Dialog from '../Dialog.js';
|
|
5
|
+
|
|
6
|
+
const conditionOptions = {
|
|
7
|
+
'equals': 'equals',
|
|
8
|
+
'not-equals': 'does not equal',
|
|
9
|
+
'contains': 'contains',
|
|
10
|
+
'not-contains': 'does not contain',
|
|
11
|
+
'greater-than': 'is greater than',
|
|
12
|
+
'greater-than-or-equal': 'is greater than or equal to',
|
|
13
|
+
'less-than': 'is less than',
|
|
14
|
+
'less-than-or-equal': 'is less than or equal to'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default class TcFilters extends ButtonControl {
|
|
18
|
+
connectedCallback() {
|
|
19
|
+
super.connectedCallback();
|
|
20
|
+
if(!this.hasAttribute('title')) this.title = 'Filters';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
handleFilter() { this.handleAction(); }
|
|
24
|
+
|
|
25
|
+
handleAction() { this.openDialog(); }
|
|
26
|
+
|
|
27
|
+
openDialog = () => {
|
|
28
|
+
const host = this.host;
|
|
29
|
+
if(!host) return;
|
|
30
|
+
|
|
31
|
+
const dialogContent = document.createElement('div');
|
|
32
|
+
render(html`
|
|
33
|
+
<div class="p">
|
|
34
|
+
${host.filters.length === 0 ? html`<p>No Current Filters.</p>` : html`
|
|
35
|
+
<h5>Current Filters</h5>
|
|
36
|
+
<ul id="currentFilters">
|
|
37
|
+
${host.filters.map(({field, condition, value}) => html`
|
|
38
|
+
<li data-field="${field}" data-condition="${condition}" data-value="${value}">
|
|
39
|
+
${host.getFieldLabel(field)} ${conditionOptions[condition]} "${value}"
|
|
40
|
+
<button class="remove-filter no-btn pq" @click=${() => {
|
|
41
|
+
host.removeFilter(field, condition, value);
|
|
42
|
+
dialog.close();
|
|
43
|
+
this.openDialog();
|
|
44
|
+
}}>
|
|
45
|
+
<k-icon name="close"></k-icon>
|
|
46
|
+
</button>
|
|
47
|
+
</li>
|
|
48
|
+
`)}
|
|
49
|
+
</ul>
|
|
50
|
+
`}
|
|
51
|
+
<hr />
|
|
52
|
+
<h5>Add A Filter</h5>
|
|
53
|
+
<form id="addFilter" @submit=${(e) => {
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
const form = e.target;
|
|
56
|
+
host.addFilter(form.filterField.value, form.filterCondition.value, form.filterValue.value);
|
|
57
|
+
dialog.close();
|
|
58
|
+
this.openDialog();
|
|
59
|
+
}}>
|
|
60
|
+
<select id="filterField" class="mb">
|
|
61
|
+
${host.fields.map(({name, label}) => html`<option value="${name}">${label}</option>`)}
|
|
62
|
+
</select>
|
|
63
|
+
<select id="filterCondition" class="mb">
|
|
64
|
+
${Object.entries(conditionOptions).map(([key, val]) => html`
|
|
65
|
+
<option value="${key}" ?selected="${key === 'contains'}">${val}</option>
|
|
66
|
+
`)}
|
|
67
|
+
</select>
|
|
68
|
+
<input id="filterValue" type="text" class="mb" />
|
|
69
|
+
<button type="submit" class="btn primary mb mr">Add Filter</button>
|
|
70
|
+
${host.filters.length === 0 ? '' : html`
|
|
71
|
+
<button type="button" class="btn danger mb mr" @click=${() => {
|
|
72
|
+
host.removeAllFilters();
|
|
73
|
+
dialog.close();
|
|
74
|
+
}}>Clear All Filters</button>
|
|
75
|
+
`}
|
|
76
|
+
</form>
|
|
77
|
+
</div>
|
|
78
|
+
`, dialogContent);
|
|
79
|
+
|
|
80
|
+
const dialog = Dialog.create(dialogContent, { width: '600px', title: 'Filters' });
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
render() { return html`<slot><k-icon name="filter"></k-icon></slot>`; }
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
customElements.define('kc-tc-filters', TcFilters);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcFirstPage extends ButtonControl {
|
|
6
|
+
static hostEvents = ['pageChange'];
|
|
7
|
+
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
super.connectedCallback();
|
|
10
|
+
if(!this.hasAttribute('title')) this.title = 'First Page';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
willUpdate(changed) {
|
|
14
|
+
super.willUpdate(changed);
|
|
15
|
+
const host = this.host;
|
|
16
|
+
this.disabled = !host || host.getCurrentPage() === 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
handleAction() { this.host?.firstPage(); }
|
|
20
|
+
|
|
21
|
+
render() { return html`<slot><k-icon name="chevron-line" direction="left"></k-icon></slot>`; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
customElements.define('kc-tc-first-page', TcFirstPage);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
|
|
4
|
+
export default class TcHiddenCount extends Control {
|
|
5
|
+
static hostEvents = ['recordHidden', 'recordShown'];
|
|
6
|
+
|
|
7
|
+
static properties = {
|
|
8
|
+
...Control.properties,
|
|
9
|
+
hiddenCount: { type: Number, state: true }
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.hiddenCount = 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
connectedCallback() {
|
|
18
|
+
super.connectedCallback();
|
|
19
|
+
this.updateCount();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
willUpdate(changed) {
|
|
23
|
+
super.willUpdate?.(changed);
|
|
24
|
+
this.updateCount();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
updateHiddenCount() { this.updateCount(); }
|
|
28
|
+
handleHiddenChange() { this.updateCount(); }
|
|
29
|
+
|
|
30
|
+
updateCount() {
|
|
31
|
+
this.hiddenCount = this.host?.getHiddenRecords?.()?.length || 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
render() {
|
|
35
|
+
return html`<div><span>${this.hiddenCount}</span> Hidden Records</div>`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
customElements.define('kc-tc-hidden-count', TcHiddenCount);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcHide extends ButtonControl {
|
|
6
|
+
connectedCallback() {
|
|
7
|
+
super.connectedCallback();
|
|
8
|
+
if(!this.hasAttribute('title')) this.title = 'Hide Record';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
get record() {
|
|
12
|
+
const $rec = this.closest('.record');
|
|
13
|
+
if($rec){
|
|
14
|
+
const idx = $rec.dataset.index;
|
|
15
|
+
if(idx !== undefined) return this.host?.records?.[idx];
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
handleHide() { this.handleAction(); }
|
|
21
|
+
|
|
22
|
+
handleAction() {
|
|
23
|
+
const rec = this.record;
|
|
24
|
+
if(rec) this.host?.hideRecord(rec);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
render() { return html`<slot><k-icon name="hide"></k-icon></slot>`; }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
customElements.define('kc-tc-hide', TcHide);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcLastPage extends ButtonControl {
|
|
6
|
+
static hostEvents = ['pageChange'];
|
|
7
|
+
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
super.connectedCallback();
|
|
10
|
+
if(!this.hasAttribute('title')) this.title = 'Last Page';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
willUpdate(changed) {
|
|
14
|
+
super.willUpdate(changed);
|
|
15
|
+
const host = this.host;
|
|
16
|
+
this.disabled = !host || host.getCurrentPage() === host.getTotalPages();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
handleAction() { this.host?.lastPage(); }
|
|
20
|
+
|
|
21
|
+
render() { return html`<slot><k-icon name="chevron-line"></k-icon></slot>`; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
customElements.define('kc-tc-last-page', TcLastPage);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcNextPage extends ButtonControl {
|
|
6
|
+
static hostEvents = ['pageChange'];
|
|
7
|
+
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
super.connectedCallback();
|
|
10
|
+
if(!this.hasAttribute('title')) this.title = 'Next Page';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
willUpdate(changed) {
|
|
14
|
+
super.willUpdate(changed);
|
|
15
|
+
const host = this.host;
|
|
16
|
+
this.disabled = !host || host.getCurrentPage() === host.getTotalPages();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
handleAction() { this.host?.nextPage(); }
|
|
20
|
+
|
|
21
|
+
render() { return html`<slot><k-icon name="chevron"></k-icon></slot>`; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
customElements.define('kc-tc-next-page', TcNextPage);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
|
|
4
|
+
export default class TcPageSelect extends Control {
|
|
5
|
+
static hostEvents = ['pageChange', 'pageSizeChange', 'pageCountChanged', 'recordsSet'];
|
|
6
|
+
|
|
7
|
+
handleSelectChange = (e) => {
|
|
8
|
+
this.host?.setPage(parseInt(e.target.value));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
render() {
|
|
12
|
+
const host = this.host;
|
|
13
|
+
const current = host?.getCurrentPage?.() ?? 1;
|
|
14
|
+
const total = host?.getTotalPages?.() ?? 1;
|
|
15
|
+
const options = [];
|
|
16
|
+
for(let i = 1; i <= total; i++){
|
|
17
|
+
options.push(html`<option value="${i}" ?selected="${i === current}">Page ${i}</option>`);
|
|
18
|
+
}
|
|
19
|
+
return html`
|
|
20
|
+
<div class="page-select">
|
|
21
|
+
<select @change=${this.handleSelectChange} ?disabled=${total <= 1}>${options}</select>
|
|
22
|
+
<label> out of ${total}</label>
|
|
23
|
+
</div>
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static styles = [
|
|
28
|
+
Control.styles,
|
|
29
|
+
css`
|
|
30
|
+
.page-select { display: flex; align-items: center; gap: 0.25rem; white-space: nowrap; }
|
|
31
|
+
label { padding: 0; margin: 0; }
|
|
32
|
+
`
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
customElements.define('kc-tc-page-select', TcPageSelect);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
|
|
4
|
+
export default class TcPageSize extends Control {
|
|
5
|
+
static hostEvents = ['pageChange', 'pageSizeChange'];
|
|
6
|
+
|
|
7
|
+
handleChange = (e) => {
|
|
8
|
+
this.host?.setPageSize(parseInt(e.target.value));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
render() {
|
|
12
|
+
const host = this.host;
|
|
13
|
+
const current = host?.getPageSize?.() ?? 10;
|
|
14
|
+
const options = host?.pageSizeOptions ?? [10, 25, 50, 100, 500];
|
|
15
|
+
return html`
|
|
16
|
+
<select @change=${this.handleChange}>
|
|
17
|
+
${options.map(size => html`<option value="${size}" ?selected="${size === current}">${size} per page</option>`)}
|
|
18
|
+
</select>
|
|
19
|
+
`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
customElements.define('kc-tc-page-size', TcPageSize);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcPrevPage extends ButtonControl {
|
|
6
|
+
static hostEvents = ['pageChange'];
|
|
7
|
+
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
super.connectedCallback();
|
|
10
|
+
if(!this.hasAttribute('title')) this.title = 'Previous Page';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
willUpdate(changed) {
|
|
14
|
+
super.willUpdate(changed);
|
|
15
|
+
const host = this.host;
|
|
16
|
+
this.disabled = !host || host.getCurrentPage() === 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
handleAction() { this.host?.prevPage(); }
|
|
20
|
+
|
|
21
|
+
render() { return html`<slot><k-icon name="chevron" direction="left"></k-icon></slot>`; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
customElements.define('kc-tc-prev-page', TcPrevPage);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import debounce from '../../utils/debounce.js';
|
|
4
|
+
|
|
5
|
+
export default class TcSearch extends Control {
|
|
6
|
+
static properties = {
|
|
7
|
+
...Control.properties,
|
|
8
|
+
searchTerm: { type: String, state: true }
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.searchTerm = '';
|
|
14
|
+
this.debouncedSearch = debounce(() => this.performSearch(), 200);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
handleInput = (e) => {
|
|
18
|
+
this.searchTerm = e.target.value;
|
|
19
|
+
this.debouncedSearch();
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
performSearch() {
|
|
23
|
+
const host = this.host;
|
|
24
|
+
if(!host) return;
|
|
25
|
+
if(!this.searchTerm || this.searchTerm.length < 3) host.showAllRecords();
|
|
26
|
+
else host.search(this.searchTerm);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
render() {
|
|
30
|
+
return html`<input type="search" placeholder="Search" .value=${this.searchTerm || ''} @input=${this.handleInput} />`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
customElements.define('kc-tc-search', TcSearch);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ButtonControl from './ButtonControl.js';
|
|
2
|
+
import { html } from '../../lit-all.min.js';
|
|
3
|
+
import '../Icon.js';
|
|
4
|
+
|
|
5
|
+
export default class TcShowAll extends ButtonControl {
|
|
6
|
+
connectedCallback() {
|
|
7
|
+
super.connectedCallback();
|
|
8
|
+
if(!this.hasAttribute('title')) this.title = 'Show All Records';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
handleShowAll() { this.handleAction(); }
|
|
12
|
+
|
|
13
|
+
handleAction() { this.host?.showAllRecords(); }
|
|
14
|
+
|
|
15
|
+
render() { return html`<slot><k-icon name="show"></k-icon></slot>`; }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
customElements.define('kc-tc-show-all', TcShowAll);
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Dropdown.js';
|
|
4
|
+
import '../Icon.js';
|
|
5
|
+
|
|
6
|
+
const DEFAULT_BG_COLORS = '#ffff00,#00ffff,#ff66ff,#99ff99,#ffcc99,#ff9999,#cccccc,#ffffff,#ffffcc,#ccffff,#ffccff,#ccffcc';
|
|
7
|
+
|
|
8
|
+
export default class TextBackgroundColor extends Control {
|
|
9
|
+
static requires = ['setTextBackgroundColor'];
|
|
10
|
+
static hostMode = 'visual';
|
|
11
|
+
|
|
12
|
+
static properties = {
|
|
13
|
+
...Control.properties,
|
|
14
|
+
colors: { type: String },
|
|
15
|
+
disableRemove: { type: Boolean, attribute: 'disable-remove' },
|
|
16
|
+
disablePicker: { type: Boolean, attribute: 'disable-picker' }
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
constructor() {
|
|
20
|
+
super();
|
|
21
|
+
this.colors = DEFAULT_BG_COLORS;
|
|
22
|
+
this.disableRemove = false;
|
|
23
|
+
this.disablePicker = false;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
get opened() { return this.shadowRoot?.querySelector('k-dropdown')?.opened ?? false; }
|
|
27
|
+
set opened(v) { const dd = this.shadowRoot?.querySelector('k-dropdown'); if(dd) dd.opened = v; }
|
|
28
|
+
|
|
29
|
+
handleRemove = () => {
|
|
30
|
+
this.host?.removeTextBackgroundColor?.();
|
|
31
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
handleSwatch = (e) => {
|
|
35
|
+
const bg = e.target.style.backgroundColor;
|
|
36
|
+
if(!bg) return;
|
|
37
|
+
const rgb = bg.match(/\d+/g);
|
|
38
|
+
const hex = rgb ? '#' + rgb.map(x => parseInt(x).toString(16).padStart(2, '0')).join('') : bg;
|
|
39
|
+
this.host?.setTextBackgroundColor?.(hex);
|
|
40
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
handlePicker = (e) => {
|
|
44
|
+
this.host?.setTextBackgroundColor?.(e.target.value);
|
|
45
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
render() {
|
|
49
|
+
const arr = this.colors.split(',').map(c => c.trim()).filter(Boolean);
|
|
50
|
+
return html`
|
|
51
|
+
<k-dropdown>
|
|
52
|
+
<button slot="trigger" class="trigger" title="Highlight Color">
|
|
53
|
+
<k-icon name="format_color_fill"></k-icon>
|
|
54
|
+
</button>
|
|
55
|
+
<div class="content">
|
|
56
|
+
${this.disableRemove ? '' : html`<button class="remove" @click=${this.handleRemove}>Remove Color</button>`}
|
|
57
|
+
<div class="swatches">
|
|
58
|
+
${arr.map(c => html`<button class="swatch" style="background-color:${c}" @click=${this.handleSwatch}></button>`)}
|
|
59
|
+
</div>
|
|
60
|
+
${this.disablePicker ? '' : html`
|
|
61
|
+
<div class="picker"><label>Custom:</label><input type="color" @input=${this.handlePicker} /></div>
|
|
62
|
+
`}
|
|
63
|
+
</div>
|
|
64
|
+
</k-dropdown>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static styles = [
|
|
69
|
+
Control.styles,
|
|
70
|
+
css`
|
|
71
|
+
:host { border: 1px solid var(--c_border); border-radius: var(--radius); margin: var(--spacer_q); }
|
|
72
|
+
.trigger { min-width: 2.5rem; min-height: 2.5rem; background: transparent; border: none; cursor: pointer; }
|
|
73
|
+
.content { padding: 8px; min-width: 200px; }
|
|
74
|
+
.remove { width: 100%; padding: 8px; margin-bottom: 8px; border: 1px solid var(--c_border); background: transparent; cursor: pointer; border-radius: var(--radius); }
|
|
75
|
+
.swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
|
|
76
|
+
.swatch { width: 32px; height: 32px; border: 1px solid var(--c_border); cursor: pointer; border-radius: 4px; }
|
|
77
|
+
.swatch:hover { box-shadow: 0 0 4px rgba(0,122,204,0.3); }
|
|
78
|
+
.picker { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
|
|
79
|
+
.picker input { flex: 1; height: 32px; border: 1px solid var(--c_border); border-radius: 4px; cursor: pointer; }
|
|
80
|
+
`
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
customElements.define('kc-text-background-color', TextBackgroundColor);
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import Control from './Control.js';
|
|
2
|
+
import { html, css } from '../../lit-all.min.js';
|
|
3
|
+
import '../Dropdown.js';
|
|
4
|
+
import '../Icon.js';
|
|
5
|
+
|
|
6
|
+
const DEFAULT_TEXT_COLORS = '#000000,#e60000,#ff9900,#ffff00,#008a00,#0066cc,#9933ff,#ffffff,#facccc,#ffebcc,#ffffcc,#cce8cc,#cce0f5,#ebd6ff';
|
|
7
|
+
|
|
8
|
+
export default class TextColor extends Control {
|
|
9
|
+
static requires = ['setTextColor'];
|
|
10
|
+
static hostMode = 'visual';
|
|
11
|
+
|
|
12
|
+
static properties = {
|
|
13
|
+
...Control.properties,
|
|
14
|
+
colors: { type: String },
|
|
15
|
+
disableRemove: { type: Boolean, attribute: 'disable-remove' },
|
|
16
|
+
disablePicker: { type: Boolean, attribute: 'disable-picker' }
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
constructor() {
|
|
20
|
+
super();
|
|
21
|
+
this.colors = DEFAULT_TEXT_COLORS;
|
|
22
|
+
this.disableRemove = false;
|
|
23
|
+
this.disablePicker = false;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
get opened() { return this.shadowRoot?.querySelector('k-dropdown')?.opened ?? false; }
|
|
27
|
+
set opened(v) { const dd = this.shadowRoot?.querySelector('k-dropdown'); if(dd) dd.opened = v; }
|
|
28
|
+
|
|
29
|
+
handleRemove = () => {
|
|
30
|
+
this.host?.removeTextColor?.();
|
|
31
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
handleSwatch = (e) => {
|
|
35
|
+
const bg = e.target.style.backgroundColor;
|
|
36
|
+
if(!bg) return;
|
|
37
|
+
const rgb = bg.match(/\d+/g);
|
|
38
|
+
const hex = rgb ? '#' + rgb.map(x => parseInt(x).toString(16).padStart(2, '0')).join('') : bg;
|
|
39
|
+
this.host?.setTextColor?.(hex);
|
|
40
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
handlePicker = (e) => {
|
|
44
|
+
this.host?.setTextColor?.(e.target.value);
|
|
45
|
+
this.shadowRoot.querySelector('k-dropdown')?.close();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
render() {
|
|
49
|
+
const arr = this.colors.split(',').map(c => c.trim()).filter(Boolean);
|
|
50
|
+
return html`
|
|
51
|
+
<k-dropdown>
|
|
52
|
+
<button slot="trigger" class="trigger" title="Text Color">
|
|
53
|
+
<k-icon name="format_color_text"></k-icon>
|
|
54
|
+
</button>
|
|
55
|
+
<div class="content">
|
|
56
|
+
${this.disableRemove ? '' : html`<button class="remove" @click=${this.handleRemove}>Remove Color</button>`}
|
|
57
|
+
<div class="swatches">
|
|
58
|
+
${arr.map(c => html`<button class="swatch" style="background-color:${c}" @click=${this.handleSwatch}></button>`)}
|
|
59
|
+
</div>
|
|
60
|
+
${this.disablePicker ? '' : html`
|
|
61
|
+
<div class="picker"><label>Custom:</label><input type="color" @input=${this.handlePicker} /></div>
|
|
62
|
+
`}
|
|
63
|
+
</div>
|
|
64
|
+
</k-dropdown>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static styles = [
|
|
69
|
+
Control.styles,
|
|
70
|
+
css`
|
|
71
|
+
:host { border: 1px solid var(--c_border); border-radius: var(--radius); margin: var(--spacer_q); }
|
|
72
|
+
.trigger { min-width: 2.5rem; min-height: 2.5rem; background: transparent; border: none; cursor: pointer; }
|
|
73
|
+
.content { padding: 8px; min-width: 200px; }
|
|
74
|
+
.remove { width: 100%; padding: 8px; margin-bottom: 8px; border: 1px solid var(--c_border); background: transparent; cursor: pointer; border-radius: var(--radius); }
|
|
75
|
+
.swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
|
|
76
|
+
.swatch { width: 32px; height: 32px; border: 1px solid var(--c_border); cursor: pointer; border-radius: 4px; }
|
|
77
|
+
.swatch:hover { box-shadow: 0 0 4px rgba(0,122,204,0.3); }
|
|
78
|
+
.picker { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
|
|
79
|
+
.picker input { flex: 1; height: 32px; border: 1px solid var(--c_border); border-radius: 4px; cursor: pointer; }
|
|
80
|
+
`
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
customElements.define('kc-text-color', TextColor);
|
|
@@ -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 Underline extends ButtonControl {
|
|
6
|
+
static requires = ['underline'];
|
|
7
|
+
static hostMode = 'visual';
|
|
8
|
+
|
|
9
|
+
connectedCallback() {
|
|
10
|
+
super.connectedCallback();
|
|
11
|
+
if(!this.hasAttribute('title')) this.title = 'Underline';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
handleAction() { this.host?.underline?.(); }
|
|
15
|
+
|
|
16
|
+
render() { return html`<slot><k-icon name="format_underlined"></k-icon></slot>`; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
customElements.define('kc-underline', Underline);
|