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.
Files changed (578) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/components/Chat.js +10 -10
  3. package/dist/components/CodeEditor.js +23 -24
  4. package/dist/components/ControlGroup.js +17 -0
  5. package/dist/components/HtmlEditor.js +105 -106
  6. package/dist/components/MarkdownEditor.js +49 -49
  7. package/dist/components/Pagination.js +11 -11
  8. package/dist/components/Table.js +1 -1
  9. package/dist/components/controls/AlignCenter.js +1 -0
  10. package/dist/components/controls/AlignJustify.js +1 -0
  11. package/dist/components/controls/AlignLeft.js +1 -0
  12. package/dist/components/controls/AlignRight.js +1 -0
  13. package/dist/components/controls/Bold.js +1 -0
  14. package/dist/components/controls/BulletList.js +1 -0
  15. package/dist/components/controls/ButtonControl.js +33 -0
  16. package/dist/components/controls/CharacterCount.js +4 -0
  17. package/dist/components/controls/ClearFormatting.js +1 -0
  18. package/dist/components/controls/CodeBlock.js +1 -0
  19. package/dist/components/controls/Control.js +12 -0
  20. package/dist/components/controls/CopyCode.js +1 -0
  21. package/dist/components/controls/CreateLink.js +1 -0
  22. package/dist/components/controls/EditorTheme.js +30 -0
  23. package/dist/components/controls/FindReplace.js +1 -0
  24. package/dist/components/controls/FoldAll.js +1 -0
  25. package/dist/components/controls/FontSize.js +8 -0
  26. package/dist/components/controls/FontSizeDecrease.js +1 -0
  27. package/dist/components/controls/FontSizeIncrease.js +1 -0
  28. package/dist/components/controls/FormatBlock.js +8 -0
  29. package/dist/components/controls/FormatCode.js +1 -0
  30. package/dist/components/controls/Fullscreen.js +1 -0
  31. package/dist/components/controls/InlineCode.js +1 -0
  32. package/dist/components/controls/InsertTable.js +1 -0
  33. package/dist/components/controls/Italic.js +1 -0
  34. package/dist/components/controls/Language.js +21 -0
  35. package/dist/components/controls/MdImage.js +23 -0
  36. package/dist/components/controls/MdLink.js +1 -0
  37. package/dist/components/controls/MdSpeechToText.js +10 -0
  38. package/dist/components/controls/MdTable.js +19 -0
  39. package/dist/components/controls/Menu.js +51 -0
  40. package/dist/components/controls/Minimap.js +1 -0
  41. package/dist/components/controls/Mode.js +1 -0
  42. package/dist/components/controls/NumberList.js +1 -0
  43. package/dist/components/controls/PgCount.js +1 -0
  44. package/dist/components/controls/PgFirst.js +1 -0
  45. package/dist/components/controls/PgGotoPage.js +15 -0
  46. package/dist/components/controls/PgItemsPerPage.js +12 -0
  47. package/dist/components/controls/PgLast.js +1 -0
  48. package/dist/components/controls/PgNext.js +1 -0
  49. package/dist/components/controls/PgPageInfo.js +3 -0
  50. package/dist/components/controls/PgPrev.js +1 -0
  51. package/dist/components/controls/Quote.js +1 -0
  52. package/dist/components/controls/Redo.js +1 -0
  53. package/dist/components/{htmlEditorControls/ControlSpacer.js → controls/Spacer.js} +5 -5
  54. package/dist/components/controls/Strikethrough.js +1 -0
  55. package/dist/components/controls/TcDeleteRecord.js +1 -0
  56. package/dist/components/controls/TcDeleteSelected.js +1 -0
  57. package/dist/components/controls/TcEdit.js +12 -0
  58. package/dist/components/controls/TcExportCsv.js +3 -0
  59. package/dist/components/controls/TcExportJson.js +3 -0
  60. package/dist/components/controls/TcFieldSortHide.js +21 -0
  61. package/dist/components/controls/TcFilters.js +34 -0
  62. package/dist/components/controls/TcFirstPage.js +1 -0
  63. package/dist/components/controls/TcHiddenCount.js +1 -0
  64. package/dist/components/controls/TcHide.js +1 -0
  65. package/dist/components/controls/TcLastPage.js +1 -0
  66. package/dist/components/controls/TcNextPage.js +1 -0
  67. package/dist/components/controls/TcPageSelect.js +9 -0
  68. package/dist/components/controls/TcPageSize.js +5 -0
  69. package/dist/components/controls/TcPrevPage.js +1 -0
  70. package/dist/components/controls/TcSearch.js +1 -0
  71. package/dist/components/controls/TcShowAll.js +1 -0
  72. package/dist/components/controls/TextBackgroundColor.js +26 -0
  73. package/dist/components/controls/TextColor.js +26 -0
  74. package/dist/components/controls/Underline.js +1 -0
  75. package/dist/components/controls/Undo.js +1 -0
  76. package/dist/components/controls/WordCount.js +4 -0
  77. package/dist/components/controls/WordWrap.js +1 -0
  78. package/docs/components/code-editor.html +69 -48
  79. package/docs/components/html-editor.html +70 -69
  80. package/docs/components/markdown-editor.html +59 -78
  81. package/docs/components/pagination.html +51 -51
  82. package/docs/components/tableControls.html +5 -5
  83. package/docs/components/tableCustomFields.html +3 -3
  84. package/docs/components/tableFetchRecords.html +13 -13
  85. package/docs/components/tableFieldSortHide.html +4 -4
  86. package/docs/components/tablePagination.html +13 -13
  87. package/docs/components/tablePlaceholder.html +3 -3
  88. package/docs/components/tableRecordEditing.html +4 -4
  89. package/docs/components/tableRecordFiltering.html +5 -5
  90. package/docs/components/tableRecordHiding.html +7 -7
  91. package/docs/components/tableRecordSearching.html +3 -3
  92. package/docs/components/tableRowControls.html +6 -6
  93. package/docs/components/tableServerSync.html +7 -7
  94. package/docs/src/components/Chat.js +10 -10
  95. package/docs/src/components/CodeEditor.js +23 -24
  96. package/docs/src/components/ControlGroup.js +17 -0
  97. package/docs/src/components/HtmlEditor.js +105 -106
  98. package/docs/src/components/MarkdownEditor.js +49 -49
  99. package/docs/src/components/Pagination.js +11 -11
  100. package/docs/src/components/Table.js +1 -1
  101. package/docs/src/components/controls/AlignCenter.js +1 -0
  102. package/docs/src/components/controls/AlignJustify.js +1 -0
  103. package/docs/src/components/controls/AlignLeft.js +1 -0
  104. package/docs/src/components/controls/AlignRight.js +1 -0
  105. package/docs/src/components/controls/Bold.js +1 -0
  106. package/docs/src/components/controls/BulletList.js +1 -0
  107. package/docs/src/components/controls/ButtonControl.js +33 -0
  108. package/docs/src/components/controls/CharacterCount.js +4 -0
  109. package/docs/src/components/controls/ClearFormatting.js +1 -0
  110. package/docs/src/components/controls/CodeBlock.js +1 -0
  111. package/docs/src/components/controls/Control.js +12 -0
  112. package/docs/src/components/controls/CopyCode.js +1 -0
  113. package/docs/src/components/controls/CreateLink.js +1 -0
  114. package/docs/src/components/controls/EditorTheme.js +30 -0
  115. package/docs/src/components/controls/FindReplace.js +1 -0
  116. package/docs/src/components/controls/FoldAll.js +1 -0
  117. package/docs/src/components/controls/FontSize.js +8 -0
  118. package/docs/src/components/controls/FontSizeDecrease.js +1 -0
  119. package/docs/src/components/controls/FontSizeIncrease.js +1 -0
  120. package/docs/src/components/controls/FormatBlock.js +8 -0
  121. package/docs/src/components/controls/FormatCode.js +1 -0
  122. package/docs/src/components/controls/Fullscreen.js +1 -0
  123. package/docs/src/components/controls/InlineCode.js +1 -0
  124. package/docs/src/components/controls/InsertTable.js +1 -0
  125. package/docs/src/components/controls/Italic.js +1 -0
  126. package/docs/src/components/controls/Language.js +21 -0
  127. package/docs/src/components/controls/MdImage.js +23 -0
  128. package/docs/src/components/controls/MdLink.js +1 -0
  129. package/docs/src/components/controls/MdSpeechToText.js +10 -0
  130. package/docs/src/components/controls/MdTable.js +19 -0
  131. package/docs/src/components/controls/Menu.js +51 -0
  132. package/docs/src/components/controls/Minimap.js +1 -0
  133. package/docs/src/components/controls/Mode.js +1 -0
  134. package/docs/src/components/controls/NumberList.js +1 -0
  135. package/docs/src/components/controls/PgCount.js +1 -0
  136. package/docs/src/components/controls/PgFirst.js +1 -0
  137. package/docs/src/components/controls/PgGotoPage.js +15 -0
  138. package/docs/src/components/controls/PgItemsPerPage.js +12 -0
  139. package/docs/src/components/controls/PgLast.js +1 -0
  140. package/docs/src/components/controls/PgNext.js +1 -0
  141. package/docs/src/components/controls/PgPageInfo.js +3 -0
  142. package/docs/src/components/controls/PgPrev.js +1 -0
  143. package/docs/src/components/controls/Quote.js +1 -0
  144. package/docs/src/components/controls/Redo.js +1 -0
  145. package/docs/src/components/{codeEditorControls/ControlSpacer.js → controls/Spacer.js} +5 -5
  146. package/docs/src/components/controls/Strikethrough.js +1 -0
  147. package/docs/src/components/controls/TcDeleteRecord.js +1 -0
  148. package/docs/src/components/controls/TcDeleteSelected.js +1 -0
  149. package/docs/src/components/controls/TcEdit.js +12 -0
  150. package/docs/src/components/controls/TcExportCsv.js +3 -0
  151. package/docs/src/components/controls/TcExportJson.js +3 -0
  152. package/docs/src/components/controls/TcFieldSortHide.js +21 -0
  153. package/docs/src/components/controls/TcFilters.js +34 -0
  154. package/docs/src/components/controls/TcFirstPage.js +1 -0
  155. package/docs/src/components/controls/TcHiddenCount.js +1 -0
  156. package/docs/src/components/controls/TcHide.js +1 -0
  157. package/docs/src/components/controls/TcLastPage.js +1 -0
  158. package/docs/src/components/controls/TcNextPage.js +1 -0
  159. package/docs/src/components/controls/TcPageSelect.js +9 -0
  160. package/docs/src/components/controls/TcPageSize.js +5 -0
  161. package/docs/src/components/controls/TcPrevPage.js +1 -0
  162. package/docs/src/components/controls/TcSearch.js +1 -0
  163. package/docs/src/components/controls/TcShowAll.js +1 -0
  164. package/docs/src/components/controls/TextBackgroundColor.js +26 -0
  165. package/docs/src/components/controls/TextColor.js +26 -0
  166. package/docs/src/components/controls/Underline.js +1 -0
  167. package/docs/src/components/controls/Undo.js +1 -0
  168. package/docs/src/components/controls/WordCount.js +4 -0
  169. package/docs/src/components/controls/WordWrap.js +1 -0
  170. package/docs-src/components/code-editor.page.html +69 -48
  171. package/docs-src/components/html-editor.page.html +70 -69
  172. package/docs-src/components/markdown-editor.page.html +59 -78
  173. package/docs-src/components/pagination.page.html +51 -51
  174. package/docs-src/components/tableControls.page.html +5 -5
  175. package/docs-src/components/tableCustomFields.page.html +3 -3
  176. package/docs-src/components/tableFetchRecords.page.html +13 -13
  177. package/docs-src/components/tableFieldSortHide.page.html +4 -4
  178. package/docs-src/components/tablePagination.page.html +13 -13
  179. package/docs-src/components/tablePlaceholder.page.html +3 -3
  180. package/docs-src/components/tableRecordEditing.page.html +4 -4
  181. package/docs-src/components/tableRecordFiltering.page.html +5 -5
  182. package/docs-src/components/tableRecordHiding.page.html +7 -7
  183. package/docs-src/components/tableRecordSearching.page.html +3 -3
  184. package/docs-src/components/tableRowControls.page.html +6 -6
  185. package/docs-src/components/tableServerSync.page.html +7 -7
  186. package/llms.txt +37 -3
  187. package/package.json +1 -1
  188. package/src/components/Chat.js +14 -14
  189. package/src/components/CodeEditor.js +26 -32
  190. package/src/components/{codeEditorControls/ControlGroup.js → ControlGroup.js} +10 -6
  191. package/src/components/HtmlEditor.js +107 -125
  192. package/src/components/MarkdownEditor.js +117 -59
  193. package/src/components/Pagination.js +18 -23
  194. package/src/components/Table.js +5 -0
  195. package/src/components/controls/AlignCenter.js +19 -0
  196. package/src/components/controls/AlignJustify.js +19 -0
  197. package/src/components/controls/AlignLeft.js +19 -0
  198. package/src/components/controls/AlignRight.js +19 -0
  199. package/src/components/controls/Bold.js +19 -0
  200. package/src/components/controls/BulletList.js +19 -0
  201. package/src/components/controls/ButtonControl.js +114 -0
  202. package/src/components/controls/CharacterCount.js +48 -0
  203. package/src/components/controls/ClearFormatting.js +19 -0
  204. package/src/components/controls/CodeBlock.js +27 -0
  205. package/src/components/controls/Control.js +176 -0
  206. package/src/components/controls/CopyCode.js +19 -0
  207. package/src/components/controls/CreateLink.js +63 -0
  208. package/src/components/controls/EditorTheme.js +71 -0
  209. package/src/components/controls/FindReplace.js +19 -0
  210. package/src/components/controls/FoldAll.js +35 -0
  211. package/src/components/controls/FontSize.js +31 -0
  212. package/src/components/controls/FontSizeDecrease.js +19 -0
  213. package/src/components/controls/FontSizeIncrease.js +19 -0
  214. package/src/components/controls/FormatBlock.js +64 -0
  215. package/src/components/controls/FormatCode.js +19 -0
  216. package/src/components/controls/Fullscreen.js +42 -0
  217. package/src/components/controls/InlineCode.js +19 -0
  218. package/src/components/controls/InsertTable.js +67 -0
  219. package/src/components/controls/Italic.js +19 -0
  220. package/src/components/controls/Language.js +69 -0
  221. package/src/components/controls/MdImage.js +72 -0
  222. package/src/components/controls/MdLink.js +60 -0
  223. package/src/components/controls/MdSpeechToText.js +46 -0
  224. package/src/components/controls/MdTable.js +79 -0
  225. package/src/components/controls/Menu.js +98 -0
  226. package/src/components/controls/Minimap.js +36 -0
  227. package/src/components/controls/Mode.js +30 -0
  228. package/src/components/controls/NumberList.js +19 -0
  229. package/src/components/controls/PgCount.js +12 -0
  230. package/src/components/controls/PgFirst.js +28 -0
  231. package/src/components/controls/PgGotoPage.js +48 -0
  232. package/src/components/controls/PgItemsPerPage.js +36 -0
  233. package/src/components/controls/PgLast.js +28 -0
  234. package/src/components/controls/PgNext.js +25 -0
  235. package/src/components/controls/PgPageInfo.js +22 -0
  236. package/src/components/controls/PgPrev.js +25 -0
  237. package/src/components/controls/Quote.js +19 -0
  238. package/src/components/controls/Redo.js +18 -0
  239. package/src/components/controls/Spacer.js +15 -0
  240. package/src/components/controls/Strikethrough.js +19 -0
  241. package/src/components/controls/TcDeleteRecord.js +30 -0
  242. package/src/components/controls/TcDeleteSelected.js +16 -0
  243. package/src/components/controls/TcEdit.js +73 -0
  244. package/src/components/controls/TcExportCsv.js +60 -0
  245. package/src/components/controls/TcExportJson.js +46 -0
  246. package/src/components/controls/TcFieldSortHide.js +56 -0
  247. package/src/components/controls/TcFilters.js +86 -0
  248. package/src/components/controls/TcFirstPage.js +24 -0
  249. package/src/components/controls/TcHiddenCount.js +39 -0
  250. package/src/components/controls/TcHide.js +30 -0
  251. package/src/components/controls/TcLastPage.js +24 -0
  252. package/src/components/controls/TcNextPage.js +24 -0
  253. package/src/components/controls/TcPageSelect.js +36 -0
  254. package/src/components/controls/TcPageSize.js +23 -0
  255. package/src/components/controls/TcPrevPage.js +24 -0
  256. package/src/components/controls/TcSearch.js +34 -0
  257. package/src/components/controls/TcShowAll.js +18 -0
  258. package/src/components/controls/TextBackgroundColor.js +84 -0
  259. package/src/components/controls/TextColor.js +84 -0
  260. package/src/components/controls/Underline.js +19 -0
  261. package/src/components/controls/Undo.js +18 -0
  262. package/src/components/controls/WordCount.js +48 -0
  263. package/src/components/controls/WordWrap.js +36 -0
  264. package/tasks/released/0006-create-pagination-component.md +1 -1
  265. package/tasks/released/0007-code-editor-updates/branch-custom-controls.png +0 -0
  266. package/tasks/released/0007-code-editor-updates/branch-toolbar.png +0 -0
  267. package/tasks/released/0007-code-editor-updates/docs-overview.png +0 -0
  268. package/tasks/released/0007-code-editor-updates/form-integration.png +0 -0
  269. package/tasks/released/0007-code-editor-updates/live-builtin-controls.png +0 -0
  270. package/tasks/released/0007-code-editor-updates/live-custom-controls.png +0 -0
  271. package/tasks/released/0007-code-editor-updates/live-toolbar.png +0 -0
  272. package/tasks/released/0007-code-editor-updates/local-builtin-controls.png +0 -0
  273. package/tasks/released/0007-code-editor-updates/local-fixed-builtin.png +0 -0
  274. package/tasks/released/0007-code-editor-updates/theme-selector.png +0 -0
  275. package/tasks/released/0007-code-editor-updates.md +96 -0
  276. package/tests/components/CodeEditor.browser-test.js +0 -42
  277. package/tests/components/HtmlEditor.browser-test.js +0 -88
  278. package/tests/components/MarkdownEditor.browser-test.js +0 -72
  279. package/tests/components/Pagination.browser-test.js +12 -90
  280. package/tests/components/{htmlEditorControls → controls}/Align.browser-test.js +16 -16
  281. package/tests/components/{htmlEditorControls → controls}/Bold.browser-test.js +7 -7
  282. package/tests/components/{htmlEditorControls → controls}/BulletList.browser-test.js +7 -7
  283. package/tests/components/{htmlEditorControls → controls}/CharacterCount.browser-test.js +5 -5
  284. package/tests/components/{htmlEditorControls → controls}/ClearFormatting.browser-test.js +7 -7
  285. package/tests/components/{htmlEditorControls → controls}/CodeBlock.browser-test.js +8 -8
  286. package/tests/components/controls/Control.browser-test.js +147 -0
  287. package/tests/components/{htmlEditorControls → controls}/ControlGroup.browser-test.js +9 -9
  288. package/tests/components/{htmlEditorControls → controls}/ControlSpacer.browser-test.js +4 -4
  289. package/tests/components/{codeEditorControls → controls}/CopyCode.browser-test.js +8 -8
  290. package/tests/components/{htmlEditorControls → controls}/CreateLink.browser-test.js +7 -7
  291. package/tests/components/{htmlEditorControls → controls}/DropdownControl.browser-test.js +8 -8
  292. package/tests/components/{codeEditorControls → controls}/EditorTheme.browser-test.js +4 -4
  293. package/tests/components/{tableControls → controls}/ExportControls.browser-test.js +22 -46
  294. package/tests/components/{tableControls → controls}/FieldSortHide.browser-test.js +14 -26
  295. package/tests/components/{tableControls → controls}/Filters.browser-test.js +15 -27
  296. package/tests/components/{codeEditorControls → controls}/FindReplace.browser-test.js +8 -8
  297. package/tests/components/{codeEditorControls → controls}/FoldAll.browser-test.js +10 -10
  298. package/tests/components/{codeEditorControls → controls}/FontSize.browser-test.js +19 -14
  299. package/tests/components/{htmlEditorControls → controls}/FormatBlock.browser-test.js +9 -9
  300. package/tests/components/{htmlEditorControls → controls}/FormatCode.browser-test.js +17 -18
  301. package/tests/components/{codeEditorControls → controls}/Fullscreen.browser-test.js +11 -32
  302. package/tests/components/{tableControls → controls}/HiddenCount.browser-test.js +4 -4
  303. package/tests/components/{htmlEditorControls → controls}/InlineCode.browser-test.js +7 -7
  304. package/tests/components/{htmlEditorControls → controls}/InsertTable.browser-test.js +7 -7
  305. package/tests/components/{htmlEditorControls → controls}/Italic.browser-test.js +7 -7
  306. package/tests/components/{codeEditorControls → controls}/LanguageSelect.browser-test.js +4 -4
  307. package/tests/components/{codeEditorControls → controls}/Minimap.browser-test.js +8 -8
  308. package/tests/components/{htmlEditorControls → controls}/Mode.browser-test.js +7 -7
  309. package/tests/components/{codeEditorControls → controls}/ModeVisibility.browser-test.js +7 -7
  310. package/tests/components/{htmlEditorControls → controls}/NumberList.browser-test.js +7 -7
  311. package/tests/components/{tableControls → controls}/PaginationControls.browser-test.js +45 -45
  312. package/tests/components/{tableControls → controls}/RecordControls.browser-test.js +24 -60
  313. package/tests/components/{tableControls → controls}/Search.browser-test.js +4 -16
  314. package/tests/components/{htmlEditorControls → controls}/Strikethrough.browser-test.js +7 -7
  315. package/tests/components/{htmlEditorControls → controls}/TextBackgroundColor.browser-test.js +5 -5
  316. package/tests/components/{htmlEditorControls → controls}/TextColor.browser-test.js +5 -5
  317. package/tests/components/{htmlEditorControls → controls}/Underline.browser-test.js +7 -7
  318. package/tests/components/{codeEditorControls → controls}/UndoRedo.browser-test.js +15 -15
  319. package/tests/components/{htmlEditorControls → controls}/WordCount.browser-test.js +5 -5
  320. package/tests/components/{codeEditorControls → controls}/WordWrap.browser-test.js +8 -8
  321. package/dist/components/codeEditorControls/CodeEditorControl.js +0 -17
  322. package/dist/components/codeEditorControls/ControlGroup.js +0 -12
  323. package/dist/components/codeEditorControls/ControlSpacer.js +0 -6
  324. package/dist/components/codeEditorControls/CopyCode.js +0 -9
  325. package/dist/components/codeEditorControls/EditorTheme.js +0 -26
  326. package/dist/components/codeEditorControls/FindReplace.js +0 -7
  327. package/dist/components/codeEditorControls/FoldAll.js +0 -7
  328. package/dist/components/codeEditorControls/FontSize.js +0 -13
  329. package/dist/components/codeEditorControls/FormatCode.js +0 -9
  330. package/dist/components/codeEditorControls/Fullscreen.js +0 -12
  331. package/dist/components/codeEditorControls/LanguageSelect.js +0 -15
  332. package/dist/components/codeEditorControls/Minimap.js +0 -8
  333. package/dist/components/codeEditorControls/Redo.js +0 -7
  334. package/dist/components/codeEditorControls/Undo.js +0 -7
  335. package/dist/components/codeEditorControls/WordWrap.js +0 -8
  336. package/dist/components/htmlEditorControls/AlignCenter.js +0 -12
  337. package/dist/components/htmlEditorControls/AlignJustify.js +0 -12
  338. package/dist/components/htmlEditorControls/AlignLeft.js +0 -12
  339. package/dist/components/htmlEditorControls/AlignRight.js +0 -12
  340. package/dist/components/htmlEditorControls/Bold.js +0 -12
  341. package/dist/components/htmlEditorControls/BulletList.js +0 -12
  342. package/dist/components/htmlEditorControls/CharacterCount.js +0 -18
  343. package/dist/components/htmlEditorControls/ClearFormatting.js +0 -12
  344. package/dist/components/htmlEditorControls/CodeBlock.js +0 -12
  345. package/dist/components/htmlEditorControls/ControlGroup.js +0 -12
  346. package/dist/components/htmlEditorControls/CreateLink.js +0 -15
  347. package/dist/components/htmlEditorControls/DropdownControl.js +0 -57
  348. package/dist/components/htmlEditorControls/FormatBlock.js +0 -12
  349. package/dist/components/htmlEditorControls/FormatCode.js +0 -1
  350. package/dist/components/htmlEditorControls/HtmlEditorControl.js +0 -44
  351. package/dist/components/htmlEditorControls/InlineCode.js +0 -12
  352. package/dist/components/htmlEditorControls/InsertTable.js +0 -15
  353. package/dist/components/htmlEditorControls/Italic.js +0 -12
  354. package/dist/components/htmlEditorControls/Mode.js +0 -9
  355. package/dist/components/htmlEditorControls/NumberList.js +0 -12
  356. package/dist/components/htmlEditorControls/Strikethrough.js +0 -12
  357. package/dist/components/htmlEditorControls/TextBackgroundColor.js +0 -97
  358. package/dist/components/htmlEditorControls/TextColor.js +0 -97
  359. package/dist/components/htmlEditorControls/Underline.js +0 -12
  360. package/dist/components/htmlEditorControls/WordCount.js +0 -18
  361. package/dist/components/markdownEditorControls/Bold.js +0 -11
  362. package/dist/components/markdownEditorControls/BulletList.js +0 -11
  363. package/dist/components/markdownEditorControls/Code.js +0 -11
  364. package/dist/components/markdownEditorControls/FormatBlock.js +0 -30
  365. package/dist/components/markdownEditorControls/Heading.js +0 -11
  366. package/dist/components/markdownEditorControls/Image.js +0 -93
  367. package/dist/components/markdownEditorControls/Italic.js +0 -11
  368. package/dist/components/markdownEditorControls/Link.js +0 -11
  369. package/dist/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
  370. package/dist/components/markdownEditorControls/Menu.js +0 -30
  371. package/dist/components/markdownEditorControls/NumberedList.js +0 -11
  372. package/dist/components/markdownEditorControls/Quote.js +0 -11
  373. package/dist/components/markdownEditorControls/SpeechToText.js +0 -16
  374. package/dist/components/markdownEditorControls/Strikethrough.js +0 -11
  375. package/dist/components/markdownEditorControls/Table.js +0 -80
  376. package/dist/components/paginationControls/FirstPage.js +0 -1
  377. package/dist/components/paginationControls/GotoPage.js +0 -17
  378. package/dist/components/paginationControls/ItemsPerPage.js +0 -15
  379. package/dist/components/paginationControls/LastPage.js +0 -1
  380. package/dist/components/paginationControls/NextPage.js +0 -1
  381. package/dist/components/paginationControls/PageCount.js +0 -1
  382. package/dist/components/paginationControls/PageInfo.js +0 -6
  383. package/dist/components/paginationControls/PaginationButtonControl.js +0 -20
  384. package/dist/components/paginationControls/PaginationControl.js +0 -5
  385. package/dist/components/paginationControls/PrevPage.js +0 -1
  386. package/dist/components/tableControls/DeleteRecord.js +0 -7
  387. package/dist/components/tableControls/DeleteSelected.js +0 -7
  388. package/dist/components/tableControls/Edit.js +0 -18
  389. package/dist/components/tableControls/ExportCSV.js +0 -8
  390. package/dist/components/tableControls/ExportJson.js +0 -8
  391. package/dist/components/tableControls/FieldSortHide.js +0 -25
  392. package/dist/components/tableControls/Filters.js +0 -46
  393. package/dist/components/tableControls/FirstPage.js +0 -9
  394. package/dist/components/tableControls/HiddenCount.js +0 -3
  395. package/dist/components/tableControls/Hide.js +0 -5
  396. package/dist/components/tableControls/LastPage.js +0 -9
  397. package/dist/components/tableControls/NextPage.js +0 -9
  398. package/dist/components/tableControls/PageSelect.js +0 -22
  399. package/dist/components/tableControls/PageSize.js +0 -5
  400. package/dist/components/tableControls/PrevPage.js +0 -9
  401. package/dist/components/tableControls/Search.js +0 -9
  402. package/dist/components/tableControls/ShowAll.js +0 -5
  403. package/dist/components/tableControls/TableControl.js +0 -16
  404. package/docs/src/components/codeEditorControls/CodeEditorControl.js +0 -17
  405. package/docs/src/components/codeEditorControls/ControlGroup.js +0 -12
  406. package/docs/src/components/codeEditorControls/CopyCode.js +0 -9
  407. package/docs/src/components/codeEditorControls/EditorTheme.js +0 -26
  408. package/docs/src/components/codeEditorControls/FindReplace.js +0 -7
  409. package/docs/src/components/codeEditorControls/FoldAll.js +0 -7
  410. package/docs/src/components/codeEditorControls/FontSize.js +0 -13
  411. package/docs/src/components/codeEditorControls/FormatCode.js +0 -9
  412. package/docs/src/components/codeEditorControls/Fullscreen.js +0 -12
  413. package/docs/src/components/codeEditorControls/LanguageSelect.js +0 -15
  414. package/docs/src/components/codeEditorControls/Minimap.js +0 -8
  415. package/docs/src/components/codeEditorControls/Redo.js +0 -7
  416. package/docs/src/components/codeEditorControls/Undo.js +0 -7
  417. package/docs/src/components/codeEditorControls/WordWrap.js +0 -8
  418. package/docs/src/components/htmlEditorControls/AlignCenter.js +0 -12
  419. package/docs/src/components/htmlEditorControls/AlignJustify.js +0 -12
  420. package/docs/src/components/htmlEditorControls/AlignLeft.js +0 -12
  421. package/docs/src/components/htmlEditorControls/AlignRight.js +0 -12
  422. package/docs/src/components/htmlEditorControls/Bold.js +0 -12
  423. package/docs/src/components/htmlEditorControls/BulletList.js +0 -12
  424. package/docs/src/components/htmlEditorControls/CharacterCount.js +0 -18
  425. package/docs/src/components/htmlEditorControls/ClearFormatting.js +0 -12
  426. package/docs/src/components/htmlEditorControls/CodeBlock.js +0 -12
  427. package/docs/src/components/htmlEditorControls/ControlGroup.js +0 -12
  428. package/docs/src/components/htmlEditorControls/ControlSpacer.js +0 -6
  429. package/docs/src/components/htmlEditorControls/CreateLink.js +0 -15
  430. package/docs/src/components/htmlEditorControls/DropdownControl.js +0 -57
  431. package/docs/src/components/htmlEditorControls/FormatBlock.js +0 -12
  432. package/docs/src/components/htmlEditorControls/FormatCode.js +0 -1
  433. package/docs/src/components/htmlEditorControls/HtmlEditorControl.js +0 -44
  434. package/docs/src/components/htmlEditorControls/InlineCode.js +0 -12
  435. package/docs/src/components/htmlEditorControls/InsertTable.js +0 -15
  436. package/docs/src/components/htmlEditorControls/Italic.js +0 -12
  437. package/docs/src/components/htmlEditorControls/Mode.js +0 -9
  438. package/docs/src/components/htmlEditorControls/NumberList.js +0 -12
  439. package/docs/src/components/htmlEditorControls/Strikethrough.js +0 -12
  440. package/docs/src/components/htmlEditorControls/TextBackgroundColor.js +0 -97
  441. package/docs/src/components/htmlEditorControls/TextColor.js +0 -97
  442. package/docs/src/components/htmlEditorControls/Underline.js +0 -12
  443. package/docs/src/components/htmlEditorControls/WordCount.js +0 -18
  444. package/docs/src/components/markdownEditorControls/Bold.js +0 -11
  445. package/docs/src/components/markdownEditorControls/BulletList.js +0 -11
  446. package/docs/src/components/markdownEditorControls/Code.js +0 -11
  447. package/docs/src/components/markdownEditorControls/FormatBlock.js +0 -30
  448. package/docs/src/components/markdownEditorControls/Heading.js +0 -11
  449. package/docs/src/components/markdownEditorControls/Image.js +0 -93
  450. package/docs/src/components/markdownEditorControls/Italic.js +0 -11
  451. package/docs/src/components/markdownEditorControls/Link.js +0 -11
  452. package/docs/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
  453. package/docs/src/components/markdownEditorControls/Menu.js +0 -30
  454. package/docs/src/components/markdownEditorControls/NumberedList.js +0 -11
  455. package/docs/src/components/markdownEditorControls/Quote.js +0 -11
  456. package/docs/src/components/markdownEditorControls/SpeechToText.js +0 -16
  457. package/docs/src/components/markdownEditorControls/Strikethrough.js +0 -11
  458. package/docs/src/components/markdownEditorControls/Table.js +0 -80
  459. package/docs/src/components/paginationControls/FirstPage.js +0 -1
  460. package/docs/src/components/paginationControls/GotoPage.js +0 -17
  461. package/docs/src/components/paginationControls/ItemsPerPage.js +0 -15
  462. package/docs/src/components/paginationControls/LastPage.js +0 -1
  463. package/docs/src/components/paginationControls/NextPage.js +0 -1
  464. package/docs/src/components/paginationControls/PageCount.js +0 -1
  465. package/docs/src/components/paginationControls/PageInfo.js +0 -6
  466. package/docs/src/components/paginationControls/PaginationButtonControl.js +0 -20
  467. package/docs/src/components/paginationControls/PaginationControl.js +0 -5
  468. package/docs/src/components/paginationControls/PrevPage.js +0 -1
  469. package/docs/src/components/tableControls/DeleteRecord.js +0 -7
  470. package/docs/src/components/tableControls/DeleteSelected.js +0 -7
  471. package/docs/src/components/tableControls/Edit.js +0 -18
  472. package/docs/src/components/tableControls/ExportCSV.js +0 -8
  473. package/docs/src/components/tableControls/ExportJson.js +0 -8
  474. package/docs/src/components/tableControls/FieldSortHide.js +0 -25
  475. package/docs/src/components/tableControls/Filters.js +0 -46
  476. package/docs/src/components/tableControls/FirstPage.js +0 -9
  477. package/docs/src/components/tableControls/HiddenCount.js +0 -3
  478. package/docs/src/components/tableControls/Hide.js +0 -5
  479. package/docs/src/components/tableControls/LastPage.js +0 -9
  480. package/docs/src/components/tableControls/NextPage.js +0 -9
  481. package/docs/src/components/tableControls/PageSelect.js +0 -22
  482. package/docs/src/components/tableControls/PageSize.js +0 -5
  483. package/docs/src/components/tableControls/PrevPage.js +0 -9
  484. package/docs/src/components/tableControls/Search.js +0 -9
  485. package/docs/src/components/tableControls/ShowAll.js +0 -5
  486. package/docs/src/components/tableControls/TableControl.js +0 -16
  487. package/src/components/codeEditorControls/CodeEditorControl.js +0 -134
  488. package/src/components/codeEditorControls/ControlSpacer.js +0 -23
  489. package/src/components/codeEditorControls/CopyCode.js +0 -37
  490. package/src/components/codeEditorControls/EditorTheme.js +0 -81
  491. package/src/components/codeEditorControls/FindReplace.js +0 -35
  492. package/src/components/codeEditorControls/FoldAll.js +0 -49
  493. package/src/components/codeEditorControls/FontSize.js +0 -45
  494. package/src/components/codeEditorControls/FormatCode.js +0 -37
  495. package/src/components/codeEditorControls/Fullscreen.js +0 -72
  496. package/src/components/codeEditorControls/LanguageSelect.js +0 -74
  497. package/src/components/codeEditorControls/Minimap.js +0 -60
  498. package/src/components/codeEditorControls/Redo.js +0 -35
  499. package/src/components/codeEditorControls/Undo.js +0 -35
  500. package/src/components/codeEditorControls/WordWrap.js +0 -60
  501. package/src/components/htmlEditorControls/AlignCenter.js +0 -63
  502. package/src/components/htmlEditorControls/AlignJustify.js +0 -63
  503. package/src/components/htmlEditorControls/AlignLeft.js +0 -63
  504. package/src/components/htmlEditorControls/AlignRight.js +0 -63
  505. package/src/components/htmlEditorControls/Bold.js +0 -63
  506. package/src/components/htmlEditorControls/BulletList.js +0 -63
  507. package/src/components/htmlEditorControls/CharacterCount.js +0 -75
  508. package/src/components/htmlEditorControls/ClearFormatting.js +0 -63
  509. package/src/components/htmlEditorControls/CodeBlock.js +0 -64
  510. package/src/components/htmlEditorControls/ControlGroup.js +0 -70
  511. package/src/components/htmlEditorControls/ControlSpacer.js +0 -23
  512. package/src/components/htmlEditorControls/CreateLink.js +0 -115
  513. package/src/components/htmlEditorControls/DropdownControl.js +0 -149
  514. package/src/components/htmlEditorControls/FormatBlock.js +0 -106
  515. package/src/components/htmlEditorControls/FormatCode.js +0 -7
  516. package/src/components/htmlEditorControls/HtmlEditorControl.js +0 -164
  517. package/src/components/htmlEditorControls/InlineCode.js +0 -63
  518. package/src/components/htmlEditorControls/InsertTable.js +0 -126
  519. package/src/components/htmlEditorControls/Italic.js +0 -63
  520. package/src/components/htmlEditorControls/Mode.js +0 -68
  521. package/src/components/htmlEditorControls/NumberList.js +0 -63
  522. package/src/components/htmlEditorControls/Strikethrough.js +0 -63
  523. package/src/components/htmlEditorControls/TextBackgroundColor.js +0 -189
  524. package/src/components/htmlEditorControls/TextColor.js +0 -189
  525. package/src/components/htmlEditorControls/Underline.js +0 -63
  526. package/src/components/htmlEditorControls/WordCount.js +0 -76
  527. package/src/components/markdownEditorControls/Bold.js +0 -30
  528. package/src/components/markdownEditorControls/BulletList.js +0 -30
  529. package/src/components/markdownEditorControls/Code.js +0 -39
  530. package/src/components/markdownEditorControls/FormatBlock.js +0 -102
  531. package/src/components/markdownEditorControls/Heading.js +0 -46
  532. package/src/components/markdownEditorControls/Image.js +0 -250
  533. package/src/components/markdownEditorControls/Italic.js +0 -30
  534. package/src/components/markdownEditorControls/Link.js +0 -74
  535. package/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -158
  536. package/src/components/markdownEditorControls/Menu.js +0 -86
  537. package/src/components/markdownEditorControls/NumberedList.js +0 -69
  538. package/src/components/markdownEditorControls/Quote.js +0 -30
  539. package/src/components/markdownEditorControls/SpeechToText.js +0 -65
  540. package/src/components/markdownEditorControls/Strikethrough.js +0 -35
  541. package/src/components/markdownEditorControls/Table.js +0 -165
  542. package/src/components/paginationControls/FirstPage.js +0 -26
  543. package/src/components/paginationControls/GotoPage.js +0 -56
  544. package/src/components/paginationControls/ItemsPerPage.js +0 -44
  545. package/src/components/paginationControls/LastPage.js +0 -26
  546. package/src/components/paginationControls/NextPage.js +0 -26
  547. package/src/components/paginationControls/PageCount.js +0 -10
  548. package/src/components/paginationControls/PageInfo.js +0 -23
  549. package/src/components/paginationControls/PaginationButtonControl.js +0 -76
  550. package/src/components/paginationControls/PaginationControl.js +0 -43
  551. package/src/components/paginationControls/PrevPage.js +0 -26
  552. package/src/components/tableControls/DeleteRecord.js +0 -29
  553. package/src/components/tableControls/DeleteSelected.js +0 -27
  554. package/src/components/tableControls/Edit.js +0 -86
  555. package/src/components/tableControls/ExportCSV.js +0 -71
  556. package/src/components/tableControls/ExportJson.js +0 -55
  557. package/src/components/tableControls/FieldSortHide.js +0 -76
  558. package/src/components/tableControls/Filters.js +0 -113
  559. package/src/components/tableControls/FirstPage.js +0 -65
  560. package/src/components/tableControls/HiddenCount.js +0 -43
  561. package/src/components/tableControls/Hide.js +0 -34
  562. package/src/components/tableControls/LastPage.js +0 -65
  563. package/src/components/tableControls/NextPage.js +0 -65
  564. package/src/components/tableControls/PageSelect.js +0 -101
  565. package/src/components/tableControls/PageSize.js +0 -68
  566. package/src/components/tableControls/PrevPage.js +0 -65
  567. package/src/components/tableControls/Search.js +0 -56
  568. package/src/components/tableControls/ShowAll.js +0 -34
  569. package/src/components/tableControls/TableControl.js +0 -103
  570. package/tasks/0006-create-pagination-component/screenshot-01-top.png +0 -0
  571. package/tasks/0006-create-pagination-component/screenshot-02-controls.png +0 -0
  572. package/tasks/0006-create-pagination-component/screenshot-03-preconfigured.png +0 -0
  573. package/tasks/0006-create-pagination-component/screenshot-04-live-demo-page1.png +0 -0
  574. package/tasks/0006-create-pagination-component/screenshot-05-live-demo-page2.png +0 -0
  575. package/tasks/0006-create-pagination-component/screenshot-06-live-demo-last-page.png +0 -0
  576. package/tasks/0006-create-pagination-component/screenshot-07-js-reference.png +0 -0
  577. package/tasks/0006-create-pagination-component.md +0 -136
  578. package/tests/components/tableControls/TableControl.browser-test.js +0 -300
@@ -1,65 +0,0 @@
1
- import MarkdownEditorControl from './MarkdownEditorControl.js';
2
- import { html, css } from '../../lit-all.min.js';
3
- import '../SpeechToText.js';
4
-
5
- /*
6
- Speech-to-text control. Reuses the standalone `<k-speech-to-text>`
7
- component (which provides its own mic-button UI and handles the Web
8
- Speech API) and just listens for its `end` event to drop the final
9
- transcript into the editor at the cursor.
10
- */
11
- export default class MarkdownSpeechToText extends MarkdownEditorControl {
12
- static properties = {
13
- ...MarkdownEditorControl.properties,
14
- language: { type: String, reflect: true },
15
- continuous: { type: Boolean, reflect: true }
16
- };
17
-
18
- constructor() {
19
- super();
20
- this.label = 'Speech to text';
21
- this.language = 'en-US';
22
- this.continuous = false;
23
- }
24
-
25
- /*
26
- The trigger button lives inside the embedded `<k-speech-to-text>`,
27
- which handles its own click-to-listen logic. Our base-class
28
- handleClick (which calls command()) is unused; the speech component
29
- drives the lifecycle and we just react to the `end` event.
30
- */
31
- command() {}
32
-
33
- handleEnd = (e) => {
34
- const text = (e.detail?.text || '').trim();
35
- if(!text) return;
36
- // Trailing space so successive recordings don't run together.
37
- this.editor?.replaceSelection(text + ' ', { selectInserted: false });
38
- };
39
-
40
- render() {
41
- return html`
42
- <k-speech-to-text
43
- language=${this.language}
44
- ?continuous=${this.continuous}
45
- @end=${this.handleEnd}
46
- ></k-speech-to-text>
47
- `;
48
- }
49
-
50
- static styles = [
51
- MarkdownEditorControl.styles,
52
- css`
53
- :host {
54
- margin: var(--spacer_q);
55
- }
56
- k-speech-to-text {
57
- /* Shrink the default 2.5rem circular mic button so it sits
58
- comfortably alongside other toolbar controls. */
59
- --btn_size: 2rem;
60
- }
61
- `
62
- ];
63
- }
64
-
65
- customElements.define('k-md-speech-to-text', MarkdownSpeechToText);
@@ -1,35 +0,0 @@
1
- import MarkdownEditorControl from './MarkdownEditorControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- /*
6
- GFM strikethrough — wraps the selection in `~~...~~`. marked renders this
7
- to `<del>` (allowed by sanitizeHtml's default tag set), so it survives
8
- the sanitize pass.
9
- */
10
- export default class MarkdownStrikethrough extends MarkdownEditorControl {
11
- constructor() {
12
- super();
13
- this.label = 'Strikethrough';
14
- }
15
-
16
- command() {
17
- this.wrapSelection('~~', '~~', 'strikethrough');
18
- }
19
-
20
- render() {
21
- return html`
22
- <button
23
- type="button"
24
- class=${this.btnClass}
25
- title=${this.label}
26
- aria-label=${this.label}
27
- @click=${this.handleClick}
28
- >
29
- <k-icon name="format_strikethrough"></k-icon>
30
- </button>
31
- `;
32
- }
33
- }
34
-
35
- customElements.define('k-md-strikethrough', MarkdownStrikethrough);
@@ -1,165 +0,0 @@
1
- import MarkdownEditorControl from './MarkdownEditorControl.js';
2
- import { html, css } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
- import '../Dropdown.js';
5
- import { bound } from '../../utils/number.js';
6
-
7
- /*
8
- Table control. Opens a small dropdown with two number inputs (cols × rows)
9
- and a Create button, then inserts a GFM markdown table with that many
10
- empty cells at the cursor.
11
- */
12
- export default class MarkdownTable extends MarkdownEditorControl {
13
- constructor() {
14
- super();
15
- this.label = 'Table';
16
- }
17
-
18
- /*
19
- The trigger is wired to Dropdown's own click handling, so the
20
- base-class handleClick (which calls command()) would fire on top and
21
- create a feedback loop. command() is a no-op here; the Insert button
22
- inside the dropdown drives insertion.
23
- */
24
- command() {}
25
-
26
- handleDropdownOpened = () => {
27
- requestAnimationFrame(() => {
28
- const cols = this.shadowRoot?.querySelector('.tbl-cols');
29
- if(cols){ cols.value = '3'; cols.select(); }
30
- const rows = this.shadowRoot?.querySelector('.tbl-rows');
31
- if(rows) rows.value = '2';
32
- });
33
- };
34
-
35
- handleFormKeydown = (e) => {
36
- if(e.key === 'Enter'){
37
- e.preventDefault();
38
- this.#submit();
39
- } else if(e.key === 'Escape'){
40
- this.shadowRoot?.querySelector('k-dropdown')?.close();
41
- }
42
- };
43
-
44
- handleInsertClick = () => this.#submit();
45
-
46
- #submit() {
47
- const cols = this.#clamp(this.shadowRoot?.querySelector('.tbl-cols')?.value, 1, 20);
48
- const rows = this.#clamp(this.shadowRoot?.querySelector('.tbl-rows')?.value, 1, 50);
49
- if(!cols || !rows) return;
50
- const editor = this.editor;
51
- if(!editor) return;
52
- editor.replaceSelection(this.#buildTable(cols, rows), { selectInserted: false });
53
- this.shadowRoot?.querySelector('k-dropdown')?.close();
54
- }
55
-
56
- #clamp(raw, min, max) {
57
- const n = parseInt(raw, 10);
58
- if(!Number.isFinite(n)) return 0;
59
- return bound(n, min, max);
60
- }
61
-
62
- #buildTable(cols, rows) {
63
- const headerCells = Array.from({ length: cols }, (_, i) => ` Header ${i + 1} `).join('|');
64
- const separatorCells = Array.from({ length: cols }, () => ' --- ').join('|');
65
- const bodyCells = Array.from({ length: cols }, () => ' ').join('|');
66
- const lines = [
67
- `|${headerCells}|`,
68
- `|${separatorCells}|`,
69
- ...Array.from({ length: rows }, () => `|${bodyCells}|`)
70
- ];
71
- // Surround with newlines so the table starts on its own line and the
72
- // user's cursor lands on a fresh line below it.
73
- return `\n${lines.join('\n')}\n`;
74
- }
75
-
76
- render() {
77
- return html`
78
- <k-dropdown @opened=${this.handleDropdownOpened}>
79
- <button
80
- slot="trigger"
81
- type="button"
82
- class=${this.btnClass}
83
- title=${this.label}
84
- aria-label=${this.label}
85
- >
86
- <k-icon name="table"></k-icon>
87
- </button>
88
- <div class="tbl-form" @keydown=${this.handleFormKeydown}>
89
- <input
90
- class="tbl-cols"
91
- type="number"
92
- min="1"
93
- max="20"
94
- inputmode="numeric"
95
- aria-label="Columns"
96
- value="3"
97
- />
98
- <span class="tbl-x" aria-hidden="true">×</span>
99
- <input
100
- class="tbl-rows"
101
- type="number"
102
- min="1"
103
- max="50"
104
- inputmode="numeric"
105
- aria-label="Rows"
106
- value="2"
107
- />
108
- <button type="button" class="primary" @click=${this.handleInsertClick}>Insert</button>
109
- </div>
110
- </k-dropdown>
111
- `;
112
- }
113
-
114
- static styles = [
115
- MarkdownEditorControl.styles,
116
- css`
117
- .tbl-form {
118
- display: flex;
119
- align-items: center;
120
- gap: 0.4rem;
121
- padding: 0.5rem;
122
- }
123
- .tbl-form input {
124
- width: 2.5rem;
125
- padding: 0.35rem 0.4rem;
126
- border: 1px solid var(--c_border);
127
- border-radius: var(--radius);
128
- font: inherit;
129
- background: var(--c_bg);
130
- color: var(--tc);
131
- text-align: center;
132
- /* Hide the up/down spinner buttons that take up extra width. */
133
- -moz-appearance: textfield;
134
- }
135
- .tbl-form input::-webkit-inner-spin-button,
136
- .tbl-form input::-webkit-outer-spin-button {
137
- -webkit-appearance: none;
138
- margin: 0;
139
- }
140
- .tbl-form input:focus-visible {
141
- outline: none;
142
- box-shadow: var(--focus_shadow);
143
- }
144
- .tbl-x {
145
- color: var(--tc_muted);
146
- font-weight: bold;
147
- }
148
- .tbl-form button.primary {
149
- padding: 0.4rem 0.8rem;
150
- border: 1px solid var(--c_primary);
151
- border-radius: var(--radius);
152
- background: var(--c_primary);
153
- color: white;
154
- cursor: pointer;
155
- font: inherit;
156
- }
157
- .tbl-form button.primary:focus-visible {
158
- outline: none;
159
- box-shadow: var(--focus_shadow);
160
- }
161
- `
162
- ];
163
- }
164
-
165
- customElements.define('k-md-table', MarkdownTable);
@@ -1,26 +0,0 @@
1
- import PaginationButtonControl from './PaginationButtonControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class PaginationFirstPage extends PaginationButtonControl {
6
- connectedCallback() {
7
- super.connectedCallback();
8
- if(!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'First Page');
9
- if(!this.hasAttribute('title')) this.setAttribute('title', 'First Page');
10
- }
11
-
12
- willUpdate(changedProperties) {
13
- super.willUpdate(changedProperties);
14
- const pg = this.pagination;
15
- this.disabled = !pg || pg.page <= 1;
16
- }
17
-
18
- handleAction() { if(this.pagination) this.pagination.page = 1; }
19
-
20
- render() {
21
- return html`<k-icon name="chevron-line" direction="left"></k-icon>`;
22
- }
23
- }
24
-
25
- customElements.define('k-pg-first', PaginationFirstPage);
26
-
@@ -1,56 +0,0 @@
1
- import PaginationControl from './PaginationControl.js';
2
- import { html, css } from '../../lit-all.min.js';
3
- import '../Combobox.js';
4
-
5
- export default class PaginationGotoPage extends PaginationControl {
6
- /*
7
- Event Handlers
8
- */
9
- handleInput = (e) => {
10
- const cb = e.target;
11
- if(this.pagination && cb.value) {
12
- const page = parseInt(cb.value, 10);
13
- if(!isNaN(page) && page > 0) this.pagination.page = page;
14
- }
15
- };
16
-
17
- handleBlur = (e) => {
18
- const pg = this.pagination;
19
- if(pg) {
20
- e.target.value = String(pg.page);
21
- }
22
- };
23
-
24
- /*
25
- Rendering
26
- */
27
- render() {
28
- const pg = this.pagination;
29
- const current = pg?.page ?? 1;
30
- const total = pg?.totalPages ?? 1;
31
- return html`
32
- <k-combobox
33
- .value=${String(current)}
34
- @input=${this.handleInput}
35
- @blur=${this.handleBlur}
36
- placeholder="page"
37
- no-results-message="Invalid Page"
38
- >
39
- ${Array.from({ length: total }, (_, i) => html`
40
- <k-option value=${i + 1}>${i + 1}</k-option>
41
- `)}
42
- </k-combobox>
43
- `;
44
- }
45
-
46
- static styles = [
47
- PaginationControl.styles,
48
- css`
49
- k-combobox {
50
- width: 5rem;
51
- }
52
- `
53
- ];
54
- }
55
-
56
- customElements.define('k-pg-goto-page', PaginationGotoPage);
@@ -1,44 +0,0 @@
1
- import PaginationControl from './PaginationControl.js';
2
- import { html, css } from '../../lit-all.min.js';
3
-
4
- export default class PaginationItemsPerPage extends PaginationControl {
5
- /*
6
- Event Handlers
7
- */
8
- handleChange = (e) => {
9
- const pg = this.pagination;
10
- if(!pg) return;
11
- pg.itemsPerPage = parseInt(e.target.value, 10);
12
- };
13
-
14
- /*
15
- Rendering
16
- */
17
- render() {
18
- const pg = this.pagination;
19
- const current = pg?.itemsPerPage ?? 10;
20
- const options = pg?.pageSizes ?? [5, 10, 25, 50, 100];
21
- return html`
22
- <label>
23
- Items per page:
24
- <select @change=${this.handleChange}>
25
- ${options.map(n => html`<option value=${n} ?selected=${n === current}>${n}</option>`)}
26
- </select>
27
- </label>
28
- `;
29
- }
30
-
31
- static styles = [
32
- PaginationControl.styles,
33
- css`
34
- label {
35
- display: inline-flex;
36
- align-items: center;
37
- gap: var(--spacer_q, 0.25rem);
38
- white-space: nowrap;
39
- }
40
- `
41
- ];
42
- }
43
-
44
- customElements.define('k-pg-items-per-page', PaginationItemsPerPage);
@@ -1,26 +0,0 @@
1
- import PaginationButtonControl from './PaginationButtonControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class PaginationLastPage extends PaginationButtonControl {
6
- connectedCallback() {
7
- super.connectedCallback();
8
- if(!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Last Page');
9
- if(!this.hasAttribute('title')) this.setAttribute('title', 'Last Page');
10
- }
11
-
12
- willUpdate(changedProperties) {
13
- super.willUpdate(changedProperties);
14
- const pg = this.pagination;
15
- this.disabled = !pg || pg.page >= pg.totalPages;
16
- }
17
-
18
- handleAction() { if(this.pagination) this.pagination.page = this.pagination.totalPages; }
19
-
20
- render() {
21
- return html`<k-icon name="chevron-line"></k-icon>`;
22
- }
23
- }
24
-
25
- customElements.define('k-pg-last', PaginationLastPage);
26
-
@@ -1,26 +0,0 @@
1
- import PaginationButtonControl from './PaginationButtonControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class PaginationNextPage extends PaginationButtonControl {
6
- connectedCallback() {
7
- super.connectedCallback();
8
- if(!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Next Page');
9
- if(!this.hasAttribute('title')) this.setAttribute('title', 'Next Page');
10
- }
11
-
12
- willUpdate(changedProperties) {
13
- super.willUpdate(changedProperties);
14
- const pg = this.pagination;
15
- this.disabled = !pg || pg.page >= pg.totalPages;
16
- }
17
-
18
- handleAction() { this.pagination?.nextPage(); }
19
-
20
- render() {
21
- return html`<k-icon name="chevron"></k-icon>`;
22
- }
23
- }
24
-
25
- customElements.define('k-pg-next', PaginationNextPage);
26
-
@@ -1,10 +0,0 @@
1
- import PaginationControl from './PaginationControl.js';
2
- import { html } from '../../lit-all.min.js';
3
-
4
- export default class PaginationPageCount extends PaginationControl {
5
- render() {
6
- return html`<span>${this.pagination?.totalPages ?? 1}</span>`;
7
- }
8
- }
9
-
10
- customElements.define('k-pg-count', PaginationPageCount);
@@ -1,23 +0,0 @@
1
- import PaginationControl from './PaginationControl.js';
2
- import { html, css } from '../../lit-all.min.js';
3
-
4
- export default class PaginationPageInfo extends PaginationControl {
5
- render() {
6
- const pg = this.pagination;
7
- const current = pg?.page ?? 1;
8
- const total = pg?.totalPages ?? 1;
9
- return html`<span class="info">Page ${current} of ${total}</span>`;
10
- }
11
-
12
- static styles = [
13
- PaginationControl.styles,
14
- css`
15
- .info {
16
- padding: 0 var(--spacer_q, 0.25rem);
17
- white-space: nowrap;
18
- }
19
- `
20
- ];
21
- }
22
-
23
- customElements.define('k-pg-page-info', PaginationPageInfo);
@@ -1,76 +0,0 @@
1
- import Button from '../Button.js';
2
- import { css } from '../../lit-all.min.js';
3
-
4
- export default class PaginationButtonControl extends Button {
5
- /*
6
- Lifecycle Callbacks
7
- */
8
- connectedCallback() {
9
- super.connectedCallback();
10
- this.addEventListener('click', this.handleActionClick);
11
- const pg = this.pagination;
12
- if(!pg) return;
13
- this.boundPagination = pg;
14
- this.pageChangeHandler = () => this.requestUpdate();
15
- pg.addEventListener('page-change', this.pageChangeHandler);
16
- this.attrObserver = new MutationObserver(() => this.requestUpdate());
17
- this.attrObserver.observe(pg, { attributes: true, attributeFilter: ['total-items', 'items-per-page', 'page-sizes'] });
18
- }
19
-
20
- disconnectedCallback() {
21
- super.disconnectedCallback();
22
- this.removeEventListener('click', this.handleActionClick);
23
- if(this.boundPagination && this.pageChangeHandler) {
24
- this.boundPagination.removeEventListener('page-change', this.pageChangeHandler);
25
- }
26
- this.attrObserver?.disconnect();
27
- this.boundPagination = null;
28
- this.pageChangeHandler = null;
29
- this.attrObserver = null;
30
- }
31
-
32
- /*
33
- Protected Members
34
- */
35
- get pagination() {
36
- return this.closest('k-pagination')
37
- || (this.getRootNode() instanceof ShadowRoot ? this.getRootNode().host : null);
38
- }
39
-
40
- /*
41
- Public Methods
42
- */
43
- handleAction() {}
44
-
45
- /*
46
- Event Handlers
47
- */
48
- handleActionClick = () => this.handleAction();
49
-
50
- /*
51
- Rendering
52
- */
53
- static styles = [
54
- Button.styles,
55
- css`
56
- :host {
57
- display: inline-flex;
58
- align-items: center;
59
- justify-content: center;
60
- background: transparent;
61
- border: 1px solid var(--c_border);
62
- padding: var(--spacer_h);
63
- color: inherit;
64
- }
65
- :host(:not([disabled]):hover) {
66
- background: oklch(from var(--c_bg__inv) l c h / 0.2);
67
- color: inherit;
68
- }
69
- :host(:not([disabled]):focus),
70
- :host(:not([disabled]):focus-visible) {
71
- box-shadow: var(--focus_shadow);
72
- z-index: 1;
73
- }
74
- `
75
- ];
76
- }
@@ -1,43 +0,0 @@
1
- import ShadowComponent from '../ShadowComponent.js';
2
- import { css } from '../../lit-all.min.js';
3
-
4
- /*
5
- Base class for <k-pagination> control elements. Subclass and override
6
- render() to create custom pagination controls. The pagination component
7
- is located via closest('k-pagination'), or via getRootNode().host when
8
- rendered as slot fallback content inside the shadow root.
9
- */
10
- export default class PaginationControl extends ShadowComponent {
11
- connectedCallback() {
12
- super.connectedCallback();
13
- const pg = this.pagination;
14
- if(!pg) return;
15
- this.boundPagination = pg;
16
- this.pageChangeHandler = () => this.requestUpdate();
17
- pg.addEventListener('page-change', this.pageChangeHandler);
18
- this.attrObserver = new MutationObserver(() => this.requestUpdate());
19
- this.attrObserver.observe(pg, { attributes: true, attributeFilter: ['total-items', 'items-per-page', 'page-sizes'] });
20
- }
21
-
22
- disconnectedCallback() {
23
- super.disconnectedCallback();
24
- if(this.boundPagination && this.pageChangeHandler){
25
- this.boundPagination.removeEventListener('page-change', this.pageChangeHandler);
26
- }
27
- this.attrObserver?.disconnect();
28
- this.boundPagination = null;
29
- this.pageChangeHandler = null;
30
- this.attrObserver = null;
31
- }
32
-
33
- get pagination() {
34
- return this.closest('k-pagination')
35
- || (this.getRootNode() instanceof ShadowRoot ? this.getRootNode().host : null);
36
- }
37
-
38
- static styles = css`
39
- :host {
40
- display: inline-flex;
41
- }
42
- `;
43
- }
@@ -1,26 +0,0 @@
1
- import PaginationButtonControl from './PaginationButtonControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class PaginationPrevPage extends PaginationButtonControl {
6
- connectedCallback() {
7
- super.connectedCallback();
8
- if(!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Previous Page');
9
- if(!this.hasAttribute('title')) this.setAttribute('title', 'Previous Page');
10
- }
11
-
12
- willUpdate(changedProperties) {
13
- super.willUpdate(changedProperties);
14
- const pg = this.pagination;
15
- this.disabled = !pg || pg.page <= 1;
16
- }
17
-
18
- handleAction() { this.pagination?.previousPage(); }
19
-
20
- render() {
21
- return html`<k-icon name="chevron" direction="left"></k-icon>`;
22
- }
23
- }
24
-
25
- customElements.define('k-pg-prev', PaginationPrevPage);
26
-
@@ -1,29 +0,0 @@
1
- import TableControl from './TableControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class DeleteRecord extends TableControl {
6
- /*
7
- Public Methods
8
- */
9
- delete = () => {
10
- if(this.record) {
11
- this.table.deleteRecord(this.record);
12
- }
13
- };
14
-
15
- /*
16
- Rendering
17
- */
18
- render() {
19
- return html`
20
- <button class="no-btn icon-btn" @click="${this.delete}">
21
- <slot>
22
- <k-icon name="delete"></k-icon>
23
- </slot>
24
- </button>
25
- `;
26
- }
27
- }
28
-
29
- customElements.define('k-tc-delete-record', DeleteRecord);
@@ -1,27 +0,0 @@
1
- import TableControl from './TableControl.js';
2
- import { html } from '../../lit-all.min.js';
3
- import '../Icon.js';
4
-
5
- export default class DeleteSelected extends TableControl {
6
- /*
7
- Public Methods
8
- */
9
- deleteSelected = () => {
10
- this.table.deleteSelected();
11
- };
12
-
13
- /*
14
- Rendering
15
- */
16
- render() {
17
- return html`
18
- <button class="no-btn icon-btn" title="Delete Selected" @click="${this.deleteSelected}">
19
- <slot>
20
- <k-icon name="delete_sweep"></k-icon>
21
- </slot>
22
- </button>
23
- `;
24
- }
25
- }
26
-
27
- customElements.define('k-tc-delete-selected', DeleteSelected);