@aquera/nile-elements 0.1.32-beta-1.0 → 0.1.32-beta-1.2

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 (35) hide show
  1. package/README.md +7 -0
  2. package/dist/nile-table/nile-table.cjs.js +1 -1
  3. package/dist/nile-table/nile-table.cjs.js.map +1 -1
  4. package/dist/nile-table/nile-table.css.cjs.js +1 -1
  5. package/dist/nile-table/nile-table.css.cjs.js.map +1 -1
  6. package/dist/nile-table/nile-table.css.esm.js +2 -1
  7. package/dist/nile-table/nile-table.esm.js +2 -2
  8. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  9. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  10. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +5 -3
  11. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  12. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  13. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  14. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  15. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +5 -2
  16. package/dist/nile-table-header-item/nile-table-header-item.esm.js +9 -9
  17. package/dist/src/nile-table/nile-table.css.js +2 -1
  18. package/dist/src/nile-table/nile-table.css.js.map +1 -1
  19. package/dist/src/nile-table/nile-table.d.ts +4 -0
  20. package/dist/src/nile-table/nile-table.js +24 -3
  21. package/dist/src/nile-table/nile-table.js.map +1 -1
  22. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +3 -1
  23. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  24. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +5 -2
  25. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  26. package/dist/src/nile-table-header-item/nile-table-header-item.js +1 -1
  27. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +1 -1
  30. package/src/nile-table/nile-table.css.ts +2 -1
  31. package/src/nile-table/nile-table.ts +26 -2
  32. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +3 -1
  33. package/src/nile-table-header-item/nile-table-header-item.css.ts +5 -2
  34. package/src/nile-table-header-item/nile-table-header-item.ts +1 -1
  35. package/vscode-html-custom-data.json +1 -1
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.1.32-beta-1.0",
6
+ "version": "0.1.32-beta-1.2",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -12,7 +12,8 @@ import {css} from 'lit';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
-
15
+ display:block;
16
+ width:100%;
16
17
  }
17
18
  `;
18
19
 
@@ -25,6 +25,8 @@ export class NileTable extends NileElement {
25
25
  @query('slot') defaultSlot: HTMLSlotElement;
26
26
  private rows:Array<NileTableBody>=[];
27
27
  private primaryRowWidths:Array<number>=[]
28
+ private resizeObserver:ResizeObserver ;
29
+ private debounceTimeout:any
28
30
 
29
31
 
30
32
  /**
@@ -41,7 +43,7 @@ export class NileTable extends NileElement {
41
43
 
42
44
  protected firstUpdated(_changedProperties: PropertyValues): void {
43
45
  this.updateComplete.then(()=>{
44
- this.handleBodyCssUpdate();
46
+ this.handleResizeObserver();
45
47
  })
46
48
  }
47
49
 
@@ -70,8 +72,8 @@ export class NileTable extends NileElement {
70
72
  }
71
73
 
72
74
  handleBodyCssUpdate(){
75
+ if (this.rows.length<2) return;
73
76
  const tableBodies = this.rows;
74
- if (!tableBodies.length) return;
75
77
  const firstEl=tableBodies[0].shadowRoot?.querySelector<HTMLDivElement>('div.base')
76
78
  if(firstEl) {
77
79
  firstEl.style.borderTopRightRadius="var(--nile-radius-radius-xl)";
@@ -108,6 +110,7 @@ export class NileTable extends NileElement {
108
110
  }
109
111
 
110
112
  realignStructure(){
113
+ if (this.rows.length<2) return;
111
114
  const primaryRowWidths=this.getPrimaryColumnWidths();
112
115
  const secondaryRows=this.rows.filter(tb=>tb.type!='primary');
113
116
  secondaryRows.forEach((row)=>{
@@ -125,6 +128,27 @@ export class NileTable extends NileElement {
125
128
  .shadowRoot?.querySelector<HTMLSlotElement>('slot')?.
126
129
  assignedElements()!
127
130
  }
131
+
132
+ handleResizeObserver(){
133
+ const onResize = (entries:ResizeObserverEntry[]): void=> {
134
+ for (let entry of entries) {
135
+ if(this.debounceTimeout){
136
+ clearTimeout(this.debounceTimeout);
137
+ }
138
+ this.debounceTimeout=setTimeout(() => {
139
+ this.realignStructure();
140
+ this.debounceTimeout=null;
141
+ }, 500);
142
+ }
143
+ };
144
+ this.resizeObserver=new ResizeObserver(onResize)
145
+ this.resizeObserver.observe(this);
146
+ }
147
+
148
+ disconnectedCallback(): void {
149
+ this.resizeObserver.disconnect()
150
+ super.disconnectedCallback()
151
+ }
128
152
  /* #endregion */
129
153
  }
130
154
 
@@ -12,6 +12,7 @@ import { css } from 'lit';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
+ --min-cell-width:auto;
15
16
  --cell-width:auto;
16
17
  --min--height: 52px;
17
18
  --max--cell-width: auto;
@@ -24,7 +25,8 @@ export const styles = css`
24
25
  }
25
26
 
26
27
  .column {
27
- min-width:var(--cell-width);
28
+ min-width:var(--min-cell-width);
29
+ width:var(--cell-width);
28
30
  height: 100%;
29
31
  color: var(--nile-colors-gray-light-mode-600);
30
32
  font-family: var(--nile-font-family-serif);
@@ -12,13 +12,15 @@ import { css } from 'lit';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
- --cell-width:auto;
15
+ --cell-min-width: auto;
16
+ --cell-width: auto;
16
17
  display: table-cell;
17
18
  box-sizing: border-box;
18
19
  }
19
20
 
20
21
  .header__item__wrapper{
21
- min-width:var(--cell-width);
22
+ min-width:var(--cell-min-width);
23
+ width:var(--cell-width);
22
24
  display:flex;
23
25
  align-items:center;
24
26
  box-sizing: border-box;
@@ -28,6 +30,7 @@ export const styles = css`
28
30
  }
29
31
 
30
32
  .headers {
33
+ overflow:hidden;
31
34
  display: flex;
32
35
  align-items: center;
33
36
  height: auto;
@@ -69,7 +69,7 @@ export class NileTableHeaderItem extends NileElement {
69
69
  public render(): TemplateResult {
70
70
  return html` ${this.hasSlotController.test('[default]')
71
71
  ? html`
72
- <div class="header__item__wrapper">
72
+ <div class="header__item__wrapper" part="nile__table-header-cell">
73
73
  <div class="headers">
74
74
  <slot> </slot>
75
75
  ${this.havesort && this.sorting_ct % 3 === 0
@@ -3332,7 +3332,7 @@
3332
3332
  },
3333
3333
  {
3334
3334
  "name": "nile-table",
3335
- "description": "Nile table component.\n\nProperties:\n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `rows` {`NileTableBody[]`} - \n\n * `primaryRowWidths` {`number[]`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3335
+ "description": "Nile table component.\n\nProperties:\n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `rows` {`NileTableBody[]`} - \n\n * `primaryRowWidths` {`number[]`} - \n\n * `resizeObserver` - \n\n * `debounceTimeout` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3336
3336
  "attributes": []
3337
3337
  },
3338
3338
  {