kempo-ui 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -1
- package/dist/components/Aside.js +1 -1
- package/dist/components/Main.js +1 -1
- package/docs/components/accordion.html +240 -8
- package/docs/components/aside-items.html +13 -9
- package/docs/components/aside-menu.html +13 -9
- package/docs/components/aside-push.html +11 -6
- package/docs/components/aside.html +289 -115
- package/docs/components/card.html +238 -7
- package/docs/components/color-picker.html +245 -14
- package/docs/components/content-slider.html +240 -8
- package/docs/components/context.html +241 -7
- package/docs/components/dialog.html +238 -7
- package/docs/components/dropdown.html +238 -7
- package/docs/components/filter-list.html +239 -10
- package/docs/components/focus-capture.html +241 -10
- package/docs/components/html-editor.html +266 -35
- package/docs/components/hybrid-component.html +238 -6
- package/docs/components/icon.html +239 -9
- package/docs/components/import.html +239 -8
- package/docs/components/light-component.html +239 -7
- package/docs/components/nav.html +240 -8
- package/docs/components/photo-viewer.html +239 -9
- package/docs/components/resize.html +240 -9
- package/docs/components/shadow-component.html +239 -7
- package/docs/components/show-more.html +237 -8
- package/docs/components/sortable.html +239 -8
- package/docs/components/spinner.html +237 -6
- package/docs/components/split.html +241 -10
- package/docs/components/table.html +241 -11
- package/docs/components/tableControls.html +240 -7
- package/docs/components/tableCustomFields.html +241 -8
- package/docs/components/tableFetchRecords.html +239 -7
- package/docs/components/tableFieldSortHide.html +239 -7
- package/docs/components/tablePagination.html +246 -13
- package/docs/components/tablePlaceholder.html +241 -8
- package/docs/components/tableRecordEditing.html +241 -8
- package/docs/components/tableRecordFiltering.html +239 -7
- package/docs/components/tableRecordHiding.html +241 -9
- package/docs/components/tableRecordSearching.html +239 -7
- package/docs/components/tableRecordSelection.html +240 -7
- package/docs/components/tableRowControls.html +241 -8
- package/docs/components/tableServerSync.html +245 -11
- package/docs/components/tableSorting.html +239 -7
- package/docs/components/tabs.html +240 -7
- package/docs/components/tags.html +239 -7
- package/docs/components/theme-select.html +239 -7
- package/docs/components/theme-switcher.html +240 -8
- package/docs/components/timestamp.html +239 -8
- package/docs/components/toast.html +240 -8
- package/docs/components/toggle.html +240 -9
- package/docs/components/tree.html +239 -8
- package/docs/index.html +244 -6
- package/docs/prod.config.json +0 -4
- package/docs/src/components/Aside.js +1 -1
- package/docs/src/components/Main.js +1 -1
- package/docs/utils/context.html +237 -6
- package/docs/utils/cookie.html +251 -21
- package/docs/utils/debounce.html +236 -5
- package/docs/utils/drag.html +236 -5
- package/docs/utils/elevation.html +238 -6
- package/docs/utils/formatTimestamp.html +239 -9
- package/docs/utils/object.html +236 -5
- package/docs/utils/propConverters.html +233 -3
- package/docs/utils/string.html +236 -5
- package/docs/utils/theme.html +237 -6
- package/docs/utils/toTitleCase.html +239 -9
- package/docs/utils/type.html +236 -5
- package/docs/utils/wait.html +236 -5
- package/docs-src/.config.js +16 -0
- package/docs-src/bare.template.html +16 -0
- package/docs-src/components/accordion.page.html +201 -0
- package/docs-src/components/aside-items.page.html +36 -0
- package/docs-src/components/aside-menu.page.html +36 -0
- package/docs-src/components/aside-push.page.html +20 -0
- package/docs-src/components/aside.page.html +494 -0
- package/docs-src/components/card.page.html +78 -0
- package/docs-src/components/color-picker.page.html +559 -0
- package/docs-src/components/content-slider.page.html +266 -0
- package/docs-src/components/context.page.html +214 -0
- package/docs-src/components/dialog.page.html +365 -0
- package/docs-src/components/dropdown.page.html +300 -0
- package/docs-src/components/filter-list.page.html +117 -0
- package/docs-src/components/focus-capture.page.html +97 -0
- package/docs-src/components/html-editor.page.html +423 -0
- package/docs-src/components/hybrid-component.page.html +96 -0
- package/docs-src/components/icon.page.html +208 -0
- package/docs-src/components/import.page.html +76 -0
- package/docs-src/components/light-component.page.html +99 -0
- package/docs-src/components/nav.page.html +106 -0
- package/docs-src/components/photo-viewer.page.html +253 -0
- package/docs-src/components/resize.page.html +161 -0
- package/docs-src/components/shadow-component.page.html +84 -0
- package/docs-src/components/show-more.page.html +113 -0
- package/docs-src/components/sortable.page.html +117 -0
- package/docs-src/components/spinner.page.html +197 -0
- package/docs-src/components/split.page.html +195 -0
- package/docs-src/components/table.page.html +283 -0
- package/docs-src/components/tableControls.page.html +64 -0
- package/docs-src/components/tableCustomFields.page.html +124 -0
- package/docs-src/components/tableFetchRecords.page.html +95 -0
- package/docs-src/components/tableFieldSortHide.page.html +56 -0
- package/docs-src/components/tablePagination.page.html +85 -0
- package/docs-src/components/tablePlaceholder.page.html +73 -0
- package/docs-src/components/tableRecordEditing.page.html +161 -0
- package/docs-src/components/tableRecordFiltering.page.html +69 -0
- package/docs-src/components/tableRecordHiding.page.html +65 -0
- package/docs-src/components/tableRecordSearching.page.html +56 -0
- package/docs-src/components/tableRecordSelection.page.html +60 -0
- package/docs-src/components/tableRowControls.page.html +62 -0
- package/docs-src/components/tableServerSync.page.html +129 -0
- package/docs-src/components/tableSorting.page.html +54 -0
- package/docs-src/components/tabs.page.html +201 -0
- package/docs-src/components/tags.page.html +157 -0
- package/docs-src/components/theme-select.page.html +106 -0
- package/docs-src/components/theme-switcher.page.html +122 -0
- package/docs-src/components/timestamp.page.html +109 -0
- package/docs-src/components/toast.page.html +338 -0
- package/docs-src/components/toggle.page.html +177 -0
- package/docs-src/components/tree.page.html +356 -0
- package/docs-src/default.template.html +28 -0
- package/docs-src/index.page.html +312 -0
- package/docs-src/nav.fragment.html +228 -0
- package/docs-src/utils/context.page.html +143 -0
- package/docs-src/utils/cookie.page.html +128 -0
- package/docs-src/utils/debounce.page.html +42 -0
- package/docs-src/utils/drag.page.html +64 -0
- package/docs-src/utils/elevation.page.html +144 -0
- package/docs-src/utils/formatTimestamp.page.html +76 -0
- package/docs-src/utils/object.page.html +76 -0
- package/docs-src/utils/propConverters.page.html +73 -0
- package/docs-src/utils/string.page.html +66 -0
- package/docs-src/utils/theme.page.html +136 -0
- package/docs-src/utils/toTitleCase.page.html +52 -0
- package/docs-src/utils/type.page.html +31 -0
- package/docs-src/utils/wait.page.html +31 -0
- package/package.json +4 -4
- package/scripts/build.js +5 -0
- package/scripts/docs.js +5 -52
- package/src/components/Aside.js +12 -1
- package/src/components/Main.js +1 -1
- package/tests/components/Aside.browser-test.js +75 -0
- package/docs/dev.config.json +0 -20
- package/docs/nav-1.inc.html +0 -168
- package/docs/nav.inc.html +0 -168
- package/docs/nav.inc.js +0 -70
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
<page pageName="Accordion" title="Accordion - Components - Kempo Docs - A Web Components Solution">
|
|
2
|
+
<content>
|
|
3
|
+
<k-accordion persistent-id="toc" class="b r mb">
|
|
4
|
+
<k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
|
|
5
|
+
<k-accordion-panel name="toc-panel">
|
|
6
|
+
<div class="m ">
|
|
7
|
+
<h6>Examples</h6>
|
|
8
|
+
<a href="#basicUsage">Basic Usage</a><br />
|
|
9
|
+
<a href="#defaultOpen">Default Open Panel</a><br />
|
|
10
|
+
<a href="#multiple">Multiple Panels Mode</a><br />
|
|
11
|
+
<a href="#persistent">Persistent State Example</a><br />
|
|
12
|
+
<h6 class="mt"><a href="#jsRef" class="no-link">JavaScript Reference</a></h6>
|
|
13
|
+
<a href="#accordion-ref">Accordion</a><br />
|
|
14
|
+
<a href="#accordion-header-ref">AccordionHeader</a><br />
|
|
15
|
+
<a href="#accordion-panel-ref">AccordionPanel</a><br />
|
|
16
|
+
<a href="#events">Events</a><br />
|
|
17
|
+
</div>
|
|
18
|
+
</k-accordion-panel>
|
|
19
|
+
</k-accordion>
|
|
20
|
+
|
|
21
|
+
<h3>Description</h3>
|
|
22
|
+
<p>A widget that allows a single panel of content to be opened and closed.</p>
|
|
23
|
+
|
|
24
|
+
<h3 id="basicUsage"><a href="#basicUsage" class="no-link">Basic Usage</a></h3>
|
|
25
|
+
<div class="row -mx mb">
|
|
26
|
+
<div class="col d-span-6 m-span-12 px">
|
|
27
|
+
<k-card label="HTML">
|
|
28
|
+
<pre><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">k-accordion</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel1"</span>></span>Panel 1<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel1"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 1 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel2"</span>></span>Panel 2<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel2"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 2 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel3"</span>></span>Panel 3<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /><span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel3"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 3 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion</span>></span></code></pre>
|
|
29
|
+
</k-card>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="col d-span-6 m-span-12 px">
|
|
32
|
+
<k-card label="Results">
|
|
33
|
+
<k-accordion class="mb">
|
|
34
|
+
<k-accordion-header for-panel="panel1">Panel 1</k-accordion-header>
|
|
35
|
+
<k-accordion-panel name="panel1">
|
|
36
|
+
<p class="m">Panel 1 content</p>
|
|
37
|
+
</k-accordion-panel>
|
|
38
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
39
|
+
<k-accordion-panel name="panel2">
|
|
40
|
+
<p class="m">Panel 2 content</p>
|
|
41
|
+
</k-accordion-panel>
|
|
42
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
43
|
+
<k-accordion-panel name="panel3">
|
|
44
|
+
<p class="m">Panel 3 content</p>
|
|
45
|
+
</k-accordion-panel>
|
|
46
|
+
</k-accordion>
|
|
47
|
+
</k-card>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
<h3 id="defaultOpen"><a href="#defaultOpen" class="no-link">Default Open Panel</a></h3>
|
|
54
|
+
<p>You can have a panel open by default by adding the <code>active</code> attribute to both the header and the
|
|
55
|
+
<div class="row -mx mb">
|
|
56
|
+
<div class="col d-span-6 m-span-12 px">
|
|
57
|
+
<k-card label="HTML">
|
|
58
|
+
<pre><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">k-accordion</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel1"</span> <span class="hljs-attr">active</span>=<span class="hljs-string">"true"</span>></span>Panel 1<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel1"</span> <span class="hljs-attr">active</span>=<span class="hljs-string">"true"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 1 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel2"</span>></span>Panel 2<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel2"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 2 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel3"</span>></span>Panel 3<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel3"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 3 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion</span>></span></code></pre>
|
|
59
|
+
</k-card>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="col d-span-6 m-span-12 px">
|
|
62
|
+
<k-card label="Results">
|
|
63
|
+
<k-accordion class="mb">
|
|
64
|
+
<k-accordion-header for-panel="panel1" active>Panel 1</k-accordion-header>
|
|
65
|
+
<k-accordion-panel name="panel1" active>
|
|
66
|
+
<p class="m">Panel 1 content</p>
|
|
67
|
+
</k-accordion-panel>
|
|
68
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
69
|
+
<k-accordion-panel name="panel2">
|
|
70
|
+
<p class="m">Panel 2 content</p>
|
|
71
|
+
</k-accordion-panel>
|
|
72
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
73
|
+
<k-accordion-panel name="panel3">
|
|
74
|
+
<p class="m">Panel 3 content</p>
|
|
75
|
+
</k-accordion-panel>
|
|
76
|
+
</k-accordion>
|
|
77
|
+
</k-card>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<h3 id="multiple"><a href="#multiple" class="no-link">Multiple Panels Mode</a></h3>
|
|
82
|
+
<p>Add the <code>multiple</code> attribute to <code>k-accordion</code> to allow more than one panel to be open at a
|
|
83
|
+
time.</p>
|
|
84
|
+
<div class="row -mx mb">
|
|
85
|
+
<div class="col d-span-6 m-span-12 px">
|
|
86
|
+
<k-card label="HTML">
|
|
87
|
+
<pre><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">k-accordion</span> <span class="hljs-attr">multiple</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel1"</span> <span class="hljs-attr">active</span>></span>Panel 1<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel1"</span> <span class="hljs-attr">active</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 1 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel2"</span>></span>Panel 2<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel2"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 2 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel3"</span>></span>Panel 3<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel3"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 3 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion</span>></span></code></pre>
|
|
88
|
+
</k-card>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="col d-span-6 m-span-12 px">
|
|
91
|
+
<k-card label="Results">
|
|
92
|
+
<k-accordion class="mb" multiple>
|
|
93
|
+
<k-accordion-header for-panel="panel1" active>Panel 1</k-accordion-header>
|
|
94
|
+
<k-accordion-panel name="panel1" active>
|
|
95
|
+
<p class="m">Panel 1 content</p>
|
|
96
|
+
</k-accordion-panel>
|
|
97
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
98
|
+
<k-accordion-panel name="panel2">
|
|
99
|
+
<p class="m">Panel 2 content</p>
|
|
100
|
+
</k-accordion-panel>
|
|
101
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
102
|
+
<k-accordion-panel name="panel3">
|
|
103
|
+
<p class="m">Panel 3 content</p>
|
|
104
|
+
</k-accordion-panel>
|
|
105
|
+
</k-accordion>
|
|
106
|
+
</k-card>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<h3 id="persistent"><a href="#persistent" class="no-link">Persistent State Example</a></h3>
|
|
111
|
+
<p>Add the <code>persistent-id</code> attribute to <code>k-accordion</code> to save and restore open panels across
|
|
112
|
+
page reloads. The state is stored in <code>localStorage</code> (if available) using the provided ID.</p>
|
|
113
|
+
<div class="row -mx mb">
|
|
114
|
+
<div class="col d-span-6 m-span-12 px">
|
|
115
|
+
<k-card label="HTML">
|
|
116
|
+
<pre><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">k-accordion</span> <span class="hljs-attr">persistent-id</span>=<span class="hljs-string">"demo-accordion"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel1"</span>></span>Panel 1<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel1"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 1 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel2"</span>></span>Panel 2<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel2"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 2 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-header</span> <span class="hljs-attr">for-panel</span>=<span class="hljs-string">"panel3"</span>></span>Panel 3<span class="hljs-tag"></<span class="hljs-name">k-accordion-header</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">k-accordion-panel</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"panel3"</span>></span><br /> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>></span>Panel 3 content<span class="hljs-tag"></<span class="hljs-name">p</span>></span><br /> <span class="hljs-tag"></<span class="hljs-name">k-accordion-panel</span>></span><br /><span class="hljs-tag"></<span class="hljs-name">k-accordion</span>></span></code></pre>
|
|
117
|
+
</k-card>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="col d-span-6 m-span-12 px">
|
|
120
|
+
<k-card label="Results">
|
|
121
|
+
<k-accordion class="mb" persistent-id="demo-accordion">
|
|
122
|
+
<k-accordion-header for-panel="panel1">Panel 1</k-accordion-header>
|
|
123
|
+
<k-accordion-panel name="panel1">
|
|
124
|
+
<p class="m">Panel 1 content</p>
|
|
125
|
+
</k-accordion-panel>
|
|
126
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
127
|
+
<k-accordion-panel name="panel2">
|
|
128
|
+
<p class="m">Panel 2 content</p>
|
|
129
|
+
</k-accordion-panel>
|
|
130
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
131
|
+
<k-accordion-panel name="panel3">
|
|
132
|
+
<p class="m">Panel 3 content</p>
|
|
133
|
+
</k-accordion-panel>
|
|
134
|
+
</k-accordion>
|
|
135
|
+
</k-card>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<h2 id="jsRef"><a href="#jsRef" class="no-link">JavaScript Reference</a></h2>
|
|
140
|
+
<k-card>
|
|
141
|
+
<h3 id="accordion-ref" class="bb pb">Accordion</h3>
|
|
142
|
+
<h4>Properties</h4>
|
|
143
|
+
<ul>
|
|
144
|
+
<li><code>multiple: boolean</code> — If present, allows multiple panels to be open.</li>
|
|
145
|
+
</ul>
|
|
146
|
+
<h4>Methods</h4>
|
|
147
|
+
<ul>
|
|
148
|
+
<li><code>getHeader(panelName): HTMLElement | null</code></li>
|
|
149
|
+
<li><code>getPanel(panelName): HTMLElement | null</code></li>
|
|
150
|
+
<li><code>openPanel(panelName): void</code></li>
|
|
151
|
+
<li><code>closePanel(panelName): void</code></li>
|
|
152
|
+
<li><code>togglePanel(panelName): void</code></li>
|
|
153
|
+
</ul>
|
|
154
|
+
<h4>Lifecycle</h4>
|
|
155
|
+
<ul>
|
|
156
|
+
<li>State is restored in <code>updated()</code> when <code>persistentId</code> changes.</li>
|
|
157
|
+
</ul>
|
|
158
|
+
</k-card>
|
|
159
|
+
|
|
160
|
+
<k-card>
|
|
161
|
+
<h3 id="accordion-header-ref" class="bb pb">AccordionHeader</h3>
|
|
162
|
+
<h4>Properties</h4>
|
|
163
|
+
<ul>
|
|
164
|
+
<li><code>forPanel: string</code> — The panel name this header controls.</li>
|
|
165
|
+
<li><code>active: boolean</code> — Whether this header is active.</li>
|
|
166
|
+
<li><code>accordion: Accordion | null</code> <i>(read only)</i> — Parent accordion.</li>
|
|
167
|
+
</ul>
|
|
168
|
+
<h4>Event Handlers</h4>
|
|
169
|
+
<ul>
|
|
170
|
+
<li>Click: toggles associated panel.</li>
|
|
171
|
+
</ul>
|
|
172
|
+
</k-card>
|
|
173
|
+
|
|
174
|
+
<k-card>
|
|
175
|
+
<h3 id="accordion-panel-ref" class="bb pb">AccordionPanel</h3>
|
|
176
|
+
<h4>Properties</h4>
|
|
177
|
+
<ul>
|
|
178
|
+
<li><code>name: string</code> — Unique panel identifier.</li>
|
|
179
|
+
<li><code>active: boolean</code> — Whether this panel is open.</li>
|
|
180
|
+
<li><code>transitioning: boolean</code> — Whether this panel is animating.</li>
|
|
181
|
+
</ul>
|
|
182
|
+
<h4>Methods</h4>
|
|
183
|
+
<ul>
|
|
184
|
+
<li><code>accordion: Accordion | null</code> (getter) — Returns parent accordion.</li>
|
|
185
|
+
</ul>
|
|
186
|
+
|
|
187
|
+
<h3 id="events"><a href="#events" class="no-link">Events</a></h3>
|
|
188
|
+
<h5><code>openpanel</code></h5>
|
|
189
|
+
<p>Fired when a panel is opened. The event detail contains <code>{ panelName }</code>.</p>
|
|
190
|
+
<h5><code>closepanel</code></h5>
|
|
191
|
+
<p>Fired when a panel is closed. The event detail contains <code>{ panelName }</code>.</p>
|
|
192
|
+
<h5><code>togglepanel</code></h5>
|
|
193
|
+
<p>Fired when a panel is toggled. The event detail contains <code>{ panelName }</code>.</p>
|
|
194
|
+
</k-card>
|
|
195
|
+
</content>
|
|
196
|
+
<content location="scripts">
|
|
197
|
+
<script type="module" src="{{pathToRoot}}src/components/Accordion.js"></script>
|
|
198
|
+
<script type="module" src="{{pathToRoot}}src/components/Card.js"></script>
|
|
199
|
+
<script type="module" src="{{pathToRoot}}src/components/Resize.js"></script>
|
|
200
|
+
</content>
|
|
201
|
+
</page>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<page template="bare" title="Aside Items Example">
|
|
2
|
+
<content location="head">
|
|
3
|
+
<style>
|
|
4
|
+
body {
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 0;
|
|
7
|
+
height: 100vh;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
</style>
|
|
11
|
+
<script type="module">
|
|
12
|
+
import theme from '{{pathToRoot}}src/utils/theme.js';
|
|
13
|
+
theme.init();
|
|
14
|
+
</script>
|
|
15
|
+
<script type="module" src="{{pathToRoot}}src/components/Aside.js"></script>
|
|
16
|
+
<script type="module" src="{{pathToRoot}}src/components/Main.js"></script>
|
|
17
|
+
</content>
|
|
18
|
+
<content>
|
|
19
|
+
<k-aside main="push" state="expanded" style="--aside_padding: 0;">
|
|
20
|
+
<k-aside-toggle><h5 class="m0">Kempo</h5></k-aside-toggle>
|
|
21
|
+
<k-aside-item icon="cards" href="#" active>Dashboard</k-aside-item>
|
|
22
|
+
<k-aside-item icon="check" href="#">Tasks</k-aside-item>
|
|
23
|
+
<k-aside-item icon="label" href="#">Email</k-aside-item>
|
|
24
|
+
<k-aside-label>Projects</k-aside-label>
|
|
25
|
+
<k-aside-item icon="folder" href="#">Figma Design</k-aside-item>
|
|
26
|
+
<k-aside-item icon="folder" href="#">Static Mania</k-aside-item>
|
|
27
|
+
<k-aside-spacer></k-aside-spacer>
|
|
28
|
+
<k-aside-item icon="settings" href="#">Settings</k-aside-item>
|
|
29
|
+
<k-aside-item icon="account-circle" href="#">Profile</k-aside-item>
|
|
30
|
+
</k-aside>
|
|
31
|
+
<k-main>
|
|
32
|
+
<h2>Main Content</h2>
|
|
33
|
+
<p>Click the aside's collapse/expand to see items react.</p>
|
|
34
|
+
</k-main>
|
|
35
|
+
</content>
|
|
36
|
+
</page>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<page template="bare" title="Aside Menu Example">
|
|
2
|
+
<content location="head">
|
|
3
|
+
<style>
|
|
4
|
+
body {
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 0;
|
|
7
|
+
height: 100vh;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
</style>
|
|
11
|
+
<script type="module">
|
|
12
|
+
import theme from '{{pathToRoot}}src/utils/theme.js';
|
|
13
|
+
theme.init();
|
|
14
|
+
</script>
|
|
15
|
+
<script type="module" src="{{pathToRoot}}src/components/Aside.js"></script>
|
|
16
|
+
<script type="module" src="{{pathToRoot}}src/components/Main.js"></script>
|
|
17
|
+
</content>
|
|
18
|
+
<content>
|
|
19
|
+
<k-aside main="push" state="expanded" style="--aside_padding: 0;">
|
|
20
|
+
<k-aside-toggle><h5 class="m0">Kempo</h5></k-aside-toggle>
|
|
21
|
+
<k-aside-item icon="cards" href="#">Dashboard</k-aside-item>
|
|
22
|
+
<k-aside-menu icon="folder" label="Projects">
|
|
23
|
+
<k-aside-item href="#">Website Redesign</k-aside-item>
|
|
24
|
+
<k-aside-item href="#">Mobile App</k-aside-item>
|
|
25
|
+
</k-aside-menu>
|
|
26
|
+
<k-aside-menu icon="settings" label="Settings">
|
|
27
|
+
<k-aside-item href="#">General</k-aside-item>
|
|
28
|
+
<k-aside-item href="#">Security</k-aside-item>
|
|
29
|
+
</k-aside-menu>
|
|
30
|
+
</k-aside>
|
|
31
|
+
<k-main>
|
|
32
|
+
<h2>Main Content</h2>
|
|
33
|
+
<p>Click menu headers to expand sub-items. Collapse the aside to see menus fold.</p>
|
|
34
|
+
</k-main>
|
|
35
|
+
</content>
|
|
36
|
+
</page>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<page template="bare" title="Untitled">
|
|
2
|
+
<content>
|
|
3
|
+
<k-aside id="aside4" state="offscreen">
|
|
4
|
+
<p>Push Sidebar Content</p>
|
|
5
|
+
</k-aside>
|
|
6
|
+
<k-main>
|
|
7
|
+
<button id="toggle4">Toggle Sidebar</button>
|
|
8
|
+
<p>This content shifts when the aside is visible.</p>
|
|
9
|
+
</k-main>
|
|
10
|
+
</content>
|
|
11
|
+
<content location="scripts">
|
|
12
|
+
<script>
|
|
13
|
+
document.getElementById('toggle4').addEventListener('click',()=>{
|
|
14
|
+
document.getElementById('aside4').toggle();
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
<script type="module" src="{{pathToRoot}}src/components/Aside.js"></script>
|
|
18
|
+
<script type="module" src="{{pathToRoot}}src/components/Main.js"></script>
|
|
19
|
+
</content>
|
|
20
|
+
</page>
|