@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.
Files changed (47) hide show
  1. package/dist/cosmoz-omnitable-skeleton.js +1 -1
  2. package/dist/cosmoz-omnitable-styles.d.ts.map +1 -1
  3. package/dist/cosmoz-omnitable-styles.js +20 -28
  4. package/dist/cosmoz-omnitable-styles.js.map +1 -1
  5. package/dist/cosmoz-omnitable.d.ts +2 -0
  6. package/dist/cosmoz-omnitable.d.ts.map +1 -1
  7. package/dist/cosmoz-omnitable.js +3 -0
  8. package/dist/cosmoz-omnitable.js.map +1 -1
  9. package/dist/lib/render-group.d.ts +4 -0
  10. package/dist/lib/render-group.d.ts.map +1 -0
  11. package/dist/lib/render-group.js +32 -0
  12. package/dist/lib/render-group.js.map +1 -0
  13. package/dist/lib/render-item.d.ts +4 -0
  14. package/dist/lib/render-item.d.ts.map +1 -0
  15. package/dist/lib/render-item.js +59 -0
  16. package/dist/lib/render-item.js.map +1 -0
  17. package/dist/lib/render-mini.d.ts +8 -0
  18. package/dist/lib/render-mini.d.ts.map +1 -0
  19. package/dist/lib/render-mini.js +52 -0
  20. package/dist/lib/render-mini.js.map +1 -0
  21. package/dist/lib/settings/normalize.d.ts +1 -1
  22. package/dist/lib/types.d.ts +39 -0
  23. package/dist/lib/types.d.ts.map +1 -1
  24. package/dist/lib/use-fast-layout.d.ts.map +1 -1
  25. package/dist/lib/use-fast-layout.js +16 -3
  26. package/dist/lib/use-fast-layout.js.map +1 -1
  27. package/dist/lib/use-header.d.ts +3 -1
  28. package/dist/lib/use-header.d.ts.map +1 -1
  29. package/dist/lib/use-header.js +5 -3
  30. package/dist/lib/use-header.js.map +1 -1
  31. package/dist/lib/use-layout.d.ts +3 -2
  32. package/dist/lib/use-layout.d.ts.map +1 -1
  33. package/dist/lib/use-layout.js +5 -3
  34. package/dist/lib/use-layout.js.map +1 -1
  35. package/dist/lib/use-list.d.ts +7 -21
  36. package/dist/lib/use-list.d.ts.map +1 -1
  37. package/dist/lib/use-list.js +22 -112
  38. package/dist/lib/use-list.js.map +1 -1
  39. package/dist/lib/use-mini.d.ts +2 -0
  40. package/dist/lib/use-mini.d.ts.map +1 -1
  41. package/dist/lib/use-mini.js +7 -1
  42. package/dist/lib/use-mini.js.map +1 -1
  43. package/dist/lib/use-omnitable.d.ts +2 -2
  44. package/dist/lib/use-omnitable.d.ts.map +1 -1
  45. package/dist/lib/use-omnitable.js +1 -0
  46. package/dist/lib/use-omnitable.js.map +1 -1
  47. package/package.json +1 -1
@@ -33,7 +33,7 @@ const styles = css `
33
33
  margin-right: 7px;
34
34
  }
35
35
  .skeleton > div div.checkbox {
36
- min-width: 18px;
36
+ min-width: 16px;
37
37
  margin-left: 0;
38
38
  margin-right: 12px;
39
39
  }
@@ -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,wBAohBE"}
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.5);
7
- height: calc(var(--cz-spacing) * 4.5);
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: 10px;
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 10px;
41
- transform: translate(3px) rotate(45deg);
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: 10px;
65
+ width: 8px;
66
66
  height: 2px;
67
67
  left: 4px;
68
- top: 8px;
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]) .tableContent-scroller::-webkit-scrollbar-track {
551
+ :host(:is([mini], [compact]))
552
+ .tableContent-scroller::-webkit-scrollbar-track {
563
553
  background: transparent;
564
554
  }
565
555
 
566
- :host([mini]) .tableContent-scroller::-webkit-scrollbar-thumb {
556
+ :host(:is([mini], [compact]))
557
+ .tableContent-scroller::-webkit-scrollbar-thumb {
567
558
  background: transparent;
568
559
  }
569
560
 
570
- :host([mini]) .tableContent-scroller:hover::-webkit-scrollbar-thumb {
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]) .tableContent-scroller::-webkit-scrollbar-button:decrement,
575
- :host([mini]) .tableContent-scroller::-webkit-scrollbar-button:increment {
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwWf,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KV,CAAC"}
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,3 +1,5 @@
1
+ export { renderGroup } from "./lib/render-group";
2
+ export { renderItem } from "./lib/render-item";
1
3
  export const actionSlots: import("lit-html").TemplateResult<1>;
2
4
  export const actionSlotsPolymer: HTMLTemplateElement;
3
5
  //# sourceMappingURL=cosmoz-omnitable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmoz-omnitable.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":"AAyEa,+DAA4D;AACxE,qDAA0E"}
1
+ {"version":3,"file":"cosmoz-omnitable.d.ts","sourceRoot":"","sources":["../src/cosmoz-omnitable.js"],"names":[],"mappings":";;AA6Ea,+DAA4D;AACxE,qDAA0E"}
@@ -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,4 @@
1
+ import type { HostRenderGroup } from './types';
2
+ /** The default group-row renderer. */
3
+ export declare const renderGroup: HostRenderGroup;
4
+ //# sourceMappingURL=render-group.d.ts.map
@@ -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>: &nbsp;</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,4 @@
1
+ import type { HostRenderItem } from './types';
2
+ /** The default item-row renderer. */
3
+ export declare const renderItem: HostRenderItem;
4
+ //# sourceMappingURL=render-item.d.ts.map
@@ -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;
@@ -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
@@ -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":"AAsBO;;;;;;;;;;;;EAiEN"}
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
- }), { groupOnColumn } = sortAndGroupOptions, layout = useLayout({
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
- miniColumn,
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":"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"}
1
+ {"version":3,"file":"use-fast-layout.js","sourceRoot":"","sources":["../../src/lib/use-fast-layout.js"],"names":[],"mappings":"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"}
@@ -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,gMAgBvB,eAAe;;iCAOc,KAAK;;;;;;;;qBA9BD,OAAO;;4BAGtB,IAAI;;;;;;;8BAHd,CAAC;;mBACG,CAAC;;;;;;;;iBADoB,OAAO;;;2BACnB,MAAM,SAAS,OAAO,KAAK,IAAI;;;CA+FtD,CAAC"}
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"}
@@ -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 allSelected = selectedItems === All ||
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":"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"}
1
+ {"version":3,"file":"use-header.js","sourceRoot":"","sources":["../../src/lib/use-header.ts"],"names":[],"mappings":"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"}
@@ -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, config, miniColumn, }: UseLayoutParams) => (number | undefined)[];
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,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,GAAI,qDAKvB,eAAe,KAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EA4BA,CAAC"}
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"}
@@ -1,6 +1,6 @@
1
1
  import { useMemo } from '@pionjs/pion';
2
2
  import { computeLayout } from './compute-layout';
3
- export const useLayout = ({ canvasWidth, groupOnColumn, config, miniColumn, }) => useMemo(() => {
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) => miniColumn ? { ...c, hidden: miniColumn.name !== c.name } : c)
18
- .sort(({ index: aIndex, priority: aPriority }, { index: bIndex, priority: bPriority }) => aPriority === bPriority ? bIndex - aIndex : aPriority - bPriority);
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;AAWjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACzB,WAAW,EACX,aAAa,EACb,MAAM,EACN,UAAU,GACO,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,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7D;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,CACH,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAClE,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"}
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"}
@@ -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
- import { indexSymbol } from './utils';
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, index: number, { selected, expanded, toggleCollapse }: RenderItemParams) => import("lit-html").TemplateResult<1>;
53
- renderGroup: (item: IndexedGroup, index: number, { selected, folded, toggleFold }: RenderGroupParams) => import("lit-html").TemplateResult<1>;
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":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,WAAW,WAAY,SAAQ,IAAI;IACxC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC3D,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB;AAkLD,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;CAC5C;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;;;;;sBA3BG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO;;;iBAKxB,MAAM;;uBA1GlB,WAAW,SACV,MAAM,0CAC2B,gBAAgB;wBAgElD,YAAY,SACX,MAAM,oCACqB,iBAAiB;CAsLpD,CAAC"}
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"}
@@ -1,112 +1,16 @@
1
- import { chevronDownIcon } from '@neovici/cosmoz-icons/untitled';
2
- import { isEmpty } from '@neovici/cosmoz-utils/template';
3
- import { html, useCallback, useEffect, useMemo, useRef } from '@pionjs/pion';
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>: &nbsp;</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, keyState = useRef({ shiftKey: false, ctrlKey: false }), onCheckboxChange = useCallback((event) => {
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
- renderItem: useMemo(() => renderItem({
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
- }), [onCheckboxChange, dataIsValid, groupOnColumn]),
98
+ dataIsValid,
99
+ }), [renderGroup, columns, onCheckboxChange, groupOnColumn, dataIsValid]),
190
100
  };
191
101
  };
192
102
  //# sourceMappingURL=use-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-list.js","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-list.js","sourceRoot":"","sources":["../../src/lib/use-list.ts"],"names":[],"mappings":"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"}
@@ -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;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,GAAI,2CAIrB,aAAa;;;;CA2Bf,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"}
@@ -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]), [miniColumn, ...miniColumns] = columns ?? [], hasMiniColumn = !!miniColumn;
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
  };
@@ -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,EACD,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,IAAI,EAAE,EAC5C,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;IAE9B,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,UAAU;QACV,WAAW;KACX,CAAC;AACH,CAAC,CAAC"}
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("./use-list").IndexedItem, index: number, { selected, expanded, toggleCollapse }: import("./use-list").RenderItemParams) => import("lit-html").TemplateResult<1>;
49
- renderGroup: (item: import("./use-list").IndexedGroup, index: number, { selected, folded, toggleFold }: import("./use-list").RenderGroupParams) => import("lit-html").TemplateResult<1>;
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuE/B"}
1
+ {"version":3,"file":"use-omnitable.d.ts","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AASO;;;;;;;;;;;;;;;;;;;;kCAqBI,CAAC;;uBACmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwE/B"}
@@ -52,6 +52,7 @@ export const useOmnitable = (host) => {
52
52
  settingS,
53
53
  setFilterState,
54
54
  hideSelectAll: host.hideSelectAll === true,
55
+ headerColumns: host.headerColumns ?? null,
55
56
  requestTween,
56
57
  });
57
58
  return {
@@ -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.0",
3
+ "version": "19.2.1",
4
4
  "description": "[![Build Status](https://travis-ci.org/Neovici/cosmoz-omnitable.svg?branch=master)](https://travis-ci.org/Neovici/cosmoz-omnitable)",
5
5
  "keywords": [
6
6
  "web-components"