@neovici/cosmoz-omnitable 19.1.0 → 19.2.1
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/cosmoz-omnitable-skeleton.js +1 -1
- package/dist/cosmoz-omnitable-styles.d.ts.map +1 -1
- package/dist/cosmoz-omnitable-styles.js +20 -28
- package/dist/cosmoz-omnitable-styles.js.map +1 -1
- package/dist/cosmoz-omnitable.d.ts +2 -0
- package/dist/cosmoz-omnitable.d.ts.map +1 -1
- package/dist/cosmoz-omnitable.js +3 -0
- package/dist/cosmoz-omnitable.js.map +1 -1
- package/dist/lib/render-group.d.ts +4 -0
- package/dist/lib/render-group.d.ts.map +1 -0
- package/dist/lib/render-group.js +32 -0
- package/dist/lib/render-group.js.map +1 -0
- package/dist/lib/render-item.d.ts +4 -0
- package/dist/lib/render-item.d.ts.map +1 -0
- package/dist/lib/render-item.js +59 -0
- package/dist/lib/render-item.js.map +1 -0
- package/dist/lib/render-mini.d.ts +8 -0
- package/dist/lib/render-mini.d.ts.map +1 -0
- package/dist/lib/render-mini.js +52 -0
- package/dist/lib/render-mini.js.map +1 -0
- package/dist/lib/settings/normalize.d.ts +1 -1
- package/dist/lib/types.d.ts +39 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/use-fast-layout.d.ts.map +1 -1
- package/dist/lib/use-fast-layout.js +16 -3
- package/dist/lib/use-fast-layout.js.map +1 -1
- package/dist/lib/use-header.d.ts +3 -1
- package/dist/lib/use-header.d.ts.map +1 -1
- package/dist/lib/use-header.js +5 -3
- package/dist/lib/use-header.js.map +1 -1
- package/dist/lib/use-layout.d.ts +3 -2
- package/dist/lib/use-layout.d.ts.map +1 -1
- package/dist/lib/use-layout.js +5 -3
- package/dist/lib/use-layout.js.map +1 -1
- package/dist/lib/use-list.d.ts +7 -21
- package/dist/lib/use-list.d.ts.map +1 -1
- package/dist/lib/use-list.js +22 -112
- package/dist/lib/use-list.js.map +1 -1
- package/dist/lib/use-mini.d.ts +2 -0
- package/dist/lib/use-mini.d.ts.map +1 -1
- package/dist/lib/use-mini.js +7 -1
- package/dist/lib/use-mini.js.map +1 -1
- package/dist/lib/use-omnitable.d.ts +2 -2
- package/dist/lib/use-omnitable.d.ts.map +1 -1
- package/dist/lib/use-omnitable.js +1 -0
- package/dist/lib/use-omnitable.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable-styles.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,QAoEpB,CAAC;;AAEF,
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-styles.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable-styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,QAoEpB,CAAC;;AAEF,wBA4gBE"}
|
|
@@ -3,8 +3,8 @@ import { tagged as css } from '@neovici/cosmoz-utils';
|
|
|
3
3
|
export const checkbox = css `
|
|
4
4
|
.checkbox {
|
|
5
5
|
box-sizing: border-box;
|
|
6
|
-
width: calc(var(--cz-spacing) * 4
|
|
7
|
-
height: calc(var(--cz-spacing) * 4
|
|
6
|
+
width: calc(var(--cz-spacing) * 4);
|
|
7
|
+
height: calc(var(--cz-spacing) * 4);
|
|
8
8
|
background: transparent;
|
|
9
9
|
border-radius: var(--cz-radius-xs);
|
|
10
10
|
appearance: none;
|
|
@@ -33,12 +33,12 @@ export const checkbox = css `
|
|
|
33
33
|
position: absolute;
|
|
34
34
|
box-sizing: content-box;
|
|
35
35
|
width: 4px;
|
|
36
|
-
height:
|
|
36
|
+
height: 9px;
|
|
37
37
|
border: 2px solid var(--cz-color-text-on-brand);
|
|
38
38
|
border-top: none;
|
|
39
39
|
border-left: none;
|
|
40
|
-
transform-origin: 4px
|
|
41
|
-
transform: translate(
|
|
40
|
+
transform-origin: 4px 9px;
|
|
41
|
+
transform: translate(2px) rotate(45deg);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.checkbox::after {
|
|
@@ -62,10 +62,10 @@ export const checkbox = css `
|
|
|
62
62
|
.checkbox:indeterminate::before {
|
|
63
63
|
content: "";
|
|
64
64
|
position: absolute;
|
|
65
|
-
width:
|
|
65
|
+
width: 8px;
|
|
66
66
|
height: 2px;
|
|
67
67
|
left: 4px;
|
|
68
|
-
top:
|
|
68
|
+
top: 7px;
|
|
69
69
|
background-color: var(--cz-color-text-brand);
|
|
70
70
|
}
|
|
71
71
|
`;
|
|
@@ -408,17 +408,6 @@ export default css `
|
|
|
408
408
|
background-color: var(--cz-color-bg-primary-hover);
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
/* Row checkboxes appear on hover, focus or once any row is selected. */
|
|
412
|
-
@media (hover: hover) {
|
|
413
|
-
.itemRow .checkbox:not(:checked, :focus-visible) {
|
|
414
|
-
opacity: 0;
|
|
415
|
-
transition: opacity 120ms;
|
|
416
|
-
}
|
|
417
|
-
.itemRow:hover .checkbox,
|
|
418
|
-
.tableContent:has(.itemRow[selected]) .itemRow .checkbox {
|
|
419
|
-
opacity: 1;
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
411
|
.groupRow:hover .checkbox:not(:checked):not(:hover),
|
|
423
412
|
.itemRow:hover .checkbox:not(:checked):not(:hover) {
|
|
424
413
|
box-shadow: 0 0 0 2px
|
|
@@ -520,7 +509,7 @@ export default css `
|
|
|
520
509
|
color: var(--cz-color-text-primary);
|
|
521
510
|
}
|
|
522
511
|
|
|
523
|
-
:host([mini]) {
|
|
512
|
+
:host(:is([mini], [compact])) {
|
|
524
513
|
--checkbox-offset: calc(var(--cz-spacing) * 2);
|
|
525
514
|
}
|
|
526
515
|
|
|
@@ -533,11 +522,11 @@ export default css `
|
|
|
533
522
|
flex: 0;
|
|
534
523
|
}
|
|
535
524
|
|
|
536
|
-
:host([mini]) .groupRow {
|
|
525
|
+
:host(:is([mini], [compact])) .groupRow {
|
|
537
526
|
padding-left: var(--checkbox-offset);
|
|
538
527
|
}
|
|
539
528
|
|
|
540
|
-
:host([mini]) .header {
|
|
529
|
+
:host(:is([mini], [compact])) .header {
|
|
541
530
|
padding-left: var(--checkbox-offset);
|
|
542
531
|
justify-content: space-between;
|
|
543
532
|
}
|
|
@@ -551,28 +540,31 @@ export default css `
|
|
|
551
540
|
border: none;
|
|
552
541
|
}
|
|
553
542
|
|
|
554
|
-
:host([mini]) .tableContent {
|
|
543
|
+
:host(:is([mini], [compact])) .tableContent {
|
|
555
544
|
overflow: hidden;
|
|
556
545
|
}
|
|
557
546
|
|
|
558
|
-
:host([mini]) .tableContent-scroller::-webkit-scrollbar {
|
|
547
|
+
:host(:is([mini], [compact])) .tableContent-scroller::-webkit-scrollbar {
|
|
559
548
|
width: 4px;
|
|
560
549
|
}
|
|
561
550
|
|
|
562
|
-
:host([mini])
|
|
551
|
+
:host(:is([mini], [compact]))
|
|
552
|
+
.tableContent-scroller::-webkit-scrollbar-track {
|
|
563
553
|
background: transparent;
|
|
564
554
|
}
|
|
565
555
|
|
|
566
|
-
:host([mini])
|
|
556
|
+
:host(:is([mini], [compact]))
|
|
557
|
+
.tableContent-scroller::-webkit-scrollbar-thumb {
|
|
567
558
|
background: transparent;
|
|
568
559
|
}
|
|
569
560
|
|
|
570
|
-
:host([mini])
|
|
561
|
+
:host(:is([mini], [compact]))
|
|
562
|
+
.tableContent-scroller:hover::-webkit-scrollbar-thumb {
|
|
571
563
|
background: var(--cz-color-bg-tertiary);
|
|
572
564
|
}
|
|
573
565
|
|
|
574
|
-
:host([mini])
|
|
575
|
-
|
|
566
|
+
:host(:is([mini], [compact]))
|
|
567
|
+
.tableContent-scroller::-webkit-scrollbar-button {
|
|
576
568
|
width: 0px;
|
|
577
569
|
}
|
|
578
570
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable-styles.js","sourceRoot":"","sources":["../src/cosmoz-omnitable-styles.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE1B,CAAC;AAEF,eAAe,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable-styles.js","sourceRoot":"","sources":["../src/cosmoz-omnitable-styles.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE1B,CAAC;AAEF,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Vf,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+KV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":";;AA6Ea,+DAA4D;AACxE,qDAA0E"}
|
package/dist/cosmoz-omnitable.js
CHANGED
|
@@ -51,6 +51,7 @@ customElements.define('cosmoz-omnitable', component(Omnitable, {
|
|
|
51
51
|
'disabled-filtering',
|
|
52
52
|
'loading',
|
|
53
53
|
'mini-breakpoint',
|
|
54
|
+
'compact',
|
|
54
55
|
'inline',
|
|
55
56
|
'enable-select-all',
|
|
56
57
|
],
|
|
@@ -58,5 +59,7 @@ customElements.define('cosmoz-omnitable', component(Omnitable, {
|
|
|
58
59
|
const tmplt = `
|
|
59
60
|
<slot name="actions" slot="actions"></slot>
|
|
60
61
|
`;
|
|
62
|
+
export { renderGroup } from './lib/render-group';
|
|
63
|
+
export { renderItem } from './lib/render-item';
|
|
61
64
|
export const actionSlots = html(Object.assign([tmplt], { raw: [tmplt] })), actionSlotsPolymer = polymerHtml(Object.assign([tmplt], { raw: [tmplt] }));
|
|
62
65
|
//# sourceMappingURL=cosmoz-omnitable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmoz-omnitable.js","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAA;;KAEP,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;;KAIhC,YAAY,CAAC,MAAM,CAAC;;MAEnB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;;KAEzB,YAAY,CAAC,MAAM,CAAC;;;;;;EAMvB,CAAC;AACH,CAAC,CAAC;AAEF,cAAc,CAAC,MAAM,CACpB,kBAAkB,EAClB,SAAS,CAAC,SAAS,EAAE;IACpB,kBAAkB,EAAE;QACnB,YAAY;QACZ,SAAS;QACT,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,eAAe;QACf,iBAAiB;QACjB,oBAAoB;QACpB,SAAS;QACT,iBAAiB;QACjB,QAAQ;QACR,mBAAmB;KACnB;CACD,CAAC,CACF,CAAC;AAEF,MAAM,KAAK,GAAG;;CAEb,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EACxE,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cosmoz-omnitable.js","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAA;;KAEP,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;;KAIhC,YAAY,CAAC,MAAM,CAAC;;MAEnB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;;KAEzB,YAAY,CAAC,MAAM,CAAC;;;;;;EAMvB,CAAC;AACH,CAAC,CAAC;AAEF,cAAc,CAAC,MAAM,CACpB,kBAAkB,EAClB,SAAS,CAAC,SAAS,EAAE;IACpB,kBAAkB,EAAE;QACnB,YAAY;QACZ,SAAS;QACT,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,eAAe;QACf,iBAAiB;QACjB,oBAAoB;QACpB,SAAS;QACT,iBAAiB;QACjB,SAAS;QACT,QAAQ;QACR,mBAAmB;KACnB;CACD,CAAC,CACF,CAAC;AAEF,MAAM,KAAK,GAAG;;CAEb,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EACxE,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-group.d.ts","sourceRoot":"","sources":["../../src/lib/render-group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,eA+BlB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { chevronDownIcon } from '@neovici/cosmoz-icons/untitled';
|
|
2
|
+
import { html } from '@pionjs/pion';
|
|
3
|
+
const _getGroupRowClasses = (folded) => folded ? 'groupRow groupRow-folded' : 'groupRow';
|
|
4
|
+
/** The default group-row renderer. */
|
|
5
|
+
export const renderGroup = (item, index, { selected, folded, toggleFold, onCheckboxChange, groupOnColumn, dataIsValid }) => html ` <div
|
|
6
|
+
class="${_getGroupRowClasses(folded)}"
|
|
7
|
+
part="groupRow groupRow-${index}"
|
|
8
|
+
>
|
|
9
|
+
<input
|
|
10
|
+
class="checkbox"
|
|
11
|
+
type="checkbox"
|
|
12
|
+
.checked=${selected}
|
|
13
|
+
.dataItem=${item}
|
|
14
|
+
@input=${onCheckboxChange}
|
|
15
|
+
?disabled=${!dataIsValid}
|
|
16
|
+
/>
|
|
17
|
+
<h3 class="groupRow-label">
|
|
18
|
+
<div><span>${groupOnColumn?.title}</span>: </div>
|
|
19
|
+
<cosmoz-omnitable-group-row
|
|
20
|
+
.column=${groupOnColumn}
|
|
21
|
+
.item=${item.items?.[0]}
|
|
22
|
+
.selected=${selected}
|
|
23
|
+
.folded=${folded}
|
|
24
|
+
.group=${item}
|
|
25
|
+
></cosmoz-omnitable-group-row>
|
|
26
|
+
</h3>
|
|
27
|
+
<div class="groupRow-badge">${item.items.length}</div>
|
|
28
|
+
<button class="expand" ?aria-expanded="${folded}" @click=${toggleFold}>
|
|
29
|
+
${chevronDownIcon({ width: '16', height: '16' })}
|
|
30
|
+
</button>
|
|
31
|
+
</div>`;
|
|
32
|
+
//# sourceMappingURL=render-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-group.js","sourceRoot":"","sources":["../../src/lib/render-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,MAAM,mBAAmB,GAAG,CAAC,MAAe,EAAU,EAAE,CACvD,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC;AAElD,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAoB,CAC3C,IAAI,EACJ,KAAK,EACL,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,EAC7E,EAAE,CACH,IAAI,CAAA;WACM,mBAAmB,CAAC,MAAM,CAAC;4BACV,KAAK;;;;;cAKnB,QAAQ;eACP,IAAI;YACP,gBAAgB;eACb,CAAC,WAAW;;;gBAGX,aAAa,EAAE,KAAK;;cAEtB,aAAa;YACf,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACX,QAAQ;cACV,MAAM;aACP,IAAI;;;gCAGe,IAAI,CAAC,KAAM,CAAC,MAAM;2CACP,MAAM,YAAY,UAAU;KAClE,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;QAE3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-item.d.ts","sourceRoot":"","sources":["../../src/lib/render-item.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qCAAqC;AACrC,eAAO,MAAM,UAAU,EAAE,cAsEvB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { chevronDownIcon } from '@neovici/cosmoz-icons/untitled';
|
|
2
|
+
import { isEmpty } from '@neovici/cosmoz-utils/template';
|
|
3
|
+
import { html } from '@pionjs/pion';
|
|
4
|
+
import { renderMinis } from './render-mini';
|
|
5
|
+
/** The default item-row renderer. */
|
|
6
|
+
export const renderItem = (item, index, { selected, expanded, toggleCollapse, columns, collapsedColumns, miniColumns, onItemClick, onCheckboxChange, onItemChange, rowPartFn, groupOnColumn, dataIsValid, }) => html `
|
|
7
|
+
<div
|
|
8
|
+
?selected=${selected}
|
|
9
|
+
part="${['itemRow', `itemRow-${index}`, rowPartFn?.(item, index)]
|
|
10
|
+
.filter(Boolean)
|
|
11
|
+
.join(' ')}"
|
|
12
|
+
.dataIndex=${index}
|
|
13
|
+
.dataItem=${item}
|
|
14
|
+
class="itemRow"
|
|
15
|
+
@click=${onItemClick}
|
|
16
|
+
>
|
|
17
|
+
<div class="itemRow-wrapper" part="itemRow-wrapper">
|
|
18
|
+
<input
|
|
19
|
+
class="checkbox"
|
|
20
|
+
type="checkbox"
|
|
21
|
+
part="checkbox"
|
|
22
|
+
.checked=${selected}
|
|
23
|
+
.dataItem=${item}
|
|
24
|
+
@input=${onCheckboxChange}
|
|
25
|
+
?disabled=${!dataIsValid}
|
|
26
|
+
/>
|
|
27
|
+
<cosmoz-omnitable-item-row
|
|
28
|
+
part="itemRow-inner"
|
|
29
|
+
.columns=${columns}
|
|
30
|
+
.index=${index}
|
|
31
|
+
.selected=${selected}
|
|
32
|
+
.expanded=${expanded}
|
|
33
|
+
.item=${item}
|
|
34
|
+
.groupOnColumn=${groupOnColumn}
|
|
35
|
+
.onItemChange=${onItemChange}
|
|
36
|
+
>
|
|
37
|
+
</cosmoz-omnitable-item-row>
|
|
38
|
+
<button
|
|
39
|
+
class="expand"
|
|
40
|
+
?hidden="${isEmpty(collapsedColumns.length)}"
|
|
41
|
+
?aria-expanded="${expanded}"
|
|
42
|
+
@click="${toggleCollapse}"
|
|
43
|
+
>
|
|
44
|
+
${chevronDownIcon({ width: '16', height: '16' })}
|
|
45
|
+
</button>
|
|
46
|
+
</div>
|
|
47
|
+
${renderMinis({ item, index })(miniColumns)}
|
|
48
|
+
</div>
|
|
49
|
+
<cosmoz-omnitable-item-expand
|
|
50
|
+
.columns=${collapsedColumns}
|
|
51
|
+
.item=${item}
|
|
52
|
+
?selected=${selected}
|
|
53
|
+
?expanded=${expanded}
|
|
54
|
+
.groupOnColumn=${groupOnColumn}
|
|
55
|
+
part="item-expand"
|
|
56
|
+
>
|
|
57
|
+
</cosmoz-omnitable-item-expand>
|
|
58
|
+
`;
|
|
59
|
+
//# sourceMappingURL=render-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-item.js","sourceRoot":"","sources":["../../src/lib/render-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAmB,CACzC,IAAI,EACJ,KAAK,EACL,EACC,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,GACX,EACA,EAAE,CACH,IAAI,CAAA;;eAEU,QAAQ;WACZ,CAAC,SAAS,EAAE,WAAW,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC/D,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,GAAG,CAAC;gBACE,KAAK;eACN,IAAI;;YAEP,WAAW;;;;;;;gBAOP,QAAQ;iBACP,IAAI;cACP,gBAAgB;iBACb,CAAC,WAAW;;;;gBAIb,OAAO;cACT,KAAK;iBACF,QAAQ;iBACR,QAAQ;aACZ,IAAI;sBACK,aAAa;qBACd,YAAY;;;;;gBAKjB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;uBACzB,QAAQ;eAChB,cAAc;;OAEtB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;;KAGhD,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC;;;cAGhC,gBAAgB;WACnB,IAAI;eACA,QAAQ;eACR,QAAQ;oBACH,aAAa;;;;EAI/B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Column, HostRenderItem, Item } from './types';
|
|
2
|
+
export declare const renderMinis: ({ item, index }: {
|
|
3
|
+
item: Item;
|
|
4
|
+
index: number;
|
|
5
|
+
}) => (columns: Column[] | undefined) => import("lit-html").TemplateResult<1> | undefined;
|
|
6
|
+
/** Two-tier card: first mini column as the title line, the rest as a meta row. */
|
|
7
|
+
export declare const renderMini: HostRenderItem;
|
|
8
|
+
//# sourceMappingURL=render-mini.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-mini.d.ts","sourceRoot":"","sources":["../../src/lib/render-mini.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5D,eAAO,MAAM,WAAW,GACtB,iBAAiB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,MAC9C,SAAS,MAAM,EAAE,GAAG,SAAS,qDAmB5B,CAAC;AAOJ,kFAAkF;AAClF,eAAO,MAAM,UAAU,EAAE,cA4CxB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import { when } from 'lit-html/directives/when.js';
|
|
3
|
+
export const renderMinis = ({ item, index }) => (columns) => when((columns?.length ?? 0) > 0, () => html `
|
|
4
|
+
<div class="itemRow-minis" part="item-minis">
|
|
5
|
+
${columns.map((column) => html `<div
|
|
6
|
+
class="itemRow-mini"
|
|
7
|
+
part="item-mini item-mini-${column.name}"
|
|
8
|
+
>
|
|
9
|
+
${(column.renderMini ?? column.renderCell)(column, {
|
|
10
|
+
item,
|
|
11
|
+
index,
|
|
12
|
+
})}
|
|
13
|
+
</div>`)}
|
|
14
|
+
</div>
|
|
15
|
+
`);
|
|
16
|
+
const getMiniColumns = (columns) => (columns ?? [])
|
|
17
|
+
.filter((column) => column.mini != null)
|
|
18
|
+
.sort((a, b) => (a.mini ?? 0) - (b.mini ?? 0));
|
|
19
|
+
/** Two-tier card: first mini column as the title line, the rest as a meta row. */
|
|
20
|
+
export const renderMini = (item, index, { selected, onItemClick, onCheckboxChange, dataIsValid, columns }) => {
|
|
21
|
+
const miniColumns = getMiniColumns(columns), [titleColumn] = miniColumns;
|
|
22
|
+
return html `
|
|
23
|
+
<div
|
|
24
|
+
?selected=${selected}
|
|
25
|
+
part="itemRow itemCard itemRow-${index}"
|
|
26
|
+
class="itemRow"
|
|
27
|
+
.dataIndex=${index}
|
|
28
|
+
.dataItem=${item}
|
|
29
|
+
@click=${onItemClick}
|
|
30
|
+
>
|
|
31
|
+
<div class="itemRow-wrapper" part="itemRow-wrapper">
|
|
32
|
+
<input
|
|
33
|
+
class="checkbox"
|
|
34
|
+
type="checkbox"
|
|
35
|
+
part="checkbox"
|
|
36
|
+
.checked=${selected}
|
|
37
|
+
.dataItem=${item}
|
|
38
|
+
@input=${onCheckboxChange}
|
|
39
|
+
?disabled=${!dataIsValid}
|
|
40
|
+
/>
|
|
41
|
+
${when(titleColumn != null, () => html `<div
|
|
42
|
+
class="itemRow-mini"
|
|
43
|
+
part="item-mini item-mini-${titleColumn.name}"
|
|
44
|
+
>
|
|
45
|
+
${(titleColumn.renderMini ?? titleColumn.renderCell)(titleColumn, { item, index })}
|
|
46
|
+
</div>`)}
|
|
47
|
+
</div>
|
|
48
|
+
${renderMinis({ item, index })(miniColumns.slice(1))}
|
|
49
|
+
</div>
|
|
50
|
+
`;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=render-mini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-mini.js","sourceRoot":"","sources":["../../src/lib/render-mini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAInD,MAAM,CAAC,MAAM,WAAW,GACvB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAiC,EAAE,EAAE,CACnD,CAAC,OAA6B,EAAE,EAAE,CACjC,IAAI,CACH,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAC1B,GAAG,EAAE,CAAC,IAAI,CAAA;;OAEN,OAAQ,CAAC,GAAG,CACb,CAAC,MAAM,EAAE,EAAE,CACV,IAAI,CAAA;;oCAEyB,MAAM,CAAC,IAAI;;UAErC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAE,CAAC,MAAM,EAAE;IACnD,IAAI;IACJ,KAAK;CACL,CAAC;cACI,CACR;;IAEF,CACD,CAAC;AAEJ,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAY,EAAE,CAClE,CAAC,OAAO,IAAI,EAAE,CAAC;KACb,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;KACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjD,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAmB,CACzC,IAAI,EACJ,KAAK,EACL,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,EAChE,EAAE;IACH,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,EAC1C,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IAE7B,OAAO,IAAI,CAAA;;eAEG,QAAQ;oCACa,KAAK;;gBAEzB,KAAK;eACN,IAAI;YACP,WAAW;;;;;;;gBAOP,QAAQ;iBACP,IAAI;cACP,gBAAgB;iBACb,CAAC,WAAW;;MAEvB,IAAI,CACL,WAAW,IAAI,IAAI,EACnB,GAAG,EAAE,CACJ,IAAI,CAAA;;mCAEyB,WAAY,CAAC,IAAI;;SAE3C,CAAC,WAAY,CAAC,UAAU,IAAI,WAAY,CAAC,UAAU,CAAE,CACtD,WAAY,EACZ,EAAE,IAAI,EAAE,KAAK,EAAE,CACf;aACK,CACR;;KAEA,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;EAErD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -19,9 +19,9 @@ export declare const normalizeColumns: (columns?: NormalizeProps["columns"], set
|
|
|
19
19
|
export declare const normalizeStore: (settings: NormalizedSettings, current: NormalizedSettings) => {
|
|
20
20
|
columns: {
|
|
21
21
|
width: number;
|
|
22
|
+
flex: number;
|
|
22
23
|
name: string;
|
|
23
24
|
priority: number;
|
|
24
|
-
flex: number;
|
|
25
25
|
disabled: boolean | undefined;
|
|
26
26
|
}[];
|
|
27
27
|
sortOn: string | undefined;
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { RenderGroupParams as GroupedListGroupParams, RenderItemParams as GroupedListRowParams } from '../grouped-list/use-cosmoz-grouped-list';
|
|
2
|
+
import type { GroupItem } from '../grouped-list/utils';
|
|
3
|
+
import type { indexSymbol } from './utils';
|
|
1
4
|
export type LimitFunction = (a: number, b: number) => number | undefined;
|
|
2
5
|
export type Currency = string;
|
|
3
6
|
export type Rates = Partial<Record<Currency, number>> & Record<string, number>;
|
|
@@ -86,6 +89,14 @@ export interface Limit<T> {
|
|
|
86
89
|
export type AmountLimit = Limit<Amount>;
|
|
87
90
|
export type Item = object;
|
|
88
91
|
export type Items = Item[];
|
|
92
|
+
/** Item annotated with its position in the visible data. */
|
|
93
|
+
export interface IndexedItem extends Item {
|
|
94
|
+
[indexSymbol]: number;
|
|
95
|
+
}
|
|
96
|
+
/** Group annotated with its position among the rendered groups. */
|
|
97
|
+
export interface IndexedGroup extends GroupItem<IndexedItem> {
|
|
98
|
+
[indexSymbol]: number;
|
|
99
|
+
}
|
|
89
100
|
export interface ItemRenderData {
|
|
90
101
|
item: Item;
|
|
91
102
|
selected?: boolean;
|
|
@@ -103,4 +114,32 @@ export interface HeaderRenderData {
|
|
|
103
114
|
inputValue?: unknown;
|
|
104
115
|
headerFocused?: boolean;
|
|
105
116
|
}
|
|
117
|
+
export interface ItemRenderParams extends GroupedListRowParams {
|
|
118
|
+
columns: Column[];
|
|
119
|
+
collapsedColumns: Column[];
|
|
120
|
+
miniColumns: Column[];
|
|
121
|
+
onItemClick: (event: Event) => void;
|
|
122
|
+
onCheckboxChange: (event: Event) => void;
|
|
123
|
+
onItemChange: (column: Column, item: Item) => (value: unknown) => void;
|
|
124
|
+
rowPartFn?: (item: Item, index: number) => string | undefined;
|
|
125
|
+
groupOnColumn?: Column;
|
|
126
|
+
dataIsValid: boolean;
|
|
127
|
+
}
|
|
128
|
+
export interface GroupRenderParams extends GroupedListGroupParams {
|
|
129
|
+
columns: Column[];
|
|
130
|
+
onCheckboxChange: (event: Event) => void;
|
|
131
|
+
groupOnColumn?: Column;
|
|
132
|
+
dataIsValid: boolean;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Host-provided full row renderer — `index` is the position in the visible
|
|
136
|
+
* data. The output IS the row (element-as-row); it must carry the row
|
|
137
|
+
* contract or machinery breaks: `part="itemRow itemRow-${index}"`,
|
|
138
|
+
* `.dataItem=${item}` + `.dataIndex` + `@click=${params.onItemClick}`
|
|
139
|
+
* on the row element, and for selection a checkbox with
|
|
140
|
+
* `.dataItem=${item}` / `@input=${params.onCheckboxChange}`.
|
|
141
|
+
*/
|
|
142
|
+
export type HostRenderItem = (item: IndexedItem, index: number, params: ItemRenderParams) => unknown;
|
|
143
|
+
/** Host-provided full group-row renderer, set as the `renderGroup` property. */
|
|
144
|
+
export type HostRenderGroup = (group: IndexedGroup, index: number, params: GroupRenderParams) => unknown;
|
|
106
145
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-fast-layout.d.ts","sourceRoot":"","sources":["../../src/lib/use-fast-layout.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-fast-layout.d.ts","sourceRoot":"","sources":["../../src/lib/use-fast-layout.js"],"names":[],"mappings":"AA6BO;;;;;;;;;;;;EAuEN"}
|
|
@@ -16,15 +16,28 @@ const useAdoptedStyleSheet = (host) => {
|
|
|
16
16
|
}, []);
|
|
17
17
|
return styleSheet;
|
|
18
18
|
};
|
|
19
|
+
// pion doesn't reflect props to attributes — the compact chrome CSS targets [compact]
|
|
20
|
+
const useCompactChrome = (host) => {
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
host.toggleAttribute('compact', host.compact === true);
|
|
23
|
+
}, [host.compact]);
|
|
24
|
+
};
|
|
19
25
|
export const useFastLayout = ({ host, columns, settings, setSettings, resizeSpeedFactor, sortAndGroupOptions, }) => {
|
|
20
|
-
const canvasWidth = useCanvasWidth(host), { isMini, miniColumn, miniColumns } = useMini({
|
|
26
|
+
const canvasWidth = useCanvasWidth(host), { isMini, hasMiniColumn, miniColumn, miniColumns } = useMini({
|
|
21
27
|
host,
|
|
22
28
|
canvasWidth,
|
|
23
29
|
columns,
|
|
24
|
-
})
|
|
30
|
+
});
|
|
31
|
+
useCompactChrome(host);
|
|
32
|
+
const { groupOnColumn } = sortAndGroupOptions,
|
|
33
|
+
// the layout engine fits what the header shows: legacy mini derives
|
|
34
|
+
// the set (frozen behavior), else the headerColumns writer wins
|
|
35
|
+
layoutColumns = hasMiniColumn
|
|
36
|
+
? [miniColumn.name]
|
|
37
|
+
: host.headerColumns ?? null, layout = useLayout({
|
|
25
38
|
canvasWidth,
|
|
26
39
|
groupOnColumn,
|
|
27
|
-
|
|
40
|
+
layoutColumns,
|
|
28
41
|
config: settings.columns,
|
|
29
42
|
}), styleSheet = useAdoptedStyleSheet(host), collapsedColumns = useMemo(() => settings.columns.reduce((acc, column, index) => layout[index] != null ||
|
|
30
43
|
column.name === groupOnColumn?.name ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-fast-layout.js","sourceRoot":"","sources":["../../src/lib/use-fast-layout.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,EAAE;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG;YACpC,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB;YACrC,UAAU;SACV,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC7B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACnB,EAAE,EAAE;IACJ,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EACvC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-fast-layout.js","sourceRoot":"","sources":["../../src/lib/use-fast-layout.js"],"names":[],"mappings":"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"}
|
package/dist/lib/use-header.d.ts
CHANGED
|
@@ -24,10 +24,12 @@ interface UseHeaderParams {
|
|
|
24
24
|
}>;
|
|
25
25
|
setFilterState: (name: string, state: unknown) => void;
|
|
26
26
|
hideSelectAll?: boolean;
|
|
27
|
+
/** When set, the header strip limits to these column names. */
|
|
28
|
+
headerColumns?: string[] | null;
|
|
27
29
|
requestTween: () => void;
|
|
28
30
|
[key: string]: unknown;
|
|
29
31
|
}
|
|
30
|
-
export declare const useHeader: ({ host, selectedItems, data, dataIsValid, columns, sortAndGroupOptions, collapsedColumns, settings, filterFunctions, settingS, filters, setFilterState, hideSelectAll, requestTween, ...rest }: UseHeaderParams) => {
|
|
32
|
+
export declare const useHeader: ({ host, selectedItems, data, dataIsValid, columns, sortAndGroupOptions, collapsedColumns, settings, filterFunctions, settingS, filters, setFilterState, hideSelectAll, headerColumns, requestTween, ...rest }: UseHeaderParams) => {
|
|
31
33
|
allSelected: boolean;
|
|
32
34
|
onAllCheckboxChange: (event: Event) => void;
|
|
33
35
|
data: object[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-header.d.ts","sourceRoot":"","sources":["../../src/lib/use-header.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAO/C,UAAU,mBAAmB;IAC5B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,UAAU,eAAe;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IACzD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"use-header.d.ts","sourceRoot":"","sources":["../../src/lib/use-header.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAO/C,UAAU,mBAAmB;IAC5B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,UAAU,eAAe;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IACzD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,GAAI,+MAiBvB,eAAe;;iCAcc,KAAK;;;;;;;;qBAxCD,OAAO;;4BAKtB,IAAI;;;;;;;8BALd,CAAC;;mBACG,CAAC;;;;;;;;iBADoB,OAAO;;;2BACnB,MAAM,SAAS,OAAO,KAAK,IAAI;;;CAyGtD,CAAC"}
|
package/dist/lib/use-header.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect, useMemo } from '@pionjs/pion';
|
|
2
2
|
import { All } from './utils';
|
|
3
|
-
export const useHeader = ({ host, selectedItems, data, dataIsValid, columns, sortAndGroupOptions, collapsedColumns, settings, filterFunctions, settingS, filters, setFilterState, hideSelectAll, requestTween, ...rest }) => {
|
|
4
|
-
const
|
|
3
|
+
export const useHeader = ({ host, selectedItems, data, dataIsValid, columns, sortAndGroupOptions, collapsedColumns, settings, filterFunctions, settingS, filters, setFilterState, hideSelectAll, headerColumns, requestTween, ...rest }) => {
|
|
4
|
+
const headerColumnsFiltered = useMemo(() => headerColumns == null
|
|
5
|
+
? columns
|
|
6
|
+
: columns.filter((column) => headerColumns.includes(column.name)), [columns, headerColumns]), allSelected = selectedItems === All ||
|
|
5
7
|
(!!data &&
|
|
6
8
|
data.length > 0 &&
|
|
7
9
|
Array.isArray(selectedItems) &&
|
|
@@ -41,7 +43,7 @@ export const useHeader = ({ host, selectedItems, data, dataIsValid, columns, sor
|
|
|
41
43
|
onAllCheckboxChange,
|
|
42
44
|
data,
|
|
43
45
|
dataIsValid,
|
|
44
|
-
columns,
|
|
46
|
+
columns: headerColumnsFiltered,
|
|
45
47
|
settingsConfig,
|
|
46
48
|
filters,
|
|
47
49
|
groupOnColumn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-header.js","sourceRoot":"","sources":["../../src/lib/use-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,EAAE,GAAG,EAAmB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-header.js","sourceRoot":"","sources":["../../src/lib/use-header.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/use-layout.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import { Column } from './types';
|
|
|
3
3
|
interface UseLayoutParams {
|
|
4
4
|
canvasWidth: number | null | undefined;
|
|
5
5
|
groupOnColumn?: Column | null;
|
|
6
|
+
/** Names the layout engine must fit; null = fit everything. */
|
|
7
|
+
layoutColumns?: string[] | null;
|
|
6
8
|
config: ColumnConfigInput[];
|
|
7
|
-
miniColumn?: Column | null;
|
|
8
9
|
}
|
|
9
|
-
export declare const useLayout: ({ canvasWidth, groupOnColumn,
|
|
10
|
+
export declare const useLayout: ({ canvasWidth, groupOnColumn, layoutColumns, config, }: UseLayoutParams) => (number | undefined)[];
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=use-layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-layout.d.ts","sourceRoot":"","sources":["../../src/lib/use-layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,UAAU,eAAe;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"use-layout.d.ts","sourceRoot":"","sources":["../../src/lib/use-layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,UAAU,eAAe;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS,GAAI,wDAKvB,eAAe,KAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EA6BA,CAAC"}
|
package/dist/lib/use-layout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useMemo } from '@pionjs/pion';
|
|
2
2
|
import { computeLayout } from './compute-layout';
|
|
3
|
-
export const useLayout = ({ canvasWidth, groupOnColumn,
|
|
3
|
+
export const useLayout = ({ canvasWidth, groupOnColumn, layoutColumns, config, }) => useMemo(() => {
|
|
4
4
|
if (!Array.isArray(config) || canvasWidth == null || canvasWidth === 0) {
|
|
5
5
|
return [];
|
|
6
6
|
}
|
|
@@ -14,8 +14,10 @@ export const useLayout = ({ canvasWidth, groupOnColumn, config, miniColumn, }) =
|
|
|
14
14
|
index,
|
|
15
15
|
hidden: c.name === groupOnColumn?.name || c.disabled,
|
|
16
16
|
}))
|
|
17
|
-
.map((c) =>
|
|
18
|
-
|
|
17
|
+
.map((c) => layoutColumns != null
|
|
18
|
+
? { ...c, hidden: !layoutColumns.includes(c.name) }
|
|
19
|
+
: c)
|
|
20
|
+
.sort(({ index: aIndex, priority: aPriority }, { index: bIndex, priority: bPriority }) => (aPriority === bPriority ? bIndex - aIndex : aPriority - bPriority));
|
|
19
21
|
return computeLayout(columnConfigs, canvasWidth, columnConfigs.length);
|
|
20
22
|
}, [canvasWidth, groupOnColumn, config]);
|
|
21
23
|
//# sourceMappingURL=use-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-layout.js","sourceRoot":"","sources":["../../src/lib/use-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-layout.js","sourceRoot":"","sources":["../../src/lib/use-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACzB,WAAW,EACX,aAAa,EACb,aAAa,EACb,MAAM,GACW,EAA0B,EAAE,CAC7C,OAAO,CAAC,GAAG,EAAE;IACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAmB,MAAM;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ;KACpD,CAAC,CAAC;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,aAAa,IAAI,IAAI;QACpB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,CAAC,CACJ;SACA,IAAI,CACJ,CACC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EACtC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EACrC,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CACxE,CAAC;IAEH,OAAO,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
package/dist/lib/use-list.d.ts
CHANGED
|
@@ -1,26 +1,13 @@
|
|
|
1
|
+
import type { RenderGroupParams as GroupedListGroupParams, RenderItemParams as GroupedListRowParams } from '../grouped-list/use-cosmoz-grouped-list';
|
|
1
2
|
import type { GroupItem } from '../grouped-list/utils';
|
|
2
|
-
import type { Column, Item } from './types';
|
|
3
|
-
|
|
4
|
-
export interface IndexedItem extends Item {
|
|
5
|
-
[indexSymbol]: number;
|
|
6
|
-
}
|
|
7
|
-
export interface IndexedGroup extends GroupItem<IndexedItem> {
|
|
8
|
-
[indexSymbol]: number;
|
|
9
|
-
}
|
|
10
|
-
export interface RenderItemParams {
|
|
11
|
-
selected: boolean;
|
|
12
|
-
expanded: boolean;
|
|
13
|
-
toggleCollapse: () => void;
|
|
14
|
-
}
|
|
15
|
-
export interface RenderGroupParams {
|
|
16
|
-
selected: boolean;
|
|
17
|
-
folded: boolean;
|
|
18
|
-
toggleFold: () => void;
|
|
19
|
-
}
|
|
3
|
+
import type { Column, HostRenderGroup, HostRenderItem, IndexedGroup, IndexedItem, Item } from './types';
|
|
4
|
+
export type { IndexedGroup, IndexedItem } from './types';
|
|
20
5
|
interface UseListHost extends HTMLElement {
|
|
21
6
|
loading?: boolean;
|
|
22
7
|
displayEmptyGroups?: boolean;
|
|
23
8
|
compareItemsFn?: <T>(a: T, b: T) => boolean;
|
|
9
|
+
renderItem?: HostRenderItem;
|
|
10
|
+
renderGroup?: HostRenderGroup;
|
|
24
11
|
}
|
|
25
12
|
interface UseListParams {
|
|
26
13
|
host: UseListHost;
|
|
@@ -49,8 +36,7 @@ export declare const useList: ({ host, error, dataIsValid, processedItems, colum
|
|
|
49
36
|
error: {
|
|
50
37
|
message: string;
|
|
51
38
|
} | null | undefined;
|
|
52
|
-
renderItem: (item: IndexedItem,
|
|
53
|
-
renderGroup: (
|
|
39
|
+
renderItem: (item: IndexedItem, _flatIndex: number, params: GroupedListRowParams) => unknown;
|
|
40
|
+
renderGroup: (group: IndexedGroup, _flatIndex: number, params: GroupedListGroupParams) => unknown;
|
|
54
41
|
};
|
|
55
|
-
export {};
|
|
56
42
|
//# sourceMappingURL=use-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list.d.ts","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-list.d.ts","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,IAAI,sBAAsB,EAC3C,gBAAgB,IAAI,oBAAoB,EACxC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EACX,MAAM,EACN,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,MAAM,SAAS,CAAC;AAIjB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAuBzD,UAAU,WAAY,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,UAAU,aAAa;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACxE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,GAAI,+HAWrB,aAAa;;;;;sBA7BG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO;;;iBAOxB,MAAM;;uBAsHf,WAAW,cAAc,MAAM,UAAU,oBAAoB;yBA6B5D,YAAY,cACP,MAAM,UACV,sBAAsB;CAYlC,CAAC"}
|
package/dist/lib/use-list.js
CHANGED
|
@@ -1,112 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { when } from 'lit-html/directives/when.js';
|
|
1
|
+
import { useCallback, useEffect, useMemo, useRef } from '@pionjs/pion';
|
|
2
|
+
import { renderGroup as defaultRenderGroup } from './render-group';
|
|
3
|
+
import { renderItem as defaultRenderItem } from './render-item';
|
|
5
4
|
import { indexSymbol } from './utils';
|
|
6
5
|
import { onItemChange as _onItemChange } from './utils-data';
|
|
7
6
|
const isCheckbox = (el) => el instanceof HTMLInputElement;
|
|
8
7
|
const isRow = (el) => el instanceof HTMLElement;
|
|
9
|
-
const _getGroupRowClasses = (folded) => folded ? 'groupRow groupRow-folded' : 'groupRow';
|
|
10
|
-
const renderMinis = ({ item, index }) => (columns) => when((columns?.length ?? 0) > 0, () => html `
|
|
11
|
-
<div class="itemRow-minis" part="item-minis">
|
|
12
|
-
${columns.map((column) => html `<div
|
|
13
|
-
class="itemRow-mini"
|
|
14
|
-
part="item-mini item-mini-${column.name}"
|
|
15
|
-
>
|
|
16
|
-
${(column.renderMini ?? column.renderCell)(column, {
|
|
17
|
-
item,
|
|
18
|
-
index,
|
|
19
|
-
})}
|
|
20
|
-
</div>`)}
|
|
21
|
-
</div>
|
|
22
|
-
`);
|
|
23
|
-
const renderItem = ({ columns, collapsedColumns, miniColumns, onItemClick, onCheckboxChange, dataIsValid, groupOnColumn, onItemChange, rowPartFn, }) => (item, index, { selected, expanded, toggleCollapse }) => html `
|
|
24
|
-
<div
|
|
25
|
-
?selected=${selected}
|
|
26
|
-
part="${[
|
|
27
|
-
'itemRow',
|
|
28
|
-
`itemRow-${item[indexSymbol]}`,
|
|
29
|
-
rowPartFn?.(item, index),
|
|
30
|
-
]
|
|
31
|
-
.filter(Boolean)
|
|
32
|
-
.join(' ')}"
|
|
33
|
-
.dataIndex=${item[indexSymbol]}
|
|
34
|
-
.dataItem=${item}
|
|
35
|
-
class="itemRow"
|
|
36
|
-
@click=${onItemClick}
|
|
37
|
-
>
|
|
38
|
-
<div class="itemRow-wrapper" part="itemRow-wrapper">
|
|
39
|
-
<input
|
|
40
|
-
class="checkbox"
|
|
41
|
-
type="checkbox"
|
|
42
|
-
part="checkbox"
|
|
43
|
-
.checked=${selected}
|
|
44
|
-
.dataItem=${item}
|
|
45
|
-
@input=${onCheckboxChange}
|
|
46
|
-
?disabled=${!dataIsValid}
|
|
47
|
-
/>
|
|
48
|
-
<cosmoz-omnitable-item-row
|
|
49
|
-
part="itemRow-inner"
|
|
50
|
-
.columns=${columns}
|
|
51
|
-
.index=${index}
|
|
52
|
-
.selected=${selected}
|
|
53
|
-
.expanded=${expanded}
|
|
54
|
-
.item=${item}
|
|
55
|
-
.groupOnColumn=${groupOnColumn}
|
|
56
|
-
.onItemChange=${onItemChange}
|
|
57
|
-
>
|
|
58
|
-
</cosmoz-omnitable-item-row>
|
|
59
|
-
<button
|
|
60
|
-
class="expand"
|
|
61
|
-
?hidden="${isEmpty(collapsedColumns.length)}"
|
|
62
|
-
?aria-expanded="${expanded}"
|
|
63
|
-
@click="${toggleCollapse}"
|
|
64
|
-
>
|
|
65
|
-
${chevronDownIcon({ width: '16', height: '16' })}
|
|
66
|
-
</button>
|
|
67
|
-
</div>
|
|
68
|
-
${renderMinis({ item, index })(miniColumns)}
|
|
69
|
-
</div>
|
|
70
|
-
<cosmoz-omnitable-item-expand
|
|
71
|
-
.columns=${collapsedColumns}
|
|
72
|
-
.item=${item}
|
|
73
|
-
.index=${index}
|
|
74
|
-
?selected=${selected}
|
|
75
|
-
?expanded=${expanded}
|
|
76
|
-
.groupOnColumn=${groupOnColumn}
|
|
77
|
-
part="item-expand"
|
|
78
|
-
>
|
|
79
|
-
</cosmoz-omnitable-item-expand>
|
|
80
|
-
`;
|
|
81
|
-
const renderGroup = ({ onCheckboxChange, dataIsValid, groupOnColumn }) => (item, index, { selected, folded, toggleFold }) => html ` <div
|
|
82
|
-
class="${_getGroupRowClasses(folded)}"
|
|
83
|
-
part="groupRow groupRow-${item[indexSymbol]}"
|
|
84
|
-
>
|
|
85
|
-
<input
|
|
86
|
-
class="checkbox"
|
|
87
|
-
type="checkbox"
|
|
88
|
-
.checked=${selected}
|
|
89
|
-
.dataItem=${item}
|
|
90
|
-
@input=${onCheckboxChange}
|
|
91
|
-
?disabled=${!dataIsValid}
|
|
92
|
-
/>
|
|
93
|
-
<h3 class="groupRow-label">
|
|
94
|
-
<div><span>${groupOnColumn?.title}</span>: </div>
|
|
95
|
-
<cosmoz-omnitable-group-row
|
|
96
|
-
.column=${groupOnColumn}
|
|
97
|
-
.item=${item.items?.[0]}
|
|
98
|
-
.selected=${selected}
|
|
99
|
-
.folded=${folded}
|
|
100
|
-
.group=${item}
|
|
101
|
-
></cosmoz-omnitable-group-row>
|
|
102
|
-
</h3>
|
|
103
|
-
<div class="groupRow-badge">${item.items.length}</div>
|
|
104
|
-
<button class="expand" ?aria-expanded="${folded}" @click=${toggleFold}>
|
|
105
|
-
${chevronDownIcon({ width: '16', height: '16' })}
|
|
106
|
-
</button>
|
|
107
|
-
</div>`;
|
|
108
8
|
export const useList = ({ host, error, dataIsValid, processedItems, columns, collapsedColumns, miniColumns, sortAndGroupOptions, rowPartFn, ...rest }) => {
|
|
109
|
-
const { loading = false, displayEmptyGroups = false, compareItemsFn } = host,
|
|
9
|
+
const { loading = false, displayEmptyGroups = false, compareItemsFn } = host,
|
|
10
|
+
// the effective renderers — the host prop when set, the internal
|
|
11
|
+
// default otherwise (`??`, not destructuring defaults: `null`
|
|
12
|
+
// must exit an override)
|
|
13
|
+
renderItem = host.renderItem ?? defaultRenderItem, renderGroup = host.renderGroup ?? defaultRenderGroup, keyState = useRef({ shiftKey: false, ctrlKey: false }), onCheckboxChange = useCallback((event) => {
|
|
110
14
|
if (!isCheckbox(event.target)) {
|
|
111
15
|
return;
|
|
112
16
|
}
|
|
@@ -162,31 +66,37 @@ export const useList = ({ host, error, dataIsValid, processedItems, columns, col
|
|
|
162
66
|
compareItemsFn,
|
|
163
67
|
displayEmptyGroups,
|
|
164
68
|
error,
|
|
165
|
-
|
|
69
|
+
// keep last among the hooks, in this order
|
|
70
|
+
renderItem: useMemo(() => (item, _flatIndex, params) => renderItem(item, item[indexSymbol], {
|
|
71
|
+
...params,
|
|
166
72
|
columns,
|
|
167
73
|
collapsedColumns,
|
|
168
74
|
miniColumns,
|
|
169
75
|
onItemClick,
|
|
170
76
|
onCheckboxChange,
|
|
171
|
-
dataIsValid,
|
|
172
|
-
groupOnColumn,
|
|
173
77
|
onItemChange,
|
|
174
78
|
rowPartFn,
|
|
79
|
+
groupOnColumn,
|
|
80
|
+
dataIsValid,
|
|
175
81
|
}), [
|
|
82
|
+
renderItem,
|
|
176
83
|
columns,
|
|
177
84
|
collapsedColumns,
|
|
85
|
+
miniColumns,
|
|
178
86
|
onItemClick,
|
|
179
87
|
onCheckboxChange,
|
|
180
|
-
dataIsValid,
|
|
181
|
-
groupOnColumn,
|
|
182
88
|
onItemChange,
|
|
183
89
|
rowPartFn,
|
|
90
|
+
groupOnColumn,
|
|
91
|
+
dataIsValid,
|
|
184
92
|
]),
|
|
185
|
-
renderGroup: useMemo(() => renderGroup({
|
|
93
|
+
renderGroup: useMemo(() => (group, _flatIndex, params) => renderGroup(group, group[indexSymbol], {
|
|
94
|
+
...params,
|
|
95
|
+
columns,
|
|
186
96
|
onCheckboxChange,
|
|
187
|
-
dataIsValid,
|
|
188
97
|
groupOnColumn,
|
|
189
|
-
|
|
98
|
+
dataIsValid,
|
|
99
|
+
}), [renderGroup, columns, onCheckboxChange, groupOnColumn, dataIsValid]),
|
|
190
100
|
};
|
|
191
101
|
};
|
|
192
102
|
//# sourceMappingURL=use-list.js.map
|
package/dist/lib/use-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list.js","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"use-list.js","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/use-mini.d.ts
CHANGED
|
@@ -2,12 +2,14 @@ import { Column } from './types';
|
|
|
2
2
|
export interface UseMiniParams {
|
|
3
3
|
host: HTMLElement & {
|
|
4
4
|
miniBreakpoint?: number;
|
|
5
|
+
renderItem?: unknown;
|
|
5
6
|
};
|
|
6
7
|
canvasWidth: number;
|
|
7
8
|
columns: Column[];
|
|
8
9
|
}
|
|
9
10
|
export declare const useMini: ({ host, canvasWidth, columns: _columns, }: UseMiniParams) => {
|
|
10
11
|
isMini: boolean;
|
|
12
|
+
hasMiniColumn: boolean;
|
|
11
13
|
miniColumn: Column;
|
|
12
14
|
miniColumns: Column[];
|
|
13
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mini.d.ts","sourceRoot":"","sources":["../../src/lib/use-mini.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,WAAW,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mini.d.ts","sourceRoot":"","sources":["../../src/lib/use-mini.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,WAAW,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,GAAI,2CAIrB,aAAa;;;;;CAgCf,CAAC"}
|
package/dist/lib/use-mini.js
CHANGED
|
@@ -6,12 +6,18 @@ export const useMini = ({ host, canvasWidth, columns: _columns, }) => {
|
|
|
6
6
|
? _columns
|
|
7
7
|
?.filter((c) => c.mini != null)
|
|
8
8
|
.sort((a, b) => (a.mini ?? 0) - (b.mini ?? 0))
|
|
9
|
-
: [], [_columns, isMiniSize]),
|
|
9
|
+
: [], [_columns, isMiniSize]),
|
|
10
|
+
// identity-stable rest slice: a new array every render would churn the
|
|
11
|
+
// connect deps — grouped-list re-renders rows on wrapper identity
|
|
12
|
+
miniColumns = useMemo(() => columns.slice(1), [columns]), miniColumn = columns[0],
|
|
13
|
+
// full-row override takes over item rendering — keep mini machinery dormant
|
|
14
|
+
hasMiniColumn = !!miniColumn && host.renderItem == null;
|
|
10
15
|
useEffect(() => {
|
|
11
16
|
host.toggleAttribute('mini', hasMiniColumn);
|
|
12
17
|
}, [hasMiniColumn]);
|
|
13
18
|
return {
|
|
14
19
|
isMini: hasMiniColumn && isMiniSize,
|
|
20
|
+
hasMiniColumn,
|
|
15
21
|
miniColumn,
|
|
16
22
|
miniColumns,
|
|
17
23
|
};
|
package/dist/lib/use-mini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mini.js","sourceRoot":"","sources":["../../src/lib/use-mini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASlD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACvB,IAAI,EACJ,WAAW,EACX,OAAO,EAAE,QAAQ,GACF,EAAE,EAAE;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,WAAW,IAAI,UAAU,EAC/B,CAAC,WAAW,EAAE,UAAU,CAAC,CACzB,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACJ,UAAU;QACT,CAAC,CAAC,QAAQ;YACR,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE,EACN,CAAC,QAAQ,EAAE,UAAU,CAAC,CACtB,
|
|
1
|
+
{"version":3,"file":"use-mini.js","sourceRoot":"","sources":["../../src/lib/use-mini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASlD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACvB,IAAI,EACJ,WAAW,EACX,OAAO,EAAE,QAAQ,GACF,EAAE,EAAE;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,WAAW,IAAI,UAAU,EAC/B,CAAC,WAAW,EAAE,UAAU,CAAC,CACzB,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACJ,UAAU;QACT,CAAC,CAAC,QAAQ;YACR,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE,EACN,CAAC,QAAQ,EAAE,UAAU,CAAC,CACtB;IACD,uEAAuE;IACvE,kEAAkE;IAClE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EACxD,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IACvB,4EAA4E;IAC5E,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO;QACN,MAAM,EAAE,aAAa,IAAI,UAAU;QACnC,aAAa;QACb,UAAU;QACV,WAAW;KACX,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -45,8 +45,8 @@ export function useOmnitable(host: any): {
|
|
|
45
45
|
error: {
|
|
46
46
|
message: string;
|
|
47
47
|
} | null | undefined;
|
|
48
|
-
renderItem: (item: import("./
|
|
49
|
-
renderGroup: (
|
|
48
|
+
renderItem: (item: import("./types").IndexedItem, _flatIndex: number, params: import("../grouped-list/use-cosmoz-grouped-list").RenderItemParams) => unknown;
|
|
49
|
+
renderGroup: (group: import("./types").IndexedGroup, _flatIndex: number, params: import("../grouped-list/use-cosmoz-grouped-list").RenderGroupParams) => unknown;
|
|
50
50
|
};
|
|
51
51
|
footer: {
|
|
52
52
|
selectedItems: import("./utils").TSelection<import("./types").Item>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-omnitable.d.ts","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AASO;;;;;;;;;;;;;;;;;;;;kCAqBI,CAAC;;uBACmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-omnitable.d.ts","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AASO;;;;;;;;;;;;;;;;;;;;kCAqBI,CAAC;;uBACmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-omnitable.js","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE;IACpC,MAAM,EACJ,SAAS,EACT,UAAU,EACV,IAAI,EACJ,iBAAiB,EACjB,OAAO,EACP,WAAW,GAAG,OAAO,EACrB,aAAa,GAAG,OAAO,EACvB,KAAK,EACL,SAAS,GACT,GAAG,IAAI,EACR,QAAQ,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAC5C,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,QAAQ,EACtE,KAAK,GAAG,aAAa,KAAK,SAAS,EACnC,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE;QAChE,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,KAAK;KACL,CAAC;IACF,6BAA6B;IAC7B,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,GACxE,iBAAiB,CAAC;QACjB,IAAI;QACJ,OAAO;QACP,SAAS;QACT,mBAAmB;QACnB,WAAW;QACX,aAAa;KACb,CAAC,EACH,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QACvE,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,WAAW;QACX,iBAAiB;QACjB,mBAAmB;KACnB,CAAC,EACF,WAAW,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAC5D,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;QACxD,IAAI;QACJ,WAAW;QACX,0BAA0B,EAAE,cAAc;QAC1C,OAAO;QACP,OAAO;QACP,cAAc;QACd,MAAM;QACN,GAAG,mBAAmB;KACtB,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI;QACJ,aAAa;QACb,mBAAmB;QACnB,WAAW;QACX,IAAI;QACJ,OAAO;QACP,OAAO;QACP,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,QAAQ;QACR,cAAc;QACd,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;QAC1C,YAAY;KACZ,CAAC,CAAC;IAEH,OAAO;QACN,MAAM;QACN,IAAI,EAAE,OAAO,CAAC;YACb,IAAI;YACJ,KAAK;YACL,WAAW;YACX,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,OAAO;YACP,gBAAgB;YAChB,WAAW;YACX,mBAAmB;YACnB,SAAS;SACT,CAAC;QACF,MAAM,EAAE,SAAS,CAAC;YACjB,IAAI;YACJ,aAAa;YACb,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,gBAAgB;YAChB,OAAO;YACP,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC;KACF,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-omnitable.js","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE;IACpC,MAAM,EACJ,SAAS,EACT,UAAU,EACV,IAAI,EACJ,iBAAiB,EACjB,OAAO,EACP,WAAW,GAAG,OAAO,EACrB,aAAa,GAAG,OAAO,EACvB,KAAK,EACL,SAAS,GACT,GAAG,IAAI,EACR,QAAQ,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAC5C,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,QAAQ,EACtE,KAAK,GAAG,aAAa,KAAK,SAAS,EACnC,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE;QAChE,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,KAAK;KACL,CAAC;IACF,6BAA6B;IAC7B,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,GACxE,iBAAiB,CAAC;QACjB,IAAI;QACJ,OAAO;QACP,SAAS;QACT,mBAAmB;QACnB,WAAW;QACX,aAAa;KACb,CAAC,EACH,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QACvE,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,WAAW;QACX,iBAAiB;QACjB,mBAAmB;KACnB,CAAC,EACF,WAAW,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAC5D,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;QACxD,IAAI;QACJ,WAAW;QACX,0BAA0B,EAAE,cAAc;QAC1C,OAAO;QACP,OAAO;QACP,cAAc;QACd,MAAM;QACN,GAAG,mBAAmB;KACtB,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI;QACJ,aAAa;QACb,mBAAmB;QACnB,WAAW;QACX,IAAI;QACJ,OAAO;QACP,OAAO;QACP,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,QAAQ;QACR,cAAc;QACd,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;QAC1C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;QACzC,YAAY;KACZ,CAAC,CAAC;IAEH,OAAO;QACN,MAAM;QACN,IAAI,EAAE,OAAO,CAAC;YACb,IAAI;YACJ,KAAK;YACL,WAAW;YACX,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,OAAO;YACP,gBAAgB;YAChB,WAAW;YACX,mBAAmB;YACnB,SAAS;SACT,CAAC;QACF,MAAM,EAAE,SAAS,CAAC;YACjB,IAAI;YACJ,aAAa;YACb,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,gBAAgB;YAChB,OAAO;YACP,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC;KACF,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neovici/cosmoz-omnitable",
|
|
3
|
-
"version": "19.1
|
|
3
|
+
"version": "19.2.1",
|
|
4
4
|
"description": "[](https://travis-ci.org/Neovici/cosmoz-omnitable)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components"
|