kempo-ui 0.3.6 → 0.3.8
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/components/Accordion.js +5 -5
- package/dist/components/Aside.js +16 -16
- package/dist/components/Card.js +3 -3
- package/dist/components/ColorPicker.js +4 -4
- package/dist/components/ContentSlider.js +3 -3
- package/dist/components/Context.js +1 -1
- package/dist/components/Dialog.js +7 -7
- package/dist/components/Dropdown.js +7 -4
- package/dist/components/FilterItem.js +2 -2
- package/dist/components/FilterList.js +2 -2
- package/dist/components/FocusCapture.js +2 -2
- package/dist/components/HtmlEditor.js +62 -39
- package/dist/components/HybridComponent.js +1 -1
- package/dist/components/Icon.js +2 -2
- package/dist/components/Import.js +1 -1
- package/dist/components/LightComponent.js +1 -1
- package/dist/components/Main.js +3 -3
- package/dist/components/Nav.js +2 -2
- package/dist/components/NavSpacer.js +6 -0
- package/dist/components/PhotoViewer.js +3 -3
- package/dist/components/Resize.js +3 -3
- package/dist/components/ShadowComponent.js +1 -1
- package/dist/components/ShowMore.js +3 -3
- package/dist/components/Sortable.js +3 -3
- package/dist/components/Spinner.js +2 -2
- package/dist/components/Split.js +3 -3
- package/dist/components/Table.js +27 -27
- package/dist/components/Tabs.js +7 -7
- package/dist/components/Tags.js +4 -4
- package/dist/components/ThemeSelect.js +4 -4
- package/dist/components/ThemeSwitcher.js +5 -5
- package/dist/components/Timestamp.js +1 -1
- package/dist/components/Toast.js +3 -3
- package/dist/components/Toggle.js +3 -3
- package/dist/components/Tree.js +10 -10
- package/dist/components/htmlEditorControls/AlignCenter.js +4 -4
- package/dist/components/htmlEditorControls/AlignJustify.js +4 -4
- package/dist/components/htmlEditorControls/AlignLeft.js +4 -4
- package/dist/components/htmlEditorControls/AlignRight.js +4 -4
- package/dist/components/htmlEditorControls/Bold.js +4 -4
- package/dist/components/htmlEditorControls/BulletList.js +4 -4
- package/dist/components/htmlEditorControls/CharacterCount.js +3 -3
- package/dist/components/htmlEditorControls/ClearFormatting.js +4 -4
- package/dist/components/htmlEditorControls/CodeBlock.js +3 -3
- package/dist/components/htmlEditorControls/ControlGroup.js +2 -2
- package/dist/components/htmlEditorControls/ControlSpacer.js +2 -2
- package/dist/components/htmlEditorControls/CreateLink.js +3 -3
- package/dist/components/htmlEditorControls/DropdownControl.js +3 -3
- package/dist/components/htmlEditorControls/FormatBlock.js +4 -4
- package/dist/components/htmlEditorControls/HtmlEditorControl.js +2 -2
- package/dist/components/htmlEditorControls/InlineCode.js +3 -3
- package/dist/components/htmlEditorControls/InsertTable.js +3 -3
- package/dist/components/htmlEditorControls/Italic.js +4 -4
- package/dist/components/htmlEditorControls/Mode.js +3 -3
- package/dist/components/htmlEditorControls/NumberList.js +4 -4
- package/dist/components/htmlEditorControls/Strikethrough.js +4 -4
- package/dist/components/htmlEditorControls/TextBackgroundColor.js +6 -6
- package/dist/components/htmlEditorControls/TextColor.js +7 -7
- package/dist/components/htmlEditorControls/Underline.js +4 -4
- package/dist/components/htmlEditorControls/WordCount.js +3 -3
- package/dist/components/htmlEditorNodes/HtmlComment.js +24 -0
- package/dist/components/tableControls/DeleteRecord.js +2 -2
- package/dist/components/tableControls/DeleteSelected.js +2 -2
- package/dist/components/tableControls/Edit.js +4 -4
- package/dist/components/tableControls/ExportCSV.js +2 -2
- package/dist/components/tableControls/ExportJson.js +2 -2
- package/dist/components/tableControls/FieldSortHide.js +4 -4
- package/dist/components/tableControls/Filters.js +17 -17
- package/dist/components/tableControls/FirstPage.js +2 -2
- package/dist/components/tableControls/HiddenCount.js +2 -2
- package/dist/components/tableControls/Hide.js +2 -2
- package/dist/components/tableControls/LastPage.js +2 -2
- package/dist/components/tableControls/NextPage.js +2 -2
- package/dist/components/tableControls/PageSelect.js +4 -4
- package/dist/components/tableControls/PageSize.js +3 -3
- package/dist/components/tableControls/PrevPage.js +2 -2
- package/dist/components/tableControls/Search.js +2 -2
- package/dist/components/tableControls/ShowAll.js +2 -2
- package/dist/components/tableControls/TableControl.js +2 -2
- package/dist/utils/context.js +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/object.js +1 -1
- package/dist/utils/theme.js +1 -1
- package/dist/utils/wait.js +0 -1
- package/docs/components/accordion.html +2 -0
- package/docs/components/aside.html +55 -111
- package/docs/components/card.html +2 -0
- package/docs/components/color-picker.html +2 -0
- package/docs/components/content-slider.html +2 -0
- package/docs/components/context.html +2 -0
- package/docs/components/dialog.html +2 -0
- package/docs/components/dropdown.html +2 -0
- package/docs/components/filter-list.html +2 -0
- package/docs/components/focus-capture.html +2 -0
- package/docs/components/html-editor.html +54 -6
- package/docs/components/hybrid-component.html +2 -0
- package/docs/components/icon.html +2 -0
- package/docs/components/import.html +2 -0
- package/docs/components/light-component.html +2 -0
- package/docs/components/nav-spacer.html +315 -0
- package/docs/components/nav.html +2 -0
- package/docs/components/photo-viewer.html +2 -0
- package/docs/components/resize.html +2 -0
- package/docs/components/shadow-component.html +2 -0
- package/docs/components/show-more.html +2 -0
- package/docs/components/sortable.html +2 -0
- package/docs/components/spinner.html +2 -0
- package/docs/components/split.html +2 -0
- package/docs/components/table.html +2 -0
- package/docs/components/tableControls.html +2 -0
- package/docs/components/tableCustomFields.html +2 -0
- package/docs/components/tableFetchRecords.html +2 -0
- package/docs/components/tableFieldSortHide.html +2 -0
- package/docs/components/tablePagination.html +2 -0
- package/docs/components/tablePlaceholder.html +2 -0
- package/docs/components/tableRecordEditing.html +2 -0
- package/docs/components/tableRecordFiltering.html +2 -0
- package/docs/components/tableRecordHiding.html +2 -0
- package/docs/components/tableRecordSearching.html +2 -0
- package/docs/components/tableRecordSelection.html +2 -0
- package/docs/components/tableRowControls.html +2 -0
- package/docs/components/tableServerSync.html +2 -0
- package/docs/components/tableSorting.html +2 -0
- package/docs/components/tabs.html +2 -0
- package/docs/components/tags.html +2 -0
- package/docs/components/theme-select.html +2 -0
- package/docs/components/theme-switcher.html +2 -0
- package/docs/components/timestamp.html +2 -0
- package/docs/components/toast.html +2 -0
- package/docs/components/toggle.html +2 -0
- package/docs/components/tree.html +2 -0
- package/docs/icons/comment.svg +1 -0
- package/docs/index.html +8 -0
- package/docs/src/components/Accordion.js +5 -5
- package/docs/src/components/Aside.js +16 -16
- package/docs/src/components/Card.js +3 -3
- package/docs/src/components/ColorPicker.js +4 -4
- package/docs/src/components/ContentSlider.js +3 -3
- package/docs/src/components/Context.js +1 -1
- package/docs/src/components/Dialog.js +7 -7
- package/docs/src/components/Dropdown.js +7 -4
- package/docs/src/components/FilterItem.js +2 -2
- package/docs/src/components/FilterList.js +2 -2
- package/docs/src/components/FocusCapture.js +2 -2
- package/docs/src/components/HtmlEditor.js +62 -39
- package/docs/src/components/HybridComponent.js +1 -1
- package/docs/src/components/Icon.js +2 -2
- package/docs/src/components/Import.js +1 -1
- package/docs/src/components/LightComponent.js +1 -1
- package/docs/src/components/Main.js +3 -3
- package/docs/src/components/Nav.js +2 -2
- package/docs/src/components/NavSpacer.js +6 -0
- package/docs/src/components/PhotoViewer.js +3 -3
- package/docs/src/components/Resize.js +3 -3
- package/docs/src/components/ShadowComponent.js +1 -1
- package/docs/src/components/ShowMore.js +3 -3
- package/docs/src/components/Sortable.js +3 -3
- package/docs/src/components/Spinner.js +2 -2
- package/docs/src/components/Split.js +3 -3
- package/docs/src/components/Table.js +27 -27
- package/docs/src/components/Tabs.js +7 -7
- package/docs/src/components/Tags.js +4 -4
- package/docs/src/components/ThemeSelect.js +4 -4
- package/docs/src/components/ThemeSwitcher.js +5 -5
- package/docs/src/components/Timestamp.js +1 -1
- package/docs/src/components/Toast.js +3 -3
- package/docs/src/components/Toggle.js +3 -3
- package/docs/src/components/Tree.js +10 -10
- package/docs/src/components/htmlEditorControls/AlignCenter.js +4 -4
- package/docs/src/components/htmlEditorControls/AlignJustify.js +4 -4
- package/docs/src/components/htmlEditorControls/AlignLeft.js +4 -4
- package/docs/src/components/htmlEditorControls/AlignRight.js +4 -4
- package/docs/src/components/htmlEditorControls/Bold.js +4 -4
- package/docs/src/components/htmlEditorControls/BulletList.js +4 -4
- package/docs/src/components/htmlEditorControls/CharacterCount.js +3 -3
- package/docs/src/components/htmlEditorControls/ClearFormatting.js +4 -4
- package/docs/src/components/htmlEditorControls/CodeBlock.js +3 -3
- package/docs/src/components/htmlEditorControls/ControlGroup.js +2 -2
- package/docs/src/components/htmlEditorControls/ControlSpacer.js +2 -2
- package/docs/src/components/htmlEditorControls/CreateLink.js +3 -3
- package/docs/src/components/htmlEditorControls/DropdownControl.js +3 -3
- package/docs/src/components/htmlEditorControls/FormatBlock.js +4 -4
- package/docs/src/components/htmlEditorControls/HtmlEditorControl.js +2 -2
- package/docs/src/components/htmlEditorControls/InlineCode.js +3 -3
- package/docs/src/components/htmlEditorControls/InsertTable.js +3 -3
- package/docs/src/components/htmlEditorControls/Italic.js +4 -4
- package/docs/src/components/htmlEditorControls/Mode.js +3 -3
- package/docs/src/components/htmlEditorControls/NumberList.js +4 -4
- package/docs/src/components/htmlEditorControls/Strikethrough.js +4 -4
- package/docs/src/components/htmlEditorControls/TextBackgroundColor.js +6 -6
- package/docs/src/components/htmlEditorControls/TextColor.js +7 -7
- package/docs/src/components/htmlEditorControls/Underline.js +4 -4
- package/docs/src/components/htmlEditorControls/WordCount.js +3 -3
- package/docs/src/components/htmlEditorNodes/HtmlComment.js +24 -0
- package/docs/src/components/tableControls/DeleteRecord.js +2 -2
- package/docs/src/components/tableControls/DeleteSelected.js +2 -2
- package/docs/src/components/tableControls/Edit.js +4 -4
- package/docs/src/components/tableControls/ExportCSV.js +2 -2
- package/docs/src/components/tableControls/ExportJson.js +2 -2
- package/docs/src/components/tableControls/FieldSortHide.js +4 -4
- package/docs/src/components/tableControls/Filters.js +17 -17
- package/docs/src/components/tableControls/FirstPage.js +2 -2
- package/docs/src/components/tableControls/HiddenCount.js +2 -2
- package/docs/src/components/tableControls/Hide.js +2 -2
- package/docs/src/components/tableControls/LastPage.js +2 -2
- package/docs/src/components/tableControls/NextPage.js +2 -2
- package/docs/src/components/tableControls/PageSelect.js +4 -4
- package/docs/src/components/tableControls/PageSize.js +3 -3
- package/docs/src/components/tableControls/PrevPage.js +2 -2
- package/docs/src/components/tableControls/Search.js +2 -2
- package/docs/src/components/tableControls/ShowAll.js +2 -2
- package/docs/src/components/tableControls/TableControl.js +2 -2
- package/docs/src/utils/context.js +1 -1
- package/docs/src/utils/debounce.js +1 -1
- package/docs/src/utils/object.js +1 -1
- package/docs/src/utils/theme.js +1 -1
- package/docs/src/utils/wait.js +0 -1
- package/docs/utils/context.html +2 -0
- package/docs/utils/cookie.html +2 -0
- package/docs/utils/debounce.html +2 -0
- package/docs/utils/drag.html +2 -0
- package/docs/utils/elevation.html +2 -0
- package/docs/utils/formatTimestamp.html +8 -6
- package/docs/utils/object.html +2 -0
- package/docs/utils/propConverters.html +2 -0
- package/docs/utils/string.html +2 -0
- package/docs/utils/theme.html +2 -0
- package/docs/utils/toTitleCase.html +8 -6
- package/docs/utils/type.html +2 -0
- package/docs/utils/wait.html +2 -0
- package/docs-src/components/aside.page.html +53 -111
- package/docs-src/components/html-editor.page.html +52 -6
- package/docs-src/components/nav-spacer.page.html +65 -0
- package/docs-src/index.page.html +6 -0
- package/docs-src/nav.fragment.html +2 -0
- package/docs-src/utils/formatTimestamp.page.html +6 -6
- package/docs-src/utils/toTitleCase.page.html +6 -6
- package/icons/comment.svg +1 -0
- package/llm.txt +1 -0
- package/package.json +3 -3
- package/scripts/build.js +1 -1
- package/src/components/Accordion.js +1 -1
- package/src/components/Aside.js +12 -1
- package/src/components/Dropdown.js +7 -3
- package/src/components/HtmlEditor.js +699 -1206
- package/src/components/Main.js +1 -1
- package/src/components/NavSpacer.js +55 -0
- package/src/components/htmlEditorControls/AlignCenter.js +5 -5
- package/src/components/htmlEditorControls/AlignJustify.js +5 -5
- package/src/components/htmlEditorControls/AlignLeft.js +5 -5
- package/src/components/htmlEditorControls/AlignRight.js +5 -5
- package/src/components/htmlEditorControls/Bold.js +5 -5
- package/src/components/htmlEditorControls/BulletList.js +5 -5
- package/src/components/htmlEditorControls/ClearFormatting.js +5 -5
- package/src/components/htmlEditorControls/CodeBlock.js +16 -8
- package/src/components/htmlEditorControls/CreateLink.js +3 -7
- package/src/components/htmlEditorControls/FormatBlock.js +5 -5
- package/src/components/htmlEditorControls/InlineCode.js +1 -13
- package/src/components/htmlEditorControls/InsertTable.js +43 -44
- package/src/components/htmlEditorControls/Italic.js +5 -5
- package/src/components/htmlEditorControls/Mode.js +1 -1
- package/src/components/htmlEditorControls/NumberList.js +5 -5
- package/src/components/htmlEditorControls/Strikethrough.js +5 -5
- package/src/components/htmlEditorControls/Underline.js +5 -5
- package/src/components/htmlEditorNodes/HtmlComment.js +118 -0
- package/tests/components/Accordion.browser-test.js +154 -0
- package/tests/components/Aside.browser-test.js +75 -0
- package/tests/components/Dropdown.browser-test.js +85 -0
- package/tests/components/HtmlComment.browser-test.js +115 -0
- package/tests/components/HtmlEditor.browser-test.js +379 -0
- package/tests/components/NavSpacer.browser-test.js +81 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t,render as i}from"../../lit-all.min.js";import"../Icon.js";import l from"../Dialog.js";export default class a extends e{constructor(){super({maxWidth:40})}handleClick=()=>{this.openDialog()};openDialog=()=>{import("../Sortable.js");const e=document.createElement("div");i(t`
|
|
2
2
|
<div class="m">
|
|
3
3
|
<k-sortable id="sorting" @sort="${e=>{const t=Array.from(e.target.querySelectorAll("k-sortable-item")).map(e=>e.getAttribute("data-field"));this.table.reorderFields(t)}}">
|
|
4
|
-
${this.table.fields.map(e=>
|
|
4
|
+
${this.table.fields.map(e=>t`
|
|
5
5
|
<k-sortable-item data-field="${e.name}">
|
|
6
6
|
<label class="field pb0">
|
|
7
7
|
<input
|
|
@@ -18,8 +18,8 @@ import TableControl from"./TableControl.js";import{html,render}from"../../lit-al
|
|
|
18
18
|
`)}
|
|
19
19
|
</k-sortable>
|
|
20
20
|
</div>
|
|
21
|
-
`,e),
|
|
21
|
+
`,e),l.create(e,{title:"Show / Hide / Order Fields",width:"400px",cancelText:"Close"})};render(){return t`
|
|
22
22
|
<button class="no-btn icon-btn" @click="${this.handleClick}">
|
|
23
23
|
<k-icon name="table-visibility"></k-icon>
|
|
24
24
|
</button>
|
|
25
|
-
`}}customElements.define("k-tc-field-sort-hide",
|
|
25
|
+
`}}customElements.define("k-tc-field-sort-hide",a);
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"./TableControl.js";import{html as e,render as l}from"../../lit-all.min.js";import"../Icon.js";import i from"../Dialog.js";export default class n extends t{constructor(){super({maxWidth:40})}handleFilter=()=>{this.openDialog()};openDialog=()=>{const t={equals:"equals","not-equals":"does not equal",contains:"contains","not-contains":"does not contain","greater-than":"is greater than","greater-than-or-equal":"is greater than or equal to","less-than":"is less than","less-than-or-equal":"is less than or equal to"},n=document.createElement("div");l(e`
|
|
2
2
|
<div class="p">
|
|
3
|
-
${0===this.table.filters.length?
|
|
3
|
+
${0===this.table.filters.length?e`
|
|
4
4
|
<p>No Current Filters.</p>
|
|
5
|
-
`:
|
|
5
|
+
`:e`
|
|
6
6
|
<h5>Current Filters</h5>
|
|
7
7
|
<ul id="currentFilters">
|
|
8
|
-
${this.table.filters.map(({field:
|
|
8
|
+
${this.table.filters.map(({field:l,condition:i,value:n})=>e`
|
|
9
9
|
<li
|
|
10
|
-
data-field="${
|
|
10
|
+
data-field="${l}"
|
|
11
11
|
data-condition="${i}"
|
|
12
|
-
data-value="${
|
|
12
|
+
data-value="${n}"
|
|
13
13
|
>
|
|
14
|
-
${this.table.getFieldLabel(
|
|
15
|
-
<button class="remove-filter no-btn pq" @click="${t=>{this.table.removeFilter(
|
|
14
|
+
${this.table.getFieldLabel(l)} ${t[i]} "${n}"
|
|
15
|
+
<button class="remove-filter no-btn pq" @click="${t=>{this.table.removeFilter(l,i,n),o.close(),this.openDialog()}}">
|
|
16
16
|
<k-icon name="close"></k-icon>
|
|
17
17
|
</button>
|
|
18
18
|
</li>
|
|
@@ -21,26 +21,26 @@ import TableControl from"./TableControl.js";import{html,render}from"../../lit-al
|
|
|
21
21
|
`}
|
|
22
22
|
<hr />
|
|
23
23
|
<h5>Add A Filter</h5>
|
|
24
|
-
<form id="addFilter" @submit="${t=>{t.preventDefault();const e=t.target;this.table.addFilter(e.filterField.value,e.filterCondition.value,e.filterValue.value),
|
|
24
|
+
<form id="addFilter" @submit="${t=>{t.preventDefault();const e=t.target;this.table.addFilter(e.filterField.value,e.filterCondition.value,e.filterValue.value),o.close(),this.openDialog()}}">
|
|
25
25
|
<select id="filterField" class="mb">
|
|
26
|
-
${this.table.fields.map(({name:t,label:
|
|
27
|
-
<option value="${t}">${
|
|
26
|
+
${this.table.fields.map(({name:t,label:l})=>e`
|
|
27
|
+
<option value="${t}">${l}</option>
|
|
28
28
|
`)}
|
|
29
29
|
</select>
|
|
30
30
|
<select id="filterCondition" class="mb">
|
|
31
|
-
${Object.entries(t).map(([t,
|
|
32
|
-
<option value="${t}" ?selected="${"contains"===t}">${
|
|
31
|
+
${Object.entries(t).map(([t,l])=>e`
|
|
32
|
+
<option value="${t}" ?selected="${"contains"===t}">${l}</option>
|
|
33
33
|
`)}
|
|
34
34
|
</select>
|
|
35
35
|
<input id="filterValue" type="text" class="mb" />
|
|
36
36
|
<button type="submit" class="btn primary mb mr">Add Filter</button>
|
|
37
|
-
${0===this.table.filters.length?"":
|
|
38
|
-
<button type="button" class="btn danger mb mr" @click="${()=>{this.table.removeAllFilters(),
|
|
37
|
+
${0===this.table.filters.length?"":e`
|
|
38
|
+
<button type="button" class="btn danger mb mr" @click="${()=>{this.table.removeAllFilters(),o.close()}}">Clear All Filters</button>
|
|
39
39
|
`}
|
|
40
40
|
</form>
|
|
41
41
|
</div>
|
|
42
|
-
`,
|
|
42
|
+
`,n);const o=i.create(n,{width:"600px",title:"Filters"})};render(){return e`
|
|
43
43
|
<button class="no-btn icon-btn" @click="${this.handleFilter}">
|
|
44
44
|
<k-icon name="filter"></k-icon>
|
|
45
45
|
</button>
|
|
46
|
-
`}}customElements.define("k-tc-filters",
|
|
46
|
+
`}}customElements.define("k-tc-filters",n);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.firstPage()};get isDisabled(){return!this.table||1===this.table.getCurrentPage()}render(){return t`
|
|
2
2
|
<button
|
|
3
3
|
class="no-btn icon-btn"
|
|
4
4
|
?disabled="${this.isDisabled}"
|
|
@@ -6,4 +6,4 @@ import TableControl from"./TableControl.js";import{html}from"../../lit-all.min.j
|
|
|
6
6
|
>
|
|
7
7
|
<k-icon name="chevron-line" direction="left"></k-icon>
|
|
8
8
|
</button>
|
|
9
|
-
`}}customElements.define("k-tc-first-page",
|
|
9
|
+
`}}customElements.define("k-tc-first-page",a);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as d}from"../../lit-all.min.js";export default class n extends e{static properties={hiddenCount:{type:Number}};connectedCallback(){super.connectedCallback(),this.updateHiddenCount(),this.onTableEvent("recordHidden recordShown",this.handleHiddenChange)}handleHiddenChange=()=>{this.updateHiddenCount()};updateHiddenCount=()=>{this.hiddenCount=this.table?.getHiddenRecords().length||0};render(){return d`
|
|
2
2
|
<div class="pyq pxh"><span>${this.hiddenCount}</span> Hidden Records</div>
|
|
3
|
-
`}}customElements.define("k-tc-hidden-count",
|
|
3
|
+
`}}customElements.define("k-tc-hidden-count",n);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"./TableControl.js";import{html as e}from"../../lit-all.min.js";import"../Icon.js";export default class o extends t{constructor(){super({maxWidth:40})}handleHide=()=>{this.record&&this.table.hideRecord(this.record)};render(){return e`
|
|
2
2
|
<button class="no-btn icon-btn" @click="${this.handleHide}">
|
|
3
3
|
<k-icon name="hide"></k-icon>
|
|
4
4
|
</button>
|
|
5
|
-
`}}customElements.define("k-tc-hide",
|
|
5
|
+
`}}customElements.define("k-tc-hide",o);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.lastPage()};get isDisabled(){return!this.table||this.table.getCurrentPage()===this.table.getTotalPages()}render(){return t`
|
|
2
2
|
<button
|
|
3
3
|
class="no-btn icon-btn"
|
|
4
4
|
?disabled="${this.isDisabled}"
|
|
@@ -6,4 +6,4 @@ import TableControl from"./TableControl.js";import{html}from"../../lit-all.min.j
|
|
|
6
6
|
>
|
|
7
7
|
<k-icon name="chevron-line"></k-icon>
|
|
8
8
|
</button>
|
|
9
|
-
`}}customElements.define("k-tc-last-page",
|
|
9
|
+
`}}customElements.define("k-tc-last-page",a);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.nextPage()};get isDisabled(){return!this.table||this.table.getCurrentPage()===this.table.getTotalPages()}render(){return t`
|
|
2
2
|
<button
|
|
3
3
|
class="no-btn icon-btn"
|
|
4
4
|
?disabled="${this.isDisabled}"
|
|
@@ -6,4 +6,4 @@ import TableControl from"./TableControl.js";import{html}from"../../lit-all.min.j
|
|
|
6
6
|
>
|
|
7
7
|
<k-icon name="chevron"></k-icon>
|
|
8
8
|
</button>
|
|
9
|
-
`}}customElements.define("k-tc-next-page",
|
|
9
|
+
`}}customElements.define("k-tc-next-page",a);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t,css as a}from"../../lit-all.min.js";export default class l extends e{static properties={...e.properties};constructor(){super({maxWidth:null})}connectedCallback(){super.connectedCallback(),this.onTableEvent("pageChange pageSizeChange pageCountChanged recordsSet",this.handleTableUpdate)}disconnectedCallback(){super.disconnectedCallback(),this.table&&(this.table.removeEventListener("pageChange",this.handleTableUpdate),this.table.removeEventListener("pageSizeChange",this.handleTableUpdate),this.table.removeEventListener("pageCountChanged",this.handleTableUpdate),this.table.removeEventListener("recordsSet",this.handleTableUpdate))}handleTableUpdate=()=>{this.requestUpdate()};handleSelectChange=e=>{this.table&&this.table.setPage(parseInt(e.target.value))};get currentPage(){return this.table?this.table.getCurrentPage():1}get totalPages(){return this.table?this.table.getTotalPages():1}render(){if(!this.table)return t`<div>No table found</div>`;const e=[];for(let a=1;a<=this.totalPages;a++)e.push(t`<option value="${a}" ?selected="${a===this.currentPage}">Page ${a}</option>`);return t`
|
|
2
2
|
<div class="page-select">
|
|
3
3
|
<select class="no-btn ph b r" @change="${this.handleSelectChange}" ?disabled="${this.totalPages<=1}">
|
|
4
4
|
${e}
|
|
5
5
|
</select>
|
|
6
6
|
<label> out of ${this.totalPages}</label>
|
|
7
7
|
</div>
|
|
8
|
-
`}static styles=
|
|
9
|
-
${
|
|
8
|
+
`}static styles=a`
|
|
9
|
+
${e.styles}
|
|
10
10
|
|
|
11
11
|
.page-select {
|
|
12
12
|
display: flex;
|
|
@@ -19,4 +19,4 @@ import TableControl from"./TableControl.js";import{html,css}from"../../lit-all.m
|
|
|
19
19
|
padding: 0;
|
|
20
20
|
margin: 0;
|
|
21
21
|
}
|
|
22
|
-
`}customElements.define("k-tc-page-select",
|
|
22
|
+
`}customElements.define("k-tc-page-select",l);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";export default class a extends e{constructor(){super({maxWidth:null}),this.pageChangeHandler=()=>this.requestUpdate(),this.pageSizeChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.onTableEvent("pageChange",this.pageChangeHandler),this.onTableEvent("pageSizeChange",this.pageSizeChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&(this.table.removeEventListener("pageChange",this.pageChangeHandler),this.table.removeEventListener("pageSizeChange",this.pageSizeChangeHandler))}handleChange=e=>{this.table&&this.table.setPageSize(parseInt(e.target.value))};get currentPageSize(){return this.table?this.table.getPageSize():10}get pageSizeOptions(){return this.table?this.table.pageSizeOptions:[10,25,50,100,500]}render(){return t`
|
|
2
2
|
<select class="no-btn ph b r" @change="${this.handleChange}">
|
|
3
|
-
${this.pageSizeOptions.map(e=>
|
|
3
|
+
${this.pageSizeOptions.map(e=>t`<option value="${e}" ?selected="${e===this.currentPageSize}">${e} per page</option>`)}
|
|
4
4
|
</select>
|
|
5
|
-
`}}customElements.define("k-tc-page-size",
|
|
5
|
+
`}}customElements.define("k-tc-page-size",a);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as t}from"../../lit-all.min.js";import"../Icon.js";export default class a extends e{constructor(){super(),this.pageChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.table&&this.table.addEventListener("pageChange",this.pageChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("pageChange",this.pageChangeHandler)}handleClick=()=>{this.table&&this.table.prevPage()};get isDisabled(){return!this.table||1===this.table.getCurrentPage()}render(){return t`
|
|
2
2
|
<button
|
|
3
3
|
class="no-btn icon-btn"
|
|
4
4
|
?disabled="${this.isDisabled}"
|
|
@@ -6,4 +6,4 @@ import TableControl from"./TableControl.js";import{html}from"../../lit-all.min.j
|
|
|
6
6
|
>
|
|
7
7
|
<k-icon name="chevron" direction="left"></k-icon>
|
|
8
8
|
</button>
|
|
9
|
-
`}}customElements.define("k-tc-prev-page",
|
|
9
|
+
`}}customElements.define("k-tc-prev-page",a);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./TableControl.js";import{html as r}from"../../lit-all.min.js";import t from"../../utils/debounce.js";export default class s extends e{static properties={searchTerm:{type:String}};constructor(){super({maxWidth:200}),this.debouncedSearch=t(this.performSearch,200)}handleInput=e=>{this.searchTerm=e.target.value,this.debouncedSearch()};performSearch=()=>{this.table&&(!this.searchTerm||this.searchTerm.length<3?this.table.showAllRecords():this.table.search(this.searchTerm))};render(){return r`
|
|
2
2
|
<input
|
|
3
3
|
type="search"
|
|
4
4
|
placeholder="Search"
|
|
@@ -6,4 +6,4 @@ import TableControl from"./TableControl.js";import{html}from"../../lit-all.min.j
|
|
|
6
6
|
.value="${this.searchTerm||""}"
|
|
7
7
|
@input="${this.handleInput}"
|
|
8
8
|
/>
|
|
9
|
-
`}}customElements.define("k-tc-search",
|
|
9
|
+
`}}customElements.define("k-tc-search",s);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"./TableControl.js";import{html as o}from"../../lit-all.min.js";import"../Icon.js";export default class l extends t{constructor(){super({maxWidth:40})}handleShowAll=()=>{this.table&&this.table.showAllRecords()};render(){return o`
|
|
2
2
|
<button class="no-btn icon-btn" @click="${this.handleShowAll}">
|
|
3
3
|
<k-icon name="show"></k-icon>
|
|
4
4
|
</button>
|
|
5
|
-
`}}customElements.define("k-tc-show-all",
|
|
5
|
+
`}}customElements.define("k-tc-show-all",l);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"../ShadowComponent.js";import{html as e,css as i}from"../../lit-all.min.js";export default class s extends t{static properties={maxWidth:{type:Number,reflect:!0,attribute:"max-width"}};constructor({maxWidth:t=40}={}){super(),this.maxWidth=t}updated(t){super.updated(t),t.has("maxWidth")&&(this.maxWidth?this.style.setProperty("--max-width",`${this.maxWidth}px`):this.style.removeProperty("--max-width"))}firstUpdated(){this.maxWidth?this.style.setProperty("--max-width",`${this.maxWidth}px`):this.style.removeProperty("--max-width")}get table(){return this.getRootNode()instanceof ShadowRoot?this.getRootNode().host.closest("k-table"):this.closest("k-table")}get record(){if(this.getRootNode()instanceof ShadowRoot){const t=this.closest(".record");if(t){const e=t.dataset.index;if(void 0!==e)return this.table.records[e]}}return!1}async onTableEvent(t,e){if(await customElements.whenDefined("k-table"),this.table){t.split(" ").forEach(t=>{this.table.addEventListener(t,e)}),this.requestUpdate()}}static styles=i`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
}
|
|
@@ -13,4 +13,4 @@ import ShadowComponent from"../ShadowComponent.js";import{html,css}from"../../li
|
|
|
13
13
|
.icon-btn:disabled {
|
|
14
14
|
opacity: 0.6;
|
|
15
15
|
}
|
|
16
|
-
`}customElements.define("k-table-control",
|
|
16
|
+
`}customElements.define("k-table-control",s);
|
package/dist/utils/context.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e={};export const createContext=(s="global",r)=>{const t=(s=>(e[s]||(e[s]={value:void 0,subscribers:new Set}),e[s]))(s);return void 0!==r&&void 0===t.value&&(t.value=r),{get:()=>t.value,set:e=>{t.value=e,t.subscribers.forEach(s=>s(e))},subscribe:e=>(t.subscribers.add(e),e(t.value),()=>t.subscribers.delete(e)),unsubscribe:e=>t.subscribers.delete(e)}};export default createContext;
|
package/dist/utils/debounce.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function t(t,e=300){let u;return(...i)=>{clearTimeout(u),u=setTimeout(()=>{t.apply(this,i)},e)}}export default t;
|
package/dist/utils/object.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{typeOf}from"./type.js";export const toJson=
|
|
1
|
+
import{typeOf as e}from"./type.js";export const toJson=t=>JSON.stringify(t,(n,o)=>""!==n&&o===t?"<<Circular Reference>>":"undefined"!=typeof Element&&o instanceof Element?o.outerHTML:"function"===e(o)?`<<Function ${n}>>`:o);export const flattenObject=(t,n=100,o=0,r=[])=>{const c=o+1;return null===t?{}:Object.keys(t).reduce((o,s)=>{const l=t[s],f=[...r,s].join(".");return"undefined"!==e(Element)&&l instanceof Element?{...o,[f]:l.outerHTML}:null===l?{...o,[f]:null}:"object"==typeof l?n<=c?{...o,[f]:"<<Max Depth Reached>>"}:{...o,...flattenObject(l,n,c,[...r,s])}:{...o,[f]:l}},{})};export const flattenedObjects=(...e)=>e.map(e=>flattenObject(e));export const objectSummary=(e,t=100)=>{if("object"==typeof e){const n=flattenObject(e),o=[];return Object.keys(n).forEach(e=>{o.push(`${e} = ${objectSummary(n[e])}`)}),o.join(", ").substring(0,t)}return`${e}`.substring(0,t)};export const clone=e=>{const t=typeof e,n="undefined"==typeof window?class{}:window.Element;return e instanceof n?e.outerHTML:null===e?null:["string","number","boolean","undefined","bigint"].includes(t)?e:"symbol"===t?"<<SYMBOL>>":"function"===t?"<<function>>":e instanceof Array?e.map(e=>clone(e)):"object"===t?Object.keys(e).reduce((t,n)=>({...t,[n]:clone(e[n])}),{}):e};export const equalObjs=(...e)=>{if(e.length<2)return!0;const t=toJson(e[0]);for(let n=1;n<e.length;n++)if(t!==toJson(e[n]))return!1;return!0};const t=e=>void 0===e?[void 0,!0]:"string"==typeof e?[e,""===e]:e instanceof Array?[e,0===e.length]:null===e?[e,!1]:"object"==typeof e?n(e):[e,!1],n=e=>{const n={};return Object.keys(e).forEach(o=>{const[r,c]=t(e[o]);c||(n[o]=r)}),[n,0===Object.keys(n).length]};export const prune=e=>n(e)[0];export const getAllKeys=(...e)=>[...new Set(e.map(e=>Object.keys(e)).flat())];export const getDifferencesKeys=(...e)=>getAllKeys(...e).map(t=>1!==new Set(e.map(e=>e[t])).size?t:null).filter(e=>null!==e);export const diff=(e,t)=>{const n={};function o(e,t,o){Array.isArray(t)&&Array.isArray(o)?t.length===o.length&&t.every((e,t)=>e===o[t])||(n[e.join(".")]={newValue:t,oldValue:o}):"object"==typeof t&&"object"==typeof o?r([...e],t,o):t!==o&&(n[e.join(".")]={newValue:t,oldValue:o})}function r(e,t,n){for(const r in t)if(t.hasOwnProperty(r)){o([...e,r],t[r],n[r])}}return r([],e,t),n};export const mapObject=(e,t)=>Object.entries(e).reduce((e,[n,o])=>{const[r,c]=t(n,o);return e[r]=c,e},{});export default{toJson:toJson,flattenObject:flattenObject,flattenedObjects:flattenedObjects,objectSummary:objectSummary,clone:clone,equalObjs:equalObjs,pruneVar:t,pruneObject:n,prune:prune,getAllKeys:getAllKeys,getDifferencesKeys:getDifferencesKeys,diff:diff,mapObject:mapObject};
|
package/dist/utils/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"./context.js";const t=()=>{let e=document.documentElement.getAttribute("theme");return e||(e=localStorage.getItem("theme")),e||"auto"},o=e("theme",t()),s=e=>{localStorage.setItem("theme",e),document.documentElement.setAttribute("theme",e)};o.subscribe(s),window.addEventListener("storage",e=>{"theme"===e.key&&e.newValue&&o.set(e.newValue)});export const setTheme=e=>o.set(e);export const getTheme=()=>o.get();export const subscribeToTheme=e=>o.subscribe(e);export const initTheme=()=>{const e=t();s(e),o.set(e)};export const getCalculatedTheme=()=>{const e=getTheme();return"auto"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e};const m=window.matchMedia("(prefers-color-scheme: dark)"),c=e=>document.documentElement.setAttribute("auto-theme",e.matches?"dark":"light");m.addEventListener("change",c),c(m);export default{get:getTheme,set:setTheme,subscribe:subscribeToTheme,getCalculated:getCalculatedTheme,init:initTheme};
|
package/dist/utils/wait.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const wait=e=>new Promise(i=>new Timeout(i,e)),waitFrmaes=(e=1)=>new Promise(i=>{let n=0;requestAnimationFrame(function t(){n++,n>=e?i():requestAnimationFrame(t)})});
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
<k-filter-item filter-keywords="icon components"><a href="../components/icon.html">Icon<br><small>Component</small></a></k-filter-item>
|
|
42
42
|
<k-filter-item filter-keywords="import components"><a href="../components/import.html">Import<br><small>Component</small></a></k-filter-item>
|
|
43
43
|
<k-filter-item filter-keywords="nav navbar navigation components"><a href="../components/nav.html">Nav<br><small>Component</small></a></k-filter-item>
|
|
44
|
+
<k-filter-item filter-keywords="nav spacer navbar spacer navspacer components"><a href="../components/nav-spacer.html">Nav Spacer<br><small>Component</small></a></k-filter-item>
|
|
44
45
|
<k-filter-item filter-keywords="photo viewer photoviewer components"><a href="../components/photo-viewer.html">Photo Viewer<br><small>Component</small></a></k-filter-item>
|
|
45
46
|
<k-filter-item filter-keywords="resize components"><a href="../components/resize.html">Resize<br><small>Component</small></a></k-filter-item>
|
|
46
47
|
<k-filter-item filter-keywords="show more showmore components"><a href="../components/show-more.html">Show More<br><small>Component</small></a></k-filter-item>
|
|
@@ -118,6 +119,7 @@
|
|
|
118
119
|
<a href="../components/icon.html">Icon</a>
|
|
119
120
|
<a href="../components/import.html">Import</a>
|
|
120
121
|
<a href="../components/nav.html">Nav</a>
|
|
122
|
+
<a href="../components/nav-spacer.html">Nav Spacer</a>
|
|
121
123
|
<a href="../components/photo-viewer.html">Photo Viewer</a>
|
|
122
124
|
<a href="../components/resize.html">Resize</a>
|
|
123
125
|
<a href="../components/show-more.html">Show More</a>
|