xv-webcomponents 0.1.29 → 0.1.31

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 (110) hide show
  1. package/dist/cjs/{index-782b9733.js → index-5ee1b884.js} +43 -2
  2. package/dist/cjs/index-5ee1b884.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/{utils-aa46f72a.js → utils-22c0eda0.js} +1 -16
  6. package/dist/cjs/utils-22c0eda0.js.map +1 -0
  7. package/dist/cjs/{xv-accordion-v2_28.cjs.entry.js → xv-accordion-v2_26.cjs.entry.js} +124 -429
  8. package/dist/cjs/xv-accordion-v2_26.cjs.entry.js.map +1 -0
  9. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  10. package/dist/cjs/xv-webcomponents.cjs.js +2 -2
  11. package/dist/collection/collection-manifest.json +1 -3
  12. package/dist/collection/components/xv-checkbox/xv-checkbox.css +4 -1
  13. package/dist/collection/components/xv-checkbox/xv-checkbox.js +1 -1
  14. package/dist/collection/components/xv-checkbox/xv-checkbox.js.map +1 -1
  15. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  16. package/dist/collection/components/xv-dropdown/xv-dropdown.css +1 -1
  17. package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -2
  18. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  19. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  20. package/dist/collection/components/xv-header/xv-header.js +1 -1
  21. package/dist/collection/components/xv-link/xv-link.js +1 -1
  22. package/dist/collection/components/xv-modal/xv-modal.css +5 -4
  23. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  24. package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
  25. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  26. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  27. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  28. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  29. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +2 -2
  30. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js.map +1 -1
  31. package/dist/collection/components/xv-table/_vars.js +9 -0
  32. package/dist/collection/components/xv-table/_vars.js.map +1 -0
  33. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +86 -0
  34. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +160 -0
  35. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js.map +1 -0
  36. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +55 -114
  37. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +28 -151
  38. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js.map +1 -1
  39. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +22 -36
  40. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +146 -118
  41. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js.map +1 -1
  42. package/dist/collection/components/xv-table/xv-table.css +83 -141
  43. package/dist/collection/components/xv-table/xv-table.js +56 -208
  44. package/dist/collection/components/xv-table/xv-table.js.map +1 -1
  45. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +3 -3
  46. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js.map +1 -1
  47. package/dist/collection/components/xv-tabs/xv-tabs.css +5 -3
  48. package/dist/collection/components/xv-tabs/xv-tabs.js +8 -36
  49. package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
  50. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  51. package/dist/collection/components/xv-text-input/xv-text-input.js +10 -10
  52. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  53. package/dist/collection/components/xv-tooltip/xv-tooltip.js +1 -1
  54. package/dist/esm/{index-83ab73b7.js → index-590eb7d2.js} +43 -3
  55. package/dist/esm/index-590eb7d2.js.map +1 -0
  56. package/dist/esm/index.js +1 -1
  57. package/dist/esm/loader.js +3 -3
  58. package/dist/esm/{utils-0d1c18d5.js → utils-a9c71376.js} +2 -16
  59. package/dist/esm/utils-a9c71376.js.map +1 -0
  60. package/dist/esm/{xv-accordion-v2_28.entry.js → xv-accordion-v2_26.entry.js} +124 -427
  61. package/dist/esm/xv-accordion-v2_26.entry.js.map +1 -0
  62. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  63. package/dist/esm/xv-webcomponents.js +3 -3
  64. package/dist/types/components/xv-table/_vars.d.ts +15 -0
  65. package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +15 -0
  66. package/dist/types/components/xv-table/xv-table-expand/xv-table-expand.d.ts +4 -20
  67. package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +15 -46
  68. package/dist/types/components/xv-table/xv-table.d.ts +9 -32
  69. package/dist/types/components/xv-tabs/xv-tabs.d.ts +1 -10
  70. package/dist/types/components.d.ts +57 -273
  71. package/dist/xv-webcomponents/index.esm.js +1 -1
  72. package/dist/xv-webcomponents/p-612356e6.js +3 -0
  73. package/dist/xv-webcomponents/p-612356e6.js.map +1 -0
  74. package/dist/xv-webcomponents/p-c09a0bfe.entry.js +2 -0
  75. package/dist/xv-webcomponents/p-e750290d.entry.js +2 -0
  76. package/dist/xv-webcomponents/p-e750290d.entry.js.map +1 -0
  77. package/dist/xv-webcomponents/p-f98a1845.js +2 -0
  78. package/dist/xv-webcomponents/p-f98a1845.js.map +1 -0
  79. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  80. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/cjs/index-782b9733.js.map +0 -1
  83. package/dist/cjs/utils-aa46f72a.js.map +0 -1
  84. package/dist/cjs/xv-accordion-v2_28.cjs.entry.js.map +0 -1
  85. package/dist/collection/components/xv-table/defs.js +0 -28
  86. package/dist/collection/components/xv-table/defs.js.map +0 -1
  87. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.css +0 -13
  88. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.js +0 -111
  89. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.js.map +0 -1
  90. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.css +0 -80
  91. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.js +0 -172
  92. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.js.map +0 -1
  93. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.css +0 -47
  94. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.js +0 -78
  95. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.js.map +0 -1
  96. package/dist/esm/index-83ab73b7.js.map +0 -1
  97. package/dist/esm/utils-0d1c18d5.js.map +0 -1
  98. package/dist/esm/xv-accordion-v2_28.entry.js.map +0 -1
  99. package/dist/types/components/xv-table/defs.d.ts +0 -38
  100. package/dist/types/components/xv-table/xv-table-col/xv-table-col.d.ts +0 -9
  101. package/dist/types/components/xv-table/xv-table-header-row/xv-table-header-row.d.ts +0 -28
  102. package/dist/types/components/xv-table/xv-table-toolbar/xv-table-toolbar.d.ts +0 -6
  103. package/dist/xv-webcomponents/p-39bf1511.js +0 -2
  104. package/dist/xv-webcomponents/p-39bf1511.js.map +0 -1
  105. package/dist/xv-webcomponents/p-5f18d718.entry.js +0 -2
  106. package/dist/xv-webcomponents/p-840929c5.js +0 -3
  107. package/dist/xv-webcomponents/p-840929c5.js.map +0 -1
  108. package/dist/xv-webcomponents/p-cc83f7ea.entry.js +0 -2
  109. package/dist/xv-webcomponents/p-cc83f7ea.entry.js.map +0 -1
  110. /package/dist/xv-webcomponents/{p-5f18d718.entry.js.map → p-c09a0bfe.entry.js.map} +0 -0
@@ -1,57 +1,42 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { TABLE_TAG } from "../defs";
2
+ import { XV_EXPANDABLE_KEY, XV_TABLE_TAG } from "../_vars";
3
+ import { setAttr, uidGenerator } from "../../../utils/utils";
3
4
  export class XvTableRow {
4
5
  constructor() {
5
- /**
6
- * Is row will be expandable
7
- * If it's true then the next row will be collapsed
8
- */
9
- this.expandable = false;
10
- /**
11
- * Default state of expandable
12
- */
13
- this.expanded = false;
14
- /**
15
- * Disabled status
16
- */
17
- this.disabled = false;
18
- this.cols = 1;
19
- this.hovered = false;
20
- this.checkboxChange = (e) => {
21
- this.checked = e.detail;
22
- };
23
- this.onExpandHandle = async () => {
24
- this.expanded = !this.expanded;
25
- const parent = this.el.parentElement;
26
- if (parent.tagName === TABLE_TAG.EXPAND) {
27
- await (parent === null || parent === void 0 ? void 0 : parent.toggleExpand(this.expanded));
28
- }
6
+ this.checkHandle = ({ detail: checked }) => {
7
+ this.checked = checked;
8
+ if (!checked && this.partial)
9
+ this.partial = checked;
29
10
  };
30
11
  }
31
12
  checkedChangeHandle() {
32
- const changeData = {
33
- name: this.selectionName,
13
+ if (!this.name)
14
+ this.name = uidGenerator();
15
+ this.selectRow.emit({
16
+ name: this.name,
34
17
  value: this.value,
35
18
  checked: this.checked,
36
- };
37
- if (this.expandable || this.groupId) {
38
- changeData.group = { id: this.groupId, isMainRow: !!this.expandable };
39
- }
40
- if (changeData.group) {
41
- this.checkedGroupChange.emit(changeData);
42
- }
43
- else {
44
- this.checkedChange.emit(changeData);
45
- }
19
+ partial: this.partial,
20
+ header: this.header,
21
+ expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,
22
+ });
46
23
  }
47
- async componentWillLoad() {
48
- this.id = this.el.id;
49
- this.cols = this.el.childElementCount;
50
- // TODO: with initial checked values
51
- this.checked && this.checkedChangeHandle();
24
+ setInitialAttrs() {
25
+ if (this.variant || !this.hover) {
26
+ const tableEl = this.el.closest(XV_TABLE_TAG);
27
+ if (!this.hover) {
28
+ this.hover = tableEl.hasAttribute('hover');
29
+ }
30
+ if (this.variant) {
31
+ setAttr(this.el.closest(XV_TABLE_TAG), `variant-${this.variant}`, !!this.variant);
32
+ }
33
+ }
52
34
  }
53
35
  render() {
54
- return (h(Host, { key: '0ecaf319abeb4d74f304ce9c87c150d0aafb61f8', role: "row", cols: this.cols }, h("div", { key: '4e5737a8bbb29863419a2eb91cb197fbe5e55d82', class: "left-container" }, this.expandable && (h("button", { key: '66298e7b69b89720a08160d0c922d04edef792c1', onClick: this.onExpandHandle, class: `expand-btn ${this.expanded ? 'expanded' : ''}` })), this.selectionName && (h("xv-checkbox-v2", { key: '4c01f35c763a00cb5f60330307a0be2ab6321db6', disabled: this.disabled, name: this.selectionName, value: this.value, checked: !!(this.checked || this.partial), partial: this.partial, onEventChange: this.checkboxChange }))), h("slot", { key: 'd559c89935cc9de78b712e238a1a08c537b67a5d' })));
36
+ return (h(Host, { key: '5a5fd70ee1706f3c250c58139a2dc81dfd5a4a6a' }, this.variant !== undefined && (h("xv-table-v2-cell", { key: '4a9ac57fcb6baccaf97d866519b747ef1d921199', class: "cell-control" }, this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: '452ea4f34c537f02f16ef0c26ad17abff15f943d', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly, onEventChange: this.checkHandle })), this.variant === 'radio' && (h("input", { key: 'b92316fbec5ed18d0097017cc260097e87443b79', type: "radio", name: this.name, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly })))), h("slot", { key: '5a80306e5b35a072d9f8cabcb9fa3a9bce8ec72c' })));
37
+ }
38
+ componentWillLoad() {
39
+ this.setInitialAttrs();
55
40
  }
56
41
  static get is() { return "xv-table-v2-row"; }
57
42
  static get encapsulation() { return "shadow"; }
@@ -67,107 +52,166 @@ export class XvTableRow {
67
52
  }
68
53
  static get properties() {
69
54
  return {
70
- "expandable": {
55
+ "checked": {
71
56
  "type": "boolean",
72
- "mutable": false,
57
+ "mutable": true,
73
58
  "complexType": {
74
- "original": "boolean",
59
+ "original": "SelectRowDto['checked']",
75
60
  "resolved": "boolean",
76
- "references": {}
61
+ "references": {
62
+ "SelectRowDto": {
63
+ "location": "import",
64
+ "path": "../_vars",
65
+ "id": "src/components/xv-table/_vars.ts::SelectRowDto"
66
+ }
67
+ }
77
68
  },
78
69
  "required": false,
79
- "optional": false,
70
+ "optional": true,
80
71
  "docs": {
81
72
  "tags": [],
82
- "text": "Is row will be expandable\nIf it's true then the next row will be collapsed"
73
+ "text": ""
83
74
  },
84
75
  "getter": false,
85
76
  "setter": false,
86
- "attribute": "expandable",
87
- "reflect": true,
88
- "defaultValue": "false"
77
+ "attribute": "checked",
78
+ "reflect": true
89
79
  },
90
- "expanded": {
80
+ "partial": {
91
81
  "type": "boolean",
92
82
  "mutable": true,
93
83
  "complexType": {
94
- "original": "boolean",
84
+ "original": "SelectRowDto['partial']",
95
85
  "resolved": "boolean",
96
- "references": {}
86
+ "references": {
87
+ "SelectRowDto": {
88
+ "location": "import",
89
+ "path": "../_vars",
90
+ "id": "src/components/xv-table/_vars.ts::SelectRowDto"
91
+ }
92
+ }
93
+ },
94
+ "required": false,
95
+ "optional": true,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": ""
99
+ },
100
+ "getter": false,
101
+ "setter": false,
102
+ "attribute": "partial",
103
+ "reflect": true
104
+ },
105
+ "name": {
106
+ "type": "string",
107
+ "mutable": true,
108
+ "complexType": {
109
+ "original": "SelectRowDto['name']",
110
+ "resolved": "string",
111
+ "references": {
112
+ "SelectRowDto": {
113
+ "location": "import",
114
+ "path": "../_vars",
115
+ "id": "src/components/xv-table/_vars.ts::SelectRowDto"
116
+ }
117
+ }
97
118
  },
98
119
  "required": false,
99
- "optional": false,
120
+ "optional": true,
100
121
  "docs": {
101
122
  "tags": [],
102
- "text": "Default state of expandable"
123
+ "text": ""
103
124
  },
104
125
  "getter": false,
105
126
  "setter": false,
106
- "attribute": "expanded",
107
- "reflect": true,
108
- "defaultValue": "false"
127
+ "attribute": "name",
128
+ "reflect": true
109
129
  },
110
- "disabled": {
111
- "type": "boolean",
130
+ "value": {
131
+ "type": "any",
112
132
  "mutable": false,
133
+ "complexType": {
134
+ "original": "SelectRowDto['value']",
135
+ "resolved": "number | object | string",
136
+ "references": {
137
+ "SelectRowDto": {
138
+ "location": "import",
139
+ "path": "../_vars",
140
+ "id": "src/components/xv-table/_vars.ts::SelectRowDto"
141
+ }
142
+ }
143
+ },
144
+ "required": false,
145
+ "optional": true,
146
+ "docs": {
147
+ "tags": [],
148
+ "text": ""
149
+ },
150
+ "getter": false,
151
+ "setter": false,
152
+ "attribute": "value",
153
+ "reflect": true
154
+ },
155
+ "hover": {
156
+ "type": "boolean",
157
+ "mutable": true,
113
158
  "complexType": {
114
159
  "original": "boolean",
115
160
  "resolved": "boolean",
116
161
  "references": {}
117
162
  },
118
163
  "required": false,
119
- "optional": false,
164
+ "optional": true,
120
165
  "docs": {
121
166
  "tags": [],
122
- "text": "Disabled status"
167
+ "text": ""
123
168
  },
124
169
  "getter": false,
125
170
  "setter": false,
126
- "attribute": "disabled",
127
- "reflect": true,
128
- "defaultValue": "false"
171
+ "attribute": "hover",
172
+ "reflect": true
129
173
  },
130
- "selectionName": {
131
- "type": "string",
174
+ "readonly": {
175
+ "type": "boolean",
132
176
  "mutable": false,
133
177
  "complexType": {
134
- "original": "string",
135
- "resolved": "string",
178
+ "original": "boolean",
179
+ "resolved": "boolean",
136
180
  "references": {}
137
181
  },
138
182
  "required": false,
139
183
  "optional": true,
140
184
  "docs": {
141
185
  "tags": [],
142
- "text": "Checkbox row name"
186
+ "text": ""
143
187
  },
144
188
  "getter": false,
145
189
  "setter": false,
146
- "attribute": "selection-name",
190
+ "attribute": "readonly",
147
191
  "reflect": true
148
192
  },
149
- "value": {
150
- "type": "string",
193
+ "required": {
194
+ "type": "boolean",
151
195
  "mutable": false,
152
196
  "complexType": {
153
- "original": "string",
154
- "resolved": "string",
197
+ "original": "boolean",
198
+ "resolved": "boolean",
155
199
  "references": {}
156
200
  },
157
201
  "required": false,
158
202
  "optional": true,
159
203
  "docs": {
160
204
  "tags": [],
161
- "text": "Checkbox row value"
205
+ "text": ""
162
206
  },
163
207
  "getter": false,
164
208
  "setter": false,
165
- "attribute": "value",
209
+ "attribute": "required",
166
210
  "reflect": true
167
211
  },
168
- "checked": {
212
+ "disabled": {
169
213
  "type": "boolean",
170
- "mutable": true,
214
+ "mutable": false,
171
215
  "complexType": {
172
216
  "original": "boolean",
173
217
  "resolved": "boolean",
@@ -177,14 +221,14 @@ export class XvTableRow {
177
221
  "optional": true,
178
222
  "docs": {
179
223
  "tags": [],
180
- "text": "Checkbox row status"
224
+ "text": ""
181
225
  },
182
226
  "getter": false,
183
227
  "setter": false,
184
- "attribute": "checked",
228
+ "attribute": "disabled",
185
229
  "reflect": true
186
230
  },
187
- "partial": {
231
+ "header": {
188
232
  "type": "boolean",
189
233
  "mutable": false,
190
234
  "complexType": {
@@ -196,19 +240,19 @@ export class XvTableRow {
196
240
  "optional": true,
197
241
  "docs": {
198
242
  "tags": [],
199
- "text": "Checkbox row with minus icon"
243
+ "text": ""
200
244
  },
201
245
  "getter": false,
202
246
  "setter": false,
203
- "attribute": "partial",
247
+ "attribute": "header",
204
248
  "reflect": true
205
249
  },
206
- "groupId": {
250
+ "variant": {
207
251
  "type": "string",
208
- "mutable": false,
252
+ "mutable": true,
209
253
  "complexType": {
210
- "original": "string",
211
- "resolved": "string",
254
+ "original": "'checkbox' | 'radio' | ''",
255
+ "resolved": "\"\" | \"checkbox\" | \"radio\"",
212
256
  "references": {}
213
257
  },
214
258
  "required": false,
@@ -219,22 +263,15 @@ export class XvTableRow {
219
263
  },
220
264
  "getter": false,
221
265
  "setter": false,
222
- "attribute": "group-id",
266
+ "attribute": "variant",
223
267
  "reflect": true
224
268
  }
225
269
  };
226
270
  }
227
- static get states() {
228
- return {
229
- "id": {},
230
- "cols": {},
231
- "hovered": {}
232
- };
233
- }
234
271
  static get events() {
235
272
  return [{
236
- "method": "checkedChange",
237
- "name": "checkedChange",
273
+ "method": "selectRow",
274
+ "name": "selectRow",
238
275
  "bubbles": true,
239
276
  "cancelable": true,
240
277
  "composed": true,
@@ -243,24 +280,15 @@ export class XvTableRow {
243
280
  "text": ""
244
281
  },
245
282
  "complexType": {
246
- "original": "{ name: string, value?: string; checked: boolean }",
247
- "resolved": "{ name: string; value?: string; checked: boolean; }",
248
- "references": {}
249
- }
250
- }, {
251
- "method": "checkedGroupChange",
252
- "name": "checkedGroupChange",
253
- "bubbles": true,
254
- "cancelable": true,
255
- "composed": true,
256
- "docs": {
257
- "tags": [],
258
- "text": ""
259
- },
260
- "complexType": {
261
- "original": "{ name: string, value?: string; checked: boolean }",
262
- "resolved": "{ name: string; value?: string; checked: boolean; }",
263
- "references": {}
283
+ "original": "SelectRowDto",
284
+ "resolved": "SelectRowDto",
285
+ "references": {
286
+ "SelectRowDto": {
287
+ "location": "import",
288
+ "path": "../_vars",
289
+ "id": "src/components/xv-table/_vars.ts::SelectRowDto"
290
+ }
291
+ }
264
292
  }
265
293
  }];
266
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xv-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-row/xv-table-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,eAAe,CAAC;AAErG,OAAO,EAAE,SAAS,EAA2B,MAAM,SAAS,CAAC;AAO7D,MAAM,OAAO,UAAU;IALvB;QAOE;;;WAGG;QACsB,eAAU,GAAY,KAAK,CAAC;QACrD;;WAEG;QACqC,aAAQ,GAAY,KAAK,CAAC;QAClE;;WAEG;QACsB,aAAQ,GAAY,KAAK,CAAC;QAoB1C,SAAI,GAAW,CAAC,CAAC;QACjB,YAAO,GAAY,KAAK,CAAC;QAwB1B,mBAAc,GAAG,CAAC,CAAuB,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1B,CAAC,CAAA;QAEO,mBAAc,GAAG,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YAErC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAmC,aAAnC,MAAM,uBAAN,MAAM,CAA+B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC;KAqCH;IAlEC,mBAAmB;QACjB,MAAM,UAAU,GAA4B;YAC1C,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACxE,CAAC;QAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAeD,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACtC,oCAAoC;QACpC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,KAAK,EACV,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,4DAAK,KAAK,EAAC,gBAAgB;gBACxB,IAAI,CAAC,UAAU,IAAI,CAClB,+DACE,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GACtD,CACH;gBACA,IAAI,CAAC,aAAa,IAAI,CACrB,uEACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,IAAI,CAAC,cAAc,GAClC,CACH,CACG;YACN,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Element, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\nimport { XvTableExpand } from '../xv-table-expand/xv-table-expand';\nimport { TABLE_TAG, TableSelectionEventData } from '../defs';\n\n@Component({\n tag: 'xv-table-v2-row',\n styleUrl: 'xv-table-row.scss',\n shadow: true,\n})\nexport class XvTableRow {\n @Element() el: HTMLElement;\n /**\n * Is row will be expandable\n * If it's true then the next row will be collapsed\n */\n @Prop({ reflect: true }) expandable: boolean = false;\n /**\n * Default state of expandable\n */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n /**\n * Disabled status\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Checkbox row name\n */\n @Prop({ reflect: true, attribute: 'selection-name' }) selectionName?: string;\n /**\n * Checkbox row value\n */\n @Prop({ reflect: true }) value?: string;\n /**\n * Checkbox row status\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean;\n /**\n * Checkbox row with minus icon\n */\n @Prop({ reflect: true }) partial?: boolean;\n @Prop({ reflect: true, attribute: 'group-id' }) groupId?: string;\n\n @State() id?: string;\n @State() cols: number = 1;\n @State() hovered: boolean = false;\n\n @Event() checkedChange: EventEmitter<{ name: string, value?: string; checked: boolean }>;\n @Event() checkedGroupChange: EventEmitter<{ name: string, value?: string; checked: boolean }>;\n\n @Watch('checked')\n checkedChangeHandle() {\n const changeData: TableSelectionEventData = {\n name: this.selectionName,\n value: this.value,\n checked: this.checked,\n };\n\n if (this.expandable || this.groupId) {\n changeData.group = { id: this.groupId, isMainRow: !!this.expandable };\n }\n\n if (changeData.group) {\n this.checkedGroupChange.emit(changeData);\n } else {\n this.checkedChange.emit(changeData);\n }\n }\n\n private checkboxChange = (e: CustomEvent<boolean>) => {\n this.checked = e.detail;\n }\n\n private onExpandHandle = async () => {\n this.expanded = !this.expanded;\n const parent = this.el.parentElement;\n\n if (parent.tagName === TABLE_TAG.EXPAND) {\n await (parent as unknown as XvTableExpand)?.toggleExpand(this.expanded);\n }\n };\n\n async componentWillLoad(){\n this.id = this.el.id;\n this.cols = this.el.childElementCount;\n // TODO: with initial checked values\n this.checked && this.checkedChangeHandle();\n }\n\n render() {\n return (\n <Host\n role=\"row\"\n cols={this.cols}\n >\n <div class=\"left-container\">\n {this.expandable && (\n <button\n onClick={this.onExpandHandle}\n class={`expand-btn ${this.expanded ? 'expanded' : ''}`}\n />\n )}\n {this.selectionName && (\n <xv-checkbox-v2\n disabled={this.disabled}\n name={this.selectionName}\n value={this.value}\n checked={!!(this.checked || this.partial)}\n partial={this.partial}\n onEventChange={this.checkboxChange}\n />\n )}\n </div>\n <slot />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-row/xv-table-row.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, Event, EventEmitter, Watch } from '@stencil/core';\nimport { SelectRowDto, XV_EXPANDABLE_KEY, XV_TABLE_TAG } from '../_vars';\nimport { setAttr, uidGenerator } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-row',\n styleUrl: 'xv-table-row.scss',\n shadow: true,\n})\nexport class XvTableRow {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) checked?: SelectRowDto['checked'];\n @Prop({ reflect: true, mutable: true }) partial?: SelectRowDto['partial'];\n @Prop({ reflect: true, mutable: true }) name?: SelectRowDto['name'];\n @Prop({ reflect: true }) value?: SelectRowDto['value'];\n @Prop({ reflect: true, mutable: true }) hover?: boolean;\n @Prop({ reflect: true }) readonly?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) header?: boolean;\n @Prop({ reflect: true, mutable: true }) variant?: 'checkbox' | 'radio' | '';\n\n @Event({ eventName: 'selectRow' }) selectRow: EventEmitter<SelectRowDto>;\n\n @Watch('checked')\n checkedChangeHandle() {\n if (!this.name) this.name = uidGenerator();\n this.selectRow.emit({\n name: this.name,\n value: this.value,\n checked: this.checked,\n partial: this.partial,\n header: this.header,\n expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,\n });\n }\n\n private checkHandle = ({ detail: checked }: CustomEvent<boolean>) => {\n this.checked = checked;\n if (!checked && this.partial) this.partial = checked;\n };\n\n private setInitialAttrs() {\n if (this.variant || !this.hover) {\n const tableEl = this.el.closest(XV_TABLE_TAG);\n if (!this.hover) {\n this.hover = tableEl.hasAttribute('hover');\n }\n if (this.variant) {\n setAttr(this.el.closest(XV_TABLE_TAG), `variant-${this.variant}`, !!this.variant);\n }\n }\n }\n\n render() {\n return (\n <Host>\n {this.variant !== undefined && (\n <xv-table-v2-cell class=\"cell-control\">\n {this.variant === 'checkbox' && (\n <xv-checkbox-v2\n name={this.name}\n partial={this.partial}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n onEventChange={this.checkHandle}\n />\n )}\n {this.variant === 'radio' && (\n <input\n type=\"radio\"\n name={this.name}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n />\n )}\n </xv-table-v2-cell>\n )}\n\n <slot />\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setInitialAttrs();\n }\n}\n"]}