kempo-ui 0.0.13 → 0.0.15
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/dist/kempo-vars.css +1 -0
- package/docs/dev.config.json +5 -9
- package/docs/kempo-ui/components/accordion.html +236 -0
- package/docs/{components → kempo-ui/components}/card.html +8 -7
- package/docs/{components → kempo-ui/components}/content-slider.html +8 -7
- package/docs/kempo-ui/components/dialog.html +339 -0
- package/docs/{components → kempo-ui/components}/focus-capture.html +9 -8
- package/docs/{components → kempo-ui/components}/hybrid-component.html +7 -6
- package/docs/{components → kempo-ui/components}/icon.html +9 -8
- package/docs/{components → kempo-ui/components}/import.html +8 -7
- package/docs/{components → kempo-ui/components}/light-component.html +7 -6
- package/docs/{components → kempo-ui/components}/photo-viewer.html +8 -7
- package/docs/{components → kempo-ui/components}/resize.html +8 -7
- package/docs/{components → kempo-ui/components}/shadow-component.html +7 -6
- package/docs/{components → kempo-ui/components}/show-more.html +8 -7
- package/docs/{components → kempo-ui/components}/side-menu.html +8 -8
- package/docs/{components → kempo-ui/components}/sortable.html +8 -7
- package/docs/{components → kempo-ui/components}/split.html +9 -8
- package/docs/{components → kempo-ui/components}/table.html +32 -32
- package/docs/{components → kempo-ui/components}/tableControls.html +12 -12
- package/docs/{components → kempo-ui/components}/tableCustomFields.html +9 -9
- package/docs/{components → kempo-ui/components}/tableFetchRecords.html +16 -16
- package/docs/{components → kempo-ui/components}/tableFieldSortHide.html +11 -11
- package/docs/{components → kempo-ui/components}/tablePagination.html +17 -17
- package/docs/{components → kempo-ui/components}/tableRecordEditing.html +12 -12
- package/docs/{components → kempo-ui/components}/tableRecordFiltering.html +11 -11
- package/docs/{components → kempo-ui/components}/tableRecordHiding.html +13 -13
- package/docs/{components → kempo-ui/components}/tableRecordSearching.html +11 -11
- package/docs/{components → kempo-ui/components}/tableRecordSelection.html +11 -11
- package/docs/{components → kempo-ui/components}/tableRowControls.html +12 -12
- package/docs/{components → kempo-ui/components}/tableSorting.html +9 -9
- package/docs/{components → kempo-ui/components}/tabs.html +8 -7
- package/docs/{components → kempo-ui/components}/tags.html +8 -7
- package/docs/{components → kempo-ui/components}/theme-switcher.html +8 -7
- package/docs/{components → kempo-ui/components}/timestamp.html +8 -7
- package/docs/kempo-ui/components/toast.html +315 -0
- package/docs/{components → kempo-ui/components}/toggle.html +8 -7
- package/docs/{components → kempo-ui/components}/tree.html +16 -14
- package/docs/{index.html → kempo-ui/index.html} +7 -18
- package/docs/kempo-ui/kempo-vars.css +1 -0
- package/docs/kempo-ui/nav.inc.html +67 -0
- package/docs/kempo-ui/utils/debounce.html +56 -0
- package/docs/{utils → kempo-ui/utils}/drag.html +8 -17
- package/docs/{utils → kempo-ui/utils}/formatTimestamp.html +12 -29
- package/docs/kempo-ui/utils/propConverters.html +90 -0
- package/docs/{utils → kempo-ui/utils}/toTitleCase.html +7 -6
- package/docs/kempo-ui/utils/watchWindowSize.html +72 -0
- package/docs/prod.config.json +0 -8
- package/package.json +2 -2
- package/scripts/build.js +8 -8
- package/scripts/docs.js +3 -0
- package/src/components/Accordion.js +145 -57
- package/src/components/Tabs.js +14 -23
- package/src/kempo-vars.css +1 -0
- package/docs/components/accordion.html +0 -161
- package/docs/components/collapsible.html +0 -193
- package/docs/components/dialog.html +0 -105
- package/docs/components/init.js +0 -7
- package/docs/components/persistant-collapsible.html +0 -117
- package/docs/components/toast.html +0 -52
- package/docs/init.js +0 -7
- package/docs/kempo-vars.css +0 -0
- package/docs/kempo.css +0 -1
- package/docs/nav.inc.html +0 -69
- package/docs/utils/debounce.html +0 -74
- package/docs/utils/init.js +0 -8
- package/docs/utils/propConverters.html +0 -128
- package/docs/utils/watchWindowSize.html +0 -162
- package/src/components/Collapsible.js +0 -109
- package/src/components/PersistantCollapsible.js +0 -69
- /package/docs/{icons → kempo-ui/icons}/add.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-back.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-down-double.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-down.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-forward.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-up-double.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/arrow-up.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/cards.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/check.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/chevron-left.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/chevron-right.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/close.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/compare.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/delete.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/drag-handle.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/drawing2.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/edit.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/error.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/export-file.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/file-text.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/file.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/filter-off.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/filter.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/first.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/folder-clear.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/folder-create.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/folder-open.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/folder.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/hide.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/image.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/label-add.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/label.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/last.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/menu.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/mode-auto.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/mode-dark.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/mode-light.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/open-in-browser.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/pause.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/play.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/refresh.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/remove.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/save.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/search.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/settings.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/show.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/storage.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/table-visibility.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/tag.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/tools.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/trash-x.svg +0 -0
- /package/docs/{icons → kempo-ui/icons}/warning.svg +0 -0
- /package/docs/{kempo-hljs.css → kempo-ui/kempo-hljs.css} +0 -0
- /package/docs/{kempo.min.css → kempo-ui/kempo.min.css} +0 -0
- /package/docs/{media → kempo-ui/media}/civic.jpg +0 -0
- /package/docs/{media → kempo-ui/media}/corvette.jpg +0 -0
- /package/docs/{media → kempo-ui/media}/evo.jpg +0 -0
- /package/docs/{media → kempo-ui/media}/gtr.jpg +0 -0
- /package/docs/{media → kempo-ui/media}/nsx.jpg +0 -0
- /package/docs/{nav.inc.js → kempo-ui/nav.inc.js} +0 -0
- /package/docs/{src → kempo-ui/src}/components/Accordion.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Card.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Collapsible.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/ContentSlider.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Dialog.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/FocusCapture.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/HybridComponent.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Icon.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Import.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/LightComponent.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/PersistantCollapsible.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/PhotoViewer.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Resize.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/ShadowComponent.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/ShowMore.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/SideMenu.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Sortable.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Split.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Table.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Tabs.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Tags.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/ThemeSwitcher.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Timestamp.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Toast.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Toggle.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/Tree.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/DeleteRecord.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/Edit.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/ExportCSV.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/ExportJson.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/FieldSortHide.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/Filters.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/FirstPage.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/HiddenCount.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/Hide.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/LastPage.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/NextPage.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/PageSelect.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/PageSize.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/PrevPage.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/Search.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/ShowAll.js +0 -0
- /package/docs/{src → kempo-ui/src}/components/tableControls/TableControl.js +0 -0
- /package/docs/{src → kempo-ui/src}/lit-all.min.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/debounce.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/drag.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/formatTimestamp.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/propConverters.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/toTitleCase.js +0 -0
- /package/docs/{src → kempo-ui/src}/utils/watchWindowSize.js +0 -0
- /package/docs/{styles.css → kempo-ui/styles.css} +0 -0
package/dist/kempo-vars.css
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Define Kempo Vars Here */
|
package/docs/dev.config.json
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"customRoutes": {
|
|
3
|
-
"/": "
|
|
4
|
-
"/kempo.min.css": "../node_modules/kempo-css/dist/kempo.min.css",
|
|
5
|
-
"/kempo-vars.css": "../kempo-vars.css",
|
|
6
|
-
"/kempo-hljs.css": "../src/kempo-hljs.css",
|
|
3
|
+
"/kempo.min.css": "../node_modules/kempo-css/dist/kempo.min.css",
|
|
4
|
+
"/kempo-ui/kempo.min.css": "../node_modules/kempo-css/dist/kempo.min.css",
|
|
5
|
+
"/kempo-ui/kempo-vars.css": "../src/kempo-vars.css",
|
|
6
|
+
"/kempo-ui/kempo-hljs.css": "../src/kempo-hljs.css",
|
|
7
7
|
"/icons/**": "../icons/**",
|
|
8
|
-
"/src/**": "../src/**"
|
|
9
|
-
},
|
|
10
|
-
"mimeTypes": {
|
|
11
|
-
".js": "application/javascript",
|
|
12
|
-
".mjs": "application/javascript"
|
|
8
|
+
"/kempo-ui/src/**": "../src/**"
|
|
13
9
|
},
|
|
14
10
|
"middleware": {
|
|
15
11
|
"logging": {
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<base href="/kempo-ui/">
|
|
6
|
+
<meta charset="UTF-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
+
<title>Accordion - Components - Kempo Docs - A Web Components Solution</title>
|
|
9
|
+
<link rel="stylesheet" href="kempo-vars.css" />
|
|
10
|
+
<link rel="stylesheet" href="kempo.min.css" />
|
|
11
|
+
<link rel="stylesheet" href="kempo-hljs.css" />
|
|
12
|
+
<link rel="stylesheet" href="styles.css" />
|
|
13
|
+
<script>window.litDisableBundleWarning = true;</script>
|
|
14
|
+
</head>
|
|
15
|
+
|
|
16
|
+
<body>
|
|
17
|
+
<k-import src="/kempo-ui/nav.inc.html"></k-import>
|
|
18
|
+
<h1 class="ta-center">Accordion</h1>
|
|
19
|
+
<main>
|
|
20
|
+
<k-accordion persistent-id="toc" class="b r mb">
|
|
21
|
+
<k-accordion-header for-panel="toc-panel">Table of Contents</k-accordion-header>
|
|
22
|
+
<k-accordion-panel name="toc-panel">
|
|
23
|
+
<div class="m pl">
|
|
24
|
+
<h6>Examples</h6>
|
|
25
|
+
<a href="#basicUsage" class="scroll-link">Basic Usage</a><br />
|
|
26
|
+
<a href="#defaultOpen" class="scroll-link">Default Open Panel</a><br />
|
|
27
|
+
<a href="#multiple" class="scroll-link">Multiple Panels Mode</a><br />
|
|
28
|
+
<a href="#persistent" class="scroll-link">Persistent State Example</a><br />
|
|
29
|
+
<h6 class="mt"><a href="#jsRef" class="no-link scroll-link">JavaScript Reference</a></h6>
|
|
30
|
+
<a href="#accordion-ref" class="scroll-link">Accordion</a><br />
|
|
31
|
+
<a href="#accordion-header-ref" class="scroll-link">AccordionHeader</a><br />
|
|
32
|
+
<a href="#accordion-panel-ref" class="scroll-link">AccordionPanel</a><br />
|
|
33
|
+
<a href="#events" class="scroll-link">Events</a><br />
|
|
34
|
+
</div>
|
|
35
|
+
</k-accordion-panel>
|
|
36
|
+
</k-accordion>
|
|
37
|
+
|
|
38
|
+
<h3>Description</h3>
|
|
39
|
+
<p>A widget that allows a single panel of content to be opened and closed.</p>
|
|
40
|
+
|
|
41
|
+
<h3 id="basicUsage"><a href="#basicUsage" class="no-link scroll-link">Basic Usage</a></h3>
|
|
42
|
+
<div class="row -mx mb">
|
|
43
|
+
<div class="col d-span-6 m-span-12 px">
|
|
44
|
+
<k-card label="HTML">
|
|
45
|
+
<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>
|
|
46
|
+
</k-card>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="col d-span-6 m-span-12 px">
|
|
49
|
+
<k-card label="Results">
|
|
50
|
+
<k-accordion class="mb">
|
|
51
|
+
<k-accordion-header for-panel="panel1">Panel 1</k-accordion-header>
|
|
52
|
+
<k-accordion-panel name="panel1">
|
|
53
|
+
<p class="m">Panel 1 content</p>
|
|
54
|
+
</k-accordion-panel>
|
|
55
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
56
|
+
<k-accordion-panel name="panel2">
|
|
57
|
+
<p class="m">Panel 2 content</p>
|
|
58
|
+
</k-accordion-panel>
|
|
59
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
60
|
+
<k-accordion-panel name="panel3">
|
|
61
|
+
<p class="m">Panel 3 content</p>
|
|
62
|
+
</k-accordion-panel>
|
|
63
|
+
</k-accordion>
|
|
64
|
+
</k-card>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
<h3 id="defaultOpen"><a href="#defaultOpen" class="no-link scroll-link">Default Open Panel</a></h3>
|
|
71
|
+
<p>You can have a panel open by default by setting the <code>active</code> attribute to <code>true</code> on both
|
|
72
|
+
<p>You can have a panel open by default by adding the <code>active</code> attribute to both the header and the
|
|
73
|
+
panel. The presence of the attribute means <code>true</code>.</p>
|
|
74
|
+
<div class="row -mx mb">
|
|
75
|
+
<div class="col d-span-6 m-span-12 px">
|
|
76
|
+
<k-card label="HTML">
|
|
77
|
+
<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>
|
|
78
|
+
</k-card>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="col d-span-6 m-span-12 px">
|
|
81
|
+
<k-card label="Results">
|
|
82
|
+
<k-accordion class="mb">
|
|
83
|
+
<k-accordion-header for-panel="panel1" active>Panel 1</k-accordion-header>
|
|
84
|
+
<k-accordion-panel name="panel1" active>
|
|
85
|
+
<p class="m">Panel 1 content</p>
|
|
86
|
+
</k-accordion-panel>
|
|
87
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
88
|
+
<k-accordion-panel name="panel2">
|
|
89
|
+
<p class="m">Panel 2 content</p>
|
|
90
|
+
</k-accordion-panel>
|
|
91
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
92
|
+
<k-accordion-panel name="panel3">
|
|
93
|
+
<p class="m">Panel 3 content</p>
|
|
94
|
+
</k-accordion-panel>
|
|
95
|
+
</k-accordion>
|
|
96
|
+
</k-card>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
<h3 id="multiple"><a href="#multiple" class="no-link scroll-link">Multiple Panels Mode</a></h3>
|
|
101
|
+
<p>Add the <code>multiple</code> attribute to <code>k-accordion</code> to allow more than one panel to be open at a
|
|
102
|
+
time.</p>
|
|
103
|
+
<div class="row -mx mb">
|
|
104
|
+
<div class="col d-span-6 m-span-12 px">
|
|
105
|
+
<k-card label="HTML">
|
|
106
|
+
<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>
|
|
107
|
+
</k-card>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="col d-span-6 m-span-12 px">
|
|
110
|
+
<k-card label="Results">
|
|
111
|
+
<k-accordion class="mb" multiple>
|
|
112
|
+
<k-accordion-header for-panel="panel1" active>Panel 1</k-accordion-header>
|
|
113
|
+
<k-accordion-panel name="panel1" active>
|
|
114
|
+
<p class="m">Panel 1 content</p>
|
|
115
|
+
</k-accordion-panel>
|
|
116
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
117
|
+
<k-accordion-panel name="panel2">
|
|
118
|
+
<p class="m">Panel 2 content</p>
|
|
119
|
+
</k-accordion-panel>
|
|
120
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
121
|
+
<k-accordion-panel name="panel3">
|
|
122
|
+
<p class="m">Panel 3 content</p>
|
|
123
|
+
</k-accordion-panel>
|
|
124
|
+
</k-accordion>
|
|
125
|
+
</k-card>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
|
|
129
|
+
<h3 id="persistent"><a href="#persistent" class="no-link scroll-link">Persistent State Example</a></h3>
|
|
130
|
+
<p>Add the <code>persistent-id</code> attribute to <code>k-accordion</code> to save and restore open panels across
|
|
131
|
+
page reloads. The state is stored in <code>localStorage</code> (if available) using the provided ID.</p>
|
|
132
|
+
<div class="row -mx mb">
|
|
133
|
+
<div class="col d-span-6 m-span-12 px">
|
|
134
|
+
<k-card label="HTML">
|
|
135
|
+
<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>
|
|
136
|
+
</k-card>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="col d-span-6 m-span-12 px">
|
|
139
|
+
<k-card label="Results">
|
|
140
|
+
<k-accordion class="mb" persistent-id="demo-accordion">
|
|
141
|
+
<k-accordion-header for-panel="panel1">Panel 1</k-accordion-header>
|
|
142
|
+
<k-accordion-panel name="panel1">
|
|
143
|
+
<p class="m">Panel 1 content</p>
|
|
144
|
+
</k-accordion-panel>
|
|
145
|
+
<k-accordion-header for-panel="panel2">Panel 2</k-accordion-header>
|
|
146
|
+
<k-accordion-panel name="panel2">
|
|
147
|
+
<p class="m">Panel 2 content</p>
|
|
148
|
+
</k-accordion-panel>
|
|
149
|
+
<k-accordion-header for-panel="panel3">Panel 3</k-accordion-header>
|
|
150
|
+
<k-accordion-panel name="panel3">
|
|
151
|
+
<p class="m">Panel 3 content</p>
|
|
152
|
+
</k-accordion-panel>
|
|
153
|
+
</k-accordion>
|
|
154
|
+
</k-card>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<h2 id="jsRef"><a href="#jsRef" class="no-link scroll-link">JavaScript Reference</a></h2>
|
|
159
|
+
<k-card>
|
|
160
|
+
<h3 id="accordion-ref" class="bb pb">Accordion</h3>
|
|
161
|
+
<h4>Properties</h4>
|
|
162
|
+
<ul>
|
|
163
|
+
<li><code>multiple: boolean</code> — If present, allows multiple panels to be open.</li>
|
|
164
|
+
<li><code>persistentId: string</code> — If set, open panel state is saved/restored via localStorage.</li>
|
|
165
|
+
</ul>
|
|
166
|
+
<h4>Methods</h4>
|
|
167
|
+
<ul>
|
|
168
|
+
<li><code>getHeader(panelName): HTMLElement | null</code></li>
|
|
169
|
+
<li><code>getPanel(panelName): HTMLElement | null</code></li>
|
|
170
|
+
<li><code>openPanel(panelName): void</code></li>
|
|
171
|
+
<li><code>closePanel(panelName): void</code></li>
|
|
172
|
+
<li><code>togglePanel(panelName): void</code></li>
|
|
173
|
+
</ul>
|
|
174
|
+
<h4>Lifecycle</h4>
|
|
175
|
+
<ul>
|
|
176
|
+
<li>State is restored in <code>updated()</code> when <code>persistentId</code> changes.</li>
|
|
177
|
+
</ul>
|
|
178
|
+
</k-card>
|
|
179
|
+
|
|
180
|
+
<k-card>
|
|
181
|
+
<h3 id="accordion-header-ref" class="bb pb">AccordionHeader</h3>
|
|
182
|
+
<h4>Properties</h4>
|
|
183
|
+
<ul>
|
|
184
|
+
<li><code>forPanel: string</code> — The panel name this header controls.</li>
|
|
185
|
+
<li><code>active: boolean</code> — Whether this header is active.</li>
|
|
186
|
+
<li><code>accordion: Accordion | null</code> <i>(read only)</i> — Parent accordion.</li>
|
|
187
|
+
</ul>
|
|
188
|
+
<h4>Event Handlers</h4>
|
|
189
|
+
<ul>
|
|
190
|
+
<li>Click: toggles associated panel.</li>
|
|
191
|
+
</ul>
|
|
192
|
+
</k-card>
|
|
193
|
+
|
|
194
|
+
<k-card>
|
|
195
|
+
<h3 id="accordion-panel-ref" class="bb pb">AccordionPanel</h3>
|
|
196
|
+
<h4>Properties</h4>
|
|
197
|
+
<ul>
|
|
198
|
+
<li><code>name: string</code> — Unique panel identifier.</li>
|
|
199
|
+
<li><code>active: boolean</code> — Whether this panel is open.</li>
|
|
200
|
+
<li><code>transitioning: boolean</code> — Whether this panel is animating.</li>
|
|
201
|
+
</ul>
|
|
202
|
+
<h4>Methods</h4>
|
|
203
|
+
<ul>
|
|
204
|
+
<li><code>accordion: Accordion | null</code> (getter) — Returns parent accordion.</li>
|
|
205
|
+
</ul>
|
|
206
|
+
|
|
207
|
+
<h3 id="events"><a href="#events" class="no-link scroll-link">Events</a></h3>
|
|
208
|
+
<h5><code>openpanel</code></h5>
|
|
209
|
+
<p>Fired when a panel is opened. The event detail contains <code>{ panelName }</code>.</p>
|
|
210
|
+
<h5><code>closepanel</code></h5>
|
|
211
|
+
<p>Fired when a panel is closed. The event detail contains <code>{ panelName }</code>.</p>
|
|
212
|
+
<h5><code>togglepanel</code></h5>
|
|
213
|
+
<p>Fired when a panel is toggled. The event detail contains <code>{ panelName }</code>.</p>
|
|
214
|
+
</k-card>
|
|
215
|
+
|
|
216
|
+
</main>
|
|
217
|
+
<div style="height:33vh"></div>
|
|
218
|
+
<script type="module" src="/kempo-ui/src/components/Import.js"></script>
|
|
219
|
+
<script type="module" src="/kempo-ui/src/components/Accordion.js"></script>
|
|
220
|
+
<script type="module" src="/kempo-ui/src/components/Card.js"></script>
|
|
221
|
+
<script>
|
|
222
|
+
document.querySelectorAll('.scroll-link').forEach(link => {
|
|
223
|
+
link.addEventListener('click', function (e) {
|
|
224
|
+
e.preventDefault();
|
|
225
|
+
const targetId = this.getAttribute('href').replace('#', '');
|
|
226
|
+
const target = document.getElementById(targetId);
|
|
227
|
+
if (target) {
|
|
228
|
+
target.scrollIntoView({ behavior: 'smooth' });
|
|
229
|
+
const url = window.location.pathname + window.location.search + '#' + targetId;
|
|
230
|
+
history.replaceState(null, '', url);
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
</script>
|
|
235
|
+
</body>
|
|
236
|
+
</html>
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<base href="/kempo-ui/">
|
|
4
5
|
<meta charset="UTF-8">
|
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
7
|
<title>Card - Components - Kempo Docs - A Web Components Solution</title>
|
|
7
|
-
<link rel="stylesheet" href="
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
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" />
|
|
10
12
|
<script>window.litDisableBundleWarning = true;</script>
|
|
11
|
-
<script type="module" src="./init.js"></script>
|
|
12
13
|
</head>
|
|
13
14
|
<body>
|
|
14
|
-
<k-import src="
|
|
15
|
+
<k-import src="/kempo-ui/nav.inc.html"></k-import>
|
|
15
16
|
<h1 class="ta-center">Card</h1>
|
|
16
17
|
<main>
|
|
17
18
|
<details class="b r mb">
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
|
|
82
83
|
</main>
|
|
83
84
|
<div style="height:33vh"></div>
|
|
84
|
-
<script type="module" src="
|
|
85
|
-
<script type="module" src="
|
|
85
|
+
<script type="module" src="/kempo-ui/src/components/Import.js"></script>
|
|
86
|
+
<script type="module" src="/kempo-ui/src/components/Card.js"></script>
|
|
86
87
|
</body>
|
|
87
88
|
</html>
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<base href="/kempo-ui/">
|
|
4
5
|
<meta charset="UTF-8">
|
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
7
|
<title>Content Slider - Components - Kempo Docs - A Web Components Solution</title>
|
|
7
|
-
<link rel="stylesheet" href="
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
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" />
|
|
10
12
|
<script>window.litDisableBundleWarning = true;</script>
|
|
11
|
-
<script type="module" src="./init.js"></script>
|
|
12
13
|
</head>
|
|
13
14
|
<body>
|
|
14
|
-
<k-import src="
|
|
15
|
+
<k-import src="/kempo-ui/nav.inc.html"></k-import>
|
|
15
16
|
<h1 class="ta-center">Content Slider</h1>
|
|
16
17
|
<main>
|
|
17
18
|
<details
|
|
@@ -212,7 +213,7 @@
|
|
|
212
213
|
<p>Custom content for the next button. Defaults to a right chevron icon if not provided.</p>
|
|
213
214
|
|
|
214
215
|
</main>
|
|
215
|
-
<script type="module" src="
|
|
216
|
-
<script type="module" src="
|
|
216
|
+
<script type="module" src="/kempo-ui/src/components/Import.js"></script>
|
|
217
|
+
<script type="module" src="/kempo-ui/src/components/ContentSlider.js"></script>
|
|
217
218
|
</body>
|
|
218
219
|
</html>
|