@melodicdev/components 1.0.17 → 1.0.19

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.
@@ -10370,6 +10370,7 @@ function So(e) {
10370
10370
  [`ml-table--${e.size}`]: !0,
10371
10371
  "ml-table--striped": e.striped,
10372
10372
  "ml-table--hoverable": e.hoverable,
10373
+ "ml-table--row-clickable": e._rowClickable,
10373
10374
  "ml-table--sticky-header": e.stickyHeader,
10374
10375
  "ml-table--virtual": e.virtual
10375
10376
  })}>
@@ -10611,6 +10612,9 @@ const Eo = () => y`
10611
10612
 
10612
10613
  .ml-table--hoverable .ml-table__row:hover {
10613
10614
  background-color: var(--ml-color-surface-sunken);
10615
+ }
10616
+
10617
+ .ml-table--row-clickable .ml-table__row {
10614
10618
  cursor: pointer;
10615
10619
  }
10616
10620
 
@@ -10722,7 +10726,7 @@ const Eo = () => y`
10722
10726
  `;
10723
10727
  var Vt = class {
10724
10728
  constructor() {
10725
- this.hasFooter = !1, this.hasHeaderActions = !1, this.selectable = !1, this.striped = !1, this.hoverable = !0, this.stickyHeader = !1, this.size = "md", this.tableTitle = "", this.description = "", this.virtual = !1, this.columns = [], this.rows = [], this.sortKey = "", this.sortDirection = "asc", this.selectedIndices = [], this.startIndex = 0, this.endIndex = 50, this._scroller = new jr(), this._viewport = null, this.isRowSelected = (t) => this.selectedIndices.includes(t), this.handleSort = (t) => {
10729
+ this._rowClickable = !1, this.hasFooter = !1, this.hasHeaderActions = !1, this.selectable = !1, this.striped = !1, this.hoverable = !0, this.stickyHeader = !1, this.size = "md", this.tableTitle = "", this.description = "", this.virtual = !1, this.columns = [], this.rows = [], this.sortKey = "", this.sortDirection = "asc", this.selectedIndices = [], this.startIndex = 0, this.endIndex = 50, this._scroller = new jr(), this._viewport = null, this.isRowSelected = (t) => this.selectedIndices.includes(t), this.handleSort = (t) => {
10726
10730
  t.sortable && (this.sortKey === t.key ? this.sortDirection = this.sortDirection === "asc" ? "desc" : "asc" : (this.sortKey = t.key, this.sortDirection = "asc"), this.selectedIndices = [], this._scroller.invalidate(), this.elementRef.dispatchEvent(new CustomEvent("ml:sort", {
10727
10731
  bubbles: !0,
10728
10732
  composed: !0,
@@ -10752,6 +10756,10 @@ var Vt = class {
10752
10756
  onPropertyChange(t, r, l) {
10753
10757
  (t === "rows" || t === "columns") && this._scroller.invalidate();
10754
10758
  }
10759
+ onInit() {
10760
+ const t = this.elementRef.addEventListener.bind(this.elementRef);
10761
+ this.elementRef.addEventListener = (r, l, a) => (r === "ml:row-click" && (this._rowClickable = !0), t(r, l, a));
10762
+ }
10755
10763
  onCreate() {
10756
10764
  const t = this.elementRef.shadowRoot;
10757
10765
  t && (t.querySelectorAll("slot").forEach((r) => {
@@ -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;AAKnE;;;;;;;;;;;;;;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;IAad,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"}
@@ -25,6 +25,8 @@ import { VirtualScroller } from '../../../utils/virtual-scroll/index.js';
25
25
  */
26
26
  let TableComponent = class TableComponent {
27
27
  constructor() {
28
+ /** Whether a row-click listener is attached (auto-detected) */
29
+ this._rowClickable = false;
28
30
  /** Whether the footer slot has content */
29
31
  this.hasFooter = false;
30
32
  /** Whether the header-actions slot has content */
@@ -120,6 +122,18 @@ let TableComponent = class TableComponent {
120
122
  this._scroller.invalidate();
121
123
  }
122
124
  }
125
+ onInit() {
126
+ // Intercept addEventListener to detect ml:row-click listeners.
127
+ // Event bindings (@ml:row-click) are applied before connectedCallback,
128
+ // so this must happen during construction to catch them.
129
+ const original = this.elementRef.addEventListener.bind(this.elementRef);
130
+ this.elementRef.addEventListener = (type, listener, options) => {
131
+ if (type === 'ml:row-click') {
132
+ this._rowClickable = true;
133
+ }
134
+ return original(type, listener, options);
135
+ };
136
+ }
123
137
  onCreate() {
124
138
  const shadow = this.elementRef.shadowRoot;
125
139
  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,iDA+OvB,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"}
@@ -130,6 +130,9 @@ export const tableStyles = () => css `
130
130
 
131
131
  .ml-table--hoverable .ml-table__row:hover {
132
132
  background-color: var(--ml-color-surface-sunken);
133
+ }
134
+
135
+ .ml-table--row-clickable .ml-table__row {
133
136
  cursor: pointer;
134
137
  }
135
138
 
@@ -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.17",
3
+ "version": "1.0.19",
4
4
  "description": "Themeable UI component library built on the Melodic Framework",
5
5
  "license": "MIT",
6
6
  "author": "Melodic Development",