kempo-ui 0.4.20 → 0.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/CHANGELOG.md +18 -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/0007-code-editor-updates/branch-custom-controls.png +0 -0
  265. package/tasks/released/0007-code-editor-updates/branch-toolbar.png +0 -0
  266. package/tasks/released/0007-code-editor-updates/docs-overview.png +0 -0
  267. package/tasks/released/0007-code-editor-updates/form-integration.png +0 -0
  268. package/tasks/released/0007-code-editor-updates/live-builtin-controls.png +0 -0
  269. package/tasks/released/0007-code-editor-updates/live-custom-controls.png +0 -0
  270. package/tasks/released/0007-code-editor-updates/live-toolbar.png +0 -0
  271. package/tasks/released/0007-code-editor-updates/local-builtin-controls.png +0 -0
  272. package/tasks/released/0007-code-editor-updates/local-fixed-builtin.png +0 -0
  273. package/tasks/released/0007-code-editor-updates/theme-selector.png +0 -0
  274. package/tasks/released/0007-code-editor-updates.md +96 -0
  275. package/tests/components/CodeEditor.browser-test.js +0 -42
  276. package/tests/components/HtmlEditor.browser-test.js +0 -88
  277. package/tests/components/MarkdownEditor.browser-test.js +0 -72
  278. package/tests/components/Pagination.browser-test.js +12 -90
  279. package/tests/components/{htmlEditorControls → controls}/Align.browser-test.js +16 -16
  280. package/tests/components/{htmlEditorControls → controls}/Bold.browser-test.js +7 -7
  281. package/tests/components/{htmlEditorControls → controls}/BulletList.browser-test.js +7 -7
  282. package/tests/components/{htmlEditorControls → controls}/CharacterCount.browser-test.js +5 -5
  283. package/tests/components/{htmlEditorControls → controls}/ClearFormatting.browser-test.js +7 -7
  284. package/tests/components/{htmlEditorControls → controls}/CodeBlock.browser-test.js +8 -8
  285. package/tests/components/controls/Control.browser-test.js +147 -0
  286. package/tests/components/{htmlEditorControls → controls}/ControlGroup.browser-test.js +9 -9
  287. package/tests/components/{htmlEditorControls → controls}/ControlSpacer.browser-test.js +4 -4
  288. package/tests/components/{codeEditorControls → controls}/CopyCode.browser-test.js +8 -8
  289. package/tests/components/{htmlEditorControls → controls}/CreateLink.browser-test.js +7 -7
  290. package/tests/components/{htmlEditorControls → controls}/DropdownControl.browser-test.js +8 -8
  291. package/tests/components/{codeEditorControls → controls}/EditorTheme.browser-test.js +4 -4
  292. package/tests/components/{tableControls → controls}/ExportControls.browser-test.js +22 -46
  293. package/tests/components/{tableControls → controls}/FieldSortHide.browser-test.js +14 -26
  294. package/tests/components/{tableControls → controls}/Filters.browser-test.js +15 -27
  295. package/tests/components/{codeEditorControls → controls}/FindReplace.browser-test.js +8 -8
  296. package/tests/components/{codeEditorControls → controls}/FoldAll.browser-test.js +10 -10
  297. package/tests/components/{codeEditorControls → controls}/FontSize.browser-test.js +19 -14
  298. package/tests/components/{htmlEditorControls → controls}/FormatBlock.browser-test.js +9 -9
  299. package/tests/components/{htmlEditorControls → controls}/FormatCode.browser-test.js +17 -18
  300. package/tests/components/{codeEditorControls → controls}/Fullscreen.browser-test.js +11 -32
  301. package/tests/components/{tableControls → controls}/HiddenCount.browser-test.js +4 -4
  302. package/tests/components/{htmlEditorControls → controls}/InlineCode.browser-test.js +7 -7
  303. package/tests/components/{htmlEditorControls → controls}/InsertTable.browser-test.js +7 -7
  304. package/tests/components/{htmlEditorControls → controls}/Italic.browser-test.js +7 -7
  305. package/tests/components/{codeEditorControls → controls}/LanguageSelect.browser-test.js +4 -4
  306. package/tests/components/{codeEditorControls → controls}/Minimap.browser-test.js +8 -8
  307. package/tests/components/{htmlEditorControls → controls}/Mode.browser-test.js +7 -7
  308. package/tests/components/{codeEditorControls → controls}/ModeVisibility.browser-test.js +7 -7
  309. package/tests/components/{htmlEditorControls → controls}/NumberList.browser-test.js +7 -7
  310. package/tests/components/{tableControls → controls}/PaginationControls.browser-test.js +45 -45
  311. package/tests/components/{tableControls → controls}/RecordControls.browser-test.js +24 -60
  312. package/tests/components/{tableControls → controls}/Search.browser-test.js +4 -16
  313. package/tests/components/{htmlEditorControls → controls}/Strikethrough.browser-test.js +7 -7
  314. package/tests/components/{htmlEditorControls → controls}/TextBackgroundColor.browser-test.js +5 -5
  315. package/tests/components/{htmlEditorControls → controls}/TextColor.browser-test.js +5 -5
  316. package/tests/components/{htmlEditorControls → controls}/Underline.browser-test.js +7 -7
  317. package/tests/components/{codeEditorControls → controls}/UndoRedo.browser-test.js +15 -15
  318. package/tests/components/{htmlEditorControls → controls}/WordCount.browser-test.js +5 -5
  319. package/tests/components/{codeEditorControls → controls}/WordWrap.browser-test.js +8 -8
  320. package/dist/components/codeEditorControls/CodeEditorControl.js +0 -17
  321. package/dist/components/codeEditorControls/ControlGroup.js +0 -12
  322. package/dist/components/codeEditorControls/ControlSpacer.js +0 -6
  323. package/dist/components/codeEditorControls/CopyCode.js +0 -9
  324. package/dist/components/codeEditorControls/EditorTheme.js +0 -26
  325. package/dist/components/codeEditorControls/FindReplace.js +0 -7
  326. package/dist/components/codeEditorControls/FoldAll.js +0 -7
  327. package/dist/components/codeEditorControls/FontSize.js +0 -13
  328. package/dist/components/codeEditorControls/FormatCode.js +0 -9
  329. package/dist/components/codeEditorControls/Fullscreen.js +0 -12
  330. package/dist/components/codeEditorControls/LanguageSelect.js +0 -15
  331. package/dist/components/codeEditorControls/Minimap.js +0 -8
  332. package/dist/components/codeEditorControls/Redo.js +0 -7
  333. package/dist/components/codeEditorControls/Undo.js +0 -7
  334. package/dist/components/codeEditorControls/WordWrap.js +0 -8
  335. package/dist/components/htmlEditorControls/AlignCenter.js +0 -12
  336. package/dist/components/htmlEditorControls/AlignJustify.js +0 -12
  337. package/dist/components/htmlEditorControls/AlignLeft.js +0 -12
  338. package/dist/components/htmlEditorControls/AlignRight.js +0 -12
  339. package/dist/components/htmlEditorControls/Bold.js +0 -12
  340. package/dist/components/htmlEditorControls/BulletList.js +0 -12
  341. package/dist/components/htmlEditorControls/CharacterCount.js +0 -18
  342. package/dist/components/htmlEditorControls/ClearFormatting.js +0 -12
  343. package/dist/components/htmlEditorControls/CodeBlock.js +0 -12
  344. package/dist/components/htmlEditorControls/ControlGroup.js +0 -12
  345. package/dist/components/htmlEditorControls/CreateLink.js +0 -15
  346. package/dist/components/htmlEditorControls/DropdownControl.js +0 -57
  347. package/dist/components/htmlEditorControls/FormatBlock.js +0 -12
  348. package/dist/components/htmlEditorControls/FormatCode.js +0 -1
  349. package/dist/components/htmlEditorControls/HtmlEditorControl.js +0 -44
  350. package/dist/components/htmlEditorControls/InlineCode.js +0 -12
  351. package/dist/components/htmlEditorControls/InsertTable.js +0 -15
  352. package/dist/components/htmlEditorControls/Italic.js +0 -12
  353. package/dist/components/htmlEditorControls/Mode.js +0 -9
  354. package/dist/components/htmlEditorControls/NumberList.js +0 -12
  355. package/dist/components/htmlEditorControls/Strikethrough.js +0 -12
  356. package/dist/components/htmlEditorControls/TextBackgroundColor.js +0 -97
  357. package/dist/components/htmlEditorControls/TextColor.js +0 -97
  358. package/dist/components/htmlEditorControls/Underline.js +0 -12
  359. package/dist/components/htmlEditorControls/WordCount.js +0 -18
  360. package/dist/components/markdownEditorControls/Bold.js +0 -11
  361. package/dist/components/markdownEditorControls/BulletList.js +0 -11
  362. package/dist/components/markdownEditorControls/Code.js +0 -11
  363. package/dist/components/markdownEditorControls/FormatBlock.js +0 -30
  364. package/dist/components/markdownEditorControls/Heading.js +0 -11
  365. package/dist/components/markdownEditorControls/Image.js +0 -93
  366. package/dist/components/markdownEditorControls/Italic.js +0 -11
  367. package/dist/components/markdownEditorControls/Link.js +0 -11
  368. package/dist/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
  369. package/dist/components/markdownEditorControls/Menu.js +0 -30
  370. package/dist/components/markdownEditorControls/NumberedList.js +0 -11
  371. package/dist/components/markdownEditorControls/Quote.js +0 -11
  372. package/dist/components/markdownEditorControls/SpeechToText.js +0 -16
  373. package/dist/components/markdownEditorControls/Strikethrough.js +0 -11
  374. package/dist/components/markdownEditorControls/Table.js +0 -80
  375. package/dist/components/paginationControls/FirstPage.js +0 -1
  376. package/dist/components/paginationControls/GotoPage.js +0 -17
  377. package/dist/components/paginationControls/ItemsPerPage.js +0 -15
  378. package/dist/components/paginationControls/LastPage.js +0 -1
  379. package/dist/components/paginationControls/NextPage.js +0 -1
  380. package/dist/components/paginationControls/PageCount.js +0 -1
  381. package/dist/components/paginationControls/PageInfo.js +0 -6
  382. package/dist/components/paginationControls/PaginationButtonControl.js +0 -20
  383. package/dist/components/paginationControls/PaginationControl.js +0 -5
  384. package/dist/components/paginationControls/PrevPage.js +0 -1
  385. package/dist/components/tableControls/DeleteRecord.js +0 -7
  386. package/dist/components/tableControls/DeleteSelected.js +0 -7
  387. package/dist/components/tableControls/Edit.js +0 -18
  388. package/dist/components/tableControls/ExportCSV.js +0 -8
  389. package/dist/components/tableControls/ExportJson.js +0 -8
  390. package/dist/components/tableControls/FieldSortHide.js +0 -25
  391. package/dist/components/tableControls/Filters.js +0 -46
  392. package/dist/components/tableControls/FirstPage.js +0 -9
  393. package/dist/components/tableControls/HiddenCount.js +0 -3
  394. package/dist/components/tableControls/Hide.js +0 -5
  395. package/dist/components/tableControls/LastPage.js +0 -9
  396. package/dist/components/tableControls/NextPage.js +0 -9
  397. package/dist/components/tableControls/PageSelect.js +0 -22
  398. package/dist/components/tableControls/PageSize.js +0 -5
  399. package/dist/components/tableControls/PrevPage.js +0 -9
  400. package/dist/components/tableControls/Search.js +0 -9
  401. package/dist/components/tableControls/ShowAll.js +0 -5
  402. package/dist/components/tableControls/TableControl.js +0 -16
  403. package/docs/src/components/codeEditorControls/CodeEditorControl.js +0 -17
  404. package/docs/src/components/codeEditorControls/ControlGroup.js +0 -12
  405. package/docs/src/components/codeEditorControls/CopyCode.js +0 -9
  406. package/docs/src/components/codeEditorControls/EditorTheme.js +0 -26
  407. package/docs/src/components/codeEditorControls/FindReplace.js +0 -7
  408. package/docs/src/components/codeEditorControls/FoldAll.js +0 -7
  409. package/docs/src/components/codeEditorControls/FontSize.js +0 -13
  410. package/docs/src/components/codeEditorControls/FormatCode.js +0 -9
  411. package/docs/src/components/codeEditorControls/Fullscreen.js +0 -12
  412. package/docs/src/components/codeEditorControls/LanguageSelect.js +0 -15
  413. package/docs/src/components/codeEditorControls/Minimap.js +0 -8
  414. package/docs/src/components/codeEditorControls/Redo.js +0 -7
  415. package/docs/src/components/codeEditorControls/Undo.js +0 -7
  416. package/docs/src/components/codeEditorControls/WordWrap.js +0 -8
  417. package/docs/src/components/htmlEditorControls/AlignCenter.js +0 -12
  418. package/docs/src/components/htmlEditorControls/AlignJustify.js +0 -12
  419. package/docs/src/components/htmlEditorControls/AlignLeft.js +0 -12
  420. package/docs/src/components/htmlEditorControls/AlignRight.js +0 -12
  421. package/docs/src/components/htmlEditorControls/Bold.js +0 -12
  422. package/docs/src/components/htmlEditorControls/BulletList.js +0 -12
  423. package/docs/src/components/htmlEditorControls/CharacterCount.js +0 -18
  424. package/docs/src/components/htmlEditorControls/ClearFormatting.js +0 -12
  425. package/docs/src/components/htmlEditorControls/CodeBlock.js +0 -12
  426. package/docs/src/components/htmlEditorControls/ControlGroup.js +0 -12
  427. package/docs/src/components/htmlEditorControls/ControlSpacer.js +0 -6
  428. package/docs/src/components/htmlEditorControls/CreateLink.js +0 -15
  429. package/docs/src/components/htmlEditorControls/DropdownControl.js +0 -57
  430. package/docs/src/components/htmlEditorControls/FormatBlock.js +0 -12
  431. package/docs/src/components/htmlEditorControls/FormatCode.js +0 -1
  432. package/docs/src/components/htmlEditorControls/HtmlEditorControl.js +0 -44
  433. package/docs/src/components/htmlEditorControls/InlineCode.js +0 -12
  434. package/docs/src/components/htmlEditorControls/InsertTable.js +0 -15
  435. package/docs/src/components/htmlEditorControls/Italic.js +0 -12
  436. package/docs/src/components/htmlEditorControls/Mode.js +0 -9
  437. package/docs/src/components/htmlEditorControls/NumberList.js +0 -12
  438. package/docs/src/components/htmlEditorControls/Strikethrough.js +0 -12
  439. package/docs/src/components/htmlEditorControls/TextBackgroundColor.js +0 -97
  440. package/docs/src/components/htmlEditorControls/TextColor.js +0 -97
  441. package/docs/src/components/htmlEditorControls/Underline.js +0 -12
  442. package/docs/src/components/htmlEditorControls/WordCount.js +0 -18
  443. package/docs/src/components/markdownEditorControls/Bold.js +0 -11
  444. package/docs/src/components/markdownEditorControls/BulletList.js +0 -11
  445. package/docs/src/components/markdownEditorControls/Code.js +0 -11
  446. package/docs/src/components/markdownEditorControls/FormatBlock.js +0 -30
  447. package/docs/src/components/markdownEditorControls/Heading.js +0 -11
  448. package/docs/src/components/markdownEditorControls/Image.js +0 -93
  449. package/docs/src/components/markdownEditorControls/Italic.js +0 -11
  450. package/docs/src/components/markdownEditorControls/Link.js +0 -11
  451. package/docs/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -39
  452. package/docs/src/components/markdownEditorControls/Menu.js +0 -30
  453. package/docs/src/components/markdownEditorControls/NumberedList.js +0 -11
  454. package/docs/src/components/markdownEditorControls/Quote.js +0 -11
  455. package/docs/src/components/markdownEditorControls/SpeechToText.js +0 -16
  456. package/docs/src/components/markdownEditorControls/Strikethrough.js +0 -11
  457. package/docs/src/components/markdownEditorControls/Table.js +0 -80
  458. package/docs/src/components/paginationControls/FirstPage.js +0 -1
  459. package/docs/src/components/paginationControls/GotoPage.js +0 -17
  460. package/docs/src/components/paginationControls/ItemsPerPage.js +0 -15
  461. package/docs/src/components/paginationControls/LastPage.js +0 -1
  462. package/docs/src/components/paginationControls/NextPage.js +0 -1
  463. package/docs/src/components/paginationControls/PageCount.js +0 -1
  464. package/docs/src/components/paginationControls/PageInfo.js +0 -6
  465. package/docs/src/components/paginationControls/PaginationButtonControl.js +0 -20
  466. package/docs/src/components/paginationControls/PaginationControl.js +0 -5
  467. package/docs/src/components/paginationControls/PrevPage.js +0 -1
  468. package/docs/src/components/tableControls/DeleteRecord.js +0 -7
  469. package/docs/src/components/tableControls/DeleteSelected.js +0 -7
  470. package/docs/src/components/tableControls/Edit.js +0 -18
  471. package/docs/src/components/tableControls/ExportCSV.js +0 -8
  472. package/docs/src/components/tableControls/ExportJson.js +0 -8
  473. package/docs/src/components/tableControls/FieldSortHide.js +0 -25
  474. package/docs/src/components/tableControls/Filters.js +0 -46
  475. package/docs/src/components/tableControls/FirstPage.js +0 -9
  476. package/docs/src/components/tableControls/HiddenCount.js +0 -3
  477. package/docs/src/components/tableControls/Hide.js +0 -5
  478. package/docs/src/components/tableControls/LastPage.js +0 -9
  479. package/docs/src/components/tableControls/NextPage.js +0 -9
  480. package/docs/src/components/tableControls/PageSelect.js +0 -22
  481. package/docs/src/components/tableControls/PageSize.js +0 -5
  482. package/docs/src/components/tableControls/PrevPage.js +0 -9
  483. package/docs/src/components/tableControls/Search.js +0 -9
  484. package/docs/src/components/tableControls/ShowAll.js +0 -5
  485. package/docs/src/components/tableControls/TableControl.js +0 -16
  486. package/src/components/codeEditorControls/CodeEditorControl.js +0 -134
  487. package/src/components/codeEditorControls/ControlSpacer.js +0 -23
  488. package/src/components/codeEditorControls/CopyCode.js +0 -37
  489. package/src/components/codeEditorControls/EditorTheme.js +0 -81
  490. package/src/components/codeEditorControls/FindReplace.js +0 -35
  491. package/src/components/codeEditorControls/FoldAll.js +0 -49
  492. package/src/components/codeEditorControls/FontSize.js +0 -45
  493. package/src/components/codeEditorControls/FormatCode.js +0 -37
  494. package/src/components/codeEditorControls/Fullscreen.js +0 -72
  495. package/src/components/codeEditorControls/LanguageSelect.js +0 -74
  496. package/src/components/codeEditorControls/Minimap.js +0 -60
  497. package/src/components/codeEditorControls/Redo.js +0 -35
  498. package/src/components/codeEditorControls/Undo.js +0 -35
  499. package/src/components/codeEditorControls/WordWrap.js +0 -60
  500. package/src/components/htmlEditorControls/AlignCenter.js +0 -63
  501. package/src/components/htmlEditorControls/AlignJustify.js +0 -63
  502. package/src/components/htmlEditorControls/AlignLeft.js +0 -63
  503. package/src/components/htmlEditorControls/AlignRight.js +0 -63
  504. package/src/components/htmlEditorControls/Bold.js +0 -63
  505. package/src/components/htmlEditorControls/BulletList.js +0 -63
  506. package/src/components/htmlEditorControls/CharacterCount.js +0 -75
  507. package/src/components/htmlEditorControls/ClearFormatting.js +0 -63
  508. package/src/components/htmlEditorControls/CodeBlock.js +0 -64
  509. package/src/components/htmlEditorControls/ControlGroup.js +0 -70
  510. package/src/components/htmlEditorControls/ControlSpacer.js +0 -23
  511. package/src/components/htmlEditorControls/CreateLink.js +0 -115
  512. package/src/components/htmlEditorControls/DropdownControl.js +0 -149
  513. package/src/components/htmlEditorControls/FormatBlock.js +0 -106
  514. package/src/components/htmlEditorControls/FormatCode.js +0 -7
  515. package/src/components/htmlEditorControls/HtmlEditorControl.js +0 -164
  516. package/src/components/htmlEditorControls/InlineCode.js +0 -63
  517. package/src/components/htmlEditorControls/InsertTable.js +0 -126
  518. package/src/components/htmlEditorControls/Italic.js +0 -63
  519. package/src/components/htmlEditorControls/Mode.js +0 -68
  520. package/src/components/htmlEditorControls/NumberList.js +0 -63
  521. package/src/components/htmlEditorControls/Strikethrough.js +0 -63
  522. package/src/components/htmlEditorControls/TextBackgroundColor.js +0 -189
  523. package/src/components/htmlEditorControls/TextColor.js +0 -189
  524. package/src/components/htmlEditorControls/Underline.js +0 -63
  525. package/src/components/htmlEditorControls/WordCount.js +0 -76
  526. package/src/components/markdownEditorControls/Bold.js +0 -30
  527. package/src/components/markdownEditorControls/BulletList.js +0 -30
  528. package/src/components/markdownEditorControls/Code.js +0 -39
  529. package/src/components/markdownEditorControls/FormatBlock.js +0 -102
  530. package/src/components/markdownEditorControls/Heading.js +0 -46
  531. package/src/components/markdownEditorControls/Image.js +0 -250
  532. package/src/components/markdownEditorControls/Italic.js +0 -30
  533. package/src/components/markdownEditorControls/Link.js +0 -74
  534. package/src/components/markdownEditorControls/MarkdownEditorControl.js +0 -158
  535. package/src/components/markdownEditorControls/Menu.js +0 -86
  536. package/src/components/markdownEditorControls/NumberedList.js +0 -69
  537. package/src/components/markdownEditorControls/Quote.js +0 -30
  538. package/src/components/markdownEditorControls/SpeechToText.js +0 -65
  539. package/src/components/markdownEditorControls/Strikethrough.js +0 -35
  540. package/src/components/markdownEditorControls/Table.js +0 -165
  541. package/src/components/paginationControls/FirstPage.js +0 -26
  542. package/src/components/paginationControls/GotoPage.js +0 -56
  543. package/src/components/paginationControls/ItemsPerPage.js +0 -44
  544. package/src/components/paginationControls/LastPage.js +0 -26
  545. package/src/components/paginationControls/NextPage.js +0 -26
  546. package/src/components/paginationControls/PageCount.js +0 -10
  547. package/src/components/paginationControls/PageInfo.js +0 -23
  548. package/src/components/paginationControls/PaginationButtonControl.js +0 -76
  549. package/src/components/paginationControls/PaginationControl.js +0 -43
  550. package/src/components/paginationControls/PrevPage.js +0 -26
  551. package/src/components/tableControls/DeleteRecord.js +0 -29
  552. package/src/components/tableControls/DeleteSelected.js +0 -27
  553. package/src/components/tableControls/Edit.js +0 -86
  554. package/src/components/tableControls/ExportCSV.js +0 -71
  555. package/src/components/tableControls/ExportJson.js +0 -55
  556. package/src/components/tableControls/FieldSortHide.js +0 -76
  557. package/src/components/tableControls/Filters.js +0 -113
  558. package/src/components/tableControls/FirstPage.js +0 -65
  559. package/src/components/tableControls/HiddenCount.js +0 -43
  560. package/src/components/tableControls/Hide.js +0 -34
  561. package/src/components/tableControls/LastPage.js +0 -65
  562. package/src/components/tableControls/NextPage.js +0 -65
  563. package/src/components/tableControls/PageSelect.js +0 -101
  564. package/src/components/tableControls/PageSize.js +0 -68
  565. package/src/components/tableControls/PrevPage.js +0 -65
  566. package/src/components/tableControls/Search.js +0 -56
  567. package/src/components/tableControls/ShowAll.js +0 -34
  568. package/src/components/tableControls/TableControl.js +0 -103
  569. package/tests/components/tableControls/TableControl.browser-test.js +0 -300
@@ -1,11 +0,0 @@
1
- import t from"./MarkdownEditorControl.js";import{html as r}from"../../lit-all.min.js";import"../Icon.js";export default class e extends t{constructor(){super(),this.label="Strikethrough"}command(){this.wrapSelection("~~","~~","strikethrough")}render(){return r`
2
- <button
3
- type="button"
4
- class=${this.btnClass}
5
- title=${this.label}
6
- aria-label=${this.label}
7
- @click=${this.handleClick}
8
- >
9
- <k-icon name="format_strikethrough"></k-icon>
10
- </button>
11
- `}}customElements.define("k-md-strikethrough",e);
@@ -1,80 +0,0 @@
1
- import t from"./MarkdownEditorControl.js";import{html as e,css as r}from"../../lit-all.min.js";import"../Icon.js";import"../Dropdown.js";import{bound as o}from"../../utils/number.js";export default class n extends t{constructor(){super(),this.label="Table"}command(){}handleDropdownOpened=()=>{requestAnimationFrame(()=>{const t=this.shadowRoot?.querySelector(".tbl-cols");t&&(t.value="3",t.select());const e=this.shadowRoot?.querySelector(".tbl-rows");e&&(e.value="2")})};handleFormKeydown=t=>{"Enter"===t.key?(t.preventDefault(),this.#t()):"Escape"===t.key&&this.shadowRoot?.querySelector("k-dropdown")?.close()};handleInsertClick=()=>this.#t();#t(){const t=this.#e(this.shadowRoot?.querySelector(".tbl-cols")?.value,1,20),e=this.#e(this.shadowRoot?.querySelector(".tbl-rows")?.value,1,50);if(!t||!e)return;const r=this.editor;r&&(r.replaceSelection(this.#r(t,e),{selectInserted:!1}),this.shadowRoot?.querySelector("k-dropdown")?.close())}#e(t,e,r){const n=parseInt(t,10);return Number.isFinite(n)?o(n,e,r):0}#r(t,e){const r=Array.from({length:t},(t,e)=>` Header ${e+1} `).join("|"),o=Array.from({length:t},()=>" --- ").join("|"),n=Array.from({length:t},()=>" ").join("|");return`\n${[`|${r}|`,`|${o}|`,...Array.from({length:e},()=>`|${n}|`)].join("\n")}\n`}render(){return e`
2
- <k-dropdown @opened=${this.handleDropdownOpened}>
3
- <button
4
- slot="trigger"
5
- type="button"
6
- class=${this.btnClass}
7
- title=${this.label}
8
- aria-label=${this.label}
9
- >
10
- <k-icon name="table"></k-icon>
11
- </button>
12
- <div class="tbl-form" @keydown=${this.handleFormKeydown}>
13
- <input
14
- class="tbl-cols"
15
- type="number"
16
- min="1"
17
- max="20"
18
- inputmode="numeric"
19
- aria-label="Columns"
20
- value="3"
21
- />
22
- <span class="tbl-x" aria-hidden="true">×</span>
23
- <input
24
- class="tbl-rows"
25
- type="number"
26
- min="1"
27
- max="50"
28
- inputmode="numeric"
29
- aria-label="Rows"
30
- value="2"
31
- />
32
- <button type="button" class="primary" @click=${this.handleInsertClick}>Insert</button>
33
- </div>
34
- </k-dropdown>
35
- `}static styles=[t.styles,r`
36
- .tbl-form {
37
- display: flex;
38
- align-items: center;
39
- gap: 0.4rem;
40
- padding: 0.5rem;
41
- }
42
- .tbl-form input {
43
- width: 2.5rem;
44
- padding: 0.35rem 0.4rem;
45
- border: 1px solid var(--c_border);
46
- border-radius: var(--radius);
47
- font: inherit;
48
- background: var(--c_bg);
49
- color: var(--tc);
50
- text-align: center;
51
- /* Hide the up/down spinner buttons that take up extra width. */
52
- -moz-appearance: textfield;
53
- }
54
- .tbl-form input::-webkit-inner-spin-button,
55
- .tbl-form input::-webkit-outer-spin-button {
56
- -webkit-appearance: none;
57
- margin: 0;
58
- }
59
- .tbl-form input:focus-visible {
60
- outline: none;
61
- box-shadow: var(--focus_shadow);
62
- }
63
- .tbl-x {
64
- color: var(--tc_muted);
65
- font-weight: bold;
66
- }
67
- .tbl-form button.primary {
68
- padding: 0.4rem 0.8rem;
69
- border: 1px solid var(--c_primary);
70
- border-radius: var(--radius);
71
- background: var(--c_primary);
72
- color: white;
73
- cursor: pointer;
74
- font: inherit;
75
- }
76
- .tbl-form button.primary:focus-visible {
77
- outline: none;
78
- box-shadow: var(--focus_shadow);
79
- }
80
- `]}customElements.define("k-md-table",n);
@@ -1 +0,0 @@
1
- import t from"./PaginationButtonControl.js";import{html as i}from"../../lit-all.min.js";import"../Icon.js";export default class e extends t{connectedCallback(){super.connectedCallback(),this.hasAttribute("aria-label")||this.setAttribute("aria-label","First Page"),this.hasAttribute("title")||this.setAttribute("title","First Page")}willUpdate(t){super.willUpdate(t);const i=this.pagination;this.disabled=!i||i.page<=1}handleAction(){this.pagination&&(this.pagination.page=1)}render(){return i`<k-icon name="chevron-line" direction="left"></k-icon>`}}customElements.define("k-pg-first",e);
@@ -1,17 +0,0 @@
1
- import t from"./PaginationControl.js";import{html as o,css as a}from"../../lit-all.min.js";import"../Combobox.js";export default class e extends t{handleInput=t=>{const o=t.target;if(this.pagination&&o.value){const t=parseInt(o.value,10);!isNaN(t)&&t>0&&(this.pagination.page=t)}};handleBlur=t=>{const o=this.pagination;o&&(t.target.value=String(o.page))};render(){const t=this.pagination,a=t?.page??1,e=t?.totalPages??1;return o`
2
- <k-combobox
3
- .value=${String(a)}
4
- @input=${this.handleInput}
5
- @blur=${this.handleBlur}
6
- placeholder="page"
7
- no-results-message="Invalid Page"
8
- >
9
- ${Array.from({length:e},(t,a)=>o`
10
- <k-option value=${a+1}>${a+1}</k-option>
11
- `)}
12
- </k-combobox>
13
- `}static styles=[t.styles,a`
14
- k-combobox {
15
- width: 5rem;
16
- }
17
- `]}customElements.define("k-pg-goto-page",e);
@@ -1,15 +0,0 @@
1
- import e from"./PaginationControl.js";import{html as t,css as a}from"../../lit-all.min.js";export default class s extends e{handleChange=e=>{const t=this.pagination;t&&(t.itemsPerPage=parseInt(e.target.value,10))};render(){const e=this.pagination,a=e?.itemsPerPage??10,s=e?.pageSizes??[5,10,25,50,100];return t`
2
- <label>
3
- Items per page:
4
- <select @change=${this.handleChange}>
5
- ${s.map(e=>t`<option value=${e} ?selected=${e===a}>${e}</option>`)}
6
- </select>
7
- </label>
8
- `}static styles=[e.styles,a`
9
- label {
10
- display: inline-flex;
11
- align-items: center;
12
- gap: var(--spacer_q, 0.25rem);
13
- white-space: nowrap;
14
- }
15
- `]}customElements.define("k-pg-items-per-page",s);
@@ -1 +0,0 @@
1
- import t from"./PaginationButtonControl.js";import{html as a}from"../../lit-all.min.js";import"../Icon.js";export default class e extends t{connectedCallback(){super.connectedCallback(),this.hasAttribute("aria-label")||this.setAttribute("aria-label","Last Page"),this.hasAttribute("title")||this.setAttribute("title","Last Page")}willUpdate(t){super.willUpdate(t);const a=this.pagination;this.disabled=!a||a.page>=a.totalPages}handleAction(){this.pagination&&(this.pagination.page=this.pagination.totalPages)}render(){return a`<k-icon name="chevron-line"></k-icon>`}}customElements.define("k-pg-last",e);
@@ -1 +0,0 @@
1
- import t from"./PaginationButtonControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class i extends t{connectedCallback(){super.connectedCallback(),this.hasAttribute("aria-label")||this.setAttribute("aria-label","Next Page"),this.hasAttribute("title")||this.setAttribute("title","Next Page")}willUpdate(t){super.willUpdate(t);const e=this.pagination;this.disabled=!e||e.page>=e.totalPages}handleAction(){this.pagination?.nextPage()}render(){return e`<k-icon name="chevron"></k-icon>`}}customElements.define("k-pg-next",i);
@@ -1 +0,0 @@
1
- import t from"./PaginationControl.js";import{html as n}from"../../lit-all.min.js";export default class e extends t{render(){return n`<span>${this.pagination?.totalPages??1}</span>`}}customElements.define("k-pg-count",e);
@@ -1,6 +0,0 @@
1
- import a from"./PaginationControl.js";import{html as e,css as s}from"../../lit-all.min.js";export default class t extends a{render(){const a=this.pagination;return e`<span class="info">Page ${a?.page??1} of ${a?.totalPages??1}</span>`}static styles=[a.styles,s`
2
- .info {
3
- padding: 0 var(--spacer_q, 0.25rem);
4
- white-space: nowrap;
5
- }
6
- `]}customElements.define("k-pg-page-info",t);
@@ -1,20 +0,0 @@
1
- import t from"../Button.js";import{css as e}from"../../lit-all.min.js";export default class n extends t{connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleActionClick);const t=this.pagination;t&&(this.boundPagination=t,this.pageChangeHandler=()=>this.requestUpdate(),t.addEventListener("page-change",this.pageChangeHandler),this.attrObserver=new MutationObserver(()=>this.requestUpdate()),this.attrObserver.observe(t,{attributes:!0,attributeFilter:["total-items","items-per-page","page-sizes"]}))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleActionClick),this.boundPagination&&this.pageChangeHandler&&this.boundPagination.removeEventListener("page-change",this.pageChangeHandler),this.attrObserver?.disconnect(),this.boundPagination=null,this.pageChangeHandler=null,this.attrObserver=null}get pagination(){return this.closest("k-pagination")||(this.getRootNode()instanceof ShadowRoot?this.getRootNode().host:null)}handleAction(){}handleActionClick=()=>this.handleAction();static styles=[t.styles,e`
2
- :host {
3
- display: inline-flex;
4
- align-items: center;
5
- justify-content: center;
6
- background: transparent;
7
- border: 1px solid var(--c_border);
8
- padding: var(--spacer_h);
9
- color: inherit;
10
- }
11
- :host(:not([disabled]):hover) {
12
- background: oklch(from var(--c_bg__inv) l c h / 0.2);
13
- color: inherit;
14
- }
15
- :host(:not([disabled]):focus),
16
- :host(:not([disabled]):focus-visible) {
17
- box-shadow: var(--focus_shadow);
18
- z-index: 1;
19
- }
20
- `]}
@@ -1,5 +0,0 @@
1
- import e from"../ShadowComponent.js";import{css as t}from"../../lit-all.min.js";export default class a extends e{connectedCallback(){super.connectedCallback();const e=this.pagination;e&&(this.boundPagination=e,this.pageChangeHandler=()=>this.requestUpdate(),e.addEventListener("page-change",this.pageChangeHandler),this.attrObserver=new MutationObserver(()=>this.requestUpdate()),this.attrObserver.observe(e,{attributes:!0,attributeFilter:["total-items","items-per-page","page-sizes"]}))}disconnectedCallback(){super.disconnectedCallback(),this.boundPagination&&this.pageChangeHandler&&this.boundPagination.removeEventListener("page-change",this.pageChangeHandler),this.attrObserver?.disconnect(),this.boundPagination=null,this.pageChangeHandler=null,this.attrObserver=null}get pagination(){return this.closest("k-pagination")||(this.getRootNode()instanceof ShadowRoot?this.getRootNode().host:null)}static styles=t`
2
- :host {
3
- display: inline-flex;
4
- }
5
- `}
@@ -1 +0,0 @@
1
- import t from"./PaginationButtonControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class i extends t{connectedCallback(){super.connectedCallback(),this.hasAttribute("aria-label")||this.setAttribute("aria-label","Previous Page"),this.hasAttribute("title")||this.setAttribute("title","Previous Page")}willUpdate(t){super.willUpdate(t);const e=this.pagination;this.disabled=!e||e.page<=1}handleAction(){this.pagination?.previousPage()}render(){return e`<k-icon name="chevron" direction="left"></k-icon>`}}customElements.define("k-pg-prev",i);
@@ -1,7 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class o extends e{delete=()=>{this.record&&this.table.deleteRecord(this.record)};render(){return t`
2
- <button class="no-btn icon-btn" @click="${this.delete}">
3
- <slot>
4
- <k-icon name="delete"></k-icon>
5
- </slot>
6
- </button>
7
- `}}customElements.define("k-tc-delete-record",o);
@@ -1,7 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class l extends e{deleteSelected=()=>{this.table.deleteSelected()};render(){return t`
2
- <button class="no-btn icon-btn" title="Delete Selected" @click="${this.deleteSelected}">
3
- <slot>
4
- <k-icon name="delete_sweep"></k-icon>
5
- </slot>
6
- </button>
7
- `}}customElements.define("k-tc-delete-selected",l);
@@ -1,18 +0,0 @@
1
- import t from"./TableControl.js";import{html as e,css as i}from"../../lit-all.min.js";import"../Icon.js";export default class n extends t{static properties={isEditing:{type:Boolean}};static styles=[t.styles,i`
2
- :host {
3
- display: inline-flex;
4
- width: max-content;
5
- align-items: baseline;
6
- }
7
- `];constructor(){super({maxWidth:80})}connectedCallback(){super.connectedCallback(),this.onTableEvent("editingChange",this.handleEditingChange)}handleEditingChange=t=>{t.detail.record===this.record&&(this.isEditing=t.detail.editing)};handleEdit=()=>{this.record&&this.table.editRecord(this.record)};handleSave=()=>{this.record&&this.table.saveEditedRecord(this.record)};handleCancel=()=>{this.record&&this.table.cancelEditedRecord(this.record)};render(){return this.isEditing?e`
8
- <button class="no-btn icon-btn bg-success" @click="${this.handleSave}">
9
- <k-icon name="check"></k-icon>
10
- </button>
11
- <button class="no-btn icon-btn bg-danger" @click="${this.handleCancel}">
12
- <k-icon name="close"></k-icon>
13
- </button>
14
- `:e`
15
- <button class="no-btn icon-btn" @click="${this.handleEdit}">
16
- <k-icon name="edit"></k-icon>
17
- </button>
18
- `}}customElements.define("k-tc-edit",n);
@@ -1,8 +0,0 @@
1
- import t from"./TableControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class o extends t{constructor(){super(),this.maxWidth=136}getCSV(){const t=this.table;if(!t)return"";let e="";const o=[];if(t.fields.forEach(({name:t,calculator:e})=>{e||o.push(t)}),e+=o.join(",")+"\n",this.record){const t=o.map(t=>this.record[t]||"");e+=t.join(",")+"\n"}else t.records.forEach(t=>{const r=o.map(e=>t[e]||"");e+=r.join(",")+"\n"});return e}export=()=>{const t=this.getCSV(),e=new Blob([t],{type:"text/csv"}),o=URL.createObjectURL(e),r=document.createElement("a");r.href=o,r.download="data.csv",r.click(),URL.revokeObjectURL(o)};render(){return e`
2
- <button class="no-btn ph" @click="${this.export}">
3
- <slot>
4
- <k-icon name="export-file"></k-icon>
5
- Export CSV
6
- </slot>
7
- </button>
8
- `}}customElements.define("k-tc-export-csv",o);
@@ -1,8 +0,0 @@
1
- import t from"./TableControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class o extends t{constructor(){super(),this.maxWidth=136}export=()=>{const t=this.record;if(t){const e=JSON.stringify(t),o=new Blob([e],{type:"application/json"}),n=URL.createObjectURL(o),r=document.createElement("a");r.href=n,r.download="data.json",r.click(),URL.revokeObjectURL(n)}else{const t=JSON.stringify(this.table.records),e=new Blob([t],{type:"application/json"}),o=URL.createObjectURL(e),n=document.createElement("a");n.href=o,n.download="data.json",n.click(),URL.revokeObjectURL(o)}};render(){return e`
2
- <button class="no-btn ph" @click="${this.export}">
3
- <slot>
4
- <k-icon name="export-file"></k-icon>
5
- Export JSON
6
- </slot>
7
- </button>
8
- `}}customElements.define("k-tc-export-json",o);
@@ -1,25 +0,0 @@
1
- import e from"./TableControl.js";import{html as t,render as i}from"../../lit-all.min.js";import"../Icon.js";import l from"../Dialog.js";export default class a extends e{constructor(){super({maxWidth:40})}handleClick=()=>{this.openDialog()};openDialog=()=>{import("../Sortable.js");const e=document.createElement("div");i(t`
2
- <div class="m">
3
- <k-sortable id="sorting" @sort="${e=>{const t=Array.from(e.target.querySelectorAll("k-sortable-item")).map(e=>e.getAttribute("data-field"));this.table.reorderFields(t)}}">
4
- ${this.table.fields.map(e=>t`
5
- <k-sortable-item data-field="${e.name}">
6
- <label class="field pb0">
7
- <input
8
- class="field-visibility"
9
- data-field="${e.name}"
10
- type="checkbox"
11
- .checked="${!e.hidden}"
12
- @change="${t=>{this.table.setFieldHiddenState(e.name,!t.target.checked)}}"
13
- style="height: 1.25rem; width: 1.25rem"
14
- />
15
- ${e.label}
16
- </label>
17
- </k-sortable-item>
18
- `)}
19
- </k-sortable>
20
- </div>
21
- `,e),l.create(e,{title:"Show / Hide / Order Fields",width:"400px",cancelText:"Close"})};render(){return t`
22
- <button class="no-btn icon-btn" @click="${this.handleClick}">
23
- <k-icon name="table-visibility"></k-icon>
24
- </button>
25
- `}}customElements.define("k-tc-field-sort-hide",a);
@@ -1,46 +0,0 @@
1
- import t from"./TableControl.js";import{html as e,render as l}from"../../lit-all.min.js";import"../Icon.js";import i from"../Dialog.js";export default class n extends t{constructor(){super({maxWidth:40})}handleFilter=()=>{this.openDialog()};openDialog=()=>{const t={equals:"equals","not-equals":"does not equal",contains:"contains","not-contains":"does not contain","greater-than":"is greater than","greater-than-or-equal":"is greater than or equal to","less-than":"is less than","less-than-or-equal":"is less than or equal to"},n=document.createElement("div");l(e`
2
- <div class="p">
3
- ${0===this.table.filters.length?e`
4
- <p>No Current Filters.</p>
5
- `:e`
6
- <h5>Current Filters</h5>
7
- <ul id="currentFilters">
8
- ${this.table.filters.map(({field:l,condition:i,value:n})=>e`
9
- <li
10
- data-field="${l}"
11
- data-condition="${i}"
12
- data-value="${n}"
13
- >
14
- ${this.table.getFieldLabel(l)} ${t[i]} "${n}"
15
- <button class="remove-filter no-btn pq" @click="${t=>{this.table.removeFilter(l,i,n),o.close(),this.openDialog()}}">
16
- <k-icon name="close"></k-icon>
17
- </button>
18
- </li>
19
- `)}
20
- </ul>
21
- `}
22
- <hr />
23
- <h5>Add A Filter</h5>
24
- <form id="addFilter" @submit="${t=>{t.preventDefault();const e=t.target;this.table.addFilter(e.filterField.value,e.filterCondition.value,e.filterValue.value),o.close(),this.openDialog()}}">
25
- <select id="filterField" class="mb">
26
- ${this.table.fields.map(({name:t,label:l})=>e`
27
- <option value="${t}">${l}</option>
28
- `)}
29
- </select>
30
- <select id="filterCondition" class="mb">
31
- ${Object.entries(t).map(([t,l])=>e`
32
- <option value="${t}" ?selected="${"contains"===t}">${l}</option>
33
- `)}
34
- </select>
35
- <input id="filterValue" type="text" class="mb" />
36
- <button type="submit" class="btn primary mb mr">Add Filter</button>
37
- ${0===this.table.filters.length?"":e`
38
- <button type="button" class="btn danger mb mr" @click="${()=>{this.table.removeAllFilters(),o.close()}}">Clear All Filters</button>
39
- `}
40
- </form>
41
- </div>
42
- `,n);const o=i.create(n,{width:"600px",title:"Filters"})};render(){return e`
43
- <button class="no-btn icon-btn" @click="${this.handleFilter}">
44
- <k-icon name="filter"></k-icon>
45
- </button>
46
- `}}customElements.define("k-tc-filters",n);
@@ -1,9 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.firstPage()};get isDisabled(){return!this.table||1===this.table.getCurrentPage()}render(){return t`
2
- <button
3
- class="no-btn icon-btn"
4
- ?disabled="${this.isDisabled}"
5
- @click="${this.handleClick}"
6
- >
7
- <k-icon name="chevron-line" direction="left"></k-icon>
8
- </button>
9
- `}}customElements.define("k-tc-first-page",a);
@@ -1,3 +0,0 @@
1
- import e from"./TableControl.js";import{html as d}from"../../lit-all.min.js";export default class n extends e{static properties={hiddenCount:{type:Number}};connectedCallback(){super.connectedCallback(),this.updateHiddenCount(),this.onTableEvent("recordHidden recordShown",this.handleHiddenChange)}handleHiddenChange=()=>{this.updateHiddenCount()};updateHiddenCount=()=>{this.hiddenCount=this.table?.getHiddenRecords().length||0};render(){return d`
2
- <div class="pyq pxh"><span>${this.hiddenCount}</span>&nbsp;Hidden Records</div>
3
- `}}customElements.define("k-tc-hidden-count",n);
@@ -1,5 +0,0 @@
1
- import t from"./TableControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class o extends t{constructor(){super({maxWidth:40})}handleHide=()=>{this.record&&this.table.hideRecord(this.record)};render(){return e`
2
- <button class="no-btn icon-btn" @click="${this.handleHide}">
3
- <k-icon name="hide"></k-icon>
4
- </button>
5
- `}}customElements.define("k-tc-hide",o);
@@ -1,9 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.lastPage()};get isDisabled(){return!this.table||this.table.getCurrentPage()===this.table.getTotalPages()}render(){return t`
2
- <button
3
- class="no-btn icon-btn"
4
- ?disabled="${this.isDisabled}"
5
- @click="${this.handleClick}"
6
- >
7
- <k-icon name="chevron-line"></k-icon>
8
- </button>
9
- `}}customElements.define("k-tc-last-page",a);
@@ -1,9 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.nextPage()};get isDisabled(){return!this.table||this.table.getCurrentPage()===this.table.getTotalPages()}render(){return t`
2
- <button
3
- class="no-btn icon-btn"
4
- ?disabled="${this.isDisabled}"
5
- @click="${this.handleClick}"
6
- >
7
- <k-icon name="chevron"></k-icon>
8
- </button>
9
- `}}customElements.define("k-tc-next-page",a);
@@ -1,22 +0,0 @@
1
- import e from"./TableControl.js";import{html as t,css as a}from"../../lit-all.min.js";export default class l extends e{static properties={...e.properties};constructor(){super({maxWidth:null})}connectedCallback(){super.connectedCallback(),this.onTableEvent("pageChange pageSizeChange pageCountChanged recordsSet",this.handleTableUpdate)}disconnectedCallback(){super.disconnectedCallback(),this.table&&(this.table.removeEventListener("pageChange",this.handleTableUpdate),this.table.removeEventListener("pageSizeChange",this.handleTableUpdate),this.table.removeEventListener("pageCountChanged",this.handleTableUpdate),this.table.removeEventListener("recordsSet",this.handleTableUpdate))}handleTableUpdate=()=>{this.requestUpdate()};handleSelectChange=e=>{this.table&&this.table.setPage(parseInt(e.target.value))};get currentPage(){return this.table?this.table.getCurrentPage():1}get totalPages(){return this.table?this.table.getTotalPages():1}render(){if(!this.table)return t`<div>No table found</div>`;const e=[];for(let a=1;a<=this.totalPages;a++)e.push(t`<option value="${a}" ?selected="${a===this.currentPage}">Page ${a}</option>`);return t`
2
- <div class="page-select">
3
- <select class="no-btn ph b r" @change="${this.handleSelectChange}" ?disabled="${this.totalPages<=1}">
4
- ${e}
5
- </select>
6
- <label> out of ${this.totalPages}</label>
7
- </div>
8
- `}static styles=a`
9
- ${e.styles}
10
-
11
- .page-select {
12
- display: flex;
13
- align-items: center;
14
- gap: 0.25rem;
15
- white-space: nowrap;
16
- }
17
-
18
- label {
19
- padding: 0;
20
- margin: 0;
21
- }
22
- `}customElements.define("k-tc-page-select",l);
@@ -1,5 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";export default class a extends e{constructor(){super({maxWidth:null}),this.pageChangeHandler=()=>this.requestUpdate(),this.pageSizeChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.onTableEvent("pageChange",this.pageChangeHandler),this.onTableEvent("pageSizeChange",this.pageSizeChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&(this.table.removeEventListener("pageChange",this.pageChangeHandler),this.table.removeEventListener("pageSizeChange",this.pageSizeChangeHandler))}handleChange=e=>{this.table&&this.table.setPageSize(parseInt(e.target.value))};get currentPageSize(){return this.table?this.table.getPageSize():10}get pageSizeOptions(){return this.table?this.table.pageSizeOptions:[10,25,50,100,500]}render(){return t`
2
- <select class="no-btn ph b r" @change="${this.handleChange}">
3
- ${this.pageSizeOptions.map(e=>t`<option value="${e}" ?selected="${e===this.currentPageSize}">${e} per page</option>`)}
4
- </select>
5
- `}}customElements.define("k-tc-page-size",a);
@@ -1,9 +0,0 @@
1
- import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.prevPage()};get isDisabled(){return!this.table||1===this.table.getCurrentPage()}render(){return t`
2
- <button
3
- class="no-btn icon-btn"
4
- ?disabled="${this.isDisabled}"
5
- @click="${this.handleClick}"
6
- >
7
- <k-icon name="chevron" direction="left"></k-icon>
8
- </button>
9
- `}}customElements.define("k-tc-prev-page",a);
@@ -1,9 +0,0 @@
1
- import e from"./TableControl.js";import{html as r}from"../../lit-all.min.js";import t from"../../utils/debounce.js";export default class s extends e{static properties={searchTerm:{type:String}};constructor(){super({maxWidth:200}),this.debouncedSearch=t(this.performSearch,200)}handleInput=e=>{this.searchTerm=e.target.value,this.debouncedSearch()};performSearch=()=>{this.table&&(!this.searchTerm||this.searchTerm.length<3?this.table.showAllRecords():this.table.search(this.searchTerm))};render(){return r`
2
- <input
3
- type="search"
4
- placeholder="Search"
5
- class="px pyh"
6
- .value="${this.searchTerm||""}"
7
- @input="${this.handleInput}"
8
- />
9
- `}}customElements.define("k-tc-search",s);
@@ -1,5 +0,0 @@
1
- import t from"./TableControl.js";import{html as o}from"../../lit-all.min.js";import"../Icon.js";export default class l extends t{constructor(){super({maxWidth:40})}handleShowAll=()=>{this.table&&this.table.showAllRecords()};render(){return o`
2
- <button class="no-btn icon-btn" @click="${this.handleShowAll}">
3
- <k-icon name="show"></k-icon>
4
- </button>
5
- `}}customElements.define("k-tc-show-all",l);
@@ -1,16 +0,0 @@
1
- import t from"../ShadowComponent.js";import{html as e,css as i}from"../../lit-all.min.js";export default class s extends t{static properties={maxWidth:{type:Number,reflect:!0,attribute:"max-width"}};constructor({maxWidth:t=40}={}){super(),this.maxWidth=t}updated(t){super.updated(t),t.has("maxWidth")&&(this.maxWidth?this.style.setProperty("--max-width",`${this.maxWidth}px`):this.style.removeProperty("--max-width"))}firstUpdated(){this.maxWidth?this.style.setProperty("--max-width",`${this.maxWidth}px`):this.style.removeProperty("--max-width")}get table(){return this.getRootNode()instanceof ShadowRoot?this.getRootNode().host.closest("k-table"):this.closest("k-table")}get record(){if(this.getRootNode()instanceof ShadowRoot){const t=this.closest(".record");if(t){const e=t.dataset.index;if(void 0!==e)return this.table.records[e]}}return!1}async onTableEvent(t,e){if(await customElements.whenDefined("k-table"),this.table){t.split(" ").forEach(t=>{this.table.addEventListener(t,e)}),this.requestUpdate()}}static styles=i`
2
- :host {
3
- display: inline-flex;
4
- }
5
-
6
- .icon-btn {
7
- display: inline-flex !important;
8
- align-items: center;
9
- justify-content: center;
10
- width: 40px;
11
- height: 40px;
12
- }
13
- .icon-btn:disabled {
14
- opacity: 0.6;
15
- }
16
- `}customElements.define("k-table-control",s);
@@ -1,134 +0,0 @@
1
- import ShadowComponent from '../ShadowComponent.js';
2
- import { css } from '../../lit-all.min.js';
3
-
4
- export default class CodeEditorControl extends ShadowComponent {
5
- static properties = {
6
- btnClass: { type: String, attribute: 'btn-class' },
7
- groupBtnClass: { type: String, attribute: 'group-btn-class' },
8
- groupLastBtnClass: { type: String, attribute: 'group-last-btn-class' },
9
- hidden: { type: Boolean, reflect: true }
10
- };
11
-
12
- /*
13
- Constructor
14
- */
15
- constructor() {
16
- super();
17
- this.btnClass = 'b r mq ph';
18
- this.groupBtnClass = 'br ph';
19
- this.groupLastBtnClass = 'ph';
20
- this.hidden = false;
21
- }
22
-
23
- /*
24
- Lifecycle Callbacks
25
- */
26
- connectedCallback() {
27
- super.connectedCallback();
28
- this.updateModeVisibility();
29
- const editor = this.editor;
30
- if(editor?.tagName === 'K-HTML-EDITOR'){
31
- this.modeHandler = () => this.updateModeVisibility();
32
- editor.addEventListener('mode-changed', this.modeHandler);
33
- }
34
- }
35
-
36
- disconnectedCallback() {
37
- super.disconnectedCallback();
38
- if(this.modeHandler){
39
- this.editor?.removeEventListener('mode-changed', this.modeHandler);
40
- this.modeHandler = null;
41
- }
42
- }
43
-
44
- updated(changed) {
45
- super.updated(changed);
46
- if(changed.has('hidden')){
47
- this.dispatchEvent(new CustomEvent('control_visibility_change', { bubbles: true }));
48
- }
49
- }
50
-
51
- /*
52
- Mode Visibility
53
- */
54
- updateModeVisibility() {
55
- const editor = this.editor;
56
- if(editor?.tagName === 'K-HTML-EDITOR'){
57
- const shouldHide = editor.mode !== 'code';
58
- if(this.hidden !== shouldHide){
59
- this.hidden = shouldHide;
60
- this.dispatchEvent(new CustomEvent('control_visibility_change', { bubbles: true }));
61
- }
62
- }
63
- }
64
-
65
- /*
66
- Getters for Editor Integration
67
- */
68
- get editor() {
69
- const isEditor = el => el?.tagName === 'K-CODE-EDITOR' || el?.tagName === 'K-HTML-EDITOR';
70
- let current = this.getRootNode();
71
- while(current instanceof ShadowRoot){
72
- const host = current.host;
73
- if(isEditor(host)) return host;
74
- current = host.getRootNode();
75
- }
76
- let el = this.parentElement;
77
- while(el){
78
- if(isEditor(el)) return el;
79
- el = el.parentElement;
80
- }
81
- return null;
82
- }
83
-
84
- /*
85
- Getters for Group Detection
86
- */
87
- get isInGroup() {
88
- const parent = this.parentElement;
89
- return parent && parent.tagName === 'K-CEC-GROUP';
90
- }
91
-
92
- get isLastInGroup() {
93
- if(!this.isInGroup) return false;
94
- const siblings = Array.from(this.parentElement.children).filter(
95
- child => child.tagName.startsWith('K-CEC-') && child.tagName !== 'K-CEC-SPACER'
96
- );
97
- return siblings[siblings.length - 1] === this;
98
- }
99
-
100
- /*
101
- Getters for Button Classes
102
- */
103
- get buttonClasses() {
104
- const baseClass = 'no-btn icon-btn';
105
- let styleClass;
106
- if(this.isInGroup){
107
- styleClass = this.isLastInGroup ? this.groupLastBtnClass : this.groupBtnClass;
108
- } else {
109
- styleClass = this.btnClass;
110
- }
111
- return `${baseClass} ${styleClass}`.trim();
112
- }
113
-
114
- /*
115
- Styles
116
- */
117
- static styles = css`
118
- :host {
119
- display: inline-flex;
120
- align-items: center;
121
- }
122
- :host([hidden]) {
123
- display: none !important;
124
- }
125
- button {
126
- cursor: pointer;
127
- display: inline-flex;
128
- align-items: center;
129
- justify-content: center;
130
- min-width: 2rem;
131
- min-height: 2rem;
132
- }
133
- `;
134
- }
@@ -1,23 +0,0 @@
1
- import ShadowComponent from '../ShadowComponent.js';
2
- import { html, css } from '../../lit-all.min.js';
3
-
4
- export default class ControlSpacer extends ShadowComponent {
5
- /*
6
- Styles
7
- */
8
- static styles = css`
9
- :host {
10
- display: inline-flex;
11
- flex: 1;
12
- }
13
- `;
14
-
15
- /*
16
- Rendering
17
- */
18
- render() {
19
- return html``;
20
- }
21
- }
22
-
23
- customElements.define('k-cec-spacer', ControlSpacer);