@aquera/nile-elements 0.1.57 → 0.1.58
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.
- package/README.md +3 -0
- package/demo/index.html +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +240 -90
- package/dist/internal/resizable-table-helper.cjs.js +2 -0
- package/dist/internal/resizable-table-helper.cjs.js.map +1 -0
- package/dist/internal/resizable-table-helper.esm.js +1 -0
- package/dist/internal/resizable-table-styles.cjs.js +2 -0
- package/dist/internal/resizable-table-styles.cjs.js.map +1 -0
- package/dist/internal/resizable-table-styles.esm.js +120 -0
- package/dist/nile-table-body/index.cjs.js +1 -1
- package/dist/nile-table-body/index.esm.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.css.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.css.esm.js +4 -2
- package/dist/nile-table-body/nile-table-body.esm.js +3 -2
- package/dist/nile-table-cell-item/index.cjs.js +1 -1
- package/dist/nile-table-cell-item/index.esm.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +20 -3
- package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +8 -3
- package/dist/nile-table-header-item/index.cjs.js +1 -1
- package/dist/nile-table-header-item/index.esm.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +7 -2
- package/dist/nile-table-header-item/nile-table-header-item.esm.js +9 -8
- package/dist/src/internal/resizable-table-helper.d.ts +59 -0
- package/dist/src/internal/resizable-table-helper.js +111 -0
- package/dist/src/internal/resizable-table-helper.js.map +1 -0
- package/dist/src/internal/resizable-table-styles.d.ts +16 -0
- package/dist/src/internal/resizable-table-styles.js +137 -0
- package/dist/src/internal/resizable-table-styles.js.map +1 -0
- package/dist/src/nile-table-body/nile-table-body.css.js +3 -0
- package/dist/src/nile-table-body/nile-table-body.css.js.map +1 -1
- package/dist/src/nile-table-body/nile-table-body.d.ts +2 -0
- package/dist/src/nile-table-body/nile-table-body.js +10 -0
- package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +19 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +3 -0
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js +27 -8
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js +6 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +3 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.js +22 -15
- package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/internal/resizable-table-helper.ts +151 -0
- package/src/internal/resizable-table-styles.ts +144 -0
- package/src/nile-table-body/nile-table-body.css.ts +3 -0
- package/src/nile-table-body/nile-table-body.ts +9 -0
- package/src/nile-table-cell-item/nile-table-cell-item.css.ts +19 -1
- package/src/nile-table-cell-item/nile-table-cell-item.ts +22 -5
- package/src/nile-table-header-item/nile-table-header-item.css.ts +6 -0
- package/src/nile-table-header-item/nile-table-header-item.ts +11 -5
- package/vscode-html-custom-data.json +15 -4
@@ -5,6 +5,7 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
import { css } from 'lit';
|
8
|
+
import { resizableHostStyles, resizerStyles, resizableSlotStyles } from '../internal/resizable-table-styles';
|
8
9
|
/**
|
9
10
|
* TableCellItem CSS
|
10
11
|
*/
|
@@ -17,11 +18,20 @@ export const styles = css `
|
|
17
18
|
box-sizing: border-box;
|
18
19
|
display: table-cell;
|
19
20
|
vertical-align: middle;
|
20
|
-
max-width: var(--max--cell-width);
|
21
21
|
padding: 16px 24px;
|
22
|
+
max-width: var(--max--cell-width);
|
22
23
|
min-height: var(--min--height);
|
23
24
|
}
|
24
25
|
|
26
|
+
.cell__wrapper {
|
27
|
+
height: 100%;
|
28
|
+
position: relative;
|
29
|
+
display: flex;
|
30
|
+
align-items: center;
|
31
|
+
overflow: hidden;
|
32
|
+
width: 100%;
|
33
|
+
}
|
34
|
+
|
25
35
|
.column {
|
26
36
|
min-width:var(--min-cell-width);
|
27
37
|
width:var(--cell-width);
|
@@ -34,7 +44,15 @@ export const styles = css `
|
|
34
44
|
/* line-height: var(--nile-type-scale-6); */
|
35
45
|
line-height: normal;
|
36
46
|
letter-spacing: 0.2px;
|
47
|
+
overflow: hidden;
|
48
|
+
text-overflow: ellipsis;
|
49
|
+
white-space: nowrap;
|
50
|
+
display: block;
|
37
51
|
}
|
52
|
+
|
53
|
+
${resizableHostStyles}
|
54
|
+
${resizerStyles}
|
55
|
+
${resizableSlotStyles}
|
38
56
|
`;
|
39
57
|
export default [styles];
|
40
58
|
//# sourceMappingURL=nile-table-cell-item.css.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-table-cell-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"nile-table-cell-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE7G;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyCrB,mBAAmB;IACnB,aAAa;IACb,mBAAmB;CACtB,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';\nimport { resizableHostStyles, resizerStyles, resizableSlotStyles } from '../internal/resizable-table-styles';\n\n/**\n * TableCellItem CSS\n */\nexport const styles = css`\n :host {\n --min-cell-width:auto;\n --cell-width:auto;\n --min--height: 52px;\n --max--cell-width: auto;\n box-sizing: border-box;\n display: table-cell;\n vertical-align: middle;\n padding: 16px 24px;\n max-width: var(--max--cell-width); \n min-height: var(--min--height);\n }\n\n .cell__wrapper {\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n overflow: hidden;\n width: 100%;\n }\n\n .column {\n min-width:var(--min-cell-width);\n width:var(--cell-width);\n height: 100%;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\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-6); */\n line-height: normal;\n letter-spacing: 0.2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n }\n\n ${resizableHostStyles}\n ${resizerStyles}\n ${resizableSlotStyles}\n`;\n\nexport default [styles];\n"]}
|
@@ -19,6 +19,9 @@ export declare class NileTableCellItem extends NileElement {
|
|
19
19
|
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
20
20
|
*/
|
21
21
|
static get styles(): CSSResultArray;
|
22
|
+
/** Enables the resize functionality. */
|
23
|
+
resizable: boolean;
|
24
|
+
private handleResizeStart;
|
22
25
|
/**
|
23
26
|
* Render method
|
24
27
|
* @slot This is a slot test
|
@@ -6,10 +6,11 @@
|
|
6
6
|
*/
|
7
7
|
import { __decorate } from "tslib";
|
8
8
|
import { html, } from 'lit';
|
9
|
-
import { customElement } from 'lit/decorators.js';
|
9
|
+
import { customElement, property } from 'lit/decorators.js';
|
10
10
|
import { styles } from './nile-table-cell-item.css';
|
11
11
|
import NileElement from '../internal/nile-element';
|
12
12
|
import { HasSlotController } from '../internal/slot';
|
13
|
+
import { createResizeHandler } from '../internal/resizable-table-helper';
|
13
14
|
/**
|
14
15
|
* Nile table Cell Item component.
|
15
16
|
*
|
@@ -20,6 +21,11 @@ let NileTableCellItem = class NileTableCellItem extends NileElement {
|
|
20
21
|
constructor() {
|
21
22
|
super(...arguments);
|
22
23
|
this.hasSlotController = new HasSlotController(this, '[default]');
|
24
|
+
/** Enables the resize functionality. */
|
25
|
+
this.resizable = false;
|
26
|
+
/* #endregion */
|
27
|
+
/* #region Methods */
|
28
|
+
this.handleResizeStart = createResizeHandler(this, 50);
|
23
29
|
/* #endregion */
|
24
30
|
}
|
25
31
|
/**
|
@@ -29,20 +35,33 @@ let NileTableCellItem = class NileTableCellItem extends NileElement {
|
|
29
35
|
static get styles() {
|
30
36
|
return [styles];
|
31
37
|
}
|
32
|
-
/* #endregion */
|
33
|
-
/* #region Methods */
|
34
38
|
/**
|
35
39
|
* Render method
|
36
40
|
* @slot This is a slot test
|
37
41
|
*/
|
38
42
|
render() {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
if (this.resizable) {
|
44
|
+
return html `
|
45
|
+
<div class="cell__wrapper" part="nile__table-cell">
|
46
|
+
${this.hasSlotController.test('[default]')
|
47
|
+
? html ` <div class="column" part="nile__table-cell"><slot></slot></div>`
|
48
|
+
: ''}
|
49
|
+
<div class="resizer" @mousedown=${this.handleResizeStart}></div>
|
50
|
+
</div>
|
51
|
+
`;
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
return html `
|
55
|
+
${this.hasSlotController.test('[default]')
|
56
|
+
? html ` <slot class="column" part="nile__table-cell"> </slot>`
|
57
|
+
: ''}
|
58
|
+
`;
|
59
|
+
}
|
44
60
|
}
|
45
61
|
};
|
62
|
+
__decorate([
|
63
|
+
property({ type: Boolean, reflect: true })
|
64
|
+
], NileTableCellItem.prototype, "resizable", void 0);
|
46
65
|
NileTableCellItem = __decorate([
|
47
66
|
customElement('nile-table-cell-item')
|
48
67
|
], NileTableCellItem);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-table-cell-item.js","sourceRoot":"","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAGL,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,
|
1
|
+
{"version":3,"file":"nile-table-cell-item.js","sourceRoot":"","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAGL,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;GAKG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAW;IAA3C;;QACY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAS9E,wCAAwC;QACI,cAAS,GAAG,KAAK,CAAC;QAE9D,gBAAgB;QAEhB,qBAAqB;QAEb,sBAAiB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAyB1D,gBAAgB;IAClB,CAAC;IAzCC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAWD;;;OAGG;IACI,MAAM;QACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;;YAEL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxC,CAAC,CAAC,IAAI,CAAA,kEAAkE;gBACxE,CAAC,CAAC,EAAE;4CAC4B,IAAI,CAAC,iBAAiB;;OAE3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;UACP,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxC,CAAC,CAAC,IAAI,CAAA,wDAAwD;gBAC9D,CAAC,CAAC,EAAE;OACP,CAAC;QACJ,CAAC;IACH,CAAC;CAGF,CAAA;AAhC6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAmB;AAXnD,iBAAiB;IAD7B,aAAa,CAAC,sBAAsB,CAAC;GACzB,iBAAiB,CA2C7B;;AAED,eAAe,iBAAiB,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 CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-table-cell-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\nimport { createResizeHandler } from '../internal/resizable-table-helper';\n\n/**\n * Nile table Cell Item component.\n *\n * @tag nile-table-cell-item\n *\n */\n@customElement('nile-table-cell-item')\nexport class NileTableCellItem extends NileElement {\n private readonly hasSlotController = new HasSlotController(this, '[default]');\n /**\n * The styles for TableCellItem\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 resize functionality. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n /* #endregion */\n\n /* #region Methods */\n\n private handleResizeStart = createResizeHandler(this, 50);\n\n /**\n * Render method\n * @slot This is a slot test\n */\n public render(): TemplateResult {\n if (this.resizable) {\n return html`\n <div class=\"cell__wrapper\" part=\"nile__table-cell\">\n ${this.hasSlotController.test('[default]')\n ? html` <div class=\"column\" part=\"nile__table-cell\"><slot></slot></div>`\n : ''}\n <div class=\"resizer\" @mousedown=${this.handleResizeStart}></div>\n </div>\n `;\n } else {\n return html`\n ${this.hasSlotController.test('[default]')\n ? html` <slot class=\"column\" part=\"nile__table-cell\"> </slot>`\n : ''}\n `;\n }\n }\n\n /* #endregion */\n}\n\nexport default NileTableCellItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-cell-item': NileTableCellItem;\n }\n}\n"]}
|
@@ -5,6 +5,7 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
import { css } from 'lit';
|
8
|
+
import { resizableHeaderStyles, headerResizerStyles } from '../internal/resizable-table-styles';
|
8
9
|
/**
|
9
10
|
* TableHeaderItem CSS
|
10
11
|
*/
|
@@ -42,6 +43,8 @@ export const styles = css `
|
|
42
43
|
font-style: normal;
|
43
44
|
/* line-height: var(--nile-type-scale-5); */
|
44
45
|
line-height: normal;
|
46
|
+
text-overflow: ellipsis;
|
47
|
+
white-space: nowrap;
|
45
48
|
}
|
46
49
|
|
47
50
|
nile-icon {
|
@@ -65,6 +68,9 @@ export const styles = css `
|
|
65
68
|
.headers:hover .hover__arrow {
|
66
69
|
opacity: 0.3;
|
67
70
|
}
|
71
|
+
|
72
|
+
${resizableHeaderStyles}
|
73
|
+
${headerResizerStyles}
|
68
74
|
`;
|
69
75
|
export default [styles];
|
70
76
|
//# 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,KAAK,CAAC;
|
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,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DrB,qBAAqB;IACrB,mBAAmB;CACtB,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';\nimport { resizableHeaderStyles, headerResizerStyles } from '../internal/resizable-table-styles';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n --cell-min-width: auto;\n --cell-width: auto;\n display: table-cell;\n box-sizing: border-box;\n }\n \n .header__item__wrapper{\n min-width:var(--cell-min-width);\n width:var(--cell-width);\n display:flex;\n align-items:center;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n overflow:hidden;\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n /* line-height: var(--nile-type-scale-5); */\n line-height: normal;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n\n ${resizableHeaderStyles}\n ${headerResizerStyles}\n`;\n\nexport default [styles];\n"]}
|
@@ -25,6 +25,8 @@ export declare class NileTableHeaderItem extends NileElement {
|
|
25
25
|
havefilter: boolean;
|
26
26
|
/** Places the icon . */
|
27
27
|
iconName: string;
|
28
|
+
/** Enables the resize functionality. */
|
29
|
+
resizable: boolean;
|
28
30
|
sorting_ct: number;
|
29
31
|
/**
|
30
32
|
* Render method
|
@@ -32,6 +34,7 @@ export declare class NileTableHeaderItem extends NileElement {
|
|
32
34
|
*/
|
33
35
|
private handleSort;
|
34
36
|
private handleSearch;
|
37
|
+
private handleResizeStart;
|
35
38
|
render(): TemplateResult;
|
36
39
|
}
|
37
40
|
export default NileTableHeaderItem;
|
@@ -10,6 +10,7 @@ import { customElement, state, property } from 'lit/decorators.js';
|
|
10
10
|
import { styles } from './nile-table-header-item.css';
|
11
11
|
import NileElement from '../internal/nile-element';
|
12
12
|
import { HasSlotController } from '../internal/slot';
|
13
|
+
import { createResizeHandler } from '../internal/resizable-table-helper';
|
13
14
|
/**
|
14
15
|
* Nile icon component.
|
15
16
|
*
|
@@ -26,8 +27,10 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
|
|
26
27
|
this.havefilter = false;
|
27
28
|
/** Places the icon . */
|
28
29
|
this.iconName = '';
|
30
|
+
/** Enables the resize functionality. */
|
31
|
+
this.resizable = false;
|
29
32
|
this.sorting_ct = 0;
|
30
|
-
|
33
|
+
this.handleResizeStart = createResizeHandler(this, 50);
|
31
34
|
}
|
32
35
|
/**
|
33
36
|
* The styles for TableHeaderItem
|
@@ -54,38 +57,37 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
|
|
54
57
|
this.emit('nile-search', { value: e.detail.value });
|
55
58
|
}
|
56
59
|
render() {
|
57
|
-
return html `
|
58
|
-
? html `
|
60
|
+
return html `
|
59
61
|
<div class="header__item__wrapper" part="nile__table-header-cell">
|
60
62
|
<div class="headers">
|
61
63
|
<slot> </slot>
|
62
64
|
${this.havesort && this.sorting_ct % 3 === 0
|
63
|
-
|
65
|
+
? html `<nile-icon
|
64
66
|
name="sortdown"
|
65
67
|
size="16"
|
66
68
|
@click=${this.handleSort}
|
67
69
|
class="hover__arrow"
|
68
70
|
></nile-icon>`
|
69
|
-
|
71
|
+
: null}
|
70
72
|
${this.havesort && this.sorting_ct % 3 === 1
|
71
|
-
|
73
|
+
? html `<nile-icon
|
72
74
|
name="sortdown"
|
73
75
|
size="16"
|
74
76
|
@click=${this.handleSort}
|
75
77
|
></nile-icon>`
|
76
|
-
|
78
|
+
: null}
|
77
79
|
${this.havesort && this.sorting_ct % 3 === 2
|
78
|
-
|
80
|
+
? html `<nile-icon
|
79
81
|
name="sortup"
|
80
82
|
size="16"
|
81
83
|
@click=${this.handleSort}
|
82
84
|
></nile-icon>`
|
83
|
-
|
85
|
+
: null}
|
84
86
|
${this.iconName
|
85
|
-
|
86
|
-
|
87
|
+
? html ` <nile-icon name="${this.iconName}" size="16"></nile-icon>`
|
88
|
+
: html ``}
|
87
89
|
${this.havefilter
|
88
|
-
|
90
|
+
? html ` <nile-popover title="Filter" placement="bottom">
|
89
91
|
<nile-icon name="filter" size="16" slot="anchor"></nile-icon>
|
90
92
|
<nile-input
|
91
93
|
placeholder="Search"
|
@@ -94,10 +96,12 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
|
|
94
96
|
></nile-input>
|
95
97
|
<slot name="filter__content" part="filter__content"></slot>
|
96
98
|
</nile-popover>`
|
97
|
-
|
99
|
+
: html ``}
|
98
100
|
</div>
|
99
|
-
|
100
|
-
|
101
|
+
${this.resizable
|
102
|
+
? html `<div class="resizer" @mousedown=${this.handleResizeStart}></div>`
|
103
|
+
: null}
|
104
|
+
</div>`;
|
101
105
|
}
|
102
106
|
};
|
103
107
|
__decorate([
|
@@ -109,6 +113,9 @@ __decorate([
|
|
109
113
|
__decorate([
|
110
114
|
property({ type: String, reflect: true, attribute: 'icon-name' })
|
111
115
|
], NileTableHeaderItem.prototype, "iconName", void 0);
|
116
|
+
__decorate([
|
117
|
+
property({ type: Boolean, reflect: true })
|
118
|
+
], NileTableHeaderItem.prototype, "resizable", void 0);
|
112
119
|
__decorate([
|
113
120
|
state()
|
114
121
|
], 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":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAGL,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
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,GAGL,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;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;QAEL,wCAAwC;QACI,cAAS,GAAG,KAAK,CAAC;QAErD,eAAU,GAAG,CAAC,CAAC;QAuBhB,sBAAiB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAiD5D,CAAC;IA7FC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAiBD,gBAAgB;IAEhB,qBAAqB;IAErB;;;OAGG;IACK,UAAU,CAAC,CAAM;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;SAC/D,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;IAIM,MAAM;QACX,OAAO,IAAI,CAAA;;;;YAIH,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAA;;;yBAGO,IAAI,CAAC,UAAU;;4BAEZ;YAChB,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAA;;;yBAGO,IAAI,CAAC,UAAU;4BACZ;YAChB,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAA;;;yBAGO,IAAI,CAAC,UAAU;4BACZ;YAChB,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAA,qBAAqB,IAAI,CAAC,QAAQ,0BAA0B;YAClE,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,IAAI,CAAA;;;;gCAIc,IAAI,CAAC,YAAY;;;;8BAInB;YAClB,CAAC,CAAC,IAAI,CAAA,EAAE;;UAEV,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,IAAI,CAAA,mCAAmC,IAAI,CAAC,iBAAiB,SAAS;YACxE,CAAC,CAAC,IAAI;aACH,CAAC;IACZ,CAAC;CACF,CAAA;AApF6C;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;AAGuC;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDAAmB;AAErD;IAAR,KAAK,EAAE;uDAAgB;AAvBb,mBAAmB;IAD/B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,mBAAmB,CA+F/B;;AAED,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 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';\nimport { createResizeHandler } from '../internal/resizable-table-helper';\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 /**\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 = createResizeHandler(this, 50);\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 \n ? html`<div class=\"resizer\" @mousedown=${this.handleResizeStart}></div>`\n : null}\n </div>`;\n }\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}
|