@aquera/nile-elements 0.0.61 → 0.0.63

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 (129) hide show
  1. package/README.md +9 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +2 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.iife.js +70 -38
  7. package/dist/nile-badge/index.cjs.js +1 -1
  8. package/dist/nile-badge/index.esm.js +1 -1
  9. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  10. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  11. package/dist/nile-badge/nile-badge.esm.js +1 -1
  12. package/dist/nile-button/index.cjs.js +1 -1
  13. package/dist/nile-button/index.esm.js +1 -1
  14. package/dist/nile-button/nile-button.cjs.js +1 -1
  15. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  16. package/dist/nile-button/nile-button.esm.js +1 -1
  17. package/dist/nile-dialog/index.cjs.js +1 -1
  18. package/dist/nile-dialog/index.esm.js +1 -1
  19. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  20. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  21. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  22. package/dist/nile-icon/icons/svg/applications-2.cjs.js +2 -0
  23. package/dist/nile-icon/icons/svg/applications-2.cjs.js.map +1 -0
  24. package/dist/nile-icon/icons/svg/applications-2.esm.js +1 -0
  25. package/dist/nile-icon/icons/svg/apps.cjs.js +2 -0
  26. package/dist/nile-icon/icons/svg/apps.cjs.js.map +1 -0
  27. package/dist/nile-icon/icons/svg/apps.esm.js +1 -0
  28. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  29. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  30. package/dist/nile-icon/index.cjs.js +1 -1
  31. package/dist/nile-icon/index.cjs.js.map +1 -1
  32. package/dist/nile-icon/index.esm.js +1 -1
  33. package/dist/nile-icon-button/index.cjs.js +1 -1
  34. package/dist/nile-icon-button/index.esm.js +1 -1
  35. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  36. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  37. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  38. package/dist/nile-input/index.cjs.js +1 -1
  39. package/dist/nile-input/index.esm.js +1 -1
  40. package/dist/nile-input/nile-input.cjs.js +1 -1
  41. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  42. package/dist/nile-input/nile-input.esm.js +1 -1
  43. package/dist/nile-loader/nile-loader.cjs.js +1 -1
  44. package/dist/nile-loader/nile-loader.cjs.js.map +1 -1
  45. package/dist/nile-loader/nile-loader.esm.js +1 -1
  46. package/dist/nile-menu-item/index.cjs.js +1 -1
  47. package/dist/nile-menu-item/index.esm.js +1 -1
  48. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  49. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  50. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  51. package/dist/nile-option/index.cjs.js +1 -1
  52. package/dist/nile-option/index.esm.js +1 -1
  53. package/dist/nile-option/nile-option.cjs.js +1 -1
  54. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  55. package/dist/nile-option/nile-option.esm.js +1 -1
  56. package/dist/nile-select/index.cjs.js +1 -1
  57. package/dist/nile-select/index.esm.js +1 -1
  58. package/dist/nile-select/nile-select.cjs.js +1 -1
  59. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  60. package/dist/nile-select/nile-select.esm.js +1 -1
  61. package/dist/nile-tab/index.cjs.js +1 -1
  62. package/dist/nile-tab/index.esm.js +1 -1
  63. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  64. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  65. package/dist/nile-tab/nile-tab.esm.js +1 -1
  66. package/dist/nile-tab-group/index.cjs.js +1 -1
  67. package/dist/nile-tab-group/index.esm.js +1 -1
  68. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  69. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  70. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  71. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  72. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  73. package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
  74. package/dist/nile-table-body/nile-table-body.css.cjs.js.map +1 -1
  75. package/dist/nile-table-body/nile-table-body.css.esm.js +3 -3
  76. package/dist/nile-table-body/nile-table-body.esm.js +4 -3
  77. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  78. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  79. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  80. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  81. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +16 -7
  82. package/dist/nile-table-header-item/nile-table-header-item.esm.js +25 -4
  83. package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
  84. package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
  85. package/dist/nile-table-row/nile-table-row.css.esm.js +1 -0
  86. package/dist/nile-tag/index.cjs.js +1 -1
  87. package/dist/nile-tag/index.esm.js +1 -1
  88. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  89. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  90. package/dist/nile-tag/nile-tag.esm.js +1 -1
  91. package/dist/nile-toast/index.cjs.js +1 -1
  92. package/dist/nile-toast/index.esm.js +1 -1
  93. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  94. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  95. package/dist/nile-toast/nile-toast.esm.js +1 -1
  96. package/dist/src/nile-icon/icons/svg/applications-2.d.ts +5 -0
  97. package/dist/src/nile-icon/icons/svg/applications-2.js +5 -0
  98. package/dist/src/nile-icon/icons/svg/applications-2.js.map +1 -0
  99. package/dist/src/nile-icon/icons/svg/apps.d.ts +5 -0
  100. package/dist/src/nile-icon/icons/svg/apps.js +5 -0
  101. package/dist/src/nile-icon/icons/svg/apps.js.map +1 -0
  102. package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
  103. package/dist/src/nile-icon/icons/svg/index.js +2 -0
  104. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  105. package/dist/src/nile-loader/nile-loader.js +1 -1
  106. package/dist/src/nile-loader/nile-loader.js.map +1 -1
  107. package/dist/src/nile-table-body/nile-table-body.css.js +3 -3
  108. package/dist/src/nile-table-body/nile-table-body.css.js.map +1 -1
  109. package/dist/src/nile-table-body/nile-table-body.d.ts +3 -2
  110. package/dist/src/nile-table-body/nile-table-body.js +24 -16
  111. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  112. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +16 -7
  113. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  114. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +4 -1
  115. package/dist/src/nile-table-header-item/nile-table-header-item.js +43 -9
  116. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  117. package/dist/src/nile-table-row/nile-table-row.css.js +1 -0
  118. package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +1 -1
  121. package/src/nile-icon/icons/svg/applications-2.ts +5 -0
  122. package/src/nile-icon/icons/svg/apps.ts +5 -0
  123. package/src/nile-icon/icons/svg/index.ts +2 -0
  124. package/src/nile-loader/nile-loader.ts +1 -1
  125. package/src/nile-table-body/nile-table-body.css.ts +3 -3
  126. package/src/nile-table-body/nile-table-body.ts +24 -15
  127. package/src/nile-table-header-item/nile-table-header-item.css.ts +16 -7
  128. package/src/nile-table-header-item/nile-table-header-item.ts +45 -12
  129. package/src/nile-table-row/nile-table-row.css.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-body.css.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableBody CSS\n */\nexport const styles = css`\n\n :host {\n box-sizing: border-box;\n --nile-table-background--odd: var(\n --nile-table-body-row-odd-background-color\n );\n --nile-table-background--even: var(\n --nile-table-body-row-even-background-color\n );\n }\n\n .base {\n width: max-content;\n background-color: var(--nile-colors-white-base);\n border: 1px solid var(--nile-table-row-border-color);\n border-radius: var(--nile-radius-radius-xl);\n box-shadow: 0px 1px 3px 0px rgba(16, 24, 40, 0.1),\n 0px 1px 2px 0px rgba(16, 24, 40, 0.06);\n overflow:hidden;\n }\n\n .table__header {\n display: flex;\n box-sizing: border-box;\n }\n\n .nile__table__body {\n display: table;\n border-collapse: collapse;\n }\n\n slot::slotted(nile-table-row:nth-child(odd)) {\n background: var(--nile-table-background--odd);\n }\n\n slot::slotted(nile-table-row:nth-child(even)) {\n background: var(--nile-table-background--even);\n }\n\n slot::slotted(nile-table-row:last-child) {\n border-bottom: 0px;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-table-body.css.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableBody CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n --nile-table-background--odd: var(\n --nile-table-body-row-odd-background-color\n );\n --nile-table-background--even: var(\n --nile-table-body-row-even-background-color\n );\n }\n\n .base {\n background-color: var(--nile-colors-white-base);\n border: 1px solid var(--nile-table-row-border-color);\n border-radius: var(--nile-radius-radius-xl);\n box-shadow: 0px 1px 3px 0px rgba(16, 24, 40, 0.1),\n 0px 1px 2px 0px rgba(16, 24, 40, 0.06);\n overflow: hidden;\n }\n\n .table__header {\n display: flex;\n box-sizing: border-box;\n }\n\n .nile__table__body {\n display: table;\n border-collapse: collapse;\n width:100%;\n }\n\n slot::slotted(nile-table-row:nth-child(odd)) {\n border-bottom: 1px solid #e4e2e4;\n background: var(--nile-table-background--odd);\n }\n\n slot::slotted(nile-table-row:nth-child(even)) {\n background: var(--nile-table-background--even);\n }\n\n slot::slotted(nile-table-row:last-child) {\n border-bottom: 0px;\n }\n`;\n\nexport default [styles];\n"]}
@@ -19,17 +19,18 @@ export declare class NileTableBody extends NileElement {
19
19
  */
20
20
  defaultSlot: HTMLSlotElement;
21
21
  _childNodes: Array<HTMLElement>;
22
- private sortOrder;
23
22
  private rows_data;
24
23
  private header_rows_data;
25
24
  private sort__index;
25
+ private search__index;
26
26
  static get styles(): CSSResultArray;
27
27
  private getChildren;
28
+ private getIndexValue;
28
29
  handleSlotchange(e: any): void;
29
30
  private handleDataChange;
30
31
  private handleDataSort;
31
- private getIndexValue;
32
32
  private handleSort;
33
+ private handleSearch;
33
34
  render(): TemplateResult;
34
35
  }
35
36
  export default NileTableBody;
@@ -22,7 +22,6 @@ let NileTableBody = class NileTableBody extends NileElement {
22
22
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
23
23
  */
24
24
  super(...arguments);
25
- this.sortOrder = false;
26
25
  this.rows_data = [];
27
26
  this.header_rows_data = [];
28
27
  /* #endregion */
@@ -35,6 +34,9 @@ let NileTableBody = class NileTableBody extends NileElement {
35
34
  getChildren(child, tagname) {
36
35
  return child.querySelectorAll(tagname);
37
36
  }
37
+ getIndexValue(index__value) {
38
+ return this.header_rows_data.indexOf(index__value);
39
+ }
38
40
  handleSlotchange(e) {
39
41
  let row_data = [];
40
42
  this._childNodes.forEach((child) => {
@@ -75,36 +77,42 @@ let NileTableBody = class NileTableBody extends NileElement {
75
77
  }
76
78
  });
77
79
  }
78
- handleDataSort(index) {
80
+ handleDataSort(index, order) {
79
81
  this.rows_data.sort((a, b) => {
80
- let first_row_value = a[index].toLowerCase();
81
- let second_row_value = b[index].toLowerCase();
82
- return this.sortOrder
83
- ? first_row_value < second_row_value
82
+ let first_row_value = a[index]?.toLowerCase();
83
+ let second_row_value = b[index]?.toLowerCase();
84
+ return order == 'asc'
85
+ ? first_row_value <= second_row_value
84
86
  ? 1
85
87
  : -1
86
88
  : first_row_value < second_row_value
87
89
  ? -1
88
90
  : 1;
89
91
  });
90
- this.sortOrder = !this.sortOrder;
91
- }
92
- getIndexValue(index__value) {
93
- return this.header_rows_data.indexOf(index__value);
94
92
  }
95
93
  handleSort(e) {
96
- this.sort__index = this.getIndexValue(e.detail.value.textContent);
97
- this.handleDataSort(this.sort__index);
94
+ const { curr_sort_string, order } = e.detail.value;
95
+ this.sort__index = this.getIndexValue(curr_sort_string);
96
+ this.handleDataSort(this.sort__index, order);
98
97
  this.handleDataChange();
99
98
  }
99
+ handleSearch(e) {
100
+ const searchText = e.detail.value;
101
+ this.search__index = this.getIndexValue(e.target.textContent);
102
+ this.emit('nile-table-search', {
103
+ index: this.search__index,
104
+ value: searchText,
105
+ });
106
+ }
100
107
  render() {
101
108
  return html `
102
- <div class="base">
109
+ <div class="base" part="base">
103
110
  <slot name="table__header" class="table__header"></slot>
104
111
  <slot
105
112
  @slotchange=${this.handleSlotchange}
106
113
  @nile-click-sort=${this.handleSort}
107
114
  class="nile__table__body"
115
+ @nile-search=${this.handleSearch}
108
116
  ></slot>
109
117
  </div>
110
118
  `;
@@ -116,9 +124,6 @@ __decorate([
116
124
  __decorate([
117
125
  queryAssignedNodes({ flatten: true })
118
126
  ], NileTableBody.prototype, "_childNodes", void 0);
119
- __decorate([
120
- state()
121
- ], NileTableBody.prototype, "sortOrder", void 0);
122
127
  __decorate([
123
128
  state()
124
129
  ], NileTableBody.prototype, "rows_data", void 0);
@@ -128,6 +133,9 @@ __decorate([
128
133
  __decorate([
129
134
  state()
130
135
  ], NileTableBody.prototype, "sort__index", void 0);
136
+ __decorate([
137
+ state()
138
+ ], NileTableBody.prototype, "search__index", void 0);
131
139
  NileTableBody = __decorate([
132
140
  customElement('nile-table-body')
133
141
  ], NileTableBody);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true })\n _childNodes!: Array<HTMLElement>;\n\n @state() private sortOrder = false;\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n }\n\n private handleDataChange() {\n let i = 0;\n let j = 0;\n this._childNodes.forEach((child: any, index) => {\n if (\n index != 0 &&\n child.tagName &&\n child?.tagName?.toLowerCase() === 'nile-table-row'\n ) {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach(\n (element: { innerHTML: any }, curr_index: number) => {\n element.innerHTML = this.rows_data[i][curr_index];\n }\n );\n i++;\n }\n }\n });\n }\n\n private handleDataSort(index: number) {\n this.rows_data.sort((a: any, b: any) => {\n let first_row_value = a[index].toLowerCase();\n let second_row_value = b[index].toLowerCase();\n return this.sortOrder\n ? first_row_value < second_row_value\n ? 1\n : -1\n : first_row_value < second_row_value\n ? -1\n : 1;\n });\n\n this.sortOrder = !this.sortOrder;\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n private handleSort(e: any) {\n this.sort__index = this.getIndexValue(e.detail.value.textContent);\n this.handleDataSort(this.sort__index);\n this.handleDataChange();\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true })\n _childNodes!: Array<HTMLElement>;\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n }\n\n private handleDataChange() {\n let i = 0;\n let j = 0;\n this._childNodes.forEach((child: any, index) => {\n if (\n index != 0 &&\n child.tagName &&\n child?.tagName?.toLowerCase() === 'nile-table-row'\n ) {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach(\n (element: { innerHTML: any }, curr_index: number) => {\n element.innerHTML = this.rows_data[i][curr_index];\n }\n );\n i++;\n }\n }\n });\n }\n\n private handleDataSort(index: number, order: string) {\n this.rows_data.sort((a: any, b: any) => {\n let first_row_value = a[index]?.toLowerCase();\n let second_row_value = b[index]?.toLowerCase();\n return order == 'asc'\n ? first_row_value <= second_row_value\n ? 1\n : -1\n : first_row_value < second_row_value\n ? -1\n : 1;\n });\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n this.sort__index = this.getIndexValue(curr_sort_string);\n this.handleDataSort(this.sort__index, order);\n this.handleDataChange();\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n @nile-search=${this.handleSearch}\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
@@ -12,8 +12,7 @@ export const styles = css `
12
12
  :host {
13
13
  display: table-cell;
14
14
  box-sizing: border-box;
15
- --min--height: 52px;
16
- --min--width: 180px;
15
+ --min-height: 52px;
17
16
  }
18
17
 
19
18
  .headers {
@@ -21,26 +20,36 @@ export const styles = css `
21
20
  padding: 0 var(--nile-type-scale-4);
22
21
  align-items: center;
23
22
  height: auto;
24
- min-height: var(--min--height);
25
- width: auto;
26
- min-width: var(--min--width);
23
+ min-height: var(--min-height);
24
+ width: 100%;
27
25
  gap: 8px;
28
26
  color: var(--nile-colors-dark-900);
29
27
  font-feature-settings: 'clig' off, 'liga' off;
30
28
  font-size: var(--nile-type-scale-3);
31
29
  font-style: normal;
32
30
  font-weight: var(--nile-font-weight-regular);
33
- line-height: var(--nile-type-scale-3); /* 100% */
31
+ line-height: var(--nile-type-scale-3);
34
32
  letter-spacing: 0.2px;
35
33
  }
36
34
 
37
35
  slot {
38
36
  cursor: pointer;
39
37
  }
40
-
38
+
41
39
  nile-icon {
42
40
  cursor: pointer;
43
41
  }
42
+
43
+ .sorting__icons {
44
+ display: flex;
45
+ flex-direction: column;
46
+ justify-content: space-between;
47
+ align-items: centre;
48
+ }
49
+
50
+ .sorting__icons nile-icon:hover {
51
+ opacity: 0.4;
52
+ }
44
53
  `;
45
54
  export default [styles];
46
55
  //# sourceMappingURL=nile-table-header-item.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-header-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n --min--height: 52px;\n --min--width: 180px;\n }\n\n .headers {\n display: flex;\n padding: 0 var(--nile-type-scale-4);\n align-items: center;\n height: auto;\n min-height: var(--min--height);\n width: auto;\n min-width: var(--min--width);\n gap: 8px;\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-type-scale-3); /* 100% */\n letter-spacing: 0.2px;\n }\n\n slot {\n cursor: pointer;\n }\n \n nile-icon {\n cursor: pointer;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-table-header-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n --min-height: 52px;\n }\n\n .headers {\n display: flex;\n padding: 0 var(--nile-type-scale-4);\n align-items: center;\n height: auto;\n min-height: var(--min-height);\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-type-scale-3);\n letter-spacing: 0.2px;\n }\n\n slot {\n cursor: pointer;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n`;\n\nexport default [styles];\n"]}
@@ -21,13 +21,16 @@ export declare class NileTableHeaderItem extends NileElement {
21
21
  static get styles(): CSSResultArray;
22
22
  /** Enables the sort functionality. */
23
23
  havesort: boolean;
24
+ /** Enables the sort functionality. */
25
+ havefilter: boolean;
24
26
  /** Places the icon . */
25
27
  iconName: string;
26
28
  /**
27
29
  * Render method
28
30
  * @slot This is a slot test
29
31
  */
30
- private handleClick;
32
+ private handleSort;
33
+ private handleSearch;
31
34
  render(): TemplateResult;
32
35
  }
33
36
  export default NileTableHeaderItem;
@@ -22,6 +22,8 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
22
22
  this.hasSlotController = new HasSlotController(this, '[default]');
23
23
  /** Enables the sort functionality. */
24
24
  this.havesort = false;
25
+ /** Enables the sort functionality. */
26
+ this.havefilter = false;
25
27
  /** Places the icon . */
26
28
  this.iconName = '';
27
29
  /* #endregion */
@@ -39,27 +41,59 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
39
41
  * Render method
40
42
  * @slot This is a slot test
41
43
  */
42
- handleClick(e) {
43
- if (!this.havesort) {
44
- return;
45
- }
46
- let curr_sort_string = e.target?.parentElement?.children[0]?.assignedNodes()[0];
47
- this.emit('nile-click-sort', { value: curr_sort_string });
44
+ handleSort(e) {
45
+ const clickedIcon = e.target;
46
+ const order = clickedIcon.getAttribute('name') === 'arrowdropup' ? 'asc' : 'desc';
47
+ let curr_sort_string = this.hasSlotController.host.innerHTML;
48
+ this.emit('nile-click-sort', {
49
+ value: { curr_sort_string, order },
50
+ });
51
+ }
52
+ handleSearch(e) {
53
+ this.emit('nile-search', { value: e.detail.value });
48
54
  }
49
55
  render() {
50
56
  return html ` ${this.hasSlotController.test('[default]')
51
57
  ? html ` <div class="headers">
52
- <slot @click=${this.handleClick}> </slot>
58
+ <slot> </slot>
59
+ ${this.havesort
60
+ ? html ` <span class="sorting__icons">
61
+ <nile-icon
62
+ name="arrowdropup"
63
+ size="16"
64
+ @click=${this.handleSort}
65
+ ></nile-icon>
66
+ <nile-icon
67
+ name="arrowdropdown"
68
+ size="16"
69
+ @click=${this.handleSort}
70
+ ></nile-icon>
71
+ </span>`
72
+ : null}
53
73
  ${this.iconName
54
- ? html ` <nile-icon name="${this.iconName}" size="16" @click=${this.handleClick}></nile-icon>`
74
+ ? html ` <nile-icon name="${this.iconName}" size="16"></nile-icon>`
75
+ : html ``}
76
+ ${this.havefilter
77
+ ? html ` <nile-popover title="Filter" placement="bottom">
78
+ <nile-icon name="filter" size="16" slot="anchor"></nile-icon>
79
+ <nile-input
80
+ placeholder="Search"
81
+ @nile-input=${this.handleSearch}
82
+ part="filter__search"
83
+ ></nile-input>
84
+ <slot name="filter__content" part="filter__content"></slot>
85
+ </nile-popover>`
55
86
  : html ``}
56
87
  </div>`
57
- : html ``}`;
88
+ : null}`;
58
89
  }
59
90
  };
60
91
  __decorate([
61
92
  property({ type: Boolean, reflect: true })
62
93
  ], NileTableHeaderItem.prototype, "havesort", void 0);
94
+ __decorate([
95
+ property({ type: Boolean, reflect: true })
96
+ ], NileTableHeaderItem.prototype, "havefilter", void 0);
63
97
  __decorate([
64
98
  property({ type: String, reflect: true, attribute: 'icon-name' })
65
99
  ], NileTableHeaderItem.prototype, "iconName", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-header-item.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,EACJ,QAAQ,GAGT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;GAKG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,WAAW;IAA7C;;QACY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAS9E,sCAAsC;QACM,aAAQ,GAAG,KAAK,CAAC;QAE7D,wBAAwB;QAC2C,aAAQ,GACzE,EAAE,CAAC;QA6BL,gBAAgB;IAClB,CAAC;IA3CC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IASD,gBAAgB;IAEhB,qBAAqB;IAErB;;;OAGG;IACK,WAAW,CAAC,CAAM;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,IAAI,gBAAgB,GAClB,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5D,CAAC;IACM,MAAM;QACX,OAAO,IAAI,CAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,IAAI,CAAA;yBACa,IAAI,CAAC,WAAW;YAC7B,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAA,qBAAqB,IAAI,CAAC,QAAQ,sBAAsB,IAAI,CAAC,WAAW,eAAe;gBAC7F,CAAC,CAAC,IAAI,CAAA,EAAE;eACL;YACT,CAAC,CAAC,IAAI,CAAA,EAAE,EAAE,CAAC;IACf,CAAC;CAGF,CAAA;AAlC6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAkB;AAGM;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDAC7D;AAfM,mBAAmB;IAD/B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,mBAAmB,CA6C/B;SA7CY,mBAAmB;AA+ChC,eAAe,mBAAmB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * Nile icon component.\n *\n * @tag nile-table-header-item\n *\n */\n@customElement('nile-table-header-item')\nexport class NileTableHeaderItem extends NileElement {\n private readonly hasSlotController = new HasSlotController(this, '[default]');\n /**\n * The styles for TableHeaderItem\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havesort = false;\n \n /** Places the icon . */\n @property({ type: String, reflect: true, attribute: 'icon-name' }) iconName =\n '';\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleClick(e: any) {\n if (!this.havesort) {\n return;\n }\n let curr_sort_string =\n e.target?.parentElement?.children[0]?.assignedNodes()[0];\n this.emit('nile-click-sort', { value: curr_sort_string });\n }\n public render(): TemplateResult {\n return html` ${this.hasSlotController.test('[default]')\n ? html` <div class=\"headers\">\n <slot @click=${this.handleClick}> </slot>\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" size=\"16\" @click=${this.handleClick}></nile-icon>`\n : html``}\n </div>`\n : html``}`;\n }\n\n /* #endregion */\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-table-header-item.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,EACJ,QAAQ,GAGT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;GAKG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,WAAW;IAA7C;;QACY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAS9E,sCAAsC;QACM,aAAQ,GAAG,KAAK,CAAC;QAE7D,sCAAsC;QACM,eAAU,GAAG,KAAK,CAAC;QAE/D,wBAAwB;QAC2C,aAAQ,GACzE,EAAE,CAAC;QA2DL,gBAAgB;IAClB,CAAC;IA5EC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAYD,gBAAgB;IAEhB,qBAAqB;IAErB;;;OAGG;IACK,UAAU,CAAC,CAAM;QACvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,KAAK,GACT,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,CAAM;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,IAAI,CAAA;;YAEA,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,IAAI,CAAC,UAAU;;;;;2BAKf,IAAI,CAAC,UAAU;;sBAEpB;gBACV,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAA,qBAAqB,IAAI,CAAC,QAAQ,0BAA0B;gBAClE,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,IAAI,CAAC,UAAU;gBACf,CAAC,CAAC,IAAI,CAAA;;;;gCAIc,IAAI,CAAC,YAAY;;;;8BAInB;gBAClB,CAAC,CAAC,IAAI,CAAA,EAAE;eACL;YACT,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CAEF,CAAA;AAnE6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDAAoB;AAGI;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDAC7D;AAlBM,mBAAmB;IAD/B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,mBAAmB,CA8E/B;SA9EY,mBAAmB;AAgFhC,eAAe,mBAAmB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * Nile icon component.\n *\n * @tag nile-table-header-item\n *\n */\n@customElement('nile-table-header-item')\nexport class NileTableHeaderItem extends NileElement {\n private readonly hasSlotController = new HasSlotController(this, '[default]');\n /**\n * The styles for TableHeaderItem\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havesort = false;\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havefilter = false;\n\n /** Places the icon . */\n @property({ type: String, reflect: true, attribute: 'icon-name' }) iconName =\n '';\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleSort(e: any) {\n const clickedIcon = e.target;\n const order =\n clickedIcon.getAttribute('name') === 'arrowdropup' ? 'asc' : 'desc';\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n this.emit('nile-search', { value: e.detail.value });\n }\n\n public render(): TemplateResult {\n return html` ${this.hasSlotController.test('[default]')\n ? html` <div class=\"headers\">\n <slot> </slot>\n ${this.havesort\n ? html` <span class=\"sorting__icons\">\n <nile-icon\n name=\"arrowdropup\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>\n <nile-icon\n name=\"arrowdropdown\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>\n </span>`\n : null}\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" size=\"16\"></nile-icon>`\n : html``}\n ${this.havefilter\n ? html` <nile-popover title=\"Filter\" placement=\"bottom\">\n <nile-icon name=\"filter\" size=\"16\" slot=\"anchor\"></nile-icon>\n <nile-input\n placeholder=\"Search\"\n @nile-input=${this.handleSearch}\n part=\"filter__search\"\n ></nile-input>\n <slot name=\"filter__content\" part=\"filter__content\"></slot>\n </nile-popover>`\n : html``}\n </div>`\n : null}`;\n }\n /* #endregion */\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}
@@ -11,6 +11,7 @@ import { css } from 'lit-element';
11
11
  export const styles = css `
12
12
  :host {
13
13
  display: table-row;
14
+ width:100%;
14
15
  --nile-header-background:var(--nile-table-header-background-color);
15
16
  border-bottom: 1px solid var(--nile-table-row-border-color);
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-row.css.js","sourceRoot":"","sources":["../../../src/nile-table-row/nile-table-row.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableRow CSS\n */\nexport const styles = css`\n :host {\n display: table-row;\n --nile-header-background:var(--nile-table-header-background-color);\n border-bottom: 1px solid var(--nile-table-row-border-color);\n }\n\n slot::slotted(nile-table-header-item) {\n background-color: var(--nile-header-background);\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-table-row.css.js","sourceRoot":"","sources":["../../../src/nile-table-row/nile-table-row.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;CAWxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * TableRow CSS\n */\nexport const styles = css`\n :host {\n display: table-row;\n width:100%;\n --nile-header-background:var(--nile-table-header-background-color);\n border-bottom: 1px solid var(--nile-table-row-border-color);\n }\n\n slot::slotted(nile-table-header-item) {\n background-color: var(--nile-header-background);\n }\n`;\n\nexport default [styles];\n"]}