kempo 1.0.0

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 (194) hide show
  1. package/.gitattributes +2 -0
  2. package/LICENSE +21 -0
  3. package/README.md +2 -0
  4. package/dist/components/Card.js +1 -0
  5. package/dist/components/CodeEditor.js +1 -0
  6. package/dist/components/Component.js +1 -0
  7. package/dist/components/Dialog.js +1 -0
  8. package/dist/components/FocusCapture.js +1 -0
  9. package/dist/components/Icon.js +1 -0
  10. package/dist/components/Import.js +1 -0
  11. package/dist/components/LazyComponent.js +1 -0
  12. package/dist/components/ReactiveComponent.js +1 -0
  13. package/dist/components/ReactiveLazyComponent.js +1 -0
  14. package/dist/components/Resize.js +1 -0
  15. package/dist/components/Search.js +1 -0
  16. package/dist/components/ShowMore.js +1 -0
  17. package/dist/components/SideMenu.js +1 -0
  18. package/dist/components/Split.js +1 -0
  19. package/dist/components/Tabs.js +1 -0
  20. package/dist/components/ThemeSwitcher.js +1 -0
  21. package/dist/components/Timestamp.js +1 -0
  22. package/dist/components/WebSnippetEditor.js +1 -0
  23. package/dist/index.js +1 -0
  24. package/dist/kempo-hljs.css +1 -0
  25. package/dist/kempo-styles.css +1 -0
  26. package/dist/kempo-vars.css +1 -0
  27. package/dist/kempo.css +1 -0
  28. package/dist/kempo.js +1 -0
  29. package/dist/utils/cli.js +1 -0
  30. package/dist/utils/cookie.js +1 -0
  31. package/dist/utils/debounce.js +1 -0
  32. package/dist/utils/drag.js +1 -0
  33. package/dist/utils/element.js +1 -0
  34. package/dist/utils/formatTimestamp.js +1 -0
  35. package/dist/utils/fuzzyMatch.js +1 -0
  36. package/dist/utils/getPreferredTheme.js +1 -0
  37. package/dist/utils/loadCss.js +1 -0
  38. package/dist/utils/loadScript.js +1 -0
  39. package/dist/utils/object.js +1 -0
  40. package/dist/utils/string.js +1 -0
  41. package/dist/utils/toFunction.js +1 -0
  42. package/dist/utils/type.js +1 -0
  43. package/dist/utils/waitFrames.js +1 -0
  44. package/docs/components/_template.html +22 -0
  45. package/docs/components/card.html +35 -0
  46. package/docs/components/codeeditor.html +29 -0
  47. package/docs/components/component.html +88 -0
  48. package/docs/components/dialog.html +89 -0
  49. package/docs/components/icon.html +73 -0
  50. package/docs/components/import.html +34 -0
  51. package/docs/components/lazycomponent.html +50 -0
  52. package/docs/components/resize.html +107 -0
  53. package/docs/components/show-more.html +92 -0
  54. package/docs/components/sidemenu.html +97 -0
  55. package/docs/components/split.html +70 -0
  56. package/docs/components/tabs.html +33 -0
  57. package/docs/components/websnippeteditor.html +42 -0
  58. package/docs/index.html +17 -0
  59. package/docs/kempo/components/Card.js +1 -0
  60. package/docs/kempo/components/CodeEditor.js +1 -0
  61. package/docs/kempo/components/Collapse.js +1 -0
  62. package/docs/kempo/components/Component.js +1 -0
  63. package/docs/kempo/components/Dialog.js +1 -0
  64. package/docs/kempo/components/FocusCapture.js +1 -0
  65. package/docs/kempo/components/Icon.js +1 -0
  66. package/docs/kempo/components/Import.js +1 -0
  67. package/docs/kempo/components/LazyComponent.js +1 -0
  68. package/docs/kempo/components/ReactiveComponent.js +1 -0
  69. package/docs/kempo/components/ReactiveLazyComponent.js +1 -0
  70. package/docs/kempo/components/Resize.js +1 -0
  71. package/docs/kempo/components/Search.js +1 -0
  72. package/docs/kempo/components/ShowMore.js +1 -0
  73. package/docs/kempo/components/SideMenu.js +1 -0
  74. package/docs/kempo/components/Split.js +1 -0
  75. package/docs/kempo/components/Tabs.js +1 -0
  76. package/docs/kempo/components/ThemeSwitcher.js +1 -0
  77. package/docs/kempo/components/Timestamp.js +1 -0
  78. package/docs/kempo/components/WebSnippetEditor.js +1 -0
  79. package/docs/kempo/icons/arrow-down-double.svg +1 -0
  80. package/docs/kempo/icons/arrow-up-double.svg +1 -0
  81. package/docs/kempo/icons/close.svg +2 -0
  82. package/docs/kempo/icons/compare.svg +1 -0
  83. package/docs/kempo/icons/dark-mode.svg +1 -0
  84. package/docs/kempo/icons/delete.svg +1 -0
  85. package/docs/kempo/icons/filter-off.svg +1 -0
  86. package/docs/kempo/icons/filter.svg +1 -0
  87. package/docs/kempo/icons/light-mode.svg +1 -0
  88. package/docs/kempo/icons/menu.svg +1 -0
  89. package/docs/kempo/icons/pause.svg +1 -0
  90. package/docs/kempo/icons/play.svg +1 -0
  91. package/docs/kempo/icons/search.svg +1 -0
  92. package/docs/kempo/icons/settings.svg +1 -0
  93. package/docs/kempo/icons/storage.svg +1 -0
  94. package/docs/kempo/icons/trash-x.svg +1 -0
  95. package/docs/kempo/index.js +1 -0
  96. package/docs/kempo/kempo-hljs.css +1 -0
  97. package/docs/kempo/kempo-styles.css +1 -0
  98. package/docs/kempo/kempo-vars.css +1 -0
  99. package/docs/kempo/kempo.css +1 -0
  100. package/docs/kempo/kempo.js +1 -0
  101. package/docs/kempo/utils/cli.js +1 -0
  102. package/docs/kempo/utils/cookie.js +1 -0
  103. package/docs/kempo/utils/debounce.js +1 -0
  104. package/docs/kempo/utils/drag.js +1 -0
  105. package/docs/kempo/utils/element.js +1 -0
  106. package/docs/kempo/utils/formatTimestamp.js +1 -0
  107. package/docs/kempo/utils/fuzzyMatch.js +1 -0
  108. package/docs/kempo/utils/getPreferredTheme.js +1 -0
  109. package/docs/kempo/utils/loadCss.js +1 -0
  110. package/docs/kempo/utils/loadScript.js +1 -0
  111. package/docs/kempo/utils/object.js +1 -0
  112. package/docs/kempo/utils/string.js +1 -0
  113. package/docs/kempo/utils/toFunction.js +1 -0
  114. package/docs/kempo/utils/type.js +1 -0
  115. package/docs/kempo/utils/waitFrames.js +1 -0
  116. package/docs/nav-1.inc.html +66 -0
  117. package/docs/nav.inc.html +66 -0
  118. package/docs/search.json +94 -0
  119. package/docs/styles/_template.html +22 -0
  120. package/docs/styles/borders-spacing.html +193 -0
  121. package/docs/styles/buttons.html +113 -0
  122. package/docs/styles/colors.html +65 -0
  123. package/docs/styles/displays-layouts.html +156 -0
  124. package/docs/styles/embed-1.html +35 -0
  125. package/docs/styles/inputs.html +89 -0
  126. package/docs/styles/tables.html +143 -0
  127. package/docs/styles/typography.html +116 -0
  128. package/icons/arrow-down-double.svg +1 -0
  129. package/icons/arrow-up-double.svg +1 -0
  130. package/icons/close.svg +2 -0
  131. package/icons/compare.svg +1 -0
  132. package/icons/dark-mode.svg +1 -0
  133. package/icons/delete.svg +1 -0
  134. package/icons/filter-off.svg +1 -0
  135. package/icons/filter.svg +1 -0
  136. package/icons/light-mode.svg +1 -0
  137. package/icons/menu.svg +1 -0
  138. package/icons/pause.svg +1 -0
  139. package/icons/play.svg +1 -0
  140. package/icons/search.svg +1 -0
  141. package/icons/settings.svg +1 -0
  142. package/icons/storage.svg +1 -0
  143. package/icons/trash-x.svg +1 -0
  144. package/kempo/components/Card.js +65 -0
  145. package/kempo/components/CodeEditor.js +141 -0
  146. package/kempo/components/Component.js +109 -0
  147. package/kempo/components/Dialog.js +277 -0
  148. package/kempo/components/FocusCapture.js +30 -0
  149. package/kempo/components/Icon.js +60 -0
  150. package/kempo/components/Import.js +40 -0
  151. package/kempo/components/LazyComponent.js +40 -0
  152. package/kempo/components/ReactiveComponent.js +11 -0
  153. package/kempo/components/ReactiveLazyComponent.js +11 -0
  154. package/kempo/components/Resize.js +168 -0
  155. package/kempo/components/Search.js +136 -0
  156. package/kempo/components/ShowMore.js +82 -0
  157. package/kempo/components/SideMenu.js +156 -0
  158. package/kempo/components/Split.js +133 -0
  159. package/kempo/components/Tabs.js +254 -0
  160. package/kempo/components/ThemeSwitcher.js +77 -0
  161. package/kempo/components/Timestamp.js +25 -0
  162. package/kempo/components/WebSnippetEditor.js +159 -0
  163. package/kempo/kempo-hljs.css +145 -0
  164. package/kempo/kempo-styles.css +893 -0
  165. package/kempo/kempo-vars.css +154 -0
  166. package/kempo/kempo.js +48 -0
  167. package/kempo/utils/cli.js +54 -0
  168. package/kempo/utils/cookie.js +16 -0
  169. package/kempo/utils/debounce.js +9 -0
  170. package/kempo/utils/drag.js +74 -0
  171. package/kempo/utils/element.js +69 -0
  172. package/kempo/utils/formatTimestamp.js +11 -0
  173. package/kempo/utils/fuzzyMatch.js +55 -0
  174. package/kempo/utils/getPreferredTheme.js +1 -0
  175. package/kempo/utils/loadCss.js +10 -0
  176. package/kempo/utils/loadScript.js +10 -0
  177. package/kempo/utils/object.js +177 -0
  178. package/kempo/utils/string.js +54 -0
  179. package/kempo/utils/toFunction.js +24 -0
  180. package/kempo/utils/type.js +8 -0
  181. package/kempo/utils/waitFrames.js +17 -0
  182. package/package.json +33 -0
  183. package/scripts/build.js +131 -0
  184. package/scripts/docs.js +14 -0
  185. package/test/components/SuiteList.js +26 -0
  186. package/test/components/Test.js +357 -0
  187. package/test/index.html +49 -0
  188. package/test/index.js +25 -0
  189. package/test/suite.html +45 -0
  190. package/test/suites.inc.html +4 -0
  191. package/test/tests/components/Component.test.js +138 -0
  192. package/test/tests/utils/cli.test.js +113 -0
  193. package/test/tests/utils/cookie.test.js +87 -0
  194. package/test/tests/utils/debounce.test.js +71 -0
@@ -0,0 +1,66 @@
1
+ <nav
2
+ class="d-f bg-primary fixed"
3
+ >
4
+ <button
5
+ id="open-side-menu"
6
+ class="link"
7
+ >
8
+ <k-icon name="menu"></k-icon>
9
+ </button>
10
+ <a href="../">Home</a>
11
+ <k-search
12
+ class="flex mr"
13
+ style="min-width:10rem;max-width:24rem"
14
+ ></k-search>
15
+ <div class="flex"></div>
16
+ <k-theme-switcher></k-theme-switcher>
17
+ </nav>
18
+ <div style="width: 100%; height: 4rem;"></div>
19
+ <k-side-menu
20
+ id="side-menu"
21
+ >
22
+ <h1>Kempo Docs</h1>
23
+ <menu>
24
+ <a href="../" class="h5 pl0 mb">Home</a>
25
+ <h5 class="mb0">Styles</h5>
26
+ <div class="pl mb">
27
+ <a href="../styles/typography.html">Typography</a>
28
+ <a href="../styles/displays-layouts.html">Displays and Layouts</a>
29
+ <a href="../styles/borders-spacing.html">Borders and Spacing</a>
30
+ <a href="../styles/inputs.html">Inputs</a>
31
+ <a href="../styles/buttons.html">Buttons</a>
32
+ <a href="../styles/tables.html">Tables</a>
33
+ <a href="../styles/colors.html">Colors</a>
34
+ </div>
35
+ <h5 class="mb0">Components</h5>
36
+ <div class="pl mb">
37
+ <a href="../components/component.html">Component</a>
38
+ <a href="../components/lazycomponent.html">LazyComponent</a>
39
+ <a href="../components/reactivecomponent.html">ReactiveComponent</a>
40
+ <a href="../components/reactivelazycomponent.html">ReactiveLazyComponent</a>
41
+ <a href="../components/focuscapture.html">FocusCapture</a>
42
+ <hr />
43
+ <a href="../components/codeeditor.html">Code Editor</a>
44
+ <a href="../components/card.html">Card</a>
45
+ <a href="../components/dialog.html">Dialog</a>
46
+ <a href="../components/icon.html">Icon</a>
47
+ <a href="../components/import.html">Import</a>
48
+ <a href="../components/resize.html">Resize</a>
49
+ <a href="../components/show-more.html">Show More</a>
50
+ <a href="../components/sidemenu.html">Side Menu</a>
51
+ <a href="../components/split.html">Split</a>
52
+ <a href="../components/tabs.html">Tabs</a>
53
+ <a href="../components/websnippeteditor.html">Web Snippet Editor</a>
54
+ </div>
55
+ </menu>
56
+ </k-side-menu>
57
+ <script>
58
+ document.getElementById('open-side-menu').addEventListener('click', async () => {
59
+ await window.customElements.whenDefined('k-side-menu');
60
+ document.getElementById('side-menu').open();
61
+ });
62
+ </script>
63
+ <script src="../kempo/components/SideMenu.js" type="module"></script>
64
+ <script src="../kempo/components/Icon.js" type="module"></script>
65
+ <script src="../kempo/components/ThemeSwitcher.js" type="module"></script>
66
+ <script src="../kempo/components/Search.js" type="module"></script>
@@ -0,0 +1,66 @@
1
+ <nav
2
+ class="d-f bg-primary fixed"
3
+ >
4
+ <button
5
+ id="open-side-menu"
6
+ class="link"
7
+ >
8
+ <k-icon name="menu"></k-icon>
9
+ </button>
10
+ <a href="./">Home</a>
11
+ <k-search
12
+ class="flex mr"
13
+ style="min-width:10rem;max-width:24rem"
14
+ ></k-search>
15
+ <div class="flex"></div>
16
+ <k-theme-switcher></k-theme-switcher>
17
+ </nav>
18
+ <div style="width: 100%; height: 4rem;"></div>
19
+ <k-side-menu
20
+ id="side-menu"
21
+ >
22
+ <h1>Kempo Docs</h1>
23
+ <menu>
24
+ <a href="./" class="h5 pl0 mb">Home</a>
25
+ <h5 class="mb0">Styles</h5>
26
+ <div class="pl mb">
27
+ <a href="./styles/typography.html">Typography</a>
28
+ <a href="./styles/displays-layouts.html">Displays and Layouts</a>
29
+ <a href="./styles/borders-spacing.html">Borders and Spacing</a>
30
+ <a href="./styles/inputs.html">Inputs</a>
31
+ <a href="./styles/buttons.html">Buttons</a>
32
+ <a href="./styles/tables.html">Tables</a>
33
+ <a href="./styles/colors.html">Colors</a>
34
+ </div>
35
+ <h5 class="mb0">Components</h5>
36
+ <div class="pl mb">
37
+ <a href="./components/component.html">Component</a>
38
+ <a href="./components/lazycomponent.html">LazyComponent</a>
39
+ <a href="./components/reactivecomponent.html">ReactiveComponent</a>
40
+ <a href="./components/reactivelazycomponent.html">ReactiveLazyComponent</a>
41
+ <a href="./components/focuscapture.html">FocusCapture</a>
42
+ <hr />
43
+ <a href="./components/codeeditor.html">Code Editor</a>
44
+ <a href="./components/card.html">Card</a>
45
+ <a href="./components/dialog.html">Dialog</a>
46
+ <a href="./components/icon.html">Icon</a>
47
+ <a href="./components/import.html">Import</a>
48
+ <a href="./components/resize.html">Resize</a>
49
+ <a href="./components/show-more.html">Show More</a>
50
+ <a href="./components/sidemenu.html">Side Menu</a>
51
+ <a href="./components/split.html">Split</a>
52
+ <a href="./components/tabs.html">Tabs</a>
53
+ <a href="./components/websnippeteditor.html">Web Snippet Editor</a>
54
+ </div>
55
+ </menu>
56
+ </k-side-menu>
57
+ <script>
58
+ document.getElementById('open-side-menu').addEventListener('click', async () => {
59
+ await window.customElements.whenDefined('k-side-menu');
60
+ document.getElementById('side-menu').open();
61
+ });
62
+ </script>
63
+ <script src="./kempo/components/SideMenu.js" type="module"></script>
64
+ <script src="./kempo/components/Icon.js" type="module"></script>
65
+ <script src="./kempo/components/ThemeSwitcher.js" type="module"></script>
66
+ <script src="./kempo/components/Search.js" type="module"></script>
@@ -0,0 +1,94 @@
1
+ {
2
+ "/components/codeeditor.html": {
3
+ "name": "Components > Code Editor",
4
+ "terms": [
5
+ "component",
6
+ "code",
7
+ "editor",
8
+ "html",
9
+ "css",
10
+ "js"
11
+ ]
12
+ },
13
+ "/components/resize.html": {
14
+ "name": "Components > Resize",
15
+ "terms": [
16
+ "resize",
17
+ "component",
18
+ "drag",
19
+ "width",
20
+ "height"
21
+ ]
22
+ },
23
+ "/components/split.html": {
24
+ "name": "Components > Split",
25
+ "terms": [
26
+ "component",
27
+ "split",
28
+ "resize",
29
+ "content"
30
+ ]
31
+ },
32
+ "/components/tabs.html": {
33
+ "name": "Components > Tabs",
34
+ "terms": [
35
+ "component",
36
+ "tab",
37
+ "content"
38
+ ]
39
+ },
40
+ "/components/websnippeteditor.html": {
41
+ "name": "Components > Web Snippet Editor",
42
+ "terms": [
43
+ "component",
44
+ "web",
45
+ "snippet",
46
+ "editor",
47
+ "code",
48
+ "html",
49
+ "css",
50
+ "js"
51
+ ]
52
+ },
53
+ "/styles/borders-spacing.html": {
54
+ "name": "Styles > Borders and Spacing",
55
+ "terms": [
56
+ "styles",
57
+ "border",
58
+ "spacing",
59
+ "margin",
60
+ "padding",
61
+ "radius"
62
+ ]
63
+ },
64
+ "/styles/displays-layouts.html": {
65
+ "name": "Styles > Displays and Layout",
66
+ "terms": [
67
+ "display",
68
+ "flex",
69
+ "grid",
70
+ "12",
71
+ "column",
72
+ "col",
73
+ "row",
74
+ "rows",
75
+ "cols",
76
+ "columns"
77
+ ]
78
+ },
79
+ "/styles/typography.html": {
80
+ "name": "Styles > Typography",
81
+ "terms": [
82
+ "display",
83
+ "text",
84
+ "typography",
85
+ "heading",
86
+ "paragraph",
87
+ "bold",
88
+ "italic",
89
+ "strike",
90
+ "sup",
91
+ "sub"
92
+ ]
93
+ }
94
+ }
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Template - Components - Kempo Docs - A Web Components Solution</title>
7
+ <link rel="stylesheet" href="../kempo/kempo-vars.css" /><link rel="stylesheet" href="../kempo/kempo-styles.css" />
8
+ <link rel="stylesheet" href="../kempo/kempo-hljs.css" />
9
+ </head>
10
+ <body>
11
+ <k-import src="../nav-1.inc.html"></k-import>
12
+ <h1 class="ta-center">Template</h1>
13
+ <main>
14
+
15
+ </main>
16
+ <script type="module">
17
+ import Icon from '../kempo/components/Icon.js';
18
+ Icon.pathToIcons = '../kempo/icons';
19
+ </script>
20
+ <script type="module" src="../kempo/components/Import.js"></script>
21
+ </body>
22
+ </html>
@@ -0,0 +1,193 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Borders and Spacing - Kempo - A Web Components Solution</title>
7
+ <link rel="stylesheet" href="../kempo/kempo-vars.css" /><link rel="stylesheet" href="../kempo/kempo-styles.css" />
8
+ <link rel="stylesheet" href="../kempo/kempo-hljs.css" />
9
+ </head>
10
+ <body>
11
+ <k-import src="../nav-1.inc.html"></k-import>
12
+ <h1 class="ta-center">Borders and Spacing</h1>
13
+ <main style="margin-bottom: 33vh">
14
+ <h3>Borders</h3>
15
+ <div class="row -mx mb">
16
+ <div class="col d-span-6 m-span-12 px">
17
+ <k-card label="HTML">
18
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"b"</span>&gt;</span>b<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"bt"</span>&gt;</span>bt<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"br"</span>&gt;</span>br<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"bb"</span>&gt;</span>bb<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"bl"</span>&gt;</span>bl<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"bx"</span>&gt;</span>bx<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"by"</span>&gt;</span>by<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
19
+ </k-card>
20
+ </div>
21
+ <div class="col d-span-6 m-span-12 px">
22
+ <k-card label="Output*">
23
+ <div class="d-ib bg-alt p mr mb b">b</div>
24
+ <div class="d-ib bg-alt p mr mb bt">bt</div>
25
+ <div class="d-ib bg-alt p mr mb br">br</div>
26
+ <div class="d-ib bg-alt p mr mb bb">bb</div>
27
+ <div class="d-ib bg-alt p mr mb bl">bl</div>
28
+ <div class="d-ib bg-alt p mr mb bx">bx</div>
29
+ <div class="d-ib bg-alt p mr mb by">by</div>
30
+ </k-card>
31
+ </div>
32
+ </div>
33
+
34
+ <h3>Padding</h3>
35
+ <div class="row -mx mb">
36
+ <div class="col d-span-6 m-span-12 px">
37
+ <k-card label="HTML">
38
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"p"</span>&gt;</span>p<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"pt"</span>&gt;</span>pt<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"pr"</span>&gt;</span>pr<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"pb"</span>&gt;</span>pb<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"pl"</span>&gt;</span>pl<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"px"</span>&gt;</span>px<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"py"</span>&gt;</span>py<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
39
+ </k-card>
40
+ </div>
41
+ <div class="col d-span-6 m-span-12 px">
42
+ <k-card label="Output*">
43
+ <div class="d-ib bg-success mx mb p">
44
+ <div class="d-ib bg-alt pq">p</div>
45
+ </div>
46
+ <div class="d-ib bg-success mx mb pt">
47
+ <div class="d-ib bg-alt pq">pt</div>
48
+ </div>
49
+ <div class="d-ib bg-success mx mb pr">
50
+ <div class="d-ib bg-alt pq">pr</div>
51
+ </div>
52
+ <div class="d-ib bg-success mx mb pb">
53
+ <div class="d-ib bg-alt pq">pb</div>
54
+ </div>
55
+ <div class="d-ib bg-success mx mb pl">
56
+ <div class="d-ib bg-alt pq">pl</div>
57
+ </div>
58
+ <div class="d-ib bg-success mx mb px">
59
+ <div class="d-ib bg-alt pq">px</div>
60
+ </div>
61
+ <div class="d-ib bg-success mx mb py">
62
+ <div class="d-ib bg-alt pq">py</div>
63
+ </div>
64
+ </k-card>
65
+ </div>
66
+ </div>
67
+
68
+ <h3>Margins</h3>
69
+ <div class="row -mx mb">
70
+ <div class="col d-span-6 m-span-12 px">
71
+ <k-card label="HTML">
72
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m"</span>&gt;</span>m<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"mt"</span>&gt;</span>mt<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"mr"</span>&gt;</span>mr<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"mb"</span>&gt;</span>mb<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ml"</span>&gt;</span>ml<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"mx"</span>&gt;</span>mx<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"my"</span>&gt;</span>my<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
73
+ </k-card>
74
+ </div>
75
+ <div class="col d-span-6 m-span-12 px">
76
+ <k-card label="Output*">
77
+ <div class="d-ib bg-warning mx mb p">
78
+ <div class="d-ib bg-alt pq">m</div>
79
+ </div>
80
+ <div class="d-ib bg-warning mx mb pt">
81
+ <div class="d-ib bg-alt pq">mt</div>
82
+ </div>
83
+ <div class="d-ib bg-warning mx mb pr">
84
+ <div class="d-ib bg-alt pq">mr</div>
85
+ </div>
86
+ <div class="d-ib bg-warning mx mb pb">
87
+ <div class="d-ib bg-alt pq">mb</div>
88
+ </div>
89
+ <div class="d-ib bg-warning mx mb pl">
90
+ <div class="d-ib bg-alt pq">ml</div>
91
+ </div>
92
+ <div class="d-ib bg-warning mx mb px">
93
+ <div class="d-ib bg-alt pq">mx</div>
94
+ </div>
95
+ <div class="d-ib bg-warning mx mb py">
96
+ <div class="d-ib bg-alt pq">my</div>
97
+ </div>
98
+ </k-card>
99
+ </div>
100
+ </div>
101
+
102
+ <h5>Negative Margins</h5>
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">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-m"</span>&gt;</span>-m<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-mt"</span>&gt;</span>-mt<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-mr"</span>&gt;</span>-mr<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-mb"</span>&gt;</span>-mb<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-ml"</span>&gt;</span>-ml<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-mx"</span>&gt;</span>-mx<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"-my"</span>&gt;</span>-my<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
107
+ </k-card>
108
+ </div>
109
+ <div class="col d-span-6 m-span-12 px">
110
+ <k-card label="Output*">
111
+ <div class="d-ib bg-danger mx mb p">
112
+ <div class="d-ib bg-alt pq">-m</div>
113
+ </div>
114
+ <div class="d-ib bg-danger mx mb pt">
115
+ <div class="d-ib bg-alt pq">-mt</div>
116
+ </div>
117
+ <div class="d-ib bg-danger mx mb pr">
118
+ <div class="d-ib bg-alt pq">-mr</div>
119
+ </div>
120
+ <div class="d-ib bg-danger mx mb pb">
121
+ <div class="d-ib bg-alt pq">-mb</div>
122
+ </div>
123
+ <div class="d-ib bg-danger mx mb pl">
124
+ <div class="d-ib bg-alt pq">-ml</div>
125
+ </div>
126
+ <div class="d-ib bg-danger mx mb px">
127
+ <div class="d-ib bg-alt pq">-mx</div>
128
+ </div>
129
+ <div class="d-ib bg-danger mx mb py">
130
+ <div class="d-ib bg-alt pq">-my</div>
131
+ </div>
132
+ </k-card>
133
+ </div>
134
+ </div>
135
+
136
+ <h5>Cancelled Margins</h5>
137
+ <div class="row -mx mb">
138
+ <div class="col d-span-6 m-span-12 px">
139
+ <k-card label="HTML">
140
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m m0"</span>&gt;</span>m m0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m mt0"</span>&gt;</span>m mt0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m mr0"</span>&gt;</span>m mr0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m mb0"</span>&gt;</span>m mb0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m ml0"</span>&gt;</span>m ml0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m mx0"</span>&gt;</span>m mx0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"m my0"</span>&gt;</span>m my0<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
141
+ </k-card>
142
+ </div>
143
+ <div class="col d-span-6 m-span-12 px">
144
+ <k-card label="Output*">
145
+ <div class="d-ib bg-warning mx mb">
146
+ <div class="d-ib bg-alt pq b" style="border-color: var(--c_danger)!important">m m0</div>
147
+ </div>
148
+ <div class="d-ib bg-warning mx mb px pb">
149
+ <div class="d-ib bg-alt pq bt" style="border-color: var(--c_danger)!important">m mt0</div>
150
+ </div>
151
+ <div class="d-ib bg-warning mx mb py pl">
152
+ <div class="d-ib bg-alt pq br" style="border-color: var(--c_danger)!important">m mr0</div>
153
+ </div>
154
+ <div class="d-ib bg-warning mx mb px pt">
155
+ <div class="d-ib bg-alt pq bb" style="border-color: var(--c_danger)!important">m mb0</div>
156
+ </div>
157
+ <div class="d-ib bg-warning mx mb py pr">
158
+ <div class="d-ib bg-alt pq bl" style="border-color: var(--c_danger)!important">m ml0</div>
159
+ </div>
160
+ <div class="d-ib bg-warning mx mb py">
161
+ <div class="d-ib bg-alt pq bx" style="border-color: var(--c_danger)!important">m mx0</div>
162
+ </div>
163
+ <div class="d-ib bg-warning mx mb px">
164
+ <div class="d-ib bg-alt pq by" style="border-color: var(--c_danger)!important">m my0</div>
165
+ </div>
166
+ </k-card>
167
+ </div>
168
+ </div>
169
+
170
+
171
+ <h3>* Notes</h3>
172
+ <p>
173
+ <i>Additional styles may be added to the example output (borders, spacing, colors) for demonstration.</i><br />
174
+ For example extra borders, margins, and paddings have in added along with colors. This is what each color represents.
175
+ <ul>
176
+ <li><b>Green</b> = Padding</li>
177
+ <li><b>Orange</b> = Margins</li>
178
+ <li><b>Red</b> = Negative Margins</li>
179
+ <li><b>Red Border</b> = Cancelled Margins</li>
180
+ </ul>
181
+ </p>
182
+
183
+
184
+
185
+
186
+ </main>
187
+ <script type="module">
188
+ import Icon from '../kempo/components/Icon.js';
189
+ Icon.pathToIcons = '../kempo/icons';
190
+ </script>
191
+ <script type="module" src="../kempo/components/Import.js"></script>
192
+ </body>
193
+ </html>
@@ -0,0 +1,113 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Buttons - Components - Kempo Docs - A Web Components Solution</title>
7
+ <link rel="stylesheet" href="../kempo/kempo-vars.css" /><link rel="stylesheet" href="../kempo/kempo-styles.css" />
8
+ <link rel="stylesheet" href="../kempo/kempo-hljs.css" />
9
+ </head>
10
+ <body>
11
+ <k-import src="../nav-1.inc.html"></k-import>
12
+ <h1 class="ta-center">Buttons</h1>
13
+ <main>
14
+ <h3>What is a button?</h3>
15
+ <p>"Buttons" are defened as:</p>
16
+ <ul>
17
+ <li><code>&lt;button></code> elements</li>
18
+ <li><code>&lt;input></code> elements with a type of <code>"input"</code>, <code>"submit"</code>, or <code>"reset"</code>.</li>
19
+ <li>Any element with the <code>btn</code> class.</li>
20
+ </ul>
21
+ <div class="row -mx mb">
22
+ <div class="col d-span-6 m-span-12 px">
23
+ <k-card label="HTML">
24
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>button<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"button"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"input"</span> /&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"submit"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"submit input"</span> /&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"btn"</span>&gt;</span>a.btn<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span></code></pre>
25
+ </k-card>
26
+ </div>
27
+ <div class="col d-span-6 m-span-12 px">
28
+ <k-card label="Output*">
29
+ <button>button</button>
30
+ <input type="button" value="input" />
31
+ <input type="submit" value="submit input" />
32
+ <a href="#" class="btn">a.btn</a>
33
+ </k-card>
34
+ </div>
35
+ </div>
36
+
37
+ <h3>Button Colors</h3>
38
+ <div class="row -mx mb">
39
+ <div class="col d-span-6 m-span-12 px">
40
+ <k-card label="HTML">
41
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Default<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"primary"</span>&gt;</span>Primary<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"secondary"</span>&gt;</span>Secondary<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"success"</span>&gt;</span>Success<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"warning"</span>&gt;</span>Warning<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"danger"</span>&gt;</span>Danger<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span></code></pre>
42
+ </k-card>
43
+ </div>
44
+ <div class="col d-span-6 m-span-12 px">
45
+ <k-card label="Output*">
46
+ <button class="mbq ">Default</button>
47
+ <button class="mbq primary">Primary</button>
48
+ <button class="mbq secondary">Secondary</button>
49
+ <button class="mbq success">Success</button>
50
+ <button class="mbq warning">Warning</button>
51
+ <button class="mbq danger">Danger</button>
52
+ </k-card>
53
+ </div>
54
+ </div>
55
+
56
+ <h3>Button Groups</h3>
57
+ <div class="row -mx mb">
58
+ <div class="col d-span-6 m-span-12 px">
59
+ <k-card label="HTML">
60
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"btn-grp"</span>&gt;</span><br /> <span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Default<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /> <span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Default<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
61
+ </k-card>
62
+ </div>
63
+ <div class="col d-span-6 m-span-12 px">
64
+ <k-card label="Output*">
65
+ <div class="btn-grp">
66
+ <button>Default</button>
67
+ <button>Default</button>
68
+ </div>
69
+ </div>
70
+ </div>
71
+
72
+ <h3>Button Sizes</h3>
73
+ <div class="row -mx mb">
74
+ <div class="col d-span-6 m-span-12 px">
75
+ <k-card label="HTML">
76
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"small"</span>&gt;</span>Small<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Normal<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"large"</span>&gt;</span>Large<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span></code></pre>
77
+ </k-card>
78
+ </div>
79
+ <div class="col d-span-6 m-span-12 px">
80
+ <k-card label="Output*">
81
+ <button class="small">Small</button>
82
+ <button>Normal</button>
83
+ <button class="large">Large</button>
84
+ </k-card>
85
+ </div>
86
+ </div>
87
+
88
+ <h3>No Styles</h3>
89
+ <p><code>no-style</code> makes the button look like the default button (no styles).</p>
90
+ <p><code>no-btn</code> makes the button not look like a button (just text).</p>
91
+ <div class="row -mx mb">
92
+ <div class="col d-span-6 m-span-12 px">
93
+ <k-card label="HTML">
94
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"no-style"</span>&gt;</span>no-style<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span><br /><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"no-btn"</span>&gt;</span>no-btn<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span></code></pre>
95
+ </k-card>
96
+ </div>
97
+ <div class="col d-span-6 m-span-12 px">
98
+ <k-card label="Output*">
99
+ <button class="no-style">no-style</button>
100
+ <button class="no-btn">no-btn</button>
101
+ </k-card>
102
+ </div>
103
+ </div>
104
+ </main>
105
+ <div style="height:33vh"></div>
106
+ <script type="module">
107
+ import Icon from '../kempo/components/Icon.js';
108
+ Icon.pathToIcons = '../kempo/icons';
109
+ </script>
110
+ <script type="module" src="../kempo/components/Card.js"></script>
111
+ <script type="module" src="../kempo/components/Import.js"></script>
112
+ </body>
113
+ </html>