@aquera/nile-elements 0.1.55 → 0.1.56-beta-1.0

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 (199) hide show
  1. package/README.md +0 -8
  2. package/demo/index.html +9 -25
  3. package/demo/index.js +83 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.js +136 -12
  7. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  8. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  9. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  10. package/dist/nile-badge/index.cjs.js +1 -1
  11. package/dist/nile-badge/index.esm.js +1 -1
  12. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  13. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  14. package/dist/nile-badge/nile-badge.esm.js +1 -1
  15. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  16. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  17. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  18. package/dist/nile-button/index.cjs.js +1 -1
  19. package/dist/nile-button/index.esm.js +1 -1
  20. package/dist/nile-button/nile-button.cjs.js +1 -1
  21. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  22. package/dist/nile-button/nile-button.esm.js +1 -1
  23. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  24. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  25. package/dist/nile-button/nile-button.test.esm.js +1 -1
  26. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  27. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  28. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  29. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  30. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  31. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  32. package/dist/nile-code-editor/theme.cjs.js +1 -1
  33. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  34. package/dist/nile-code-editor/theme.esm.js +1 -1
  35. package/dist/nile-dialog/index.cjs.js +1 -1
  36. package/dist/nile-dialog/index.esm.js +1 -1
  37. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  38. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  39. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  40. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  41. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  42. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  43. package/dist/nile-drawer/index.cjs.js +1 -1
  44. package/dist/nile-drawer/index.esm.js +1 -1
  45. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  46. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  47. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  48. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  49. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  50. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  51. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  52. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  53. package/dist/nile-error-notification/nile-error-notification.esm.js +2 -4
  54. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  55. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  56. package/dist/nile-icon/index.cjs.js +1 -1
  57. package/dist/nile-icon/index.cjs.js.map +1 -1
  58. package/dist/nile-icon/index.esm.js +1 -1
  59. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  60. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  61. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  62. package/dist/nile-icon-button/index.cjs.js +1 -1
  63. package/dist/nile-icon-button/index.esm.js +1 -1
  64. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  65. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  66. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  67. package/dist/nile-input/index.cjs.js +1 -1
  68. package/dist/nile-input/index.esm.js +1 -1
  69. package/dist/nile-input/nile-input.cjs.js +1 -1
  70. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  71. package/dist/nile-input/nile-input.esm.js +1 -1
  72. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  73. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  74. package/dist/nile-input/nile-input.test.esm.js +1 -1
  75. package/dist/nile-menu-item/index.cjs.js +1 -1
  76. package/dist/nile-menu-item/index.esm.js +1 -1
  77. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  78. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  79. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  80. package/dist/nile-option/index.cjs.js +1 -1
  81. package/dist/nile-option/index.esm.js +1 -1
  82. package/dist/nile-option/nile-option.cjs.js +1 -1
  83. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  84. package/dist/nile-option/nile-option.esm.js +1 -1
  85. package/dist/nile-select/index.cjs.js +1 -1
  86. package/dist/nile-select/index.esm.js +1 -1
  87. package/dist/nile-select/nile-select.cjs.js +1 -1
  88. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  89. package/dist/nile-select/nile-select.esm.js +1 -1
  90. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  91. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  92. package/dist/nile-select/nile-select.test.esm.js +1 -1
  93. package/dist/nile-tab/index.cjs.js +1 -1
  94. package/dist/nile-tab/index.esm.js +1 -1
  95. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  96. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  97. package/dist/nile-tab/nile-tab.esm.js +1 -1
  98. package/dist/nile-tab-group/index.cjs.js +1 -1
  99. package/dist/nile-tab-group/index.esm.js +1 -1
  100. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  101. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  102. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  103. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  104. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  105. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  106. package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
  107. package/dist/nile-table-body/nile-table-body.css.cjs.js.map +1 -1
  108. package/dist/nile-table-body/nile-table-body.css.esm.js +1 -0
  109. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  110. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
  111. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  112. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  113. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +89 -3
  114. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +6 -3
  115. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  116. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  117. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  118. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  119. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +35 -0
  120. package/dist/nile-table-header-item/nile-table-header-item.esm.js +3 -2
  121. package/dist/nile-tag/index.cjs.js +1 -1
  122. package/dist/nile-tag/index.esm.js +1 -1
  123. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  124. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  125. package/dist/nile-tag/nile-tag.esm.js +1 -1
  126. package/dist/nile-toast/index.cjs.js +1 -1
  127. package/dist/nile-toast/index.esm.js +1 -1
  128. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  129. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  130. package/dist/nile-toast/nile-toast.esm.js +1 -1
  131. package/dist/nile-tree/index.cjs.js +1 -1
  132. package/dist/nile-tree/index.esm.js +1 -1
  133. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  134. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  135. package/dist/nile-tree/nile-tree.esm.js +1 -1
  136. package/dist/nile-tree-item/index.cjs.js +1 -1
  137. package/dist/nile-tree-item/index.esm.js +1 -1
  138. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  139. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  140. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  141. package/dist/src/nile-code-editor/theme.d.ts +2 -41
  142. package/dist/src/nile-code-editor/theme.js +12 -51
  143. package/dist/src/nile-code-editor/theme.js.map +1 -1
  144. package/dist/src/nile-error-notification/nile-error-notification.js +2 -4
  145. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  146. package/dist/src/nile-icon/icons/svg/index.d.ts +0 -4
  147. package/dist/src/nile-icon/icons/svg/index.js +0 -4
  148. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  149. package/dist/src/nile-table-body/nile-table-body.css.js +1 -0
  150. package/dist/src/nile-table-body/nile-table-body.css.js.map +1 -1
  151. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +87 -1
  152. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  153. package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +4 -0
  154. package/dist/src/nile-table-cell-item/nile-table-cell-item.js +52 -3
  155. package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
  156. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +35 -0
  157. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  158. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +5 -0
  159. package/dist/src/nile-table-header-item/nile-table-header-item.js +60 -15
  160. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  161. package/dist/tsconfig.tsbuildinfo +1 -1
  162. package/package.json +1 -1
  163. package/src/nile-code-editor/theme.ts +12 -51
  164. package/src/nile-error-notification/nile-error-notification.ts +3 -4
  165. package/src/nile-icon/icons/svg/index.ts +0 -4
  166. package/src/nile-table-body/nile-table-body.css.ts +1 -0
  167. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +87 -1
  168. package/src/nile-table-cell-item/nile-table-cell-item.ts +59 -3
  169. package/src/nile-table-header-item/nile-table-header-item.css.ts +35 -0
  170. package/src/nile-table-header-item/nile-table-header-item.ts +58 -5
  171. package/vscode-html-custom-data.json +14 -3
  172. package/dist/nile-icon/icons/svg/attribute.cjs.js +0 -2
  173. package/dist/nile-icon/icons/svg/attribute.cjs.js.map +0 -1
  174. package/dist/nile-icon/icons/svg/attribute.esm.js +0 -1
  175. package/dist/nile-icon/icons/svg/class.cjs.js +0 -2
  176. package/dist/nile-icon/icons/svg/class.cjs.js.map +0 -1
  177. package/dist/nile-icon/icons/svg/class.esm.js +0 -1
  178. package/dist/nile-icon/icons/svg/function.cjs.js +0 -2
  179. package/dist/nile-icon/icons/svg/function.cjs.js.map +0 -1
  180. package/dist/nile-icon/icons/svg/function.esm.js +0 -1
  181. package/dist/nile-icon/icons/svg/keyword.cjs.js +0 -2
  182. package/dist/nile-icon/icons/svg/keyword.cjs.js.map +0 -1
  183. package/dist/nile-icon/icons/svg/keyword.esm.js +0 -1
  184. package/dist/src/nile-icon/icons/svg/attribute.d.ts +0 -5
  185. package/dist/src/nile-icon/icons/svg/attribute.js +0 -5
  186. package/dist/src/nile-icon/icons/svg/attribute.js.map +0 -1
  187. package/dist/src/nile-icon/icons/svg/class.d.ts +0 -5
  188. package/dist/src/nile-icon/icons/svg/class.js +0 -5
  189. package/dist/src/nile-icon/icons/svg/class.js.map +0 -1
  190. package/dist/src/nile-icon/icons/svg/function.d.ts +0 -5
  191. package/dist/src/nile-icon/icons/svg/function.js +0 -5
  192. package/dist/src/nile-icon/icons/svg/function.js.map +0 -1
  193. package/dist/src/nile-icon/icons/svg/keyword.d.ts +0 -5
  194. package/dist/src/nile-icon/icons/svg/keyword.js +0 -5
  195. package/dist/src/nile-icon/icons/svg/keyword.js.map +0 -1
  196. package/src/nile-icon/icons/svg/attribute.ts +0 -5
  197. package/src/nile-icon/icons/svg/class.ts +0 -5
  198. package/src/nile-icon/icons/svg/function.ts +0 -5
  199. package/src/nile-icon/icons/svg/keyword.ts +0 -5
@@ -26,8 +26,9 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
26
26
  this.havefilter = false;
27
27
  /** Places the icon . */
28
28
  this.iconName = '';
29
+ /** Enables the resize functionality. */
30
+ this.resizable = false;
29
31
  this.sorting_ct = 0;
30
- /* #endregion */
31
32
  }
32
33
  /**
33
34
  * The styles for TableHeaderItem
@@ -38,6 +39,10 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
38
39
  }
39
40
  /* #endregion */
40
41
  /* #region Methods */
42
+ connectedCallback() {
43
+ super.connectedCallback();
44
+ console.log('Table header item connected, resizable:', this.resizable);
45
+ }
41
46
  /**
42
47
  * Render method
43
48
  * @slot This is a slot test
@@ -53,39 +58,76 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
53
58
  handleSearch(e) {
54
59
  this.emit('nile-search', { value: e.detail.value });
55
60
  }
61
+ handleResizeStart(e) {
62
+ e.preventDefault();
63
+ const startX = e.pageX;
64
+ const startWidth = this.offsetWidth;
65
+ const resizer = e.target;
66
+ resizer.classList.add('resizing');
67
+ const onMouseMove = (e) => {
68
+ const delta = e.pageX - startX;
69
+ const newWidth = Math.max(50, startWidth + delta);
70
+ this.style.width = newWidth + 'px';
71
+ const tableBody = this.closest('nile-table-body');
72
+ if (tableBody) {
73
+ const rows = tableBody.querySelectorAll('nile-table-row');
74
+ const headerIndex = this.getColumnIndex();
75
+ rows.forEach(row => {
76
+ const cells = row.querySelectorAll('nile-table-cell-item');
77
+ if (cells[headerIndex]) {
78
+ cells[headerIndex].style.width = newWidth + 'px';
79
+ }
80
+ });
81
+ }
82
+ };
83
+ const onMouseUp = () => {
84
+ resizer.classList.remove('resizing');
85
+ document.removeEventListener('mousemove', onMouseMove);
86
+ document.removeEventListener('mouseup', onMouseUp);
87
+ };
88
+ document.addEventListener('mousemove', onMouseMove);
89
+ document.addEventListener('mouseup', onMouseUp);
90
+ }
91
+ getColumnIndex() {
92
+ const headerRow = this.closest('nile-table-row');
93
+ if (headerRow) {
94
+ const headers = headerRow.querySelectorAll('nile-table-header-item');
95
+ return Array.from(headers).indexOf(this);
96
+ }
97
+ return 0;
98
+ }
56
99
  render() {
57
- return html ` ${this.hasSlotController.test('[default]')
58
- ? html `
100
+ return html `
59
101
  <div class="header__item__wrapper" part="nile__table-header-cell">
60
102
  <div class="headers">
61
103
  <slot> </slot>
62
104
  ${this.havesort && this.sorting_ct % 3 === 0
63
- ? html `<nile-icon
105
+ ? html `<nile-icon
64
106
  name="sortdown"
65
107
  size="16"
66
108
  @click=${this.handleSort}
67
109
  class="hover__arrow"
68
110
  ></nile-icon>`
69
- : null}
111
+ : null}
70
112
  ${this.havesort && this.sorting_ct % 3 === 1
71
- ? html `<nile-icon
113
+ ? html `<nile-icon
72
114
  name="sortdown"
73
115
  size="16"
74
116
  @click=${this.handleSort}
75
117
  ></nile-icon>`
76
- : null}
118
+ : null}
77
119
  ${this.havesort && this.sorting_ct % 3 === 2
78
- ? html `<nile-icon
120
+ ? html `<nile-icon
79
121
  name="sortup"
80
122
  size="16"
81
123
  @click=${this.handleSort}
82
124
  ></nile-icon>`
83
- : null}
125
+ : null}
84
126
  ${this.iconName
85
- ? html ` <nile-icon name="${this.iconName}" size="16"></nile-icon>`
86
- : html ``}
127
+ ? html ` <nile-icon name="${this.iconName}" size="16"></nile-icon>`
128
+ : html ``}
87
129
  ${this.havefilter
88
- ? html ` <nile-popover title="Filter" placement="bottom">
130
+ ? html ` <nile-popover title="Filter" placement="bottom">
89
131
  <nile-icon name="filter" size="16" slot="anchor"></nile-icon>
90
132
  <nile-input
91
133
  placeholder="Search"
@@ -94,10 +136,10 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
94
136
  ></nile-input>
95
137
  <slot name="filter__content" part="filter__content"></slot>
96
138
  </nile-popover>`
97
- : html ``}
139
+ : html ``}
98
140
  </div>
99
- </div>`
100
- : null}`;
141
+ ${this.resizable ? html `<div class="resizer" @mousedown=${this.handleResizeStart}></div>` : null}
142
+ </div>`;
101
143
  }
102
144
  };
103
145
  __decorate([
@@ -109,6 +151,9 @@ __decorate([
109
151
  __decorate([
110
152
  property({ type: String, reflect: true, attribute: 'icon-name' })
111
153
  ], NileTableHeaderItem.prototype, "iconName", void 0);
154
+ __decorate([
155
+ property({ type: Boolean, reflect: true })
156
+ ], NileTableHeaderItem.prototype, "resizable", void 0);
112
157
  __decorate([
113
158
  state()
114
159
  ], NileTableHeaderItem.prototype, "sorting_ct", 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":"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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 CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, state, property } 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 @state() sorting_ct = 0;\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 this.sorting_ct++;\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n const order = ['normal', 'asc', 'des'];\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order: order[this.sorting_ct % 3] },\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`\n <div class=\"header__item__wrapper\" part=\"nile__table-header-cell\">\n <div class=\"headers\">\n <slot> </slot>\n ${this.havesort && this.sorting_ct % 3 === 0\n ? html`<nile-icon\n name=\"sortdown\"\n size=\"16\"\n @click=${this.handleSort}\n class=\"hover__arrow\"\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 1\n ? html`<nile-icon\n name=\"sortdown\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 2\n ? html`<nile-icon\n name=\"sortup\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\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 </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"]}
1
+ {"version":3,"file":"nile-table-header-item.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.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 CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, state, property } 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 /** Enables the resize functionality. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n @state() sorting_ct = 0;\n\n /* #endregion */\n\n /* #region Methods */\n\n connectedCallback() {\n super.connectedCallback();\n console.log('Table header item connected, resizable:', this.resizable);\n }\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleSort(e: any) {\n this.sorting_ct++;\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n const order = ['normal', 'asc', 'des'];\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order: order[this.sorting_ct % 3] },\n });\n }\n\n private handleSearch(e: any) {\n this.emit('nile-search', { value: e.detail.value });\n }\n\n private handleResizeStart(e: any) {\n e.preventDefault();\n const startX = e.pageX;\n const startWidth = this.offsetWidth;\n \n const resizer = e.target;\n resizer.classList.add('resizing');\n\n const onMouseMove = (e: any) => {\n const delta = e.pageX - startX;\n const newWidth = Math.max(50, startWidth + delta);\n\n this.style.width = newWidth + 'px';\n\n const tableBody = this.closest('nile-table-body');\n if (tableBody) {\n const rows = tableBody.querySelectorAll('nile-table-row');\n const headerIndex = this.getColumnIndex();\n \n rows.forEach(row => {\n const cells = row.querySelectorAll('nile-table-cell-item');\n if (cells[headerIndex]) {\n cells[headerIndex].style.width = newWidth + 'px';\n }\n });\n }\n };\n\n const onMouseUp = () => {\n resizer.classList.remove('resizing');\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n private getColumnIndex(): number {\n const headerRow = this.closest('nile-table-row');\n if (headerRow) {\n const headers = headerRow.querySelectorAll('nile-table-header-item');\n return Array.from(headers).indexOf(this);\n }\n return 0;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"header__item__wrapper\" part=\"nile__table-header-cell\">\n <div class=\"headers\">\n <slot> </slot>\n ${this.havesort && this.sorting_ct % 3 === 0\n ? html`<nile-icon\n name=\"sortdown\"\n size=\"16\"\n @click=${this.handleSort}\n class=\"hover__arrow\"\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 1\n ? html`<nile-icon\n name=\"sortdown\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 2\n ? html`<nile-icon\n name=\"sortup\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\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 ${this.resizable ? html`<div class=\"resizer\" @mousedown=${this.handleResizeStart}></div>` : null}\n </div>`;\n }\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}