@melodicdev/components 1.0.18 → 1.0.20

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.
@@ -17,6 +17,8 @@ import type { TableColumn, SortDirection } from './table.types.js';
17
17
  */
18
18
  export declare class TableComponent implements IElementRef, OnCreate, OnDestroy, OnRender, OnPropertyChange {
19
19
  elementRef: HTMLElement;
20
+ /** Whether a row-click listener is attached (auto-detected) */
21
+ _rowClickable: boolean;
20
22
  /** Whether the footer slot has content */
21
23
  hasFooter: boolean;
22
24
  /** Whether the header-actions slot has content */
@@ -53,6 +55,7 @@ export declare class TableComponent implements IElementRef, OnCreate, OnDestroy,
53
55
  private _viewport;
54
56
  get rowHeight(): number;
55
57
  onPropertyChange(name: string, _oldVal: unknown, _newVal: unknown): void;
58
+ onInit(): void;
56
59
  onCreate(): void;
57
60
  onRender(): void;
58
61
  onDestroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKnE;;;;;;;;;;;;;;GAcG;AACH,qBAMa,cAAe,YAAW,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB;IAClG,UAAU,EAAG,WAAW,CAAC;IAEzB,0CAA0C;IAC1C,SAAS,UAAS;IAElB,kDAAkD;IAClD,gBAAgB,UAAS;IAEzB,0CAA0C;IAC1C,UAAU,UAAS;IAEnB,kCAAkC;IAClC,OAAO,UAAS;IAEhB,8BAA8B;IAC9B,SAAS,UAAQ;IAEjB,0BAA0B;IAC1B,YAAY,UAAS;IAErB,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEzB,yBAAyB;IACzB,UAAU,SAAM;IAEhB,+BAA+B;IAC/B,WAAW,SAAM;IAEjB,2DAA2D;IAC3D,OAAO,UAAS;IAEhB,yBAAyB;IACzB,OAAO,EAAE,WAAW,EAAE,CAAM;IAE5B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAErC,kCAAkC;IAClC,OAAO,SAAM;IAEb,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAS;IAErC,+BAA+B;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAM;IAI/B,UAAU,SAAK;IACf,QAAQ,SAAM;IAId,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAI7C,IAAI,SAAS,IAAI,MAAM,CAEtB;IAID,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxE,QAAQ,IAAI,IAAI;IAgBhB,QAAQ,IAAI,IAAI;IAiBhB,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,eAAe;IAgBvB,gDAAgD;IAChD,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAc1C;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG3C;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,kBAAkB,IAAI,MAAM,CAG/B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,aAAa,GAAI,OAAO,MAAM,KAAG,OAAO,CAEtC;IAIF,UAAU,GAAI,QAAQ,WAAW,KAAG,IAAI,CAiBtC;IAEF,eAAe,QAAO,IAAI,CAOxB;IAEF,eAAe,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK,KAAG,IAAI,CAQnD;IAEF,cAAc,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,MAAM,KAAG,IAAI,CAQlE;IAEF,OAAO,CAAC,UAAU;CASlB"}
1
+ {"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiBnE;;;;;;;;;;;;;;GAcG;AACH,qBAMa,cAAe,YAAW,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB;IAClG,UAAU,EAAG,WAAW,CAAC;IAEzB,+DAA+D;IAC/D,aAAa,UAAS;IAEtB,0CAA0C;IAC1C,SAAS,UAAS;IAElB,kDAAkD;IAClD,gBAAgB,UAAS;IAEzB,0CAA0C;IAC1C,UAAU,UAAS;IAEnB,kCAAkC;IAClC,OAAO,UAAS;IAEhB,8BAA8B;IAC9B,SAAS,UAAQ;IAEjB,0BAA0B;IAC1B,YAAY,UAAS;IAErB,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEzB,yBAAyB;IACzB,UAAU,SAAM;IAEhB,+BAA+B;IAC/B,WAAW,SAAM;IAEjB,2DAA2D;IAC3D,OAAO,UAAS;IAEhB,yBAAyB;IACzB,OAAO,EAAE,WAAW,EAAE,CAAM;IAE5B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAErC,kCAAkC;IAClC,OAAO,SAAM;IAEb,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAS;IAErC,+BAA+B;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAM;IAI/B,UAAU,SAAK;IACf,QAAQ,SAAM;IAId,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAI7C,IAAI,SAAS,IAAI,MAAM,CAEtB;IAID,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxE,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,IAAI;IAgBhB,QAAQ,IAAI,IAAI;IAiBhB,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,eAAe;IAgBvB,gDAAgD;IAChD,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAc1C;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG3C;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,kBAAkB,IAAI,MAAM,CAG/B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,aAAa,GAAI,OAAO,MAAM,KAAG,OAAO,CAEtC;IAIF,UAAU,GAAI,QAAQ,WAAW,KAAG,IAAI,CAiBtC;IAEF,eAAe,QAAO,IAAI,CAOxB;IAEF,eAAe,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK,KAAG,IAAI,CAQnD;IAEF,cAAc,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,MAAM,KAAG,IAAI,CAQlE;IAEF,OAAO,CAAC,UAAU;CASlB"}
@@ -8,6 +8,17 @@ import { MelodicComponent } from '@melodicdev/core';
8
8
  import { tableTemplate } from './table.template.js';
9
9
  import { tableStyles } from './table.styles.js';
10
10
  import { VirtualScroller } from '../../../utils/virtual-scroll/index.js';
11
+ // Track elements that receive ml:row-click listeners before custom element upgrade.
12
+ // The template engine adds event listeners via addEventListener on un-upgraded elements
13
+ // (before the constructor runs), so we intercept at the prototype level to catch them.
14
+ const _rowClickTargets = new WeakSet();
15
+ const _origAddEventListener = EventTarget.prototype.addEventListener;
16
+ EventTarget.prototype.addEventListener = function (type, listener, options) {
17
+ if (type === 'ml:row-click') {
18
+ _rowClickTargets.add(this);
19
+ }
20
+ _origAddEventListener.call(this, type, listener, options);
21
+ };
11
22
  /**
12
23
  * ml-table - Data table with sorting, selection, and custom cell rendering
13
24
  *
@@ -25,6 +36,8 @@ import { VirtualScroller } from '../../../utils/virtual-scroll/index.js';
25
36
  */
26
37
  let TableComponent = class TableComponent {
27
38
  constructor() {
39
+ /** Whether a row-click listener is attached (auto-detected) */
40
+ this._rowClickable = false;
28
41
  /** Whether the footer slot has content */
29
42
  this.hasFooter = false;
30
43
  /** Whether the header-actions slot has content */
@@ -120,6 +133,9 @@ let TableComponent = class TableComponent {
120
133
  this._scroller.invalidate();
121
134
  }
122
135
  }
136
+ onInit() {
137
+ this._rowClickable = _rowClickTargets.has(this.elementRef);
138
+ }
123
139
  onCreate() {
124
140
  const shadow = this.elementRef.shadowRoot;
125
141
  if (!shadow)
@@ -1 +1 @@
1
- {"version":3,"file":"table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDA8OvB,CAAC"}
1
+ {"version":3,"file":"table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDAkPvB,CAAC"}
@@ -132,6 +132,10 @@ export const tableStyles = () => css `
132
132
  background-color: var(--ml-color-surface-sunken);
133
133
  }
134
134
 
135
+ .ml-table--row-clickable .ml-table__row {
136
+ cursor: pointer;
137
+ }
138
+
135
139
  .ml-table__row--selected {
136
140
  background-color: var(--ml-color-primary-subtle, rgba(99, 102, 241, 0.04));
137
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAU3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,6CAyH9C"}
1
+ {"version":3,"file":"table.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAU3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,6CA0H9C"}
@@ -12,6 +12,7 @@ export function tableTemplate(c) {
12
12
  [`ml-table--${c.size}`]: true,
13
13
  'ml-table--striped': c.striped,
14
14
  'ml-table--hoverable': c.hoverable,
15
+ 'ml-table--row-clickable': c._rowClickable,
15
16
  'ml-table--sticky-header': c.stickyHeader,
16
17
  'ml-table--virtual': c.virtual
17
18
  })}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melodicdev/components",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Themeable UI component library built on the Melodic Framework",
5
5
  "license": "MIT",
6
6
  "author": "Melodic Development",