kempo-ui 0.3.4 → 0.3.6

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 (143) hide show
  1. package/AGENTS.md +2 -1
  2. package/dist/components/Aside.js +2 -0
  3. package/docs/components/accordion.html +240 -8
  4. package/docs/components/aside-items.html +13 -9
  5. package/docs/components/aside-menu.html +13 -9
  6. package/docs/components/aside-push.html +11 -6
  7. package/docs/components/aside.html +239 -8
  8. package/docs/components/card.html +238 -7
  9. package/docs/components/color-picker.html +245 -14
  10. package/docs/components/content-slider.html +240 -8
  11. package/docs/components/context.html +241 -7
  12. package/docs/components/dialog.html +238 -7
  13. package/docs/components/dropdown.html +238 -7
  14. package/docs/components/filter-list.html +239 -10
  15. package/docs/components/focus-capture.html +241 -10
  16. package/docs/components/html-editor.html +266 -35
  17. package/docs/components/hybrid-component.html +238 -6
  18. package/docs/components/icon.html +239 -9
  19. package/docs/components/import.html +239 -8
  20. package/docs/components/light-component.html +239 -7
  21. package/docs/components/nav.html +240 -8
  22. package/docs/components/photo-viewer.html +239 -9
  23. package/docs/components/resize.html +240 -9
  24. package/docs/components/shadow-component.html +239 -7
  25. package/docs/components/show-more.html +237 -8
  26. package/docs/components/sortable.html +239 -8
  27. package/docs/components/spinner.html +237 -6
  28. package/docs/components/split.html +241 -10
  29. package/docs/components/table.html +241 -11
  30. package/docs/components/tableControls.html +240 -7
  31. package/docs/components/tableCustomFields.html +241 -8
  32. package/docs/components/tableFetchRecords.html +239 -7
  33. package/docs/components/tableFieldSortHide.html +239 -7
  34. package/docs/components/tablePagination.html +246 -13
  35. package/docs/components/tablePlaceholder.html +241 -8
  36. package/docs/components/tableRecordEditing.html +241 -8
  37. package/docs/components/tableRecordFiltering.html +239 -7
  38. package/docs/components/tableRecordHiding.html +241 -9
  39. package/docs/components/tableRecordSearching.html +239 -7
  40. package/docs/components/tableRecordSelection.html +240 -7
  41. package/docs/components/tableRowControls.html +241 -8
  42. package/docs/components/tableServerSync.html +245 -11
  43. package/docs/components/tableSorting.html +239 -7
  44. package/docs/components/tabs.html +240 -7
  45. package/docs/components/tags.html +239 -7
  46. package/docs/components/theme-select.html +239 -7
  47. package/docs/components/theme-switcher.html +240 -8
  48. package/docs/components/timestamp.html +239 -8
  49. package/docs/components/toast.html +240 -8
  50. package/docs/components/toggle.html +240 -9
  51. package/docs/components/tree.html +239 -8
  52. package/docs/index.html +244 -6
  53. package/docs/prod.config.json +0 -4
  54. package/docs/src/components/Aside.js +2 -0
  55. package/docs/utils/context.html +237 -6
  56. package/docs/utils/cookie.html +251 -21
  57. package/docs/utils/debounce.html +236 -5
  58. package/docs/utils/drag.html +236 -5
  59. package/docs/utils/elevation.html +238 -6
  60. package/docs/utils/formatTimestamp.html +233 -3
  61. package/docs/utils/object.html +236 -5
  62. package/docs/utils/propConverters.html +233 -3
  63. package/docs/utils/string.html +236 -5
  64. package/docs/utils/theme.html +237 -6
  65. package/docs/utils/toTitleCase.html +233 -3
  66. package/docs/utils/type.html +236 -5
  67. package/docs/utils/wait.html +236 -5
  68. package/docs-src/.config.js +16 -0
  69. package/docs-src/bare.template.html +16 -0
  70. package/docs-src/components/accordion.page.html +201 -0
  71. package/docs-src/components/aside-items.page.html +36 -0
  72. package/docs-src/components/aside-menu.page.html +36 -0
  73. package/docs-src/components/aside-push.page.html +20 -0
  74. package/docs-src/components/aside.page.html +551 -0
  75. package/docs-src/components/card.page.html +78 -0
  76. package/docs-src/components/color-picker.page.html +559 -0
  77. package/docs-src/components/content-slider.page.html +266 -0
  78. package/docs-src/components/context.page.html +214 -0
  79. package/docs-src/components/dialog.page.html +365 -0
  80. package/docs-src/components/dropdown.page.html +300 -0
  81. package/docs-src/components/filter-list.page.html +117 -0
  82. package/docs-src/components/focus-capture.page.html +97 -0
  83. package/docs-src/components/html-editor.page.html +423 -0
  84. package/docs-src/components/hybrid-component.page.html +96 -0
  85. package/docs-src/components/icon.page.html +208 -0
  86. package/docs-src/components/import.page.html +76 -0
  87. package/docs-src/components/light-component.page.html +99 -0
  88. package/docs-src/components/nav.page.html +106 -0
  89. package/docs-src/components/photo-viewer.page.html +253 -0
  90. package/docs-src/components/resize.page.html +161 -0
  91. package/docs-src/components/shadow-component.page.html +84 -0
  92. package/docs-src/components/show-more.page.html +113 -0
  93. package/docs-src/components/sortable.page.html +117 -0
  94. package/docs-src/components/spinner.page.html +197 -0
  95. package/docs-src/components/split.page.html +195 -0
  96. package/docs-src/components/table.page.html +283 -0
  97. package/docs-src/components/tableControls.page.html +64 -0
  98. package/docs-src/components/tableCustomFields.page.html +124 -0
  99. package/docs-src/components/tableFetchRecords.page.html +95 -0
  100. package/docs-src/components/tableFieldSortHide.page.html +56 -0
  101. package/docs-src/components/tablePagination.page.html +85 -0
  102. package/docs-src/components/tablePlaceholder.page.html +73 -0
  103. package/docs-src/components/tableRecordEditing.page.html +161 -0
  104. package/docs-src/components/tableRecordFiltering.page.html +69 -0
  105. package/docs-src/components/tableRecordHiding.page.html +65 -0
  106. package/docs-src/components/tableRecordSearching.page.html +56 -0
  107. package/docs-src/components/tableRecordSelection.page.html +60 -0
  108. package/docs-src/components/tableRowControls.page.html +62 -0
  109. package/docs-src/components/tableServerSync.page.html +129 -0
  110. package/docs-src/components/tableSorting.page.html +54 -0
  111. package/docs-src/components/tabs.page.html +201 -0
  112. package/docs-src/components/tags.page.html +157 -0
  113. package/docs-src/components/theme-select.page.html +106 -0
  114. package/docs-src/components/theme-switcher.page.html +122 -0
  115. package/docs-src/components/timestamp.page.html +109 -0
  116. package/docs-src/components/toast.page.html +338 -0
  117. package/docs-src/components/toggle.page.html +177 -0
  118. package/docs-src/components/tree.page.html +356 -0
  119. package/docs-src/default.template.html +28 -0
  120. package/docs-src/index.page.html +312 -0
  121. package/docs-src/nav.fragment.html +228 -0
  122. package/docs-src/utils/context.page.html +143 -0
  123. package/docs-src/utils/cookie.page.html +128 -0
  124. package/docs-src/utils/debounce.page.html +42 -0
  125. package/docs-src/utils/drag.page.html +64 -0
  126. package/docs-src/utils/elevation.page.html +144 -0
  127. package/docs-src/utils/formatTimestamp.page.html +76 -0
  128. package/docs-src/utils/object.page.html +76 -0
  129. package/docs-src/utils/propConverters.page.html +73 -0
  130. package/docs-src/utils/string.page.html +66 -0
  131. package/docs-src/utils/theme.page.html +136 -0
  132. package/docs-src/utils/toTitleCase.page.html +52 -0
  133. package/docs-src/utils/type.page.html +31 -0
  134. package/docs-src/utils/wait.page.html +31 -0
  135. package/package.json +4 -4
  136. package/scripts/build.js +5 -0
  137. package/scripts/docs.js +5 -52
  138. package/src/components/Aside.js +2 -0
  139. package/tests/components/Aside.browser-test.js +35 -0
  140. package/docs/dev.config.json +0 -20
  141. package/docs/nav-1.inc.html +0 -168
  142. package/docs/nav.inc.html +0 -168
  143. package/docs/nav.inc.js +0 -70
@@ -0,0 +1,31 @@
1
+ <page pageName="Wait Utilities" title="Wait Utilities - Kempo UI">
2
+ <content location="header"></content>
3
+ <content>
4
+ <h1>Wait Utilities</h1>
5
+
6
+ <k-accordion persistent-id="toc" class="b r mb">
7
+ <k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
8
+ <k-accordion-panel name="toc-panel">
9
+ <div class="m ">
10
+ <h6>Functions</h6>
11
+ <a href="#wait">wait</a><br />
12
+ <a href="#waitFrames">waitFrames</a><br />
13
+ </div>
14
+ </k-accordion-panel>
15
+ </k-accordion>
16
+
17
+ <h3>Description</h3>
18
+ <p>The wait utilities module provides functions for creating delays and waiting for animation frames, useful for timing operations and animations.</p>
19
+
20
+ <h3 id="wait"><a href="#wait" class="no-link">wait</a></h3>
21
+ <p>Creates a promise that resolves after a specified number of milliseconds.</p>
22
+ <pre><code class="hljs javascript"><span class="hljs-keyword">import</span> { wait } <span class="hljs-keyword">from</span> <span class="hljs-string">'../src/utils/wait.js'</span>;<br /><br /><span class="hljs-comment">// Wait for 1 second</span><br />await wait(<span class="hljs-number">1000</span>);<br /><span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">'This runs after 1 second'</span>);</code></pre>
23
+
24
+ <h3 id="waitFrames"><a href="#waitFrames" class="no-link">waitFrames</a></h3>
25
+ <p>Creates a promise that resolves after a specified number of animation frames.</p>
26
+ <pre><code class="hljs javascript"><span class="hljs-keyword">import</span> { waitFrames } <span class="hljs-keyword">from</span> <span class="hljs-string">'../src/utils/wait.js'</span>;<br /><br /><span class="hljs-comment">// Wait for 2 animation frames</span><br />await waitFrames(<span class="hljs-number">2</span>);<br /><span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">'This runs after 2 frames'</span>);</code></pre>
27
+ </content>
28
+ <content location="scripts">
29
+ <script type="module" src="{{pathToRoot}}src/components/Accordion.js"></script>
30
+ </content>
31
+ </page>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kempo-ui",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "type": "module",
5
5
  "description": "A Lit based web-component library",
6
6
  "main": "index.js",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "scripts": {
14
14
  "build": "node scripts/build.js",
15
- "prod": "node scripts/docs.js",
16
- "dev": "node scripts/docs.js --src --port 9875",
15
+ "prod": "npx kempo-server --root docs --config docs/prod.config.json",
16
+ "dev": "npx kempo-server --root docs-src",
17
17
  "icon": "node bin/icon.js",
18
18
  "geticon": "node bin/get_icon.js",
19
19
  "listicons": "node bin/list_icons.js",
@@ -36,7 +36,7 @@
36
36
  "devDependencies": {
37
37
  "highlight.js": "^11.11.1",
38
38
  "js-beautify": "^1.15.4",
39
- "kempo-server": "^1.10.5",
39
+ "kempo-server": "^3.0.3",
40
40
  "kempo-testing-framework": "^1.4.4",
41
41
  "terser": "^5.43.1"
42
42
  },
package/scripts/build.js CHANGED
@@ -95,4 +95,9 @@ await copyDir('./dist', './docs/src/');
95
95
  console.log('Copying icons/ to docs/icons/');
96
96
  await copyDir('./icons', './docs/icons/');
97
97
 
98
+ console.log('Pre-rendering docs-src → docs...');
99
+ import { renderDir } from 'kempo-server/templating';
100
+ const count = await renderDir('./docs-src', './docs');
101
+ console.log(`Rendered ${count} pages`);
102
+
98
103
  console.log('Build Complete');
package/scripts/docs.js CHANGED
@@ -1,69 +1,22 @@
1
1
  import { dirname, join } from 'path';
2
2
  import { fileURLToPath } from 'url';
3
- import { spawn } from 'child_process';
4
3
  import { getArgs, runChildNodeProcessScript } from 'kempo-server/utils/cli';
5
4
 
6
5
  const __filename = fileURLToPath(import.meta.url);
7
6
  const __dirname = dirname(__filename);
8
7
 
9
- /*
10
- Configuration
11
- */
12
8
  const options = getArgs({
13
- p: 'port',
14
- b: 'build',
15
- s: 'src'
9
+ b: 'build'
16
10
  });
17
11
 
18
- const {
19
- port = 8083,
20
- build = null,
21
- src = false
22
- } = options;
12
+ const { build = false } = options;
23
13
 
24
- /*
25
- Build Logic
26
- */
27
- if(build === null ? !src : build === 'true' || build === true){
28
- console.log('Building component files...');
14
+ if(build === 'true' || build === true){
15
+ console.log('Building component files...');
29
16
  await runChildNodeProcessScript(join(__dirname, 'build.js'));
30
- console.log('Component files built!');
17
+ console.log('Build complete!');
31
18
  }
32
19
 
33
- /*
34
- Server Startup
35
- */
36
- const rootDir = 'docs';
37
- const configFile = src ?
38
- join(__dirname, '../docs/dev.config.json') :
39
- join(__dirname, '../docs/prod.config.json');
40
-
41
- console.log(`Starting kempo-server on port ${port}`);
42
- console.log(`Root: ${rootDir}`);
43
- console.log(`Config: ${configFile}`);
44
-
45
- const serverArgs = [
46
- 'kempo-server',
47
- '--root', rootDir,
48
- '--port', port.toString(),
49
- '--config', configFile
50
- ];
51
-
52
- const serverProcess = spawn('npx', serverArgs, {
53
- stdio: 'inherit',
54
- shell: true
55
- });
56
-
57
- serverProcess.on('error', err => {
58
- console.error('Failed to start server:', err.message);
59
- process.exit(1);
60
- });
61
-
62
- process.on('SIGINT', () => {
63
- serverProcess.kill();
64
- process.exit(0);
65
- });
66
-
67
20
  process.on('SIGTERM', () => {
68
21
  serverProcess.kill();
69
22
  process.exit(0);
@@ -198,6 +198,8 @@ export default class Aside extends ShadowComponent {
198
198
  left: var(--spacer_h);
199
199
  }
200
200
  aside {
201
+ display: flex;
202
+ flex-direction: column;
201
203
  position: fixed;
202
204
  top: 0;
203
205
  left: 0;
@@ -756,6 +756,41 @@ export default {
756
756
  pass('AsideSpacer has flex-grow 1');
757
757
  },
758
758
 
759
+ 'AsideSpacer: aside should be a flex column so spacer pushes items down': async ({pass, fail}) => {
760
+ const aside = await createAside({ main: 'push', state: 'expanded' });
761
+ const item1 = document.createElement('k-aside-item');
762
+ item1.icon = 'cards';
763
+ item1.textContent = 'Top';
764
+ const spacer = document.createElement('k-aside-spacer');
765
+ const item2 = document.createElement('k-aside-item');
766
+ item2.icon = 'settings';
767
+ item2.textContent = 'Bottom';
768
+ aside.appendChild(item1);
769
+ aside.appendChild(spacer);
770
+ aside.appendChild(item2);
771
+ await item1.updateComplete;
772
+ await spacer.updateComplete;
773
+ await item2.updateComplete;
774
+ await new Promise(r => requestAnimationFrame(r));
775
+ const asideEl = aside.shadowRoot.querySelector('aside');
776
+ const asideStyle = getComputedStyle(asideEl);
777
+ if(asideStyle.display !== 'flex') {
778
+ cleanup(aside);
779
+ return fail(`Expected aside display flex, got ${asideStyle.display}`);
780
+ }
781
+ if(asideStyle.flexDirection !== 'column') {
782
+ cleanup(aside);
783
+ return fail(`Expected aside flex-direction column, got ${asideStyle.flexDirection}`);
784
+ }
785
+ const spacerRect = spacer.getBoundingClientRect();
786
+ if(spacerRect.height < 1) {
787
+ cleanup(aside);
788
+ return fail(`Spacer should have height > 0 to push items, got ${spacerRect.height}`);
789
+ }
790
+ cleanup(aside);
791
+ pass('Aside is a flex column and spacer pushes items down');
792
+ },
793
+
759
794
  /*
760
795
  Cleanup
761
796
  */
@@ -1,20 +0,0 @@
1
- {
2
- "customRoutes": {
3
- "/icons/**": "../icons/**",
4
- "/src/**": "../src/**"
5
- },
6
- "middleware": {
7
- "security": {
8
- "enabled": true,
9
- "headers": {
10
- "X-Content-Type-Options": "nosniff",
11
- "X-Frame-Options": "SAMEORIGIN",
12
- "X-XSS-Protection": "1; mode=block"
13
- }
14
- },
15
- "logging": {
16
- "enabled": true,
17
- "includeResponseTime": true
18
- }
19
- }
20
- }
@@ -1,168 +0,0 @@
1
- <k-nav
2
- fixed
3
- class="bg-primary"
4
- >
5
- <button
6
- id="toggleNavSideMenu"
7
- class="link"
8
- >
9
- <k-icon name="menu"></k-icon>
10
- </button>
11
- <a
12
- href="../"
13
- class="d-if ph"
14
- style="align-items: center"
15
- >
16
- <img src="../media/icon32.png" alt="Kempo UI Icon" class="pr" />
17
- Kempo UI
18
- </a>
19
- <div style="position:relative;margin:0 .25rem;align-self:center;" theme="light">
20
- <input id="navSearchInput" type="search" placeholder="Search docs..." autocomplete="off" style="width:11rem;" />
21
- <div id="navSearchDropdown" hidden theme="light" style="position:absolute;top:calc(100% + 4px);left:0;width:min(480px,90vw);max-height:70vh;background:var(--c_bg);border:1px solid var(--c_border);border-radius:var(--radius);overflow:auto;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,.3);">
22
- <k-filter-list id="navSearchList" style="display:block;padding:.25rem 0;">
23
- <k-filter-item filter-keywords="accordion components"><a href="../components/accordion.html">Accordion<br><small>Component</small></a></k-filter-item>
24
- <k-filter-item filter-keywords="aside sidebar components"><a href="../components/aside.html">Aside<br><small>Component</small></a></k-filter-item>
25
- <k-filter-item filter-keywords="card components"><a href="../components/card.html">Card<br><small>Component</small></a></k-filter-item>
26
- <k-filter-item filter-keywords="color picker colorpicker components"><a href="../components/color-picker.html">Color Picker<br><small>Component</small></a></k-filter-item>
27
- <k-filter-item filter-keywords="content slider components"><a href="../components/content-slider.html">Content Slider<br><small>Component</small></a></k-filter-item>
28
- <k-filter-item filter-keywords="context state global components"><a href="../components/context.html">Context<br><small>Component</small></a></k-filter-item>
29
- <k-filter-item filter-keywords="dialog modal popup components"><a href="../components/dialog.html">Dialog<br><small>Component</small></a></k-filter-item>
30
- <k-filter-item filter-keywords="dropdown select components"><a href="../components/dropdown.html">Dropdown<br><small>Component</small></a></k-filter-item>
31
- <k-filter-item filter-keywords="filter list filterlist components"><a href="../components/filter-list.html">Filter List<br><small>Component</small></a></k-filter-item>
32
- <k-filter-item filter-keywords="focus capture focuscapture components"><a href="../components/focus-capture.html">Focus Capture<br><small>Component</small></a></k-filter-item>
33
- <k-filter-item filter-keywords="html editor components"><a href="../components/html-editor.html">HTML Editor<br><small>Component</small></a></k-filter-item>
34
- <k-filter-item filter-keywords="icon components"><a href="../components/icon.html">Icon<br><small>Component</small></a></k-filter-item>
35
- <k-filter-item filter-keywords="import components"><a href="../components/import.html">Import<br><small>Component</small></a></k-filter-item>
36
- <k-filter-item filter-keywords="nav navbar navigation components"><a href="../components/nav.html">Nav<br><small>Component</small></a></k-filter-item>
37
- <k-filter-item filter-keywords="photo viewer photoviewer components"><a href="../components/photo-viewer.html">Photo Viewer<br><small>Component</small></a></k-filter-item>
38
- <k-filter-item filter-keywords="resize components"><a href="../components/resize.html">Resize<br><small>Component</small></a></k-filter-item>
39
- <k-filter-item filter-keywords="show more showmore components"><a href="../components/show-more.html">Show More<br><small>Component</small></a></k-filter-item>
40
- <k-filter-item filter-keywords="sortable drag drop sort components"><a href="../components/sortable.html">Sortable<br><small>Component</small></a></k-filter-item>
41
- <k-filter-item filter-keywords="spinner loading components"><a href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
42
- <k-filter-item filter-keywords="split pane components"><a href="../components/split.html">Split<br><small>Component</small></a></k-filter-item>
43
- <k-filter-item filter-keywords="table data grid components"><a href="../components/table.html">Table<br><small>Component</small></a></k-filter-item>
44
- <k-filter-item filter-keywords="table controls advanced example"><a href="../components/tableControls.html">Table — Controls<br><small>Advanced Example</small></a></k-filter-item>
45
- <k-filter-item filter-keywords="table custom fields advanced example"><a href="../components/tableCustomFields.html">Table — Custom Fields<br><small>Advanced Example</small></a></k-filter-item>
46
- <k-filter-item filter-keywords="table fetch records advanced example"><a href="../components/tableFetchRecords.html">Table — Fetch Records<br><small>Advanced Example</small></a></k-filter-item>
47
- <k-filter-item filter-keywords="table field sort hide advanced example"><a href="../components/tableFieldSortHide.html">Table — Field Sort &amp; Hide<br><small>Advanced Example</small></a></k-filter-item>
48
- <k-filter-item filter-keywords="table pagination advanced example"><a href="../components/tablePagination.html">Table — Pagination<br><small>Advanced Example</small></a></k-filter-item>
49
- <k-filter-item filter-keywords="table record editing advanced example"><a href="../components/tableRecordEditing.html">Table — Record Editing<br><small>Advanced Example</small></a></k-filter-item>
50
- <k-filter-item filter-keywords="table record filtering advanced example"><a href="../components/tableRecordFiltering.html">Table — Record Filtering<br><small>Advanced Example</small></a></k-filter-item>
51
- <k-filter-item filter-keywords="table record hiding advanced example"><a href="../components/tableRecordHiding.html">Table — Record Hiding<br><small>Advanced Example</small></a></k-filter-item>
52
- <k-filter-item filter-keywords="table record searching advanced example"><a href="../components/tableRecordSearching.html">Table — Record Searching<br><small>Advanced Example</small></a></k-filter-item>
53
- <k-filter-item filter-keywords="table record selection advanced example"><a href="../components/tableRecordSelection.html">Table — Record Selection<br><small>Advanced Example</small></a></k-filter-item>
54
- <k-filter-item filter-keywords="table row controls advanced example"><a href="../components/tableRowControls.html">Table — Row Controls<br><small>Advanced Example</small></a></k-filter-item>
55
- <k-filter-item filter-keywords="table server sync advanced example"><a href="../components/tableServerSync.html">Table — Server Sync<br><small>Advanced Example</small></a></k-filter-item>
56
- <k-filter-item filter-keywords="table sorting advanced example"><a href="../components/tableSorting.html">Table — Sorting<br><small>Advanced Example</small></a></k-filter-item>
57
- <k-filter-item filter-keywords="tabs tab panel components"><a href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
58
- <k-filter-item filter-keywords="tags tag input components"><a href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
59
- <k-filter-item filter-keywords="theme select dropdown dark light components"><a href="../components/theme-select.html">Theme Select<br><small>Component</small></a></k-filter-item>
60
- <k-filter-item filter-keywords="theme switcher dark light components"><a href="../components/theme-switcher.html">Theme Switcher<br><small>Component</small></a></k-filter-item>
61
- <k-filter-item filter-keywords="timestamp date time components"><a href="../components/timestamp.html">Timestamp<br><small>Component</small></a></k-filter-item>
62
- <k-filter-item filter-keywords="toast notification alert components"><a href="../components/toast.html">Toast<br><small>Component</small></a></k-filter-item>
63
- <k-filter-item filter-keywords="toggle switch checkbox components"><a href="../components/toggle.html">Toggle<br><small>Component</small></a></k-filter-item>
64
- <k-filter-item filter-keywords="tree treeview components"><a href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
65
- <k-filter-item filter-keywords="shadow component base"><a href="../components/shadow-component.html">Shadow Component<br><small>Base Component</small></a></k-filter-item>
66
- <k-filter-item filter-keywords="light component base"><a href="../components/light-component.html">Light Component<br><small>Base Component</small></a></k-filter-item>
67
- <k-filter-item filter-keywords="hybrid component base"><a href="../components/hybrid-component.html">Hybrid Component<br><small>Base Component</small></a></k-filter-item>
68
- <k-filter-item filter-keywords="cookie utils utility"><a href="../utils/cookie.html">cookie<br><small>Utility</small></a></k-filter-item>
69
- <k-filter-item filter-keywords="context utils utility"><a href="../utils/context.html">context<br><small>Utility</small></a></k-filter-item>
70
- <k-filter-item filter-keywords="debounce utils utility"><a href="../utils/debounce.html">debounce<br><small>Utility</small></a></k-filter-item>
71
- <k-filter-item filter-keywords="drag utils utility"><a href="../utils/drag.html">drag<br><small>Utility</small></a></k-filter-item>
72
- <k-filter-item filter-keywords="elevation z-index stacking utils"><a href="../utils/elevation.html">elevation<br><small>Utility</small></a></k-filter-item>
73
- <k-filter-item filter-keywords="formattimestamp timestamp format date time utils utility"><a href="../utils/formatTimestamp.html">formatTimestamp<br><small>Utility</small></a></k-filter-item>
74
- <k-filter-item filter-keywords="object utils utility"><a href="../utils/object.html">object<br><small>Utility</small></a></k-filter-item>
75
- <k-filter-item filter-keywords="propconverters prop converters utils utility"><a href="../utils/propConverters.html">propConverters<br><small>Utility</small></a></k-filter-item>
76
- <k-filter-item filter-keywords="string utils utility"><a href="../utils/string.html">string<br><small>Utility</small></a></k-filter-item>
77
- <k-filter-item filter-keywords="theme utils utility"><a href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
78
- <k-filter-item filter-keywords="type utils utility"><a href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
79
- <k-filter-item filter-keywords="wait async utils utility"><a href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
80
- </k-filter-list>
81
- </div>
82
- </div>
83
- <div class="flex"></div>
84
- <a href="https://github.com/dustinpoissant/kempo-ui?tab=License-1-ov-file#creative-commons-attribution-noncommercial-sharealike-20" target="_blank"><k-icon name="license"></k-icont></a>
85
- <a href="https://www.npmjs.com/package/kempo-ui" target="_blank"><k-icon name="npm"></k-icont></a>
86
- <a href="https://github.com/dustinpoissant/kempo-ui" target="_blank"><k-icon name="github-mark"></k-icont></a>
87
- <k-theme-switcher></k-theme-switcher>
88
- </k-nav>
89
- <div style="width: 100%; height: 4rem;"></div>
90
- <k-aside
91
- id="navSideMenu"
92
- main="overlay"
93
- state="offscreen"
94
- >
95
- <menu>
96
- <a href="../" class="ta-center bb mb r0">
97
- <h1 class="tc-primary">Kempo UI</h1>
98
- <img src="../media/icon128.png" alt="Kempo UI Icon" />
99
- </a>
100
- <div class="pl mb">
101
- <h3>Components</h3>
102
- <a href="../components/accordion.html">Accordion</a>
103
- <a href="../components/aside.html">Aside</a>
104
- <a href="../components/card.html">Card</a>
105
- <a href="../components/color-picker.html">ColorPicker</a>
106
- <a href="../components/content-slider.html">Content Slider</a>
107
- <a href="../components/context.html">Context</a>
108
- <a href="../components/dialog.html">Dialog</a>
109
- <a href="../components/dropdown.html">Dropdown</a>
110
- <a href="../components/filter-list.html">Filter List</a>
111
- <a href="../components/focus-capture.html">FocusCapture</a>
112
- <a href="../components/html-editor.html">HTML Editor</a>
113
- <a href="../components/icon.html">Icon</a>
114
- <a href="../components/import.html">Import</a>
115
- <a href="../components/nav.html">Nav</a>
116
- <a href="../components/photo-viewer.html">Photo Viewer</a>
117
- <a href="../components/resize.html">Resize</a>
118
- <a href="../components/show-more.html">Show More</a>
119
- <a href="../components/sortable.html">Sortable</a>
120
- <a href="../components/spinner.html">Spinner</a>
121
- <a href="../components/split.html">Split</a>
122
- <a href="../components/table.html">Table</a>
123
- <a href="../components/tabs.html">Tabs</a>
124
- <a href="../components/tags.html">Tags</a>
125
- <a href="../components/theme-select.html">Theme Select</a>
126
- <a href="../components/theme-switcher.html">Theme Switcher</a>
127
- <a href="../components/timestamp.html">Timestamp</a>
128
- <a href="../components/toast.html">Toast</a>
129
- <a href="../components/toggle.html">Toggle</a>
130
- <a href="../components/tree.html">Tree</a>
131
- </div>
132
-
133
- <h5 class="mb0">Base Components</h5>
134
- <div class="pl mb">
135
- <a href="../components/shadow-component.html">Shadow Component</a>
136
- <a href="../components/light-component.html">Light Component</a>
137
- <a href="../components/hybrid-component.html">Hybrid Component</a>
138
- </div>
139
-
140
- <h5 class="mb0">Utils</h5>
141
- <div class="pl mb">
142
- <a href="../utils/cookie.html">cookie</a>
143
- <a href="../utils/context.html">context</a>
144
- <a href="../utils/debounce.html">debounce</a>
145
- <a href="../utils/drag.html">drag</a>
146
- <a href="../utils/elevation.html">elevation</a>
147
- <a href="../utils/formatTimestamp.html">formatTimestamp</a>
148
- <a href="../utils/object.html">object</a>
149
- <a href="../utils/propConverters.html">propConverters</a>
150
- <a href="../utils/string.html">string</a>
151
- <a href="../utils/theme.html">theme</a>
152
- <a href="../utils/type.html">type</a>
153
- <a href="../utils/wait.html">wait</a>
154
- </div>
155
- </menu>
156
- </k-aside>
157
- <style>
158
- #navSearchList a{display:block;padding:.25rem .5rem;border-radius:var(--radius);text-decoration:none;color:var(--tc);}
159
- #navSearchList a:hover{background:rgba(128,128,128,.15);}
160
- #navSearchList a small{display:block;color:var(--tc_muted);}
161
- </style>
162
- <script src="../src/components/Nav.js" type="module"></script>
163
- <script src="../src/components/FilterList.js" type="module"></script>
164
- <script src="../src/components/FilterItem.js" type="module"></script>
165
- <script src="../src/components/Aside.js" type="module"></script>
166
- <script src="../src/components/Icon.js" type="module"></script>
167
- <script src="../src/components/ThemeSwitcher.js" type="module"></script>
168
- <script src="../nav.inc.js" type="module"></script>
package/docs/nav.inc.html DELETED
@@ -1,168 +0,0 @@
1
- <k-nav
2
- fixed
3
- class="bg-primary"
4
- >
5
- <button
6
- id="toggleNavSideMenu"
7
- class="link"
8
- >
9
- <k-icon name="menu"></k-icon>
10
- </button>
11
- <a
12
- href="./"
13
- class="d-if ph"
14
- style="align-items: center"
15
- >
16
- <img src="./media/icon32.png" alt="Kempo UI Icon" class="pr" />
17
- Kempo UI
18
- </a>
19
- <div style="position:relative;margin:0 .25rem;align-self:center;" theme="light">
20
- <input id="navSearchInput" type="search" placeholder="Search docs..." autocomplete="off" style="width:11rem;" />
21
- <div id="navSearchDropdown" hidden theme="light" style="position:absolute;top:calc(100% + 4px);left:0;width:min(480px,90vw);max-height:70vh;background:var(--c_bg);border:1px solid var(--c_border);border-radius:var(--radius);overflow:auto;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,.3);">
22
- <k-filter-list id="navSearchList" style="display:block;padding:.25rem 0;">
23
- <k-filter-item filter-keywords="accordion components"><a href="./components/accordion.html">Accordion<br><small>Component</small></a></k-filter-item>
24
- <k-filter-item filter-keywords="aside sidebar components"><a href="./components/aside.html">Aside<br><small>Component</small></a></k-filter-item>
25
- <k-filter-item filter-keywords="card components"><a href="./components/card.html">Card<br><small>Component</small></a></k-filter-item>
26
- <k-filter-item filter-keywords="color picker colorpicker components"><a href="./components/color-picker.html">Color Picker<br><small>Component</small></a></k-filter-item>
27
- <k-filter-item filter-keywords="content slider components"><a href="./components/content-slider.html">Content Slider<br><small>Component</small></a></k-filter-item>
28
- <k-filter-item filter-keywords="context state global components"><a href="./components/context.html">Context<br><small>Component</small></a></k-filter-item>
29
- <k-filter-item filter-keywords="dialog modal popup components"><a href="./components/dialog.html">Dialog<br><small>Component</small></a></k-filter-item>
30
- <k-filter-item filter-keywords="dropdown select components"><a href="./components/dropdown.html">Dropdown<br><small>Component</small></a></k-filter-item>
31
- <k-filter-item filter-keywords="filter list filterlist components"><a href="./components/filter-list.html">Filter List<br><small>Component</small></a></k-filter-item>
32
- <k-filter-item filter-keywords="focus capture focuscapture components"><a href="./components/focus-capture.html">Focus Capture<br><small>Component</small></a></k-filter-item>
33
- <k-filter-item filter-keywords="html editor components"><a href="./components/html-editor.html">HTML Editor<br><small>Component</small></a></k-filter-item>
34
- <k-filter-item filter-keywords="icon components"><a href="./components/icon.html">Icon<br><small>Component</small></a></k-filter-item>
35
- <k-filter-item filter-keywords="import components"><a href="./components/import.html">Import<br><small>Component</small></a></k-filter-item>
36
- <k-filter-item filter-keywords="nav navbar navigation components"><a href="./components/nav.html">Nav<br><small>Component</small></a></k-filter-item>
37
- <k-filter-item filter-keywords="photo viewer photoviewer components"><a href="./components/photo-viewer.html">Photo Viewer<br><small>Component</small></a></k-filter-item>
38
- <k-filter-item filter-keywords="resize components"><a href="./components/resize.html">Resize<br><small>Component</small></a></k-filter-item>
39
- <k-filter-item filter-keywords="show more showmore components"><a href="./components/show-more.html">Show More<br><small>Component</small></a></k-filter-item>
40
- <k-filter-item filter-keywords="sortable drag drop sort components"><a href="./components/sortable.html">Sortable<br><small>Component</small></a></k-filter-item>
41
- <k-filter-item filter-keywords="spinner loading components"><a href="./components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
42
- <k-filter-item filter-keywords="split pane components"><a href="./components/split.html">Split<br><small>Component</small></a></k-filter-item>
43
- <k-filter-item filter-keywords="table data grid components"><a href="./components/table.html">Table<br><small>Component</small></a></k-filter-item>
44
- <k-filter-item filter-keywords="table controls advanced example"><a href="./components/tableControls.html">Table — Controls<br><small>Advanced Example</small></a></k-filter-item>
45
- <k-filter-item filter-keywords="table custom fields advanced example"><a href="./components/tableCustomFields.html">Table — Custom Fields<br><small>Advanced Example</small></a></k-filter-item>
46
- <k-filter-item filter-keywords="table fetch records advanced example"><a href="./components/tableFetchRecords.html">Table — Fetch Records<br><small>Advanced Example</small></a></k-filter-item>
47
- <k-filter-item filter-keywords="table field sort hide advanced example"><a href="./components/tableFieldSortHide.html">Table — Field Sort &amp; Hide<br><small>Advanced Example</small></a></k-filter-item>
48
- <k-filter-item filter-keywords="table pagination advanced example"><a href="./components/tablePagination.html">Table — Pagination<br><small>Advanced Example</small></a></k-filter-item>
49
- <k-filter-item filter-keywords="table record editing advanced example"><a href="./components/tableRecordEditing.html">Table — Record Editing<br><small>Advanced Example</small></a></k-filter-item>
50
- <k-filter-item filter-keywords="table record filtering advanced example"><a href="./components/tableRecordFiltering.html">Table — Record Filtering<br><small>Advanced Example</small></a></k-filter-item>
51
- <k-filter-item filter-keywords="table record hiding advanced example"><a href="./components/tableRecordHiding.html">Table — Record Hiding<br><small>Advanced Example</small></a></k-filter-item>
52
- <k-filter-item filter-keywords="table record searching advanced example"><a href="./components/tableRecordSearching.html">Table — Record Searching<br><small>Advanced Example</small></a></k-filter-item>
53
- <k-filter-item filter-keywords="table record selection advanced example"><a href="./components/tableRecordSelection.html">Table — Record Selection<br><small>Advanced Example</small></a></k-filter-item>
54
- <k-filter-item filter-keywords="table row controls advanced example"><a href="./components/tableRowControls.html">Table — Row Controls<br><small>Advanced Example</small></a></k-filter-item>
55
- <k-filter-item filter-keywords="table server sync advanced example"><a href="./components/tableServerSync.html">Table — Server Sync<br><small>Advanced Example</small></a></k-filter-item>
56
- <k-filter-item filter-keywords="table sorting advanced example"><a href="./components/tableSorting.html">Table — Sorting<br><small>Advanced Example</small></a></k-filter-item>
57
- <k-filter-item filter-keywords="tabs tab panel components"><a href="./components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
58
- <k-filter-item filter-keywords="tags tag input components"><a href="./components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
59
- <k-filter-item filter-keywords="theme select dropdown dark light components"><a href="./components/theme-select.html">Theme Select<br><small>Component</small></a></k-filter-item>
60
- <k-filter-item filter-keywords="theme switcher dark light components"><a href="./components/theme-switcher.html">Theme Switcher<br><small>Component</small></a></k-filter-item>
61
- <k-filter-item filter-keywords="timestamp date time components"><a href="./components/timestamp.html">Timestamp<br><small>Component</small></a></k-filter-item>
62
- <k-filter-item filter-keywords="toast notification alert components"><a href="./components/toast.html">Toast<br><small>Component</small></a></k-filter-item>
63
- <k-filter-item filter-keywords="toggle switch checkbox components"><a href="./components/toggle.html">Toggle<br><small>Component</small></a></k-filter-item>
64
- <k-filter-item filter-keywords="tree treeview components"><a href="./components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
65
- <k-filter-item filter-keywords="shadow component base"><a href="./components/shadow-component.html">Shadow Component<br><small>Base Component</small></a></k-filter-item>
66
- <k-filter-item filter-keywords="light component base"><a href="./components/light-component.html">Light Component<br><small>Base Component</small></a></k-filter-item>
67
- <k-filter-item filter-keywords="hybrid component base"><a href="./components/hybrid-component.html">Hybrid Component<br><small>Base Component</small></a></k-filter-item>
68
- <k-filter-item filter-keywords="cookie utils utility"><a href="./utils/cookie.html">cookie<br><small>Utility</small></a></k-filter-item>
69
- <k-filter-item filter-keywords="context utils utility"><a href="./utils/context.html">context<br><small>Utility</small></a></k-filter-item>
70
- <k-filter-item filter-keywords="debounce utils utility"><a href="./utils/debounce.html">debounce<br><small>Utility</small></a></k-filter-item>
71
- <k-filter-item filter-keywords="drag utils utility"><a href="./utils/drag.html">drag<br><small>Utility</small></a></k-filter-item>
72
- <k-filter-item filter-keywords="elevation z-index stacking utils"><a href="./utils/elevation.html">elevation<br><small>Utility</small></a></k-filter-item>
73
- <k-filter-item filter-keywords="formattimestamp timestamp format date time utils utility"><a href="./utils/formatTimestamp.html">formatTimestamp<br><small>Utility</small></a></k-filter-item>
74
- <k-filter-item filter-keywords="object utils utility"><a href="./utils/object.html">object<br><small>Utility</small></a></k-filter-item>
75
- <k-filter-item filter-keywords="propconverters prop converters utils utility"><a href="./utils/propConverters.html">propConverters<br><small>Utility</small></a></k-filter-item>
76
- <k-filter-item filter-keywords="string utils utility"><a href="./utils/string.html">string<br><small>Utility</small></a></k-filter-item>
77
- <k-filter-item filter-keywords="theme utils utility"><a href="./utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
78
- <k-filter-item filter-keywords="type utils utility"><a href="./utils/type.html">type<br><small>Utility</small></a></k-filter-item>
79
- <k-filter-item filter-keywords="wait async utils utility"><a href="./utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
80
- </k-filter-list>
81
- </div>
82
- </div>
83
- <div class="flex"></div>
84
- <a href="https://github.com/dustinpoissant/kempo-ui?tab=License-1-ov-file#creative-commons-attribution-noncommercial-sharealike-20" target="_blank" target="_blank"><k-icon name="license"></k-icont></a>
85
- <a href="https://www.npmjs.com/package/kempo-ui" target="_blank"><k-icon name="npm"></k-icont></a>
86
- <a href="https://github.com/dustinpoissant/kempo-ui" target="_blank"><k-icon name="github-mark"></k-icont></a>
87
- <k-theme-switcher></k-theme-switcher>
88
- </k-nav>
89
- <div style="width: 100%; height: 4rem;"></div>
90
- <k-aside
91
- id="navSideMenu"
92
- main="overlay"
93
- state="offscreen"
94
- >
95
- <menu>
96
- <a href="./" class="ta-center bb mb r0">
97
- <h1 class="tc-primary">Kempo UI</h1>
98
- <img src="./media/icon128.png" alt="Kempo UI Icon" />
99
- </a>
100
-
101
- <div class="pl mb">
102
- <h3>Components</h3>
103
- <a href="./components/accordion.html">Accordion</a>
104
- <a href="./components/aside.html">Aside</a>
105
- <a href="./components/card.html">Card</a>
106
- <a href="./components/color-picker.html">ColorPicker</a>
107
- <a href="./components/content-slider.html">Content Slider</a>
108
- <a href="./components/context.html">Context</a>
109
- <a href="./components/dialog.html">Dialog</a>
110
- <a href="./components/dropdown.html">Dropdown</a>
111
- <a href="./components/filter-list.html">Filter List</a>
112
- <a href="./components/focus-capture.html">FocusCapture</a>
113
- <a href="./components/html-editor.html">HTML Editor</a>
114
- <a href="./components/icon.html">Icon</a>
115
- <a href="./components/import.html">Import</a>
116
- <a href="./components/nav.html">Nav</a>
117
- <a href="./components/photo-viewer.html">Photo Viewer</a>
118
- <a href="./components/resize.html">Resize</a>
119
- <a href="./components/show-more.html">Show More</a>
120
- <a href="./components/sortable.html">Sortable</a>
121
- <a href="./components/spinner.html">Spinner</a>
122
- <a href="./components/split.html">Split</a>
123
- <a href="./components/table.html">Table</a>
124
- <a href="./components/tabs.html">Tabs</a>
125
- <a href="./components/tags.html">Tags</a>
126
- <a href="./components/theme-select.html">Theme Select</a>
127
- <a href="./components/theme-switcher.html">Theme Switcher</a>
128
- <a href="./components/timestamp.html">Timestamp</a>
129
- <a href="./components/toast.html">Toast</a>
130
- <a href="./components/toggle.html">Toggle</a>
131
- <a href="./components/tree.html">Tree</a>
132
- </div>
133
-
134
- <h5 class="mb0">Base Components</h5>
135
- <div class="pl mb">
136
- <a href="./components/shadow-component.html">Shadow Component</a>
137
- <a href="./components/light-component.html">Light Component</a>
138
- <a href="./components/hybrid-component.html">Hybrid Component</a>
139
- </div>
140
-
141
- <h5 class="mb0">Utils</h5>
142
- <div class="pl mb">
143
- <a href="./utils/cookie.html">cookie</a>
144
- <a href="./utils/context.html">context</a>
145
- <a href="./utils/debounce.html">debounce</a>
146
- <a href="./utils/drag.html">drag</a>
147
- <a href="./utils/elevation.html">elevation</a>
148
- <a href="./utils/formatTimestamp.html">formatTimestamp</a>
149
- <a href="./utils/object.html">object</a>
150
- <a href="./utils/propConverters.html">propConverters</a>
151
- <a href="./utils/string.html">string</a>
152
- <a href="./utils/type.html">type</a>
153
- <a href="./utils/wait.html">wait</a>
154
- </div>
155
- </menu>
156
- </k-aside>
157
- <style>
158
- #navSearchList a{display:block;padding:.25rem .5rem;border-radius:var(--radius);text-decoration:none;color:var(--tc);}
159
- #navSearchList a:hover{background:rgba(128,128,128,.15);}
160
- #navSearchList a small{display:block;color:var(--tc_muted);}
161
- </style>
162
- <script src="./src/components/Nav.js" type="module"></script>
163
- <script src="./src/components/FilterList.js" type="module"></script>
164
- <script src="./src/components/FilterItem.js" type="module"></script>
165
- <script src="./src/components/Aside.js" type="module"></script>
166
- <script src="./src/components/Icon.js" type="module"></script>
167
- <script src="./src/components/ThemeSwitcher.js" type="module"></script>
168
- <script src="./nav.inc.js" type="module"></script>