@sondor-technology/sondor-components 1.0.5 → 1.0.6

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 (220) hide show
  1. package/dist/components/alert/alert.constants.d.ts +3 -0
  2. package/dist/components/alert/alert.constants.d.ts.map +1 -0
  3. package/dist/components/alert/alert.constants.js +2 -0
  4. package/dist/components/alert/alert.constants.js.map +1 -0
  5. package/dist/components/alert/alert.d.ts +4 -3
  6. package/dist/components/alert/alert.d.ts.map +1 -1
  7. package/dist/components/alert/alert.js +21 -11
  8. package/dist/components/alert/alert.js.map +1 -0
  9. package/dist/components/badge/badge.constants.d.ts +3 -0
  10. package/dist/components/badge/badge.constants.d.ts.map +1 -0
  11. package/dist/components/badge/badge.constants.js +2 -0
  12. package/dist/components/badge/badge.constants.js.map +1 -0
  13. package/dist/components/badge/badge.d.ts +1 -1
  14. package/dist/components/badge/badge.d.ts.map +1 -1
  15. package/dist/components/badge/badge.js +3 -2
  16. package/dist/components/badge/badge.js.map +1 -0
  17. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  18. package/dist/components/breadcrumb/breadcrumb.js +2 -1
  19. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  20. package/dist/components/button/button.constants.d.ts +7 -0
  21. package/dist/components/button/button.constants.d.ts.map +1 -0
  22. package/dist/components/button/button.constants.js +4 -0
  23. package/dist/components/button/button.constants.js.map +1 -0
  24. package/dist/components/button/button.d.ts +8 -4
  25. package/dist/components/button/button.d.ts.map +1 -1
  26. package/dist/components/button/button.js +181 -137
  27. package/dist/components/button/button.js.map +1 -0
  28. package/dist/components/button-group/button-group.d.ts +1 -0
  29. package/dist/components/button-group/button-group.d.ts.map +1 -1
  30. package/dist/components/button-group/button-group.js +17 -21
  31. package/dist/components/button-group/button-group.js.map +1 -0
  32. package/dist/components/checkbox/checkbox.constants.d.ts +3 -0
  33. package/dist/components/checkbox/checkbox.constants.d.ts.map +1 -0
  34. package/dist/components/checkbox/checkbox.constants.js +2 -0
  35. package/dist/components/checkbox/checkbox.constants.js.map +1 -0
  36. package/dist/components/checkbox/checkbox.d.ts +5 -1
  37. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  38. package/dist/components/checkbox/checkbox.js +21 -5
  39. package/dist/components/checkbox/checkbox.js.map +1 -0
  40. package/dist/components/code-block/code-block.d.ts +7 -7
  41. package/dist/components/code-block/code-block.d.ts.map +1 -1
  42. package/dist/components/code-block/code-block.js +130 -66
  43. package/dist/components/code-block/code-block.js.map +1 -0
  44. package/dist/components/content-card/content-card.d.ts.map +1 -1
  45. package/dist/components/content-card/content-card.js +10 -15
  46. package/dist/components/content-card/content-card.js.map +1 -0
  47. package/dist/components/divider/divider.constants.d.ts +5 -0
  48. package/dist/components/divider/divider.constants.d.ts.map +1 -0
  49. package/dist/components/divider/divider.constants.js +3 -0
  50. package/dist/components/divider/divider.constants.js.map +1 -0
  51. package/dist/components/divider/divider.d.ts +4 -2
  52. package/dist/components/divider/divider.d.ts.map +1 -1
  53. package/dist/components/divider/divider.js +18 -9
  54. package/dist/components/divider/divider.js.map +1 -0
  55. package/dist/components/drawer/drawer.d.ts +7 -4
  56. package/dist/components/drawer/drawer.d.ts.map +1 -1
  57. package/dist/components/drawer/drawer.js +73 -30
  58. package/dist/components/drawer/drawer.js.map +1 -0
  59. package/dist/components/field/field.d.ts +2 -2
  60. package/dist/components/field/field.d.ts.map +1 -1
  61. package/dist/components/field/field.js +8 -9
  62. package/dist/components/field/field.js.map +1 -0
  63. package/dist/components/footer/footer.d.ts +8 -1
  64. package/dist/components/footer/footer.d.ts.map +1 -1
  65. package/dist/components/footer/footer.js +42 -12
  66. package/dist/components/footer/footer.js.map +1 -0
  67. package/dist/components/form/form-step.js +1 -0
  68. package/dist/components/form/form-step.js.map +1 -0
  69. package/dist/components/form/form.d.ts +3 -0
  70. package/dist/components/form/form.d.ts.map +1 -1
  71. package/dist/components/form/form.js +107 -67
  72. package/dist/components/form/form.js.map +1 -0
  73. package/dist/components/grid/grid-row.d.ts +3 -3
  74. package/dist/components/grid/grid-row.d.ts.map +1 -1
  75. package/dist/components/grid/grid-row.js +36 -22
  76. package/dist/components/grid/grid-row.js.map +1 -0
  77. package/dist/components/grid/grid.d.ts +2 -2
  78. package/dist/components/grid/grid.d.ts.map +1 -1
  79. package/dist/components/grid/grid.js +5 -2
  80. package/dist/components/grid/grid.js.map +1 -0
  81. package/dist/components/icon/icon-paths.js +1 -0
  82. package/dist/components/icon/icon-paths.js.map +1 -0
  83. package/dist/components/icon/icon.js +1 -0
  84. package/dist/components/icon/icon.js.map +1 -0
  85. package/dist/components/input/input.d.ts +9 -0
  86. package/dist/components/input/input.d.ts.map +1 -1
  87. package/dist/components/input/input.js +30 -37
  88. package/dist/components/input/input.js.map +1 -0
  89. package/dist/components/link/link.d.ts +6 -6
  90. package/dist/components/link/link.d.ts.map +1 -1
  91. package/dist/components/link/link.js +42 -19
  92. package/dist/components/link/link.js.map +1 -0
  93. package/dist/components/metadata/metadata.d.ts +3 -3
  94. package/dist/components/metadata/metadata.d.ts.map +1 -1
  95. package/dist/components/metadata/metadata.js +23 -20
  96. package/dist/components/metadata/metadata.js.map +1 -0
  97. package/dist/components/modal/modal.d.ts +4 -16
  98. package/dist/components/modal/modal.d.ts.map +1 -1
  99. package/dist/components/modal/modal.js +99 -62
  100. package/dist/components/modal/modal.js.map +1 -0
  101. package/dist/components/page-layout/page-layout.d.ts +4 -3
  102. package/dist/components/page-layout/page-layout.d.ts.map +1 -1
  103. package/dist/components/page-layout/page-layout.js +95 -68
  104. package/dist/components/page-layout/page-layout.js.map +1 -0
  105. package/dist/components/radio/radio.d.ts +8 -0
  106. package/dist/components/radio/radio.d.ts.map +1 -1
  107. package/dist/components/radio/radio.js +8 -12
  108. package/dist/components/radio/radio.js.map +1 -0
  109. package/dist/components/radio-group/radio-group.d.ts +6 -1
  110. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  111. package/dist/components/radio-group/radio-group.js +44 -18
  112. package/dist/components/radio-group/radio-group.js.map +1 -0
  113. package/dist/components/router/router.d.ts +5 -7
  114. package/dist/components/router/router.d.ts.map +1 -1
  115. package/dist/components/router/router.js +54 -38
  116. package/dist/components/router/router.js.map +1 -0
  117. package/dist/components/select/select.d.ts +1 -3
  118. package/dist/components/select/select.d.ts.map +1 -1
  119. package/dist/components/select/select.js +14 -5
  120. package/dist/components/select/select.js.map +1 -0
  121. package/dist/components/skeleton/skeleton.d.ts +3 -2
  122. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  123. package/dist/components/skeleton/skeleton.js +10 -13
  124. package/dist/components/skeleton/skeleton.js.map +1 -0
  125. package/dist/components/switch/switch.d.ts +12 -0
  126. package/dist/components/switch/switch.d.ts.map +1 -1
  127. package/dist/components/switch/switch.js +28 -22
  128. package/dist/components/switch/switch.js.map +1 -0
  129. package/dist/components/table/data-table.d.ts +3 -25
  130. package/dist/components/table/data-table.d.ts.map +1 -1
  131. package/dist/components/table/data-table.js +211 -146
  132. package/dist/components/table/data-table.js.map +1 -0
  133. package/dist/components/table/table.d.ts +3 -3
  134. package/dist/components/table/table.d.ts.map +1 -1
  135. package/dist/components/table/table.js +39 -20
  136. package/dist/components/table/table.js.map +1 -0
  137. package/dist/components/tabs/tab-panel.d.ts +3 -1
  138. package/dist/components/tabs/tab-panel.d.ts.map +1 -1
  139. package/dist/components/tabs/tab-panel.js +21 -11
  140. package/dist/components/tabs/tab-panel.js.map +1 -0
  141. package/dist/components/tabs/tab.d.ts +5 -1
  142. package/dist/components/tabs/tab.d.ts.map +1 -1
  143. package/dist/components/tabs/tab.js +46 -28
  144. package/dist/components/tabs/tab.js.map +1 -0
  145. package/dist/components/tabs/tabs.d.ts +4 -0
  146. package/dist/components/tabs/tabs.d.ts.map +1 -1
  147. package/dist/components/tabs/tabs.js +76 -13
  148. package/dist/components/tabs/tabs.js.map +1 -0
  149. package/dist/components/textarea/textarea.d.ts +13 -0
  150. package/dist/components/textarea/textarea.d.ts.map +1 -1
  151. package/dist/components/textarea/textarea.js +59 -13
  152. package/dist/components/textarea/textarea.js.map +1 -0
  153. package/dist/components/theme-toggle/theme-toggle.constants.d.ts +3 -0
  154. package/dist/components/theme-toggle/theme-toggle.constants.d.ts.map +1 -0
  155. package/dist/components/theme-toggle/theme-toggle.constants.js +2 -0
  156. package/dist/components/theme-toggle/theme-toggle.constants.js.map +1 -0
  157. package/dist/components/theme-toggle/theme-toggle.d.ts +3 -2
  158. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  159. package/dist/components/theme-toggle/theme-toggle.js +46 -19
  160. package/dist/components/theme-toggle/theme-toggle.js.map +1 -0
  161. package/dist/components/vertical-nav/vertical-nav-group.d.ts +5 -2
  162. package/dist/components/vertical-nav/vertical-nav-group.d.ts.map +1 -1
  163. package/dist/components/vertical-nav/vertical-nav-group.js +50 -14
  164. package/dist/components/vertical-nav/vertical-nav-group.js.map +1 -0
  165. package/dist/components/vertical-nav/vertical-nav-item.d.ts +3 -2
  166. package/dist/components/vertical-nav/vertical-nav-item.d.ts.map +1 -1
  167. package/dist/components/vertical-nav/vertical-nav-item.js +30 -8
  168. package/dist/components/vertical-nav/vertical-nav-item.js.map +1 -0
  169. package/dist/styles/index.css +48 -17
  170. package/dist/styles/reset.js +1 -0
  171. package/dist/styles/reset.js.map +1 -0
  172. package/package.json +2 -1
  173. package/src/components/alert/alert.constants.ts +2 -0
  174. package/src/components/alert/alert.ts +24 -15
  175. package/src/components/badge/badge.constants.ts +2 -0
  176. package/src/components/badge/badge.ts +3 -4
  177. package/src/components/breadcrumb/breadcrumb.ts +2 -2
  178. package/src/components/button/button.constants.ts +8 -0
  179. package/src/components/button/button.ts +184 -144
  180. package/src/components/button-group/button-group.ts +18 -22
  181. package/src/components/checkbox/checkbox.constants.ts +2 -0
  182. package/src/components/checkbox/checkbox.ts +33 -18
  183. package/src/components/code-block/code-block.ts +151 -84
  184. package/src/components/content-card/content-card.ts +10 -16
  185. package/src/components/divider/divider.constants.ts +5 -0
  186. package/src/components/divider/divider.ts +22 -11
  187. package/src/components/drawer/drawer.ts +79 -34
  188. package/src/components/field/field.ts +9 -11
  189. package/src/components/footer/footer.ts +43 -12
  190. package/src/components/form/form.ts +120 -83
  191. package/src/components/grid/grid-row.ts +45 -32
  192. package/src/components/grid/grid.ts +7 -4
  193. package/src/components/input/input.ts +32 -42
  194. package/src/components/link/link.ts +45 -21
  195. package/src/components/metadata/metadata.ts +26 -24
  196. package/src/components/modal/modal.ts +108 -74
  197. package/src/components/page-layout/page-layout.ts +97 -72
  198. package/src/components/radio/radio.ts +8 -13
  199. package/src/components/radio-group/radio-group.ts +45 -21
  200. package/src/components/router/router.ts +73 -50
  201. package/src/components/select/select.ts +18 -19
  202. package/src/components/skeleton/skeleton.ts +14 -14
  203. package/src/components/switch/switch.ts +31 -25
  204. package/src/components/table/data-table.ts +248 -177
  205. package/src/components/table/table.ts +52 -29
  206. package/src/components/tabs/tab-panel.ts +25 -13
  207. package/src/components/tabs/tab.ts +58 -33
  208. package/src/components/tabs/tabs.ts +77 -15
  209. package/src/components/textarea/textarea.ts +63 -15
  210. package/src/components/theme-toggle/theme-toggle.constants.ts +2 -0
  211. package/src/components/theme-toggle/theme-toggle.ts +47 -22
  212. package/src/components/vertical-nav/vertical-nav-group.ts +57 -18
  213. package/src/components/vertical-nav/vertical-nav-item.ts +35 -12
  214. package/src/styles/globals.css +27 -4
  215. package/src/styles/theme.css +38 -32
  216. package/tsconfig.json +2 -1
  217. package/dist/components/card/card.d.ts +0 -11
  218. package/dist/components/card/card.d.ts.map +0 -1
  219. package/dist/components/card/card.js +0 -54
  220. package/src/components/card/card.ts +0 -53
@@ -4,85 +4,63 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { LitElement, html, css } from 'lit';
8
- import { customElement, property, state } from 'lit/decorators.js';
9
- import { classMap } from 'lit/directives/class-map.js';
10
- import { resetStyles } from '../../styles/reset.js';
7
+ import { LitElement, html, css } from "lit";
8
+ import { customElement, property, state } from "lit/decorators.js";
9
+ import { classMap } from "lit/directives/class-map.js";
10
+ import { resetStyles } from "../../styles/reset.js";
11
+ import { ifDefined } from "lit/directives/if-defined.js";
11
12
  let StDataTable = class StDataTable extends LitElement {
12
13
  constructor() {
13
14
  super(...arguments);
14
- /**
15
- * Array defining table headers, keys, and sortability.
16
- */
17
15
  this.columns = [];
18
- /**
19
- * Array of row data objects rendered in the table.
20
- */
21
16
  this.data = [];
22
- /**
23
- * Total number of rows available on the server (used for pagination).
24
- */
25
17
  this.totalRows = 0;
26
- /**
27
- * Current page number (1-indexed).
28
- */
29
18
  this.page = 1;
30
- /**
31
- * Number of rows per page.
32
- */
33
19
  this.pageSize = 10;
34
- /**
35
- * Enables holding 'Shift' to sort by multiple columns sequentially.
36
- */
37
20
  this.multiSort = false;
38
- /**
39
- * Displays loading skeleton rows and locks controls.
40
- */
41
21
  this.loading = false;
42
- // --- Internal State ---
43
22
  this.internalColumns = [];
44
23
  this.sortState = [];
45
- this.searchQuery = '';
24
+ this.searchQuery = "";
46
25
  this.showColumnMenu = false;
47
26
  this.draggedColumnKey = null;
48
27
  this.handleOutsideClick = (e) => {
49
- const target = e.target;
50
- if (!target.closest('.columns-toggle-wrapper')) {
28
+ const path = e.composedPath();
29
+ const toggleWrapper = this.shadowRoot?.querySelector(".columns-toggle-wrapper");
30
+ // 🚀 THE FIX: Use composedPath() to pierce the Shadow DOM and check if
31
+ // the click originated from inside the wrapper element.
32
+ if (toggleWrapper && !path.includes(toggleWrapper)) {
51
33
  this.showColumnMenu = false;
52
34
  }
53
35
  };
54
36
  }
55
37
  willUpdate(changedProperties) {
56
- if (changedProperties.has('columns') && this.columns.length > 0) {
57
- if (this.internalColumns.length === 0) {
58
- this.internalColumns = [...this.columns];
59
- }
60
- }
61
- }
62
- firstUpdated() {
63
- if (this.internalColumns.length === 0 && this.columns.length > 0) {
64
- this.internalColumns = [...this.columns];
38
+ // 🚀 FIX: Properly sync dynamically updated columns while preserving user visibility states
39
+ if (changedProperties.has("columns") && this.columns) {
40
+ this.internalColumns = this.columns.map((newCol) => {
41
+ const existing = this.internalColumns.find((ic) => ic.key === newCol.key);
42
+ return { ...newCol, hidden: existing ? existing.hidden : newCol.hidden };
43
+ });
65
44
  }
66
- this.emitChange();
67
45
  }
68
46
  connectedCallback() {
69
47
  super.connectedCallback();
70
- document.addEventListener('click', this.handleOutsideClick);
48
+ document.addEventListener("click", this.handleOutsideClick);
71
49
  }
72
50
  disconnectedCallback() {
73
- document.removeEventListener('click', this.handleOutsideClick);
51
+ document.removeEventListener("click", this.handleOutsideClick);
74
52
  super.disconnectedCallback();
75
53
  }
76
54
  emitChange() {
77
- this.dispatchEvent(new CustomEvent('st-data-change', {
55
+ this.dispatchEvent(new CustomEvent("st-data-change", {
78
56
  detail: {
79
57
  page: this.page,
80
58
  pageSize: this.pageSize,
81
59
  search: this.searchQuery,
82
- sort: this.sortState
60
+ sort: this.sortState,
83
61
  },
84
62
  bubbles: true,
85
- composed: true
63
+ composed: true,
86
64
  }));
87
65
  }
88
66
  handleSearchInput(e) {
@@ -100,10 +78,10 @@ let StDataTable = class StDataTable extends LitElement {
100
78
  if (this.loading)
101
79
  return;
102
80
  const isShift = e.shiftKey && this.multiSort;
103
- const existingIndex = this.sortState.findIndex(s => s.key === key);
104
- let newDirection = 'asc';
81
+ const existingIndex = this.sortState.findIndex((s) => s.key === key);
82
+ let newDirection = "asc";
105
83
  if (existingIndex !== -1) {
106
- newDirection = this.sortState[existingIndex].direction === 'asc' ? 'desc' : null;
84
+ newDirection = this.sortState[existingIndex].direction === "asc" ? "desc" : null;
107
85
  }
108
86
  let newSortState = [...this.sortState];
109
87
  if (isShift) {
@@ -147,169 +125,255 @@ let StDataTable = class StDataTable extends LitElement {
147
125
  }
148
126
  }
149
127
  toggleColumnVisibility(key) {
150
- this.internalColumns = this.internalColumns.map(col => col.key === key ? { ...col, hidden: !col.hidden } : col);
128
+ this.internalColumns = this.internalColumns.map((col) => col.key === key ? { ...col, hidden: !col.hidden } : col);
151
129
  }
152
130
  handleDragStart(e, key) {
153
131
  this.draggedColumnKey = key;
154
132
  if (e.dataTransfer) {
155
- e.dataTransfer.effectAllowed = 'move';
156
- e.dataTransfer.setData('text/plain', key);
133
+ e.dataTransfer.effectAllowed = "move";
134
+ e.dataTransfer.setData("text/plain", key);
157
135
  }
158
136
  }
159
137
  handleDragOver(e) {
160
138
  e.preventDefault();
161
139
  if (e.dataTransfer)
162
- e.dataTransfer.dropEffect = 'move';
163
- const target = e.target.closest('th');
140
+ e.dataTransfer.dropEffect = "move";
141
+ const target = e.target.closest("th");
164
142
  if (target)
165
- target.classList.add('drag-over');
143
+ target.classList.add("drag-over");
166
144
  }
167
145
  handleDragLeave(e) {
168
- const target = e.target.closest('th');
146
+ const target = e.target.closest("th");
169
147
  if (target)
170
- target.classList.remove('drag-over');
148
+ target.classList.remove("drag-over");
171
149
  }
172
150
  handleDrop(e, targetKey) {
173
151
  e.preventDefault();
174
- const targetEl = e.target.closest('th');
152
+ const targetEl = e.target.closest("th");
175
153
  if (targetEl)
176
- targetEl.classList.remove('drag-over');
154
+ targetEl.classList.remove("drag-over");
177
155
  if (!this.draggedColumnKey || this.draggedColumnKey === targetKey)
178
156
  return;
179
157
  const newCols = [...this.internalColumns];
180
- const fromIndex = newCols.findIndex(c => c.key === this.draggedColumnKey);
181
- const toIndex = newCols.findIndex(c => c.key === targetKey);
158
+ const fromIndex = newCols.findIndex((c) => c.key === this.draggedColumnKey);
159
+ const toIndex = newCols.findIndex((c) => c.key === targetKey);
182
160
  const [movedCol] = newCols.splice(fromIndex, 1);
183
161
  newCols.splice(toIndex, 0, movedCol);
184
162
  this.internalColumns = newCols;
185
163
  this.draggedColumnKey = null;
186
164
  }
187
165
  renderSortIcon(key) {
188
- const sortIndex = this.sortState.findIndex(s => s.key === key);
166
+ const sortIndex = this.sortState.findIndex((s) => s.key === key);
189
167
  if (sortIndex === -1) {
190
- return html `<svg class="sort-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m7 15 5 5 5-5"/><path d="m7 9 5-5 5 5"/></svg>`;
168
+ return html `<svg
169
+ class="sort-icon"
170
+ viewBox="0 0 24 24"
171
+ fill="none"
172
+ stroke="currentColor"
173
+ stroke-width="2"
174
+ stroke-linecap="round"
175
+ stroke-linejoin="round"
176
+ >
177
+ <path d="m7 15 5 5 5-5" />
178
+ <path d="m7 9 5-5 5 5" />
179
+ </svg>`;
191
180
  }
192
181
  const sortConfig = this.sortState[sortIndex];
193
- const icon = sortConfig.direction === 'asc'
194
- ? html `<svg class="sort-icon active" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>`
195
- : html `<svg class="sort-icon active" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>`;
182
+ const icon = sortConfig.direction === "asc"
183
+ ? html `<svg
184
+ class="sort-icon active"
185
+ viewBox="0 0 24 24"
186
+ fill="none"
187
+ stroke="currentColor"
188
+ stroke-width="2"
189
+ stroke-linecap="round"
190
+ stroke-linejoin="round"
191
+ >
192
+ <path d="m18 15-6-6-6 6" />
193
+ </svg>`
194
+ : html `<svg
195
+ class="sort-icon active"
196
+ viewBox="0 0 24 24"
197
+ fill="none"
198
+ stroke="currentColor"
199
+ stroke-width="2"
200
+ stroke-linecap="round"
201
+ stroke-linejoin="round"
202
+ >
203
+ <path d="m6 9 6 6 6-6" />
204
+ </svg>`;
196
205
  const priority = this.sortState.length > 1 && this.multiSort
197
206
  ? html `<span class="sort-priority">${sortIndex + 1}</span>`
198
- : '';
207
+ : "";
199
208
  return html `${icon}${priority}`;
200
209
  }
201
210
  render() {
202
- const visibleColumns = this.internalColumns.filter(c => !c.hidden);
211
+ const visibleColumns = this.internalColumns.filter((c) => !c.hidden);
203
212
  const skeletonRowsCount = Math.min(this.pageSize, 5);
204
213
  return html `
205
- <!-- Toolbar -->
206
214
  <div class="toolbar">
207
215
  <div class="search-wrapper">
208
- <svg class="search-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
209
- <input
210
- type="text"
211
- class="search-input"
212
- placeholder="Search..."
216
+ <svg
217
+ class="search-icon"
218
+ aria-hidden="true"
219
+ viewBox="0 0 24 24"
220
+ fill="none"
221
+ stroke="currentColor"
222
+ stroke-width="2"
223
+ stroke-linecap="round"
224
+ stroke-linejoin="round"
225
+ >
226
+ <circle cx="11" cy="11" r="8"></circle>
227
+ <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
228
+ </svg>
229
+ <input
230
+ type="text"
231
+ class="search-input"
232
+ placeholder="Search..."
233
+ aria-label="Search data table"
234
+ spellcheck="false"
235
+ autocapitalize="none"
213
236
  ?disabled=${this.loading}
214
237
  @input=${this.handleSearchInput}
215
- >
238
+ />
216
239
  </div>
217
240
 
218
241
  <div class="columns-toggle-wrapper">
219
- <st-button
220
- variant="secondary"
221
- size="sm"
222
- @click=${() => this.showColumnMenu = !this.showColumnMenu}
242
+ <st-button
243
+ variant="secondary"
244
+ size="sm"
245
+ aria-haspopup="menu"
246
+ aria-expanded=${this.showColumnMenu}
247
+ @click=${() => (this.showColumnMenu = !this.showColumnMenu)}
223
248
  >
224
249
  Columns
225
250
  </st-button>
226
-
227
- ${this.showColumnMenu ? html `
228
- <div class="columns-menu">
229
- ${this.internalColumns.map(col => html `
230
- <label class="column-option">
231
- <input
232
- type="checkbox"
233
- .checked=${!col.hidden}
234
- @change=${() => this.toggleColumnVisibility(col.key)}
235
- >
236
- ${col.header}
237
- </label>
238
- `)}
239
- </div>
240
- ` : ''}
251
+
252
+ ${this.showColumnMenu
253
+ ? html `
254
+ <div class="columns-menu" role="menu">
255
+ ${this.internalColumns.map((col) => html `
256
+ <label
257
+ class="column-option"
258
+ role="menuitemcheckbox"
259
+ aria-checked=${!col.hidden}
260
+ >
261
+ <input
262
+ type="checkbox"
263
+ .checked=${!col.hidden}
264
+ @change=${() => this.toggleColumnVisibility(col.key)}
265
+ />
266
+ ${col.header}
267
+ </label>
268
+ `)}
269
+ </div>
270
+ `
271
+ : ""}
241
272
  </div>
242
273
  </div>
243
274
 
244
- <!-- Table -->
245
275
  <div class="table-wrapper">
246
- <table>
276
+ <table aria-busy=${this.loading}>
247
277
  <thead>
248
278
  <tr>
249
- ${visibleColumns.map(col => html `
250
- <th
251
- draggable="true"
252
- @dragstart=${(e) => this.handleDragStart(e, col.key)}
253
- @dragover=${this.handleDragOver}
254
- @dragleave=${this.handleDragLeave}
255
- @drop=${(e) => this.handleDrop(e, col.key)}
256
- >
257
- <div class="th-content">
258
- <svg class="drag-handle" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="12" r="1"/><circle cx="9" cy="5" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="19" r="1"/></svg>
259
-
260
- <div
261
- class=${classMap({ 'sortable-header': !!col.sortable })}
262
- @click=${(e) => col.sortable && this.handleSort(col.key, e)}
263
- >
264
- ${col.header}
265
- ${col.sortable ? this.renderSortIcon(col.key) : ''}
279
+ ${visibleColumns.map((col) => {
280
+ const sortItem = this.sortState.find((s) => s.key === col.key);
281
+ const ariaSort = sortItem
282
+ ? sortItem.direction === "asc"
283
+ ? "ascending"
284
+ : "descending"
285
+ : "none";
286
+ return html `
287
+ <th
288
+ scope="col"
289
+ aria-sort=${ifDefined(col.sortable ? ariaSort : undefined)}
290
+ draggable="true"
291
+ @dragstart=${(e) => this.handleDragStart(e, col.key)}
292
+ @dragover=${this.handleDragOver}
293
+ @dragleave=${this.handleDragLeave}
294
+ @drop=${(e) => this.handleDrop(e, col.key)}
295
+ >
296
+ <div class="th-content">
297
+ <svg
298
+ class="drag-handle"
299
+ aria-hidden="true"
300
+ width="12"
301
+ height="12"
302
+ viewBox="0 0 24 24"
303
+ fill="none"
304
+ stroke="currentColor"
305
+ stroke-width="2"
306
+ stroke-linecap="round"
307
+ stroke-linejoin="round"
308
+ >
309
+ <circle cx="9" cy="12" r="1" />
310
+ <circle cx="9" cy="5" r="1" />
311
+ <circle cx="9" cy="19" r="1" />
312
+ <circle cx="15" cy="12" r="1" />
313
+ <circle cx="15" cy="5" r="1" />
314
+ <circle cx="15" cy="19" r="1" />
315
+ </svg>
316
+
317
+ <div
318
+ class=${classMap({ "sortable-header": !!col.sortable })}
319
+ @click=${(e) => col.sortable && this.handleSort(col.key, e)}
320
+ >
321
+ ${col.header} ${col.sortable ? this.renderSortIcon(col.key) : ""}
322
+ </div>
266
323
  </div>
267
- </div>
268
- </th>
269
- `)}
324
+ </th>
325
+ `;
326
+ })}
270
327
  </tr>
271
328
  </thead>
272
- <tbody>
273
- ${this.loading ? html `
274
- ${Array.from({ length: skeletonRowsCount }).map(() => html `
275
- <tr>
276
- ${visibleColumns.map(() => html `
277
- <td><st-skeleton variant="text" width="75%"></st-skeleton></td>
278
- `)}
279
- </tr>
280
- `)}
281
- ` : this.data.length === 0 ? html `
282
- <tr>
283
- <td colspan=${visibleColumns.length} style="text-align: center; padding: 2rem;">No results found.</td>
284
- </tr>
285
- ` : this.data.map(row => html `
286
- <tr>
287
- ${visibleColumns.map(col => html `
288
- <td>${row[col.key]}</td>
289
- `)}
290
- </tr>
291
- `)}
329
+
330
+ <tbody aria-live="polite">
331
+ ${this.loading
332
+ ? html `
333
+ ${Array.from({ length: skeletonRowsCount }).map(() => html `
334
+ <tr>
335
+ ${visibleColumns.map(() => html `
336
+ <td><st-skeleton variant="text" width="75%"></st-skeleton></td>
337
+ `)}
338
+ </tr>
339
+ `)}
340
+ `
341
+ : this.data.length === 0
342
+ ? html `
343
+ <tr>
344
+ <td
345
+ colspan=${visibleColumns.length}
346
+ style="text-align: center; padding: 2rem;"
347
+ >
348
+ No results found.
349
+ </td>
350
+ </tr>
351
+ `
352
+ : this.data.map((row) => html `
353
+ <tr>
354
+ ${visibleColumns.map((col) => html `<td>${row[col.key] ?? ""}</td>`)}
355
+ </tr>
356
+ `)}
292
357
  </tbody>
293
358
  </table>
294
359
  </div>
295
360
 
296
- <!-- Pagination -->
297
361
  <div class="pagination">
298
362
  <div class="pagination-info">
299
363
  Page ${this.page} of ${this.totalPages} (${this.totalRows} total items)
300
364
  </div>
301
365
  <div class="pagination-controls">
302
- <st-button
303
- variant="secondary"
304
- size="sm"
366
+ <st-button
367
+ variant="secondary"
368
+ size="sm"
305
369
  ?disabled=${this.loading || this.page === 1}
306
370
  @click=${this.prevPage}
307
371
  >
308
372
  Prev
309
373
  </st-button>
310
- <st-button
311
- variant="secondary"
312
- size="sm"
374
+ <st-button
375
+ variant="secondary"
376
+ size="sm"
313
377
  ?disabled=${this.loading || this.page === this.totalPages}
314
378
  @click=${this.nextPage}
315
379
  >
@@ -510,7 +574,7 @@ StDataTable.styles = [
510
574
  .drag-handle:hover {
511
575
  opacity: 0.7;
512
576
  }
513
- `
577
+ `,
514
578
  ];
515
579
  __decorate([
516
580
  property({ type: Array })
@@ -519,16 +583,16 @@ __decorate([
519
583
  property({ type: Array })
520
584
  ], StDataTable.prototype, "data", void 0);
521
585
  __decorate([
522
- property({ type: Number, attribute: 'total-rows' })
586
+ property({ type: Number, attribute: "total-rows" })
523
587
  ], StDataTable.prototype, "totalRows", void 0);
524
588
  __decorate([
525
589
  property({ type: Number })
526
590
  ], StDataTable.prototype, "page", void 0);
527
591
  __decorate([
528
- property({ type: Number, attribute: 'page-size' })
592
+ property({ type: Number, attribute: "page-size" })
529
593
  ], StDataTable.prototype, "pageSize", void 0);
530
594
  __decorate([
531
- property({ type: Boolean, attribute: 'multi-sort' })
595
+ property({ type: Boolean, attribute: "multi-sort" })
532
596
  ], StDataTable.prototype, "multiSort", void 0);
533
597
  __decorate([
534
598
  property({ type: Boolean, reflect: true })
@@ -546,6 +610,7 @@ __decorate([
546
610
  state()
547
611
  ], StDataTable.prototype, "showColumnMenu", void 0);
548
612
  StDataTable = __decorate([
549
- customElement('st-data-table')
613
+ customElement("st-data-table")
550
614
  ], StDataTable);
551
615
  export { StDataTable };
616
+ //# sourceMappingURL=data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../src/components/table/data-table.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { LitElement } from 'lit';
2
- export type TableMode = 'horizontal' | 'vertical';
1
+ import { LitElement } from "lit";
2
+ export type TableMode = "horizontal" | "vertical";
3
3
  export interface TableColumn {
4
4
  header: string;
5
5
  key: string;
@@ -16,7 +16,7 @@ export declare class StTable extends LitElement {
16
16
  }
17
17
  declare global {
18
18
  interface HTMLElementTagNameMap {
19
- 'st-table': StTable;
19
+ "st-table": StTable;
20
20
  }
21
21
  }
22
22
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBACa,OAAQ,SAAQ,UAAU;IACV,OAAO,EAAE,WAAW,EAAE,CAAM;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAEjB,IAAI,EAAE,SAAS,CAAgB;IAC9B,OAAO,UAAS;IAChB,SAAS,UAAS;IAClB,KAAK,UAAS;IAE1D,MAAM,CAAC,MAAM,4BAsGX;IAEF,MAAM,yCAqBL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAI1C,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBACa,OAAQ,SAAQ,UAAU;IACZ,OAAO,EAAE,WAAW,EAAE,CAAM;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAEjB,IAAI,EAAE,SAAS,CAAgB;IAC9B,OAAO,UAAS;IAChB,SAAS,UAAS;IAClB,KAAK,UAAS;IAExD,MAAM,CAAC,MAAM,4BA6GX;IAEF,MAAM,yCAqCL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}