@aquera/nile-elements 0.1.32-beta-1.5 → 0.1.32

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 (166) hide show
  1. package/README.md +2 -8
  2. package/demo/index.html +27 -262
  3. package/demo/variables.css +0 -17
  4. package/demo/variables_v2.css +0 -17
  5. package/dist/{fixture-d5b55278.cjs.js → fixture-161dee0b.cjs.js} +3 -3
  6. package/dist/fixture-161dee0b.cjs.js.map +1 -0
  7. package/dist/{fixture-df8b52d7.esm.js → fixture-372df3b0.esm.js} +1 -1
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.esm.js +1 -1
  10. package/dist/internal/animate.cjs.js +1 -1
  11. package/dist/internal/animate.cjs.js.map +1 -1
  12. package/dist/internal/animate.esm.js +1 -1
  13. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  14. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  16. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  17. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  18. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  19. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  20. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  21. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  22. package/dist/nile-button/nile-button.test.esm.js +1 -1
  23. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  24. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  26. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  27. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  28. package/dist/nile-card/nile-card.test.esm.js +1 -1
  29. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  30. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  31. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  32. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  33. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  34. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  35. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  36. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  37. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  38. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  39. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  40. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  41. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  42. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  43. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  44. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  45. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  46. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  47. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  48. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  49. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  50. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  51. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  52. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  53. package/dist/nile-input/nile-input.css.esm.js +0 -8
  54. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  55. package/dist/nile-input/nile-input.test.esm.js +1 -1
  56. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  57. package/dist/nile-link/nile-link.test.esm.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  59. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  61. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  63. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  65. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  67. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  69. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  70. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  71. package/dist/nile-select/nile-select.test.esm.js +1 -1
  72. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  73. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  74. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  75. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  76. package/dist/nile-table/index.cjs.js +2 -0
  77. package/dist/nile-table/index.cjs.js.map +1 -0
  78. package/dist/nile-table/index.esm.js +1 -0
  79. package/dist/nile-table/nile-table.cjs.js +2 -0
  80. package/dist/nile-table/nile-table.cjs.js.map +1 -0
  81. package/dist/nile-table/nile-table.css.cjs.js +2 -0
  82. package/dist/nile-table/nile-table.css.cjs.js.map +1 -0
  83. package/dist/nile-table/nile-table.css.esm.js +6 -0
  84. package/dist/nile-table/nile-table.esm.js +3 -0
  85. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  86. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  87. package/dist/nile-table-body/nile-table-body.esm.js +2 -2
  88. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  89. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  90. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +8 -4
  91. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  92. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  93. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  94. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  95. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +5 -0
  96. package/dist/nile-table-header-item/nile-table-header-item.esm.js +9 -9
  97. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  98. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  99. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  100. package/dist/nile-tooltip/index.cjs.js +1 -1
  101. package/dist/nile-tooltip/index.esm.js +1 -1
  102. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  103. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  104. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  105. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  106. package/dist/nile-tooltip/nile-tooltip.css.esm.js +56 -59
  107. package/dist/nile-tooltip/nile-tooltip.esm.js +28 -23
  108. package/dist/src/index.d.ts +1 -0
  109. package/dist/src/index.js +1 -0
  110. package/dist/src/index.js.map +1 -1
  111. package/dist/src/nile-input/nile-input.css.js +0 -8
  112. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  113. package/dist/src/nile-table/index.d.ts +1 -0
  114. package/dist/src/nile-table/index.js +2 -0
  115. package/dist/src/nile-table/index.js.map +1 -0
  116. package/dist/src/nile-table/nile-table.css.d.ts +12 -0
  117. package/dist/src/nile-table/nile-table.css.js +18 -0
  118. package/dist/src/nile-table/nile-table.css.js.map +1 -0
  119. package/dist/src/nile-table/nile-table.d.ts +48 -0
  120. package/dist/src/nile-table/nile-table.js +143 -0
  121. package/dist/src/nile-table/nile-table.js.map +1 -0
  122. package/dist/src/nile-table-body/nile-table-body.d.ts +3 -1
  123. package/dist/src/nile-table-body/nile-table-body.js +8 -1
  124. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  125. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +6 -2
  126. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  127. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +5 -0
  128. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  129. package/dist/src/nile-table-header-item/nile-table-header-item.js +1 -1
  130. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  131. package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
  132. package/dist/src/nile-tooltip/nile-tooltip.css.js +45 -48
  133. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  134. package/dist/src/nile-tooltip/nile-tooltip.d.ts +44 -23
  135. package/dist/src/nile-tooltip/nile-tooltip.js +227 -157
  136. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/package.json +4 -3
  139. package/src/index.ts +2 -1
  140. package/src/nile-input/nile-input.css.ts +0 -8
  141. package/src/nile-table/index.ts +1 -0
  142. package/src/nile-table/nile-table.css.ts +20 -0
  143. package/src/nile-table/nile-table.ts +161 -0
  144. package/src/nile-table-body/nile-table-body.ts +7 -2
  145. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +6 -2
  146. package/src/nile-table-header-item/nile-table-header-item.css.ts +5 -0
  147. package/src/nile-table-header-item/nile-table-header-item.ts +1 -1
  148. package/src/nile-table-row/nile-table-row.ts +1 -2
  149. package/src/nile-tooltip/nile-tooltip.css.ts +46 -49
  150. package/src/nile-tooltip/nile-tooltip.ts +237 -155
  151. package/vscode-html-custom-data.json +101 -83
  152. package/dist/fixture-d5b55278.cjs.js.map +0 -1
  153. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js +0 -2
  154. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js.map +0 -1
  155. package/dist/nile-tooltip/nile-tooltip-utils.esm.js +0 -1
  156. package/dist/nile-tooltip/nile-tooltip.test.cjs.js +0 -2
  157. package/dist/nile-tooltip/nile-tooltip.test.cjs.js.map +0 -1
  158. package/dist/nile-tooltip/nile-tooltip.test.esm.js +0 -51
  159. package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
  160. package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -151
  161. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
  162. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
  163. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -158
  164. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
  165. package/src/nile-tooltip/nile-tooltip-utils.ts +0 -190
  166. package/src/nile-tooltip/nile-tooltip.test.ts +0 -178
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.5",
6
+ "version": "0.1.32",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -84,7 +84,8 @@
84
84
  "./nile-section-message": "./dist/src/nile-section-message/index.js",
85
85
  "./nile-toolbar": "./dist/src/nile-toolbar/index.js",
86
86
  "./nile-inline-edit": "./dist/src/nile-inline-edit/index.js",
87
- "./nile-tour": "./dist/src/nile-tour/index.js"
87
+ "./nile-tour": "./dist/src/nile-tour/index.js",
88
+ "./nile-table": "./dist/src/nile-table/index.js"
88
89
  },
89
90
  "scripts": {
90
91
  "analyze": "cem analyze --litelement",
@@ -188,4 +189,4 @@
188
189
  "prettier --write"
189
190
  ]
190
191
  }
191
- }
192
+ }
package/src/index.ts CHANGED
@@ -74,4 +74,5 @@ export { NileDivider } from './nile-divider';
74
74
  export { NileTitle } from './nile-title';
75
75
  export { NileSectionMessage } from './nile-section-message';
76
76
  export { NileToolbar } from './nile-toolbar';
77
- export { NileInlineEdit } from './nile-inline-edit';
77
+ export { NileInlineEdit } from './nile-inline-edit';
78
+ export { NileTable } from './nile-table';
@@ -15,14 +15,6 @@ export const styles = css`
15
15
  display: block;
16
16
  }
17
17
 
18
- /* To Hide Safari's AutoFill icon */
19
- input::-webkit-contacts-auto-fill-button {
20
- visibility: hidden;
21
- width: 0;
22
- margin: 0;
23
- padding: 0;
24
- }
25
-
26
18
  .form-control .form-control__label {
27
19
  display: none;
28
20
  }
@@ -0,0 +1 @@
1
+ export { NileTable } from './nile-table';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {css} from 'lit';
9
+
10
+ /**
11
+ * Table CSS
12
+ */
13
+ export const styles = css`
14
+ :host {
15
+ display:block;
16
+ width:100%;
17
+ }
18
+ `;
19
+
20
+ export default [styles];
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';
9
+ import { customElement, property, query, state} from 'lit/decorators.js';
10
+ import {styles} from './nile-table.css';
11
+ import NileElement from '../internal/nile-element';
12
+ import { NileTableBody } from '../nile-table-body';
13
+ import { NileTableCellItem } from '../nile-table-cell-item';
14
+ import { NileTableHeaderItem } from '../nile-table-header-item';
15
+
16
+
17
+ /**
18
+ * Nile table component.
19
+ *
20
+ * @tag nile-table
21
+ *
22
+ */
23
+ @customElement('nile-table')
24
+ export class NileTable extends NileElement {
25
+ @query('slot') defaultSlot: HTMLSlotElement;
26
+ private rows:Array<NileTableBody>=[];
27
+ private primaryRowWidths:Array<number>=[]
28
+ private resizeObserver:ResizeObserver ;
29
+ private debounceTimeout:any
30
+
31
+
32
+ /**
33
+ * The styles for nile-table
34
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
35
+ */
36
+ public static get styles(): CSSResultArray {
37
+ return [styles];
38
+ }
39
+ connectedCallback(): void {
40
+ super.connectedCallback()
41
+ this.addEventListener('nile-body-load',this.handleRows)
42
+ }
43
+
44
+ protected firstUpdated(_changedProperties: PropertyValues): void {
45
+ this.updateComplete.then(()=>{
46
+ this.handleResizeObserver();
47
+ })
48
+ }
49
+
50
+
51
+ /* #endregion */
52
+
53
+ /* #region Methods */
54
+
55
+ /**
56
+ * Render method
57
+ * @slot This is a slot test
58
+ */
59
+ public render(): TemplateResult {
60
+ return html`
61
+ <slot @slotchange="${this.repaintTable}"></slot>
62
+ `;
63
+ }
64
+
65
+ repaintTable(){
66
+ this.realignStructure();
67
+ this.handleBodyCssUpdate();
68
+ }
69
+
70
+ handleRows(e:CustomEvent){
71
+ this.rows=[...this.rows,e.detail.comp]
72
+ }
73
+
74
+ handleBodyCssUpdate(){
75
+ if (this.rows.length<2) return;
76
+ const tableBodies = this.rows;
77
+ const firstEl=tableBodies[0].shadowRoot?.querySelector<HTMLDivElement>('div.base')
78
+ if(firstEl) {
79
+ firstEl.style.borderTopRightRadius="var(--nile-radius-radius-xl)";
80
+ firstEl.style.borderTopLeftRadius = 'var(--nile-radius-radius-xl)';
81
+ firstEl.style.borderBottomRightRadius="0px";
82
+ firstEl.style.borderBottomLeftRadius = '0px';
83
+ firstEl.style.borderBottom = 'none';
84
+ }
85
+ tableBodies.forEach((tb,i)=>{
86
+ if(i>0 && i<tableBodies.length-1){
87
+ const el=tb.shadowRoot?.querySelector<HTMLDivElement>('div.base')
88
+ if(el) {
89
+ el.style.borderTopRightRadius="0px";
90
+ el.style.borderTopLeftRadius = "0px";
91
+ el.style.borderBottomRightRadius="0px";
92
+ el.style.borderBottomLeftRadius = "0px";
93
+ el.style.borderBottom = 'none';
94
+ }
95
+ }
96
+ })
97
+ const lastEl=tableBodies[tableBodies.length - 1].shadowRoot?.querySelector<HTMLDivElement>('div.base')
98
+ if(lastEl){
99
+ lastEl.style.borderTopRightRadius="0px";
100
+ lastEl.style.borderTopLeftRadius = '0px';
101
+ lastEl.style.borderBottomRightRadius="var(--nile-radius-radius-xl)";
102
+ lastEl.style.borderBottomLeftRadius = 'var(--nile-radius-radius-xl)';
103
+ }
104
+ }
105
+
106
+ getPrimaryColumnWidths(){
107
+ const primaryTb=this.rows.find(tb=>tb.type=='primary')!;
108
+ const widthArray=this.getTableCellFetchQuery(primaryTb).map((e:LitElement)=>e.clientWidth) as Array<number>
109
+ return widthArray;
110
+ }
111
+
112
+ realignStructure(){
113
+ if (this.rows.length<2) return;
114
+ const primaryRowWidths=this.getPrimaryColumnWidths();
115
+ const secondaryRows=this.rows.filter(tb=>tb.type!='primary');
116
+ secondaryRows.forEach((row)=>{
117
+ let elements=this.getTableCellFetchQuery(row)
118
+ elements?.forEach((el:NileTableCellItem|NileTableHeaderItem,ind)=>{
119
+ el.style.setProperty('--cell-width',primaryRowWidths.at(ind)+'px')
120
+ })
121
+ })
122
+ }
123
+
124
+ getTableCellFetchQuery(row:NileTableBody):Array<Element>{
125
+ return row?.shadowRoot?.
126
+ querySelector<HTMLSlotElement>('slot:not([name])')?.
127
+ assignedElements()[0]
128
+ .shadowRoot?.querySelector<HTMLSlotElement>('slot')?.
129
+ assignedElements()!
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
+ }, 50);
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
+ }
152
+ /* #endregion */
153
+ }
154
+
155
+ export default NileTable;
156
+
157
+ declare global {
158
+ interface HTMLElementTagNameMap {
159
+ 'nile-table': NileTable;
160
+ }
161
+ }
@@ -10,6 +10,7 @@ import {
10
10
  html,
11
11
  CSSResultArray,
12
12
  TemplateResult,
13
+ PropertyValues,
13
14
  } from 'lit';
14
15
  import {
15
16
  customElement,
@@ -38,8 +39,8 @@ export class NileTableBody extends NileElement {
38
39
  */
39
40
 
40
41
  @query('slot') defaultSlot: HTMLSlotElement;
41
- @queryAssignedNodes({ flatten: true })
42
- _childNodes!: Array<HTMLElement>;
42
+ @queryAssignedNodes({ flatten: true }) _childNodes!: Array<HTMLElement>;
43
+ @property() type: 'primary' | 'secondary' = 'primary';
43
44
 
44
45
  @state() private rows_data: any[] = [];
45
46
  @state() private header_rows_data: any[] = [];
@@ -50,6 +51,10 @@ export class NileTableBody extends NileElement {
50
51
  return [styles];
51
52
  }
52
53
 
54
+ protected firstUpdated(_changedProperties: PropertyValues): void {
55
+ this.emit('nile-body-load', { value: this.type, comp:this },true,false)
56
+ }
57
+
53
58
  /* #endregion */
54
59
 
55
60
  /* #region Methods */
@@ -12,17 +12,21 @@ import { css } from 'lit';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
+ --min-cell-width:auto;
16
+ --cell-width:auto;
17
+ --min--height: 52px;
18
+ --max--cell-width: auto;
15
19
  box-sizing: border-box;
16
20
  display: table-cell;
17
21
  vertical-align: middle;
18
- --min--height: 52px;
19
- --max--cell-width: auto;
20
22
  max-width: var(--max--cell-width);
21
23
  padding: 16px 24px;
22
24
  min-height: var(--min--height);
23
25
  }
24
26
 
25
27
  .column {
28
+ min-width:var(--min-cell-width);
29
+ width:var(--cell-width);
26
30
  height: 100%;
27
31
  color: var(--nile-colors-gray-light-mode-600);
28
32
  font-family: var(--nile-font-family-serif);
@@ -12,11 +12,15 @@ import { css } from 'lit';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
+ --cell-min-width: auto;
16
+ --cell-width: auto;
15
17
  display: table-cell;
16
18
  box-sizing: border-box;
17
19
  }
18
20
 
19
21
  .header__item__wrapper{
22
+ min-width:var(--cell-min-width);
23
+ width:var(--cell-width);
20
24
  display:flex;
21
25
  align-items:center;
22
26
  box-sizing: border-box;
@@ -26,6 +30,7 @@ export const styles = css`
26
30
  }
27
31
 
28
32
  .headers {
33
+ overflow:hidden;
29
34
  display: flex;
30
35
  align-items: center;
31
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
@@ -47,8 +47,7 @@ export class NileTableRow extends NileElement {
47
47
  ];
48
48
  for (let i = 0; i < header_items.length; i++) {
49
49
  const header = header_items[i];
50
- const haveIcon =
51
- header.textContent == event.detail.value.curr_sort_string;
50
+ const haveIcon = header.textContent == event.detail.value.curr_sort_string;
52
51
  if (!haveIcon) {
53
52
  header.sorting_ct = 0;
54
53
  }
@@ -11,63 +11,60 @@ import { css } from 'lit';
11
11
  * Tooltip CSS
12
12
  */
13
13
  export const styles = css`
14
+ :host {
15
+ --max-width: 20rem;
16
+ --hide-delay: 0ms;
17
+ --show-delay: 150ms;
14
18
 
19
+ display: contents;
20
+ }
15
21
 
16
- :host {
17
- position: relative;
18
- display: inline-block;
19
- }
20
- .tooltip {
21
- position: fixed;
22
- z-index: 1000;
23
- background-color: var(--nile-tooltip-color-background, #333);
24
- color: var(--nile-colors-white-base, #fff);
25
- padding: 6px 10px;
26
- border-radius: 4px;
27
- font-size: var(--nile-tooltip-font-size-sm, 14px);
28
- line-height: var(--nile-tooltip-line-height-sm, 1.5);
29
- opacity: 0;
30
- transition: opacity 0.2s, transform 0.2s;
31
- pointer-events: none;
32
- white-space: normal;
33
- visibility: hidden;
34
- overflow: visible;
35
-
36
- }
37
- :host([open]) .tooltip {
38
- opacity: 1;
39
- visibility: visible;
40
- pointer-events: auto;
41
- }
42
- .tooltip__body--large {
43
- font-size: var(--nile-tooltip-font-size-lg, 16px);
44
- line-height: var(--nile-tooltip-line-height-lg, 1.75);
45
- }
46
- .tooltip-content {
47
- overflow: auto;
48
- max-width: 252px;
49
- max-height: 116px;
50
- }
51
- .tooltip-caret {
52
- position: absolute;
53
- width: calc(2 * var(--caret-size, 6px));
54
- height: calc(2 * var(--caret-size, 6px));
55
- background-color: inherit;
56
- transform: rotate(45deg);
57
- z-index: -1;
58
- }
59
- .trigger-container {
60
- display: inline-block;
61
- }
62
-
22
+ .tooltip {
23
+ --arrow-size: 6px;
24
+ --arrow-color: var(--nile-tooltip-color-background);
25
+ }
63
26
 
27
+ .tooltip::part(popup) {
28
+ pointer-events: none;
29
+ z-index: 1000;
30
+ }
64
31
 
32
+ .tooltip[placement^='top']::part(popup) {
33
+ transform-origin: bottom;
34
+ }
65
35
 
36
+ .tooltip[placement^='bottom']::part(popup) {
37
+ transform-origin: top;
38
+ }
66
39
 
40
+ .tooltip[placement^='left']::part(popup) {
41
+ transform-origin: right;
42
+ }
67
43
 
44
+ .tooltip[placement^='right']::part(popup) {
45
+ transform-origin: left;
46
+ }
68
47
 
48
+ .tooltip__body {
49
+ display: block;
50
+ width: max-content;
51
+ max-width: var(--max-width);
52
+ border-radius: 4px;
53
+ background-color: var(--nile-tooltip-color-background);
54
+ font-size: var(--nile-tooltip-font-size-sm);
55
+ font-weight: var(--nile-tooltip-font-weight-sm);
56
+ line-height: var(--nile-tooltip-line-height-sm);
57
+ padding: var(--nile-tooltip-padding-y) var(--nile-tooltip-padding-x);
58
+ color: var(--nile-colors-white-base);
59
+ pointer-events: none;
60
+ word-break: break-word;
61
+ }
69
62
 
70
-
63
+ .tooltip__body--large {
64
+ font-size: var(--nile-tooltip-font-size-lg);
65
+ line-height: var(--nile-tooltip-line-height-lg);
66
+ font-weight: var(--nile-tooltip-font-weight-lg);
67
+ }
71
68
  `;
72
69
 
73
- export default [styles];
70
+ export default [styles];