kempo-ui 0.0.16 → 0.0.18

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 (241) hide show
  1. package/dist/components/LightComponent.js +1 -0
  2. package/dist/components/ShadowComponent.js +1 -0
  3. package/{docs/kempo-ui/src → dist}/components/SideMenu.js +2 -2
  4. package/dist/components/Split.js +84 -0
  5. package/dist/components/Table.js +151 -0
  6. package/dist/{src/components → components}/Tree.js +0 -3
  7. package/{docs/kempo-ui/src → dist}/components/tableControls/FieldSortHide.js +1 -2
  8. package/dist/{src/components → components}/tableControls/Filters.js +2 -3
  9. package/docs/{kempo-ui/components → components}/accordion.html +35 -52
  10. package/docs/{kempo-ui/components → components}/card.html +31 -23
  11. package/docs/components/content-slider.html +283 -0
  12. package/docs/{kempo-ui/components → components}/dialog.html +44 -40
  13. package/docs/{kempo-ui/components → components}/focus-capture.html +28 -23
  14. package/docs/{kempo-ui/components → components}/hybrid-component.html +20 -17
  15. package/docs/{kempo-ui/components → components}/icon.html +43 -35
  16. package/docs/components/import.html +80 -0
  17. package/docs/{kempo-ui/components → components}/light-component.html +51 -32
  18. package/docs/components/photo-viewer.html +269 -0
  19. package/docs/{kempo-ui/components → components}/resize.html +34 -29
  20. package/docs/{kempo-ui/components → components}/shadow-component.html +44 -29
  21. package/docs/{kempo-ui/components → components}/show-more.html +31 -26
  22. package/docs/{kempo-ui/components → components}/side-menu.html +9 -9
  23. package/docs/{kempo-ui/components → components}/sortable.html +28 -23
  24. package/docs/{kempo-ui/components → components}/split.html +68 -41
  25. package/docs/{kempo-ui/components → components}/table.html +89 -118
  26. package/docs/{kempo-ui/components → components}/tableControls.html +16 -12
  27. package/docs/{kempo-ui/components → components}/tableCustomFields.html +13 -10
  28. package/docs/{kempo-ui/components → components}/tableFetchRecords.html +16 -16
  29. package/docs/{kempo-ui/components → components}/tableFieldSortHide.html +11 -11
  30. package/docs/components/tablePagination.html +99 -0
  31. package/docs/{kempo-ui/components → components}/tableRecordEditing.html +15 -12
  32. package/docs/{kempo-ui/components → components}/tableRecordFiltering.html +12 -12
  33. package/docs/{kempo-ui/components → components}/tableRecordHiding.html +16 -13
  34. package/docs/{kempo-ui/components → components}/tableRecordSearching.html +11 -11
  35. package/docs/{kempo-ui/components → components}/tableRecordSelection.html +13 -11
  36. package/docs/{kempo-ui/components → components}/tableRowControls.html +14 -13
  37. package/docs/{kempo-ui/components → components}/tableSorting.html +9 -9
  38. package/docs/components/tabs.html +126 -0
  39. package/docs/components/tags.html +153 -0
  40. package/docs/{kempo-ui/components → components}/theme-switcher.html +20 -15
  41. package/docs/components/timestamp.html +127 -0
  42. package/docs/components/toast.html +355 -0
  43. package/docs/{kempo-ui/components → components}/toggle.html +20 -15
  44. package/docs/components/tree.html +187 -0
  45. package/docs/dev.config.json +3 -4
  46. package/docs/{kempo-ui/index.html → index.html} +0 -7
  47. package/docs/init-1.js +4 -0
  48. package/docs/nav-1.inc.html +66 -0
  49. package/docs/nav.inc.html +66 -0
  50. package/docs/nav.inc.js +16 -0
  51. package/docs/src/components/LightComponent.js +1 -0
  52. package/docs/src/components/ShadowComponent.js +1 -0
  53. package/{dist → docs}/src/components/SideMenu.js +2 -2
  54. package/docs/src/components/Split.js +84 -0
  55. package/docs/src/components/Table.js +151 -0
  56. package/docs/{kempo-ui/src → src}/components/Tree.js +0 -3
  57. package/{dist → docs}/src/components/tableControls/FieldSortHide.js +1 -2
  58. package/docs/{kempo-ui/src → src}/components/tableControls/Filters.js +2 -3
  59. package/docs/src/kempo-vars.css +1 -0
  60. package/docs/{kempo-ui/utils → utils}/debounce.html +23 -22
  61. package/docs/{kempo-ui/utils → utils}/drag.html +29 -26
  62. package/docs/{kempo-ui/utils → utils}/formatTimestamp.html +7 -7
  63. package/docs/{kempo-ui/utils → utils}/propConverters.html +11 -11
  64. package/docs/{kempo-ui/utils → utils}/toTitleCase.html +7 -7
  65. package/package.json +3 -3
  66. package/scripts/build.js +10 -17
  67. package/scripts/docs.js +0 -3
  68. package/src/components/LightComponent.js +22 -0
  69. package/src/components/ShadowComponent.js +23 -0
  70. package/src/components/SideMenu.js +2 -1
  71. package/src/components/Split.js +16 -8
  72. package/src/components/Table.js +112 -95
  73. package/src/components/Tree.js +0 -3
  74. package/src/components/tableControls/FieldSortHide.js +1 -1
  75. package/src/components/tableControls/Filters.js +2 -3
  76. package/tests/components/HybridComponent.browser-test.js +1 -1
  77. package/tests/components/ShadowComponent.browser-test.js +3 -3
  78. package/dist/kempo-hljs.css +0 -1
  79. package/dist/src/components/LightComponent.js +0 -1
  80. package/dist/src/components/ShadowComponent.js +0 -1
  81. package/dist/src/components/Split.js +0 -84
  82. package/dist/src/components/Table.js +0 -151
  83. package/dist/src/utils/watchWindowSize.js +0 -1
  84. package/docs/kempo-ui/components/content-slider.html +0 -219
  85. package/docs/kempo-ui/components/import.html +0 -70
  86. package/docs/kempo-ui/components/photo-viewer.html +0 -221
  87. package/docs/kempo-ui/components/tablePagination.html +0 -97
  88. package/docs/kempo-ui/components/tabs.html +0 -176
  89. package/docs/kempo-ui/components/tags.html +0 -106
  90. package/docs/kempo-ui/components/timestamp.html +0 -78
  91. package/docs/kempo-ui/components/toast.html +0 -315
  92. package/docs/kempo-ui/components/tree.html +0 -179
  93. package/docs/kempo-ui/nav.inc.html +0 -67
  94. package/docs/kempo-ui/nav.inc.js +0 -4
  95. package/docs/kempo-ui/src/components/LightComponent.js +0 -1
  96. package/docs/kempo-ui/src/components/ShadowComponent.js +0 -1
  97. package/docs/kempo-ui/src/components/Split.js +0 -84
  98. package/docs/kempo-ui/src/components/Table.js +0 -151
  99. package/docs/kempo-ui/src/utils/watchWindowSize.js +0 -1
  100. package/docs/kempo-ui/utils/watchWindowSize.html +0 -72
  101. package/src/kempo-hljs.css +0 -146
  102. package/src/utils/watchWindowSize.js +0 -16
  103. /package/{docs/kempo-ui/src → dist}/components/Accordion.js +0 -0
  104. /package/{docs/kempo-ui/src → dist}/components/Card.js +0 -0
  105. /package/{docs/kempo-ui/src → dist}/components/ContentSlider.js +0 -0
  106. /package/{docs/kempo-ui/src → dist}/components/Dialog.js +0 -0
  107. /package/{docs/kempo-ui/src → dist}/components/FocusCapture.js +0 -0
  108. /package/{docs/kempo-ui/src → dist}/components/HybridComponent.js +0 -0
  109. /package/{docs/kempo-ui/src → dist}/components/Icon.js +0 -0
  110. /package/{docs/kempo-ui/src → dist}/components/Import.js +0 -0
  111. /package/{docs/kempo-ui/src → dist}/components/PhotoViewer.js +0 -0
  112. /package/{docs/kempo-ui/src → dist}/components/Resize.js +0 -0
  113. /package/{docs/kempo-ui/src → dist}/components/ShowMore.js +0 -0
  114. /package/{docs/kempo-ui/src → dist}/components/Sortable.js +0 -0
  115. /package/{docs/kempo-ui/src → dist}/components/Tabs.js +0 -0
  116. /package/{docs/kempo-ui/src → dist}/components/Tags.js +0 -0
  117. /package/{docs/kempo-ui/src → dist}/components/ThemeSwitcher.js +0 -0
  118. /package/{docs/kempo-ui/src → dist}/components/Timestamp.js +0 -0
  119. /package/{docs/kempo-ui/src → dist}/components/Toast.js +0 -0
  120. /package/{docs/kempo-ui/src → dist}/components/Toggle.js +0 -0
  121. /package/{docs/kempo-ui/src → dist}/components/tableControls/DeleteRecord.js +0 -0
  122. /package/{docs/kempo-ui/src → dist}/components/tableControls/Edit.js +0 -0
  123. /package/{docs/kempo-ui/src → dist}/components/tableControls/ExportCSV.js +0 -0
  124. /package/{docs/kempo-ui/src → dist}/components/tableControls/ExportJson.js +0 -0
  125. /package/{docs/kempo-ui/src → dist}/components/tableControls/FirstPage.js +0 -0
  126. /package/{docs/kempo-ui/src → dist}/components/tableControls/HiddenCount.js +0 -0
  127. /package/{docs/kempo-ui/src → dist}/components/tableControls/Hide.js +0 -0
  128. /package/{docs/kempo-ui/src → dist}/components/tableControls/LastPage.js +0 -0
  129. /package/{docs/kempo-ui/src → dist}/components/tableControls/NextPage.js +0 -0
  130. /package/{docs/kempo-ui/src → dist}/components/tableControls/PageSelect.js +0 -0
  131. /package/{docs/kempo-ui/src → dist}/components/tableControls/PageSize.js +0 -0
  132. /package/{docs/kempo-ui/src → dist}/components/tableControls/PrevPage.js +0 -0
  133. /package/{docs/kempo-ui/src → dist}/components/tableControls/Search.js +0 -0
  134. /package/{docs/kempo-ui/src → dist}/components/tableControls/ShowAll.js +0 -0
  135. /package/{docs/kempo-ui/src → dist}/components/tableControls/TableControl.js +0 -0
  136. /package/{docs/kempo-ui/src → dist}/lit-all.min.js +0 -0
  137. /package/{docs/kempo-ui/src → dist}/utils/debounce.js +0 -0
  138. /package/{docs/kempo-ui/src → dist}/utils/drag.js +0 -0
  139. /package/{docs/kempo-ui/src → dist}/utils/formatTimestamp.js +0 -0
  140. /package/{docs/kempo-ui/src → dist}/utils/propConverters.js +0 -0
  141. /package/{docs/kempo-ui/src → dist}/utils/toTitleCase.js +0 -0
  142. /package/docs/{kempo-ui/icons → icons}/add.svg +0 -0
  143. /package/docs/{kempo-ui/icons → icons}/arrow-back.svg +0 -0
  144. /package/docs/{kempo-ui/icons → icons}/arrow-down-double.svg +0 -0
  145. /package/docs/{kempo-ui/icons → icons}/arrow-down.svg +0 -0
  146. /package/docs/{kempo-ui/icons → icons}/arrow-forward.svg +0 -0
  147. /package/docs/{kempo-ui/icons → icons}/arrow-up-double.svg +0 -0
  148. /package/docs/{kempo-ui/icons → icons}/arrow-up.svg +0 -0
  149. /package/docs/{kempo-ui/icons → icons}/cards.svg +0 -0
  150. /package/docs/{kempo-ui/icons → icons}/check.svg +0 -0
  151. /package/docs/{kempo-ui/icons → icons}/chevron-left.svg +0 -0
  152. /package/docs/{kempo-ui/icons → icons}/chevron-right.svg +0 -0
  153. /package/docs/{kempo-ui/icons → icons}/close.svg +0 -0
  154. /package/docs/{kempo-ui/icons → icons}/compare.svg +0 -0
  155. /package/docs/{kempo-ui/icons → icons}/delete.svg +0 -0
  156. /package/docs/{kempo-ui/icons → icons}/drag-handle.svg +0 -0
  157. /package/docs/{kempo-ui/icons → icons}/drawing2.svg +0 -0
  158. /package/docs/{kempo-ui/icons → icons}/edit.svg +0 -0
  159. /package/docs/{kempo-ui/icons → icons}/error.svg +0 -0
  160. /package/docs/{kempo-ui/icons → icons}/export-file.svg +0 -0
  161. /package/docs/{kempo-ui/icons → icons}/file-text.svg +0 -0
  162. /package/docs/{kempo-ui/icons → icons}/file.svg +0 -0
  163. /package/docs/{kempo-ui/icons → icons}/filter-off.svg +0 -0
  164. /package/docs/{kempo-ui/icons → icons}/filter.svg +0 -0
  165. /package/docs/{kempo-ui/icons → icons}/first.svg +0 -0
  166. /package/docs/{kempo-ui/icons → icons}/folder-clear.svg +0 -0
  167. /package/docs/{kempo-ui/icons → icons}/folder-create.svg +0 -0
  168. /package/docs/{kempo-ui/icons → icons}/folder-open.svg +0 -0
  169. /package/docs/{kempo-ui/icons → icons}/folder.svg +0 -0
  170. /package/docs/{kempo-ui/icons → icons}/hide.svg +0 -0
  171. /package/docs/{kempo-ui/icons → icons}/image.svg +0 -0
  172. /package/docs/{kempo-ui/icons → icons}/label-add.svg +0 -0
  173. /package/docs/{kempo-ui/icons → icons}/label.svg +0 -0
  174. /package/docs/{kempo-ui/icons → icons}/last.svg +0 -0
  175. /package/docs/{kempo-ui/icons → icons}/menu.svg +0 -0
  176. /package/docs/{kempo-ui/icons → icons}/mode-auto.svg +0 -0
  177. /package/docs/{kempo-ui/icons → icons}/mode-dark.svg +0 -0
  178. /package/docs/{kempo-ui/icons → icons}/mode-light.svg +0 -0
  179. /package/docs/{kempo-ui/icons → icons}/open-in-browser.svg +0 -0
  180. /package/docs/{kempo-ui/icons → icons}/pause.svg +0 -0
  181. /package/docs/{kempo-ui/icons → icons}/play.svg +0 -0
  182. /package/docs/{kempo-ui/icons → icons}/refresh.svg +0 -0
  183. /package/docs/{kempo-ui/icons → icons}/remove.svg +0 -0
  184. /package/docs/{kempo-ui/icons → icons}/save.svg +0 -0
  185. /package/docs/{kempo-ui/icons → icons}/search.svg +0 -0
  186. /package/docs/{kempo-ui/icons → icons}/settings.svg +0 -0
  187. /package/docs/{kempo-ui/icons → icons}/show.svg +0 -0
  188. /package/docs/{kempo-ui/icons → icons}/storage.svg +0 -0
  189. /package/docs/{kempo-ui/icons → icons}/table-visibility.svg +0 -0
  190. /package/docs/{kempo-ui/icons → icons}/tag.svg +0 -0
  191. /package/docs/{kempo-ui/icons → icons}/tools.svg +0 -0
  192. /package/docs/{kempo-ui/icons → icons}/trash-x.svg +0 -0
  193. /package/docs/{kempo-ui/icons → icons}/warning.svg +0 -0
  194. /package/docs/{kempo-ui/kempo-hljs.css → kempo-hljs.css} +0 -0
  195. /package/docs/{kempo-ui/kempo-vars.css → kempo-vars.css} +0 -0
  196. /package/docs/{kempo-ui/kempo.min.css → kempo.min.css} +0 -0
  197. /package/docs/{kempo-ui/media → media}/civic.jpg +0 -0
  198. /package/docs/{kempo-ui/media → media}/corvette.jpg +0 -0
  199. /package/docs/{kempo-ui/media → media}/evo.jpg +0 -0
  200. /package/docs/{kempo-ui/media → media}/gtr.jpg +0 -0
  201. /package/docs/{kempo-ui/media → media}/nsx.jpg +0 -0
  202. /package/{dist → docs}/src/components/Accordion.js +0 -0
  203. /package/{dist → docs}/src/components/Card.js +0 -0
  204. /package/{dist → docs}/src/components/ContentSlider.js +0 -0
  205. /package/{dist → docs}/src/components/Dialog.js +0 -0
  206. /package/{dist → docs}/src/components/FocusCapture.js +0 -0
  207. /package/{dist → docs}/src/components/HybridComponent.js +0 -0
  208. /package/{dist → docs}/src/components/Icon.js +0 -0
  209. /package/{dist → docs}/src/components/Import.js +0 -0
  210. /package/{dist → docs}/src/components/PhotoViewer.js +0 -0
  211. /package/{dist → docs}/src/components/Resize.js +0 -0
  212. /package/{dist → docs}/src/components/ShowMore.js +0 -0
  213. /package/{dist → docs}/src/components/Sortable.js +0 -0
  214. /package/{dist → docs}/src/components/Tabs.js +0 -0
  215. /package/{dist → docs}/src/components/Tags.js +0 -0
  216. /package/{dist → docs}/src/components/ThemeSwitcher.js +0 -0
  217. /package/{dist → docs}/src/components/Timestamp.js +0 -0
  218. /package/{dist → docs}/src/components/Toast.js +0 -0
  219. /package/{dist → docs}/src/components/Toggle.js +0 -0
  220. /package/{dist → docs}/src/components/tableControls/DeleteRecord.js +0 -0
  221. /package/{dist → docs}/src/components/tableControls/Edit.js +0 -0
  222. /package/{dist → docs}/src/components/tableControls/ExportCSV.js +0 -0
  223. /package/{dist → docs}/src/components/tableControls/ExportJson.js +0 -0
  224. /package/{dist → docs}/src/components/tableControls/FirstPage.js +0 -0
  225. /package/{dist → docs}/src/components/tableControls/HiddenCount.js +0 -0
  226. /package/{dist → docs}/src/components/tableControls/Hide.js +0 -0
  227. /package/{dist → docs}/src/components/tableControls/LastPage.js +0 -0
  228. /package/{dist → docs}/src/components/tableControls/NextPage.js +0 -0
  229. /package/{dist → docs}/src/components/tableControls/PageSelect.js +0 -0
  230. /package/{dist → docs}/src/components/tableControls/PageSize.js +0 -0
  231. /package/{dist → docs}/src/components/tableControls/PrevPage.js +0 -0
  232. /package/{dist → docs}/src/components/tableControls/Search.js +0 -0
  233. /package/{dist → docs}/src/components/tableControls/ShowAll.js +0 -0
  234. /package/{dist → docs}/src/components/tableControls/TableControl.js +0 -0
  235. /package/{dist → docs}/src/lit-all.min.js +0 -0
  236. /package/{dist → docs}/src/utils/debounce.js +0 -0
  237. /package/{dist → docs}/src/utils/drag.js +0 -0
  238. /package/{dist → docs}/src/utils/formatTimestamp.js +0 -0
  239. /package/{dist → docs}/src/utils/propConverters.js +0 -0
  240. /package/{dist → docs}/src/utils/toTitleCase.js +0 -0
  241. /package/docs/{kempo-ui/styles.css → styles.css} +0 -0
@@ -1,44 +1,45 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <base href="/kempo-ui/">
5
4
  <meta charset="UTF-8">
6
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
6
  <title>HybridComponent - Base Components - Kempo Docs - A Web Components Solution</title>
8
- <link rel="stylesheet" href="kempo-vars.css" />
9
- <link rel="stylesheet" href="kempo.min.css" />
10
- <link rel="stylesheet" href="kempo-hljs.css" />
11
- <link rel="stylesheet" href="styles.css" />
7
+ <link rel="stylesheet" href="../kempo-vars.css" />
8
+ <link rel="stylesheet" href="../kempo.min.css" />
9
+ <link rel="stylesheet" href="../kempo-hljs.css" />
10
+ <link rel="stylesheet" href="../styles.css" />
12
11
  <script>window.litDisableBundleWarning = true;</script>
12
+ <script src="../init-1.js" type="module"></script>
13
13
  </head>
14
14
  <body>
15
- <k-import src="/kempo-ui/nav.inc.html"></k-import>
15
+ <k-import src="../nav-1.inc.html"></k-import>
16
16
  <h1 class="ta-center">HybridComponent</h1>
17
17
  <main>
18
- <details class="b r mb">
19
- <summary class="p">Table of Contents</summary>
20
- <div class="m mt0 pl">
18
+ <k-accordion persistent-id="toc" class="b r mb">
19
+ <k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
20
+ <k-accordion-panel name="toc-panel">
21
+ <div class="m pl">
21
22
  <h6>Guide</h6>
22
23
  <a href="#overview">Overview</a><br />
23
24
  <a href="#basicUsage">Basic Usage</a><br />
24
25
  <a href="#whenToUse">When to Use</a><br />
25
26
 
26
- <h6 class="mt">JavaScript Reference</h6>
27
+ <h6 class="mt"><a href="#jsRef" class="no-link">JavaScript Reference</a></h6>
27
28
  <a href="#constructor">Constructor</a><br />
28
29
  <a href="#requirements">Requirements</a><br />
29
30
  <a href="#properties">Properties</a><br />
30
31
  <a href="#methods">Methods</a><br />
31
32
  </div>
32
- </details>
33
+ </k-accordion-panel>
34
+ </k-accordion>
33
35
 
34
36
  <h3 id="overview"><a href="#overview" class="no-link">Overview</a></h3>
35
- <p>HybridComponent is a base class that extends <a href="shadow-component.html">ShadowComponent</a> and provides both shadow DOM rendering with Kempo CSS styles AND light DOM rendering. Use this when you want your component to:</p>
37
+ <p>HybridComponent is a base class that extends <a href="./components/shadow-component.html">ShadowComponent</a> and provides both shadow DOM rendering with Kempo CSS styles AND light DOM rendering. Use this when you want your component to:</p>
36
38
  <ul>
37
39
  <li>Have shadow DOM with Kempo CSS for internal UI elements</li>
38
40
  <li>Also render content to the light DOM alongside natural children</li>
39
41
  <li>Combine the benefits of both shadow and light DOM</li>
40
42
  </ul>
41
- <p>Components like <a href="collapsible.html">Collapsible</a>, <a href="dialog.html">Dialog</a>, and <a href="side-menu.html">SideMenu</a> extend HybridComponent.</p>
42
43
 
43
44
  <h3 id="basicUsage"><a href="#basicUsage" class="no-link">Basic Usage</a></h3>
44
45
  <p>Create a custom component by extending HybridComponent and implementing both <code>render()</code> for shadow DOM and <code>renderLightDom()</code> for light DOM:</p>
@@ -64,10 +65,10 @@
64
65
  <li><strong>SideMenu:</strong> Shadow DOM for menu structure and styling, light DOM for menu items</li>
65
66
  </ul>
66
67
 
67
- <p>Use <a href="shadow-component.html">ShadowComponent</a> instead when you only need shadow DOM.</p>
68
- <p>Use <a href="light-component.html">LightComponent</a> instead when you only need light DOM.</p>
68
+ <p>Use <a href="./components/shadow-component.html">ShadowComponent</a> instead when you only need shadow DOM.</p>
69
+ <p>Use <a href="./components/light-component.html">LightComponent</a> instead when you only need light DOM.</p>
69
70
 
70
- <h2 id="jsRef">JavaScript Reference</h2>
71
+ <h2 id="jsRef"><a href="#jsRef" class="no-link">JavaScript Reference</a></h2>
71
72
 
72
73
  <h3 id="constructor"><a href="#constructor" class="no-link">Constructor</a></h3>
73
74
  <h6>Extends ShadowComponent</h6>
@@ -105,6 +106,8 @@
105
106
 
106
107
  </main>
107
108
  <div style="height:33vh"></div>
108
- <script type="module" src="/kempo-ui/src/components/Import.js"></script>
109
+ <script type="module" src="../src/components/Import.js"></script>
110
+ <script type="module" src="../src/components/Accordion.js"></script>
111
+ <script type="module" src="../src/components/Card.js"></script>
109
112
  </body>
110
113
  </html>
@@ -1,48 +1,54 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <base href="/kempo-ui/">
5
4
  <meta charset="UTF-8">
6
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
6
  <title>Icon - Components - Kempo Docs - A Web Components Solution</title>
8
- <link rel="stylesheet" href="/kempo-ui/kempo-vars.css" />
9
- <link rel="stylesheet" href="/kempo-ui/kempo.min.css" />
10
- <link rel="stylesheet" href="/kempo-ui/kempo-hljs.css" />
11
- <link rel="stylesheet" href="/kempo-ui/styles.css" />
7
+ <link rel="stylesheet" href="../kempo-vars.css" />
8
+ <link rel="stylesheet" href="../kempo.min.css" />
9
+ <link rel="stylesheet" href="../kempo-hljs.css" />
10
+ <link rel="stylesheet" href="../styles.css" />
12
11
  <script>window.litDisableBundleWarning = true;</script>
12
+ <script src="../init-1.js" type="module"></script>
13
13
  </head>
14
14
  <body>
15
- <k-import src="/kempo-ui/nav.inc.html"></k-import>
15
+ <k-import src="../nav-1.inc.html"></k-import>
16
16
  <h1 class="ta-center">Icon</h1>
17
17
  <main>
18
- <details class="b r mb">
19
- <summary class="p">Table of Contents</summary>
20
- <div class="m mt0 pl">
21
- <h6>Examples</h6>
22
- <a href="#basicUsage">Basic Usage</a><br />
23
- <a href="#explicitSource">Explicitly Set the Source</a><br />
24
- <a href="#fallbackIcon">Fallback Icon</a><br />
25
- <a href="#changingIconDirectory">Changing the Icon Directory Location</a><br />
26
- <a href="#addingIcons">Adding Icons</a><br />
27
- <a href="#updatingIconDirectoryPath">Updating the Icon Directory Path</a><br />
28
-
29
- <h6 class="mt">JavaScript Reference</h6>
30
- <a href="#constructor">Constructor</a><br />
31
- <a href="#requirements">Requirements</a><br />
32
- <a href="#properties">Properties</a><br />
33
- <a href="#methods">Methods</a><br />
34
- </div>
35
- </details>
18
+ <k-accordion persistent-id="toc" class="b r mb">
19
+ <k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
20
+ <k-accordion-panel name="toc-panel">
21
+ <div class="m ">
22
+ <h6>Examples</h6>
23
+ <a href="#basicUsage">Basic Usage</a><br />
24
+ <a href="#explicitSource">Explicitly Set the Source</a><br />
25
+ <a href="#fallbackIcon">Fallback Icon</a><br />
26
+ <a href="#changingIconDirectory">Changing the Icon Directory Location</a><br />
27
+ <a href="#addingIcons">Adding Icons</a><br />
28
+ <a href="#updatingIconDirectoryPath">Updating the Icon Directory Path</a><br />
29
+
30
+ <h6 class="mt"><a href="#jsRef" class="no-link">JavaScript Reference</a></h6>
31
+ <a href="#constructor">Constructor</a><br />
32
+ <a href="#requirements">Requirements</a><br />
33
+ <a href="#properties">Properties</a><br />
34
+ </div>
35
+ </k-accordion-panel>
36
+ </k-accordion>
36
37
 
37
38
  <h3 id="basicUsage"><a href="#basicUsage" class="no-link">Basic Usage</a></h3>
38
39
  <p>Create an icon using the <code>k-icon</code> component. You can specify the icon by setting the <code>name</code> or <code>src</code> attribute.</p>
39
- <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-icon</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"folder"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-icon</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">k-icon</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/path/to/icon.svg"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-icon</span>&gt;</span></code></pre>
40
40
  <div class="row -mx mb">
41
41
  <div class="col d-span-6 m-span-12 px">
42
- <k-icon name="folder"></k-icon>
42
+ <k-card label="HTML">
43
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-icon</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"folder"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-icon</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">k-icon</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/path/to/icon.svg"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-icon</span>&gt;</span></code></pre>
44
+ </k-card>
43
45
  </div>
44
46
  <div class="col d-span-6 m-span-12 px">
45
- <k-icon src="/path/to/icon.svg"></k-icon>
47
+ <k-card label="Results">
48
+ <k-icon name="folder"></k-icon>
49
+ <k-icon src="/path/to/icon.svg"></k-icon>
50
+ </k-card>
51
+
46
52
  </div>
47
53
  </div>
48
54
 
@@ -53,7 +59,7 @@
53
59
  </k-card>
54
60
  </div>
55
61
  <div class="col d-span-6 m-span-12 px">
56
- <k-card label="Output*">
62
+ <k-card label="Results">
57
63
  <k-icon name="menu"></k-icon>
58
64
  <k-icon name="close"></k-icon>
59
65
  <k-icon name="play"></k-icon>
@@ -71,7 +77,7 @@
71
77
  </k-card>
72
78
  </div>
73
79
  <div class="col d-span-6 m-span-12 px">
74
- <k-card label="Output*">
80
+ <k-card label="Results">
75
81
  <k-icon src="https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/wysiwyg/default/24px.svg"></k-icon>
76
82
  </k-card>
77
83
  </div>
@@ -86,7 +92,7 @@
86
92
  </k-card>
87
93
  </div>
88
94
  <div class="col d-span-6 m-span-12 px">
89
- <k-card label="Output*">
95
+ <k-card label="Results">
90
96
  <k-icon name="invalid"></k-icon>
91
97
  <k-icon name="invalid">
92
98
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path fill="currentColor" d="M240-280h200v-80H240v80Zm400 0h80v-80h-80v80ZM240-440h200v-80H240v80Zm400 0h80v-240h-80v240ZM240-600h200v-80H240v80Zm-80 480q-33 0-56.5-23.5T80-200v-560q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v560q0 33-23.5 56.5T800-120H160Zm0-80h640v-560H160v560Zm0 0v-560 560Z"/></svg>
@@ -118,7 +124,7 @@
118
124
  <p>To change the location of the directory holding the icons, import the <code>Icon</code> class, and set the static member <code>pathToIcons</code> to point to the correct location. Do this before icons are loaded (for example, in the head of the document).</p>
119
125
  <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"module"</span>&gt;</span><span class="javascript"><br /> <span class="hljs-keyword">import</span> Icon <span class="hljs-keyword">from</span> <span class="hljs-string">'/src/components/Icon.js'</span>;<br /> Icon.pathToIcons = [<span class="hljs-string">'./pathTo/icons'</span>];<br /></span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span></code></pre>
120
126
 
121
- <h2 id="jsRef">JavaScript Reference</h2>
127
+ <h2 id="jsRef"><a href="#jsRef" class="no-link">JavaScript Reference</a></h2>
122
128
 
123
129
  <h3 id="constructor"><a href="#constructor" class="no-link">Constructor</a></h3>
124
130
  <h6>Extends <a href="./component.html">Component</a></h6>
@@ -146,8 +152,10 @@
146
152
 
147
153
  </main>
148
154
  <div style="height:33vh"></div>
149
- <script type="module" src="/kempo-ui/src/components/Import.js"></script>
150
- <script type="module" src="/kempo-ui/src/components/Card.js"></script>
151
- <script type="module" src="/kempo-ui/src/components/Icon.js"></script>
155
+ <script type="module" src="../src/components/Import.js"></script>
156
+ <script type="module" src="../src/components/Icon.js"></script>
157
+ <script type="module" src="../src/components/Accordion.js"></script>
158
+ <script type="module" src="../src/components/Card.js"></script>
159
+
152
160
  </body>
153
- </html>
161
+ </html>
@@ -0,0 +1,80 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Import - Components - Kempo Docs - A Web Components Solution</title>
7
+ <link rel="stylesheet" href="../kempo-vars.css" />
8
+ <link rel="stylesheet" href="../kempo.min.css" />
9
+ <link rel="stylesheet" href="../kempo-hljs.css" />
10
+ <link rel="stylesheet" href="../styles.css" />
11
+ <script>window.litDisableBundleWarning = true;</script>
12
+ <script src="../init-1.js" type="module"></script>
13
+ </head>
14
+ <body>
15
+ <k-import src="../nav-1.inc.html"></k-import>
16
+ <h1 class="ta-center">Import</h1>
17
+ <main>
18
+ <k-accordion persistent-id="toc" class="b r mb">
19
+ <k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
20
+ <k-accordion-panel name="toc-panel">
21
+ <div class="m ">
22
+ <h6>Examples</h6>
23
+ <a href="#basicUsage">Basic Usage</a><br />
24
+
25
+ <h6 class="mt"><a href="#jsRef" class="no-link">JavaScript Reference</a></h6>
26
+ <a href="#constructor">Constructor</a><br />
27
+ <a href="#requirements">Requirements</a><br />
28
+ <a href="#properties">Properties</a><br />
29
+ <a href="#methods">Methods</a><br />
30
+ </div>
31
+ </k-accordion-panel>
32
+ </k-accordion>
33
+
34
+ <h3 class="basicUsage">Basic Usage</h3>
35
+ <p>Import an external HTML snippets.</p>
36
+ <div class="row -mx mb">
37
+ <div class="col d-span-6 m-span-12 px">
38
+ <k-card label="import-me.html">
39
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>I am html<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span></code></pre>
40
+ </k-card>
41
+ <k-card label="HTML">
42
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-import</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"import-me.html"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-import</span>&gt;</span></code></pre>
43
+ </k-card>
44
+ </div>
45
+ <div class="col d-span-6 m-span-12 px">
46
+ <k-card label="Results">
47
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-import</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"import-me.html"</span> <span class="hljs-attr">rendered</span>=<span class="hljs-string">"true"</span>&gt;</span><br /> <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>I am html<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span><br /><span class="hljs-tag">&lt;/<span class="hljs-name">k-import</span>&gt;</span></code></pre>
48
+ </k-card>
49
+ </div>
50
+ </div>
51
+
52
+ <h2 id="jsRef">JavaScript Reference</h2>
53
+
54
+ <h3 id="constructor"><a href="#constructor" class="no-link">Constructor</a></h3>
55
+ <h6>Extends <a href="./component.html">Component</a></h6>
56
+ <h5>
57
+ <code>new Import()</code>
58
+ </h5>
59
+
60
+ <h3 id="requirements"><a href="#requirements" class="no-link">Requirements</a></h3>
61
+ <ul>
62
+ <li><a href="./component.html">Component</a></li>
63
+ </ul>
64
+
65
+ <h3 id="properties"><a href="#properties" class="no-link">Properties</a></h3>
66
+ <h5><code>src<i>: string</i></code></h5>
67
+ <p>The source URL of the HTML snippet to import. Syncs to <code>src</code> attribute.</p>
68
+
69
+ <h3 id="methods"><a href="#methods" class="no-link">Methods</a></h3>
70
+ <h5><code>load()<i>: Promise</i></code></h5>
71
+ <p>Loads the HTML snippet from the specified source URL.</p>
72
+
73
+ </main>
74
+ <div style="height:33vh"></div>
75
+ <script type="module" src="../src/components/Import.js"></script>
76
+ <script type="module" src="../src/components/Accordion.js"></script>
77
+ <script type="module" src="../src/components/Card.js"></script>
78
+
79
+ </body>
80
+ </html>
@@ -1,51 +1,56 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <base href="/kempo-ui/">
5
4
  <meta charset="UTF-8">
6
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
6
  <title>LightComponent - Base Components - Kempo Docs - A Web Components Solution</title>
8
- <link rel="stylesheet" href="kempo-vars.css" />
9
- <link rel="stylesheet" href="kempo.min.css" />
10
- <link rel="stylesheet" href="kempo-hljs.css" />
11
- <link rel="stylesheet" href="styles.css" />
7
+ <link rel="stylesheet" href="../kempo-vars.css" />
8
+ <link rel="stylesheet" href="../kempo.min.css" />
9
+ <link rel="stylesheet" href="../kempo-hljs.css" />
10
+ <link rel="stylesheet" href="../styles.css" />
12
11
  <script>window.litDisableBundleWarning = true;</script>
12
+ <script src="../init-1.js" type="module"></script>
13
13
  </head>
14
14
  <body>
15
- <k-import src="/kempo-ui/nav.inc.html"></k-import>
15
+ <k-import src="../nav-1.inc.html"></k-import>
16
16
  <h1 class="ta-center">LightComponent</h1>
17
17
  <main>
18
- <details class="b r mb">
19
- <summary class="p">Table of Contents</summary>
20
- <div class="m mt0 pl">
21
- <h6>Guide</h6>
22
- <a href="#overview">Overview</a><br />
23
- <a href="#basicUsage">Basic Usage</a><br />
24
- <a href="#whenToUse">When to Use</a><br />
25
-
26
- <h6 class="mt">JavaScript Reference</h6>
27
- <a href="#constructor">Constructor</a><br />
28
- <a href="#requirements">Requirements</a><br />
29
- <a href="#properties">Properties</a><br />
30
- <a href="#methods">Methods</a><br />
31
- </div>
32
- </details>
18
+ <k-accordion persistent-id="toc" class="b r mb">
19
+ <k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
20
+ <k-accordion-panel name="toc-panel">
21
+ <div class="m ">
22
+ <h6>Guide</h6>
23
+ <a href="#overview">Overview</a><br />
24
+ <a href="#basicUsage">Basic Usage</a><br />
25
+ <a href="#whenToUse">When to Use</a><br />
26
+
27
+ <h6 class="mt"><a href="#jsRef" class="no-link">JavaScript Reference</a></h6>
28
+ <a href="#constructor">Constructor</a><br />
29
+ <a href="#requirements">Requirements</a><br />
30
+ <a href="#properties">Properties</a><br />
31
+ <a href="#methods">Methods</a><br />
32
+ </div>
33
+ </k-accordion-panel>
34
+ </k-accordion>
33
35
 
34
36
  <h3 id="overview"><a href="#overview" class="no-link">Overview</a></h3>
35
- <p>LightComponent is a base class that extends LitElement and renders directly to the light DOM instead of shadow DOM. Use this when you want your component to:</p>
37
+ <p>LightComponent is a base class that extends LitElement and renders directly to the light DOM instead of shadow
38
+ DOM. Use this when you want your component to:</p>
36
39
  <ul>
37
40
  <li>Render content in the light DOM (no shadow DOM encapsulation)</li>
38
41
  <li>Allow global CSS to style component content</li>
39
42
  <li>Interact naturally with parent page styles</li>
40
43
  <li>Support natural children alongside rendered content</li>
41
44
  </ul>
42
- <p>Components like <a href="persistant-collapsible.html">PersistantCollapsible</a> and <a href="theme-switcher.html">ThemeSwitcher</a> extend LightComponent.</p>
45
+ <p>Components like <a href="persistant-collapsible.html">PersistantCollapsible</a> and <a
46
+ href="theme-switcher.html">ThemeSwitcher</a> extend LightComponent.</p>
43
47
 
44
48
  <h3 id="basicUsage"><a href="#basicUsage" class="no-link">Basic Usage</a></h3>
45
49
  <p>Create a custom component by extending LightComponent and implementing <code>renderLightDom()</code>:</p>
46
50
  <pre><code class="hljs javascript"><span class="hljs-keyword">import</span> LightComponent <span class="hljs-keyword">from</span> <span class="hljs-string">'./LightComponent.js'</span>;<br /><span class="hljs-keyword">import</span> { html } <span class="hljs-keyword">from</span> <span class="hljs-string">'../lit-all.min.js'</span>;<br /><br /><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">MyLightComponent</span> <span class="hljs-keyword">extends</span> <span class="hljs-title class_">LightComponent</span> {<br /> <span class="hljs-keyword">static</span> properties = {<br /> <span class="hljs-attr">message</span>: { <span class="hljs-attr">type</span>: <span class="hljs-title class_">String</span> }<br /> };<br /><br /> <span class="hljs-title function_">constructor</span>() {<br /> <span class="hljs-variable language_">super</span>();<br /> <span class="hljs-variable language_">this</span>.message = <span class="hljs-string">'Hello'</span>;<br /> }<br /><br /> <span class="hljs-title function_">renderLightDom</span>() {<br /> <span class="hljs-keyword">return</span> html<span class="hljs-string">`<br /> &lt;div class="card p"&gt;<br /> &lt;p&gt;<span class="hljs-subst">${<span class="hljs-variable language_">this</span>.message}</span> from Light DOM!&lt;/p&gt;<br /> &lt;/div&gt;<br /> `</span>;<br /> }<br />}<br /><br /><span class="hljs-variable language_">customElements</span>.<span class="hljs-title function_">define</span>(<span class="hljs-string">'my-light-component'</span>, MyLightComponent);</code></pre>
47
51
 
48
- <p><strong>Important:</strong> Always call <code>super.updated()</code> when overriding the <code>updated()</code> lifecycle method:</p>
52
+ <p><strong>Important:</strong> Always call <code>super.updated()</code> when overriding the <code>updated()</code>
53
+ lifecycle method:</p>
49
54
  <pre><code class="hljs javascript"><span class="hljs-title function_">updated</span>(changedProperties) {<br /> <span class="hljs-variable language_">super</span>.<span class="hljs-title function_">updated</span>(); <span class="hljs-comment">// Required!</span><br /> <br /> <span class="hljs-comment">// Your custom logic here</span><br /> <span class="hljs-keyword">if</span>(changedProperties.<span class="hljs-title function_">has</span>(<span class="hljs-string">'message'</span>)) {<br /> <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">'Message changed'</span>);<br /> }<br />}</code></pre>
50
55
 
51
56
  <h3 id="whenToUse"><a href="#whenToUse" class="no-link">When to Use</a></h3>
@@ -56,10 +61,12 @@
56
61
  <li>Shadow DOM encapsulation would interfere with your component's purpose</li>
57
62
  <li>You're working with third-party libraries that expect light DOM</li>
58
63
  </ul>
59
- <p>Use <a href="shadow-component.html">ShadowComponent</a> instead when you need style encapsulation and scoped CSS.</p>
60
- <p>Use <a href="hybrid-component.html">HybridComponent</a> when you need both shadow DOM styles and light DOM rendering.</p>
64
+ <p>Use <a href="./components/shadow-component.html">ShadowComponent</a> instead when you need style encapsulation and scoped CSS.
65
+ </p>
66
+ <p>Use <a href="./components/hybrid-component.html">HybridComponent</a> when you need both shadow DOM styles and light DOM
67
+ rendering.</p>
61
68
 
62
- <h2 id="jsRef">JavaScript Reference</h2>
69
+ <h2 id="jsRef"><a href="#jsRef" class="no-link">JavaScript Reference</a></h2>
63
70
 
64
71
  <h3 id="constructor"><a href="#constructor" class="no-link">Constructor</a></h3>
65
72
  <h6>Extends LitElement</h6>
@@ -73,7 +80,8 @@
73
80
 
74
81
  <h3 id="properties"><a href="#properties" class="no-link">Properties</a></h3>
75
82
  <h5><code>lightRoot<i>: HTMLElement</i></code></h5>
76
- <p>A container element with <code>display: contents</code> that holds the rendered light DOM content. Created automatically by <code>createRenderRoot()</code>.</p>
83
+ <p>A container element with <code>display: contents</code> that holds the rendered light DOM content. Created
84
+ automatically by <code>createRenderRoot()</code>.</p>
77
85
 
78
86
  <h3 id="methods"><a href="#methods" class="no-link">Methods</a></h3>
79
87
  <h5><code>createRenderRoot()<i>: Element</i></code></h5>
@@ -85,13 +93,24 @@
85
93
  </ul>
86
94
 
87
95
  <h5><code>updated()<i>: void</i></code></h5>
88
- <p>Called automatically by Lit when the component updates. Renders the result of <code>renderLightDom()</code> into <code>lightRoot</code>. Override this method if needed, but always call <code>super.updated()</code>.</p>
96
+ <p>Called automatically by Lit when the component updates. Renders the result of <code>renderLightDom()</code> into
97
+ <code>lightRoot</code>. Override this method if needed, but always call <code>super.updated()</code>.</p>
98
+
99
+ <h5><code>childrenUpdated()<i>: void</i></code></h5>
100
+ <p>A custom lifecycle callback that is automatically triggered whenever a child element is added or removed from the
101
+ component. After this callback returns, <code>requestUpdate()</code> is automatically called to trigger a
102
+ re-render.</p>
103
+ <p>Override this method to react to child changes:</p>
104
+ <pre><code class="hljs javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">MyComponent</span> <span class="hljs-keyword">extends</span> <span class="hljs-title class_">LightComponent</span> {<br /> <span class="hljs-title function_">childrenUpdated</span>() {<br /> <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">'Children changed!'</span>);<br /> <span class="hljs-variable language_">this</span>.validateChildren();<br /> }<br />}</code></pre>
89
105
 
90
106
  <h5><code>renderLightDom()<i>: TemplateResult</i></code></h5>
91
- <p>Override this method to define what should be rendered to the light DOM. Returns an empty template by default. Use Lit's <code>html</code> tagged template literal to return your content.</p>
107
+ <p>Override this method to define what should be rendered to the light DOM. Returns an empty template by default.
108
+ Use Lit's <code>html</code> tagged template literal to return your content.</p>
92
109
 
93
110
  </main>
94
111
  <div style="height:33vh"></div>
95
- <script type="module" src="/kempo-ui/src/components/Import.js"></script>
112
+ <script type="module" src="../src/components/Import.js"></script>
113
+ <script type="module" src="../src/components/Accordion.js"></script>
114
+ <script type="module" src="../src/components/Card.js"></script>
96
115
  </body>
97
- </html>
116
+ </html>