@xlabs-store/core 0.0.1 → 0.0.3

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 (1097) hide show
  1. package/LICENSE +21 -21
  2. package/components/index.d.ts +0 -0
  3. package/components/index.js +1 -1
  4. package/components/p--BbMiBIf.js +1 -0
  5. package/components/p-4BROAJ-M.js +1 -0
  6. package/components/p-9T3IQVUX.js +1 -0
  7. package/components/p-B1Y8S28h.js +1 -0
  8. package/components/p-B5VsEsBC.js +1 -0
  9. package/components/p-B7SdFSQT.js +1 -0
  10. package/components/p-B97Hj_bs.js +1 -0
  11. package/components/p-BBTo0Tfc.js +1 -0
  12. package/components/p-BCuFZ3xx.js +1 -0
  13. package/components/p-BFPoQ179.js +1 -0
  14. package/components/p-BLqwG7xa.js +1 -0
  15. package/components/p-BPaLHj9P.js +1 -0
  16. package/components/p-BQtB82ld.js +1 -0
  17. package/components/p-BSLE4EQn.js +1 -0
  18. package/components/{p-DcRlYBIl.js → p-BUXxKr3t.js} +1 -1
  19. package/components/p-BYCebYZT.js +1 -0
  20. package/components/p-BZdNMS4e.js +1 -0
  21. package/components/p-BhWqNJhk.js +1 -0
  22. package/components/p-BnnNgLpE.js +1 -0
  23. package/components/p-BoPZ9Se8.js +1 -0
  24. package/components/p-BogEYBiK.js +1 -0
  25. package/components/p-Brr9Q7gj.js +1 -0
  26. package/components/p-BvOnPBRo.js +1 -0
  27. package/components/p-BzX-LA7W.js +1 -0
  28. package/components/p-C-KgrbKX.js +1 -0
  29. package/components/{p-CfhgoXyB.js → p-C-rau5Ex.js} +1 -1
  30. package/components/{p-B4R9Mtmk.js → p-C1PUbETy.js} +1 -1
  31. package/components/p-C1_JmoB8.js +1 -0
  32. package/components/{p-noTpj1Kh.js → p-C3Kx_-Wc.js} +1 -1
  33. package/components/p-CIOnWzKr.js +1 -0
  34. package/components/p-CQ2VND9-.js +1 -0
  35. package/components/p-CQQI-pRu.js +1 -0
  36. package/components/p-CXhCHTJf.js +1 -0
  37. package/components/p-CaJOfbTg.js +1 -0
  38. package/components/p-Cf_74fjT.js +1 -0
  39. package/components/{p-DVz50Dd3.js → p-CgLn4Y4c.js} +1 -1
  40. package/components/p-CgaLhv3u.js +1 -0
  41. package/components/{p-CGYOWZnh.js → p-CijqjTOk.js} +1 -1
  42. package/components/p-CkwLFDlS.js +1 -0
  43. package/components/p-CkyEMR2k.js +1 -0
  44. package/components/{p-Ce32Mo_Q.js → p-CmfyRJYt.js} +1 -1
  45. package/components/p-CnPsn8zN.js +1 -0
  46. package/components/p-Cp3SPBy3.js +1 -0
  47. package/components/p-CsYh9t-z.js +1 -0
  48. package/components/{p-BM-ap7lt.js → p-CtFbsd8j.js} +1 -1
  49. package/components/p-Cuf33Rgj.js +1 -0
  50. package/components/p-CwNmnRmr.js +1 -0
  51. package/components/p-CxMQkHjk.js +1 -0
  52. package/components/p-CzErFq8K.js +1 -0
  53. package/components/p-CzHtwC1k.js +1 -0
  54. package/components/p-CzjK_fJj.js +1 -0
  55. package/components/p-D4Joi-Km.js +1 -0
  56. package/components/p-D4am7l6X.js +1 -0
  57. package/components/p-D7kqIlVo.js +1 -0
  58. package/components/p-DFzUUEiS.js +1 -0
  59. package/components/p-DINdyuGa.js +1 -0
  60. package/components/p-DIZuWptV.js +1 -0
  61. package/components/p-DPo53FC8.js +1 -0
  62. package/components/p-DPt8hDp3.js +1 -0
  63. package/components/p-DSC5zsOB.js +1 -0
  64. package/components/{p-Co3Y9VjQ.js → p-DSa1uqPO.js} +1 -1
  65. package/components/p-DT7-VE44.js +1 -0
  66. package/components/p-DTPUsC3Q.js +1 -0
  67. package/components/p-DUjF0MeP.js +1 -0
  68. package/components/p-DXMO8s1V.js +1 -0
  69. package/components/p-DZtvVtvb.js +1 -0
  70. package/components/p-D_184xNl.js +1 -0
  71. package/components/p-D_hKBumm.js +1 -0
  72. package/components/p-Da7AZprv.js +1 -0
  73. package/components/p-DcqkhKqy.js +1 -0
  74. package/components/p-Dkga4pDL.js +1 -0
  75. package/components/p-Dn1c0e9W.js +1 -0
  76. package/components/p-DobuHW4v.js +1 -0
  77. package/components/p-DqayamUz.js +1 -0
  78. package/components/{p-Cd919NAP.js → p-DtIk7IPf.js} +1 -1
  79. package/components/p-DwySgZYx.js +1 -0
  80. package/components/p-DynL8Hj8.js +1 -0
  81. package/components/p-EYMvnfpO.js +1 -0
  82. package/components/p-K2tV3sog.js +1 -0
  83. package/components/p-LX68sH4m.js +1 -0
  84. package/components/{p-CKVSyuIH.js → p-MRcLOacJ.js} +1 -1
  85. package/components/p-N4_1eZ9k.js +1 -0
  86. package/components/p-PNU1f8B9.js +1 -0
  87. package/components/p-SFcKtdEL.js +1 -0
  88. package/components/p-VezrLuwj.js +1 -0
  89. package/components/p-eF_oZrS1.js +1 -0
  90. package/components/p-ez-wfqCC.js +1 -0
  91. package/components/p-gQbQhfDs.js +1 -0
  92. package/components/p-ibXnjCdF.js +1 -0
  93. package/components/p-jTIj1nFL.js +1 -0
  94. package/components/p-k2uLDFNn.js +1 -0
  95. package/components/p-pK9HRi91.js +1 -0
  96. package/components/p-sijpPVRP.js +1 -0
  97. package/components/p-tMIvQ4L0.js +1 -0
  98. package/components/p-yktKa2eA.js +1 -0
  99. package/components/x-address.js +1 -1
  100. package/components/x-affix.d.ts +0 -0
  101. package/components/x-affix.js +1 -1
  102. package/components/x-alert.d.ts +0 -0
  103. package/components/x-alert.js +1 -1
  104. package/components/x-anchor-link.d.ts +0 -0
  105. package/components/x-anchor-link.js +1 -1
  106. package/components/x-anchor.d.ts +0 -0
  107. package/components/x-anchor.js +1 -1
  108. package/components/x-app.d.ts +0 -0
  109. package/components/x-app.js +1 -1
  110. package/components/x-auto-complete-dropdown-content.d.ts +0 -0
  111. package/components/x-auto-complete-dropdown-content.js +1 -1
  112. package/components/x-auto-complete.d.ts +0 -0
  113. package/components/x-auto-complete.js +1 -1
  114. package/components/x-avatar.d.ts +0 -0
  115. package/components/x-avatar.js +1 -1
  116. package/components/x-back-top.js +1 -1
  117. package/components/x-badge.d.ts +0 -0
  118. package/components/x-badge.js +1 -1
  119. package/components/x-breadcrumb-item.d.ts +0 -0
  120. package/components/x-breadcrumb-item.js +1 -1
  121. package/components/x-breadcrumb.d.ts +0 -0
  122. package/components/x-breadcrumb.js +1 -1
  123. package/components/x-button.d.ts +0 -0
  124. package/components/x-button.js +1 -1
  125. package/components/x-captcha.js +1 -1
  126. package/components/x-card.d.ts +0 -0
  127. package/components/x-card.js +1 -1
  128. package/components/x-carousel.d.ts +0 -0
  129. package/components/x-carousel.js +1 -1
  130. package/components/x-cascader-dropdown-content.d.ts +0 -0
  131. package/components/x-cascader-dropdown-content.js +1 -1
  132. package/components/x-cascader.d.ts +0 -0
  133. package/components/x-cascader.js +1 -1
  134. package/components/x-checkbox.d.ts +0 -0
  135. package/components/x-checkbox.js +1 -1
  136. package/components/x-code-editor.d.ts +11 -0
  137. package/components/x-code-editor.js +1 -0
  138. package/components/x-col.d.ts +0 -0
  139. package/components/x-col.js +1 -1
  140. package/components/x-collapse-panel.d.ts +0 -0
  141. package/components/x-collapse-panel.js +1 -1
  142. package/components/x-collapse.d.ts +0 -0
  143. package/components/x-collapse.js +1 -1
  144. package/components/x-color-picker-panel.d.ts +0 -0
  145. package/components/x-color-picker-panel.js +1 -1
  146. package/components/x-color-picker.d.ts +0 -0
  147. package/components/x-color-picker.js +1 -1
  148. package/components/x-comment.d.ts +0 -0
  149. package/components/x-comment.js +1 -1
  150. package/components/x-content.d.ts +0 -0
  151. package/components/x-content.js +1 -1
  152. package/components/x-date-picker-dropdown-content.d.ts +0 -0
  153. package/components/x-date-picker-dropdown-content.js +1 -1
  154. package/components/x-date-picker.d.ts +0 -0
  155. package/components/x-date-picker.js +1 -1
  156. package/components/x-descriptions-item.d.ts +0 -0
  157. package/components/x-descriptions-item.js +1 -1
  158. package/components/x-descriptions.d.ts +0 -0
  159. package/components/x-descriptions.js +1 -1
  160. package/components/x-divider.d.ts +0 -0
  161. package/components/x-divider.js +1 -1
  162. package/components/x-drawer-content.d.ts +0 -0
  163. package/components/x-drawer-content.js +1 -1
  164. package/components/x-drawer.d.ts +0 -0
  165. package/components/x-drawer.js +1 -1
  166. package/components/x-dropdown-content.d.ts +0 -0
  167. package/components/x-dropdown-content.js +1 -1
  168. package/components/x-dropdown.d.ts +0 -0
  169. package/components/x-dropdown.js +1 -1
  170. package/components/x-editor.d.ts +0 -0
  171. package/components/x-editor.js +1 -1
  172. package/components/x-empty.d.ts +0 -0
  173. package/components/x-empty.js +1 -1
  174. package/components/x-finder.d.ts +0 -0
  175. package/components/x-finder.js +1 -1
  176. package/components/x-flex.d.ts +0 -0
  177. package/components/x-flex.js +1 -1
  178. package/components/x-float-button.d.ts +0 -0
  179. package/components/x-float-button.js +1 -1
  180. package/components/x-footer.d.ts +0 -0
  181. package/components/x-footer.js +1 -1
  182. package/components/x-form-builder.d.ts +0 -0
  183. package/components/x-form-builder.js +1 -1
  184. package/components/x-form-item.d.ts +0 -0
  185. package/components/x-form-item.js +1 -1
  186. package/components/x-form.d.ts +0 -0
  187. package/components/x-form.js +1 -1
  188. package/components/x-header.d.ts +0 -0
  189. package/components/x-header.js +1 -1
  190. package/components/x-icon-picker-dropdown-content.d.ts +11 -0
  191. package/components/x-icon-picker-dropdown-content.js +1 -0
  192. package/components/x-icon.d.ts +0 -0
  193. package/components/x-icon.js +1 -1
  194. package/components/x-image.d.ts +0 -0
  195. package/components/x-image.js +1 -1
  196. package/components/x-infinite-scroll.d.ts +0 -0
  197. package/components/x-infinite-scroll.js +1 -1
  198. package/components/x-input-icon.d.ts +11 -0
  199. package/components/x-input-icon.js +1 -0
  200. package/components/x-input-number.d.ts +0 -0
  201. package/components/x-input-number.js +1 -1
  202. package/components/x-input.d.ts +0 -0
  203. package/components/x-input.js +1 -1
  204. package/components/x-layout-admin.d.ts +11 -0
  205. package/components/x-layout-admin.js +1 -0
  206. package/components/x-layout-detail.d.ts +11 -0
  207. package/components/x-layout-detail.js +1 -0
  208. package/components/x-layout-list.d.ts +11 -0
  209. package/components/x-layout-list.js +1 -0
  210. package/components/x-layout.d.ts +0 -0
  211. package/components/x-layout.js +1 -1
  212. package/components/x-list-item.js +1 -1
  213. package/components/x-list.d.ts +0 -0
  214. package/components/x-list.js +1 -1
  215. package/components/x-login.d.ts +11 -0
  216. package/components/x-login.js +1 -0
  217. package/components/x-mentions.d.ts +0 -0
  218. package/components/x-mentions.js +1 -1
  219. package/components/x-menu-divider.d.ts +0 -0
  220. package/components/x-menu-divider.js +1 -1
  221. package/components/x-menu-item-group.d.ts +0 -0
  222. package/components/x-menu-item-group.js +1 -1
  223. package/components/x-menu-item.d.ts +0 -0
  224. package/components/x-menu-item.js +1 -1
  225. package/components/x-menu-submenu.d.ts +0 -0
  226. package/components/x-menu-submenu.js +1 -1
  227. package/components/x-menu.d.ts +0 -0
  228. package/components/x-menu.js +1 -1
  229. package/components/x-message.d.ts +0 -0
  230. package/components/x-message.js +1 -1
  231. package/components/x-modal-content.d.ts +0 -0
  232. package/components/x-modal-content.js +1 -1
  233. package/components/x-modal.d.ts +0 -0
  234. package/components/x-modal.js +1 -1
  235. package/components/x-notification.d.ts +0 -0
  236. package/components/x-notification.js +1 -1
  237. package/components/x-page-header.js +1 -1
  238. package/components/x-pagination.d.ts +0 -0
  239. package/components/x-pagination.js +1 -1
  240. package/components/x-popconfirm-content.d.ts +0 -0
  241. package/components/x-popconfirm-content.js +1 -1
  242. package/components/x-popconfirm.d.ts +0 -0
  243. package/components/x-popconfirm.js +1 -1
  244. package/components/x-popover-content.d.ts +0 -0
  245. package/components/x-popover-content.js +1 -1
  246. package/components/x-popover.d.ts +0 -0
  247. package/components/x-popover.js +1 -1
  248. package/components/x-progress.d.ts +0 -0
  249. package/components/x-progress.js +1 -1
  250. package/components/x-qr-code.d.ts +0 -0
  251. package/components/x-qr-code.js +1 -1
  252. package/components/x-radio-group.d.ts +0 -0
  253. package/components/x-radio-group.js +1 -1
  254. package/components/x-radio.d.ts +0 -0
  255. package/components/x-radio.js +1 -1
  256. package/components/x-range-picker-dropdown-content.d.ts +0 -0
  257. package/components/x-range-picker-dropdown-content.js +1 -1
  258. package/components/x-range-picker.d.ts +0 -0
  259. package/components/x-range-picker.js +1 -1
  260. package/components/x-rate.d.ts +0 -0
  261. package/components/x-rate.js +1 -1
  262. package/components/x-result.d.ts +0 -0
  263. package/components/x-result.js +1 -1
  264. package/components/x-row.d.ts +0 -0
  265. package/components/x-row.js +1 -1
  266. package/components/x-segmented.d.ts +0 -0
  267. package/components/x-segmented.js +1 -1
  268. package/components/x-select-dropdown-content.d.ts +0 -0
  269. package/components/x-select-dropdown-content.js +1 -1
  270. package/components/x-select-option.d.ts +0 -0
  271. package/components/x-select-option.js +1 -1
  272. package/components/x-select.d.ts +0 -0
  273. package/components/x-select.js +1 -1
  274. package/components/x-sider.d.ts +0 -0
  275. package/components/x-sider.js +1 -1
  276. package/components/x-skeleton.d.ts +0 -0
  277. package/components/x-skeleton.js +1 -1
  278. package/components/x-slider.d.ts +0 -0
  279. package/components/x-slider.js +1 -1
  280. package/components/x-space.d.ts +0 -0
  281. package/components/x-space.js +1 -1
  282. package/components/x-spin.d.ts +0 -0
  283. package/components/x-spin.js +1 -1
  284. package/components/x-splitter-panel.d.ts +0 -0
  285. package/components/x-splitter-panel.js +1 -1
  286. package/components/x-splitter.d.ts +0 -0
  287. package/components/x-splitter.js +1 -1
  288. package/components/x-statistic.d.ts +0 -0
  289. package/components/x-statistic.js +1 -1
  290. package/components/x-step.d.ts +0 -0
  291. package/components/x-step.js +1 -1
  292. package/components/x-steps.d.ts +0 -0
  293. package/components/x-steps.js +1 -1
  294. package/components/x-switch.d.ts +0 -0
  295. package/components/x-switch.js +1 -1
  296. package/components/x-tab-pane.js +1 -1
  297. package/components/x-table-cell.d.ts +0 -0
  298. package/components/x-table-cell.js +1 -1
  299. package/components/x-table-row.d.ts +0 -0
  300. package/components/x-table-row.js +1 -1
  301. package/components/x-table.d.ts +0 -0
  302. package/components/x-table.js +1 -1
  303. package/components/x-tabs.d.ts +0 -0
  304. package/components/x-tabs.js +1 -1
  305. package/components/x-tag.d.ts +0 -0
  306. package/components/x-tag.js +1 -1
  307. package/components/x-textarea.d.ts +0 -0
  308. package/components/x-textarea.js +1 -1
  309. package/components/x-time-picker-dropdown-content.d.ts +0 -0
  310. package/components/x-time-picker-dropdown-content.js +1 -1
  311. package/components/x-time-picker.d.ts +0 -0
  312. package/components/x-time-picker.js +1 -1
  313. package/components/x-timeline-item.d.ts +0 -0
  314. package/components/x-timeline-item.js +1 -1
  315. package/components/x-timeline.d.ts +0 -0
  316. package/components/x-timeline.js +1 -1
  317. package/components/x-tooltip-content.d.ts +0 -0
  318. package/components/x-tooltip-content.js +1 -1
  319. package/components/x-tooltip.d.ts +0 -0
  320. package/components/x-tooltip.js +1 -1
  321. package/components/x-tour-panel.d.ts +0 -0
  322. package/components/x-tour-panel.js +1 -1
  323. package/components/x-tour.d.ts +0 -0
  324. package/components/x-tour.js +1 -1
  325. package/components/x-transfer.d.ts +0 -0
  326. package/components/x-transfer.js +1 -1
  327. package/components/x-tree-select-dropdown-content.js +1 -1
  328. package/components/x-tree-select.d.ts +0 -0
  329. package/components/x-tree-select.js +1 -1
  330. package/components/x-tree.d.ts +0 -0
  331. package/components/x-tree.js +1 -1
  332. package/components/x-typography.d.ts +0 -0
  333. package/components/x-typography.js +1 -1
  334. package/components/x-upload.d.ts +0 -0
  335. package/components/x-upload.js +1 -1
  336. package/components/x-virtual-scroll.d.ts +0 -0
  337. package/components/x-virtual-scroll.js +1 -1
  338. package/components/x-workflow-builder.d.ts +0 -0
  339. package/components/x-workflow-builder.js +1 -1
  340. package/components/x-workflow.d.ts +0 -0
  341. package/components/x-workflow.js +1 -1
  342. package/dist/cjs/{abstract-control-C4D0eNCC.js → abstract-control-JI4_szTV.js} +40 -14
  343. package/dist/cjs/{config-BP9bROYD.js → config-BYR5qIIZ.js} +3 -3
  344. package/dist/cjs/icons-BfHE2jcr.js +19261 -0
  345. package/dist/cjs/{index-C7sKs9A2.js → index-Cy2P_ln3.js} +39 -12
  346. package/dist/cjs/index.cjs.js +7 -5
  347. package/dist/cjs/loader.cjs.js +2 -2
  348. package/dist/cjs/{locale.service-Cz-aZQnr.js → locale.service-DT6E8Rzd.js} +17 -9
  349. package/dist/cjs/{modal-service-BtAF0mFq.js → modal-service-FQpCPk_L.js} +34 -14
  350. package/dist/cjs/{notification-service-m6I5U9aG.js → notification-service-v7LRmTyh.js} +12 -13
  351. package/dist/cjs/{portal-controller-CtYVbhXL.js → portal-controller-DJft2QkA.js} +11 -16
  352. package/dist/cjs/{schema-builder-CYnX7lKi.js → schema-builder-DAwDwgIM.js} +385 -99
  353. package/dist/cjs/{tree.service-fxLOCSpD.js → tree.service-u0qqS1Qh.js} +22 -22
  354. package/dist/cjs/x-address_51.cjs.entry.js +26978 -0
  355. package/dist/cjs/x-affix.cjs.entry.js +5 -5
  356. package/dist/cjs/{x-alert_11.cjs.entry.js → x-alert_9.cjs.entry.js} +267 -646
  357. package/dist/cjs/x-anchor-link.cjs.entry.js +3 -3
  358. package/dist/cjs/x-anchor.cjs.entry.js +11 -9
  359. package/dist/cjs/x-app.cjs.entry.js +19 -19
  360. package/dist/cjs/x-back-top.cjs.entry.js +4 -4
  361. package/dist/cjs/x-breadcrumb_2.cjs.entry.js +124 -0
  362. package/dist/cjs/x-carousel.cjs.entry.js +7 -7
  363. package/dist/cjs/x-code-editor.cjs.entry.js +2365 -0
  364. package/dist/cjs/x-col_11.cjs.entry.js +1204 -0
  365. package/dist/cjs/x-collapse-panel.cjs.entry.js +4 -4
  366. package/dist/cjs/x-collapse.cjs.entry.js +4 -4
  367. package/dist/cjs/x-comment.cjs.entry.js +5 -5
  368. package/dist/cjs/x-descriptions-item.cjs.entry.js +6 -6
  369. package/dist/cjs/{x-breadcrumb_5.cjs.entry.js → x-descriptions_3.cjs.entry.js} +36 -157
  370. package/dist/cjs/x-drawer-content.cjs.entry.js +8 -8
  371. package/dist/cjs/x-drawer.cjs.entry.js +9 -7
  372. package/dist/cjs/x-finder.cjs.entry.js +39 -32
  373. package/dist/cjs/x-icon-picker-dropdown-content.cjs.entry.js +158 -0
  374. package/dist/cjs/x-infinite-scroll.cjs.entry.js +4 -4
  375. package/dist/cjs/x-input-icon.cjs.entry.js +361 -0
  376. package/dist/cjs/x-layout-admin.cjs.entry.js +45 -0
  377. package/dist/cjs/x-layout-detail.cjs.entry.js +145 -0
  378. package/dist/cjs/x-layout-list.cjs.entry.js +259 -0
  379. package/dist/cjs/x-list-item.cjs.entry.js +3 -3
  380. package/dist/cjs/{x-menu-submenu.cjs.entry.js → x-list_2.cjs.entry.js} +141 -7
  381. package/dist/cjs/x-mentions.cjs.entry.js +6 -6
  382. package/dist/cjs/x-menu-divider.cjs.entry.js +2 -2
  383. package/dist/cjs/x-menu-item-group.cjs.entry.js +2 -2
  384. package/dist/cjs/x-menu_2.cjs.entry.js +509 -0
  385. package/dist/cjs/x-message.cjs.entry.js +7 -7
  386. package/dist/cjs/x-notification.cjs.entry.js +7 -7
  387. package/dist/cjs/x-page-header.cjs.entry.js +3 -3
  388. package/dist/cjs/x-popconfirm-content.cjs.entry.js +4 -4
  389. package/dist/cjs/x-popconfirm.cjs.entry.js +5 -5
  390. package/dist/cjs/x-progress.cjs.entry.js +10 -10
  391. package/dist/cjs/x-qr-code.cjs.entry.js +11 -9
  392. package/dist/cjs/x-skeleton.cjs.entry.js +5 -5
  393. package/dist/cjs/x-splitter-panel.cjs.entry.js +2 -2
  394. package/dist/cjs/x-splitter.cjs.entry.js +11 -5
  395. package/dist/cjs/x-statistic.cjs.entry.js +3 -3
  396. package/dist/cjs/x-step.cjs.entry.js +7 -7
  397. package/dist/cjs/x-steps.cjs.entry.js +6 -8
  398. package/dist/cjs/x-table-cell.cjs.entry.js +4 -4
  399. package/dist/cjs/x-table-row.cjs.entry.js +13 -10
  400. package/dist/cjs/x-timeline-item.cjs.entry.js +4 -4
  401. package/dist/cjs/x-timeline.cjs.entry.js +4 -4
  402. package/dist/cjs/x-tour-panel.cjs.entry.js +3 -3
  403. package/dist/cjs/x-tour.cjs.entry.js +16 -16
  404. package/dist/cjs/x-virtual-scroll.cjs.entry.js +5 -5
  405. package/dist/cjs/x-workflow-builder.cjs.entry.js +8 -8
  406. package/dist/cjs/xlabs.cjs.js +24 -0
  407. package/dist/collection/collection-manifest.json +8 -1
  408. package/dist/collection/components/x-address/vietnam-data.js +3 -3
  409. package/dist/collection/components/x-address/x-address.css +5 -2
  410. package/dist/collection/components/x-address/x-address.js +8 -10
  411. package/dist/collection/components/x-affix/x-affix.js +4 -4
  412. package/dist/collection/components/x-alert/x-alert.css +5 -2
  413. package/dist/collection/components/x-alert/x-alert.js +1 -1
  414. package/dist/collection/components/x-anchor/x-anchor.js +16 -8
  415. package/dist/collection/components/x-anchor-link/x-anchor-link.js +2 -2
  416. package/dist/collection/components/x-app/x-app.js +15 -15
  417. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/auto-complete-dropdown-content.css +5 -2
  418. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/auto-complete-dropdown-content.js +1 -1
  419. package/dist/collection/components/x-auto-complete/types.js +2 -5
  420. package/dist/collection/components/x-auto-complete/x-auto-complete.css +5 -2
  421. package/dist/collection/components/x-auto-complete/x-auto-complete.js +52 -25
  422. package/dist/collection/components/x-avatar/x-avatar.js +23 -14
  423. package/dist/collection/components/x-back-top/x-back-top.js +3 -3
  424. package/dist/collection/components/x-badge/x-badge.js +3 -7
  425. package/dist/collection/components/x-breadcrumb/x-breadcrumb.js +3 -3
  426. package/dist/collection/components/x-breadcrumb-item/x-breadcrumb-item.js +1 -1
  427. package/dist/collection/components/x-button/x-button.js +7 -7
  428. package/dist/collection/components/x-captcha/x-captcha.js +28 -8
  429. package/dist/collection/components/x-card/x-card.css +9 -4
  430. package/dist/collection/components/x-card/x-card.js +1 -1
  431. package/dist/collection/components/x-carousel/x-carousel.css +5 -2
  432. package/dist/collection/components/x-carousel/x-carousel.js +5 -5
  433. package/dist/collection/components/x-cascader/cascader-dropdown-content/cascader-dropdown-content.css +5 -2
  434. package/dist/collection/components/x-cascader/cascader-dropdown-content/cascader-dropdown-content.js +9 -9
  435. package/dist/collection/components/x-cascader/x-cascader.css +5 -2
  436. package/dist/collection/components/x-cascader/x-cascader.js +17 -20
  437. package/dist/collection/components/x-checkbox/x-checkbox.css +5 -2
  438. package/dist/collection/components/x-checkbox/x-checkbox.js +9 -19
  439. package/dist/collection/components/x-code-editor/types.js +1 -0
  440. package/dist/collection/components/x-code-editor/x-code-editor.css +1274 -0
  441. package/dist/collection/components/x-code-editor/x-code-editor.js +1497 -0
  442. package/dist/collection/components/x-col/x-col.css +5 -2
  443. package/dist/collection/components/x-col/x-col.js +14 -14
  444. package/dist/collection/components/x-collapse/x-collapse.css +5 -2
  445. package/dist/collection/components/x-collapse/x-collapse.js +4 -4
  446. package/dist/collection/components/x-collapse-panel/x-collapse-panel.css +5 -2
  447. package/dist/collection/components/x-collapse-panel/x-collapse-panel.js +4 -4
  448. package/dist/collection/components/x-color-picker/x-color-picker-panel.js +6 -8
  449. package/dist/collection/components/x-color-picker/x-color-picker.css +5 -2
  450. package/dist/collection/components/x-color-picker/x-color-picker.js +72 -12
  451. package/dist/collection/components/x-comment/x-comment.css +5 -2
  452. package/dist/collection/components/x-comment/x-comment.js +3 -3
  453. package/dist/collection/components/x-content/x-content.css +5 -4
  454. package/dist/collection/components/x-content/x-content.js +3 -3
  455. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/date-picker-dropdown-content.css +7 -3
  456. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/date-picker-dropdown-content.js +5 -9
  457. package/dist/collection/components/x-date-picker/x-date-picker.css +5 -2
  458. package/dist/collection/components/x-date-picker/x-date-picker.js +65 -23
  459. package/dist/collection/components/x-descriptions/x-descriptions.css +5 -2
  460. package/dist/collection/components/x-descriptions/x-descriptions.js +3 -3
  461. package/dist/collection/components/x-descriptions-item/x-descriptions-item.css +5 -2
  462. package/dist/collection/components/x-descriptions-item/x-descriptions-item.js +4 -4
  463. package/dist/collection/components/x-divider/x-divider.css +5 -2
  464. package/dist/collection/components/x-divider/x-divider.js +3 -3
  465. package/dist/collection/components/x-drawer/x-drawer.css +5 -2
  466. package/dist/collection/components/x-drawer/x-drawer.js +6 -4
  467. package/dist/collection/components/x-drawer-content/x-drawer-content.css +5 -2
  468. package/dist/collection/components/x-drawer-content/x-drawer-content.js +4 -4
  469. package/dist/collection/components/x-dropdown/dropdown-content/dropdown-content.css +5 -2
  470. package/dist/collection/components/x-dropdown/dropdown-content/dropdown-content.js +1 -1
  471. package/dist/collection/components/x-dropdown/x-dropdown.css +5 -2
  472. package/dist/collection/components/x-dropdown/x-dropdown.js +34 -12
  473. package/dist/collection/components/x-editor/types.js +4 -6
  474. package/dist/collection/components/x-editor/x-editor.css +25 -10
  475. package/dist/collection/components/x-editor/x-editor.js +80 -74
  476. package/dist/collection/components/x-empty/x-empty.css +5 -2
  477. package/dist/collection/components/x-empty/x-empty.js +1 -1
  478. package/dist/collection/components/x-finder/services/finder-service.js +7 -9
  479. package/dist/collection/components/x-finder/x-finder.css +10 -4
  480. package/dist/collection/components/x-finder/x-finder.js +28 -19
  481. package/dist/collection/components/x-flex/x-flex.css +5 -2
  482. package/dist/collection/components/x-flex/x-flex.js +5 -7
  483. package/dist/collection/components/x-float-button/x-float-button.css +5 -2
  484. package/dist/collection/components/x-float-button/x-float-button.js +4 -4
  485. package/dist/collection/components/x-footer/x-footer.css +5 -2
  486. package/dist/collection/components/x-footer/x-footer.js +1 -1
  487. package/dist/collection/components/x-form/x-form.css +5 -2
  488. package/dist/collection/components/x-form/x-form.js +98 -3
  489. package/dist/collection/components/x-form-builder/services/apis/api-client.js +24 -15
  490. package/dist/collection/components/x-form-builder/services/forms/form-array.js +3 -5
  491. package/dist/collection/components/x-form-builder/services/forms/form-group.js +6 -6
  492. package/dist/collection/components/x-form-builder/services/forms/validators.js +20 -10
  493. package/dist/collection/components/x-form-builder/services/schema/condition-builder.js +73 -50
  494. package/dist/collection/components/x-form-builder/services/schema/default-registry.js +108 -87
  495. package/dist/collection/components/x-form-builder/services/schema/form-mapping.js +80 -5
  496. package/dist/collection/components/x-form-builder/services/schema/formula-builder.js +114 -0
  497. package/dist/collection/components/x-form-builder/services/schema/schema-builder.js +7 -2
  498. package/dist/collection/components/x-form-builder/services/schema/schema-validator.js +1 -1
  499. package/dist/collection/components/x-form-builder/types/common/index.js +1 -0
  500. package/dist/collection/components/x-form-builder/types/common/ui-types.js +1 -0
  501. package/dist/collection/components/x-form-builder/types/fields/selection-fields.js +1 -9
  502. package/dist/collection/components/x-form-builder/utils/condition-engine.js +56 -14
  503. package/dist/collection/components/x-form-builder/utils/utils.js +25 -6
  504. package/dist/collection/components/x-form-builder/x-form-builder.js +559 -206
  505. package/dist/collection/components/x-form-item/x-form-item.css +16 -10
  506. package/dist/collection/components/x-form-item/x-form-item.js +46 -28
  507. package/dist/collection/components/x-header/x-header.css +5 -2
  508. package/dist/collection/components/x-header/x-header.js +1 -1
  509. package/dist/collection/components/x-icon/icons.js +19257 -2716
  510. package/dist/collection/components/x-icon/x-icon.css +5 -2
  511. package/dist/collection/components/x-icon/x-icon.js +6 -6
  512. package/dist/collection/components/x-image/x-image.css +5 -2
  513. package/dist/collection/components/x-image/x-image.js +6 -6
  514. package/dist/collection/components/x-infinite-scroll/x-infinite-scroll.css +5 -2
  515. package/dist/collection/components/x-infinite-scroll/x-infinite-scroll.js +2 -2
  516. package/dist/collection/components/x-input/x-input.css +25 -2
  517. package/dist/collection/components/x-input/x-input.js +38 -9
  518. package/dist/collection/components/x-input-icon/icon-picker-dropdown-content/icon-picker-dropdown-content.css +453 -0
  519. package/dist/collection/components/x-input-icon/icon-picker-dropdown-content/icon-picker-dropdown-content.js +304 -0
  520. package/dist/collection/components/x-input-icon/types.js +1 -0
  521. package/dist/collection/components/x-input-icon/x-input-icon.css +404 -0
  522. package/dist/collection/components/x-input-icon/x-input-icon.js +917 -0
  523. package/dist/collection/components/x-input-number/x-input-number.css +5 -2
  524. package/dist/collection/components/x-input-number/x-input-number.js +108 -13
  525. package/dist/collection/components/x-layout/x-layout.css +5 -2
  526. package/dist/collection/components/x-layout/x-layout.js +11 -5
  527. package/dist/collection/components/x-layout-admin/x-layout-admin.css +403 -0
  528. package/dist/collection/components/x-layout-admin/x-layout-admin.js +127 -0
  529. package/dist/collection/components/x-layout-detail/x-layout-detail.css +479 -0
  530. package/dist/collection/components/x-layout-detail/x-layout-detail.js +300 -0
  531. package/dist/collection/components/x-layout-list/types.js +1 -0
  532. package/dist/collection/components/x-layout-list/x-layout-list.css +511 -0
  533. package/dist/collection/components/x-layout-list/x-layout-list.js +619 -0
  534. package/dist/collection/components/x-list/x-list.css +5 -2
  535. package/dist/collection/components/x-list/x-list.js +3 -3
  536. package/dist/collection/components/x-list-item/x-list-item.css +5 -2
  537. package/dist/collection/components/x-list-item/x-list-item.js +1 -1
  538. package/dist/collection/components/x-login/types.js +1 -0
  539. package/dist/collection/components/x-login/x-login.css +562 -0
  540. package/dist/collection/components/x-login/x-login.js +706 -0
  541. package/dist/collection/components/x-mentions/x-mentions.css +5 -2
  542. package/dist/collection/components/x-mentions/x-mentions.js +4 -4
  543. package/dist/collection/components/x-menu/x-menu.js +1 -1
  544. package/dist/collection/components/x-menu-divider/x-menu-divider.js +1 -1
  545. package/dist/collection/components/x-menu-item/x-menu-item.js +2 -2
  546. package/dist/collection/components/x-menu-item-group/x-menu-item-group.js +1 -1
  547. package/dist/collection/components/x-menu-submenu/x-menu-submenu.js +5 -5
  548. package/dist/collection/components/x-message/message-service.js +2 -2
  549. package/dist/collection/components/x-message/x-message.css +5 -2
  550. package/dist/collection/components/x-message/x-message.js +5 -5
  551. package/dist/collection/components/x-modal/modal-service.js +33 -13
  552. package/dist/collection/components/x-modal/x-modal.css +5 -2
  553. package/dist/collection/components/x-modal/x-modal.js +148 -47
  554. package/dist/collection/components/x-modal-content/x-modal-content.css +110 -18
  555. package/dist/collection/components/x-modal-content/x-modal-content.js +157 -12
  556. package/dist/collection/components/x-notification/notification-service.js +9 -10
  557. package/dist/collection/components/x-notification/x-notification.css +6 -2
  558. package/dist/collection/components/x-notification/x-notification.js +4 -4
  559. package/dist/collection/components/x-page-header/x-page-header.css +5 -2
  560. package/dist/collection/components/x-page-header/x-page-header.js +1 -1
  561. package/dist/collection/components/x-pagination/x-pagination.css +11 -2
  562. package/dist/collection/components/x-pagination/x-pagination.js +18 -14
  563. package/dist/collection/components/x-popconfirm/popconfirm-content/popconfirm-content.css +5 -2
  564. package/dist/collection/components/x-popconfirm/popconfirm-content/popconfirm-content.js +1 -1
  565. package/dist/collection/components/x-popconfirm/x-popconfirm.css +5 -2
  566. package/dist/collection/components/x-popconfirm/x-popconfirm.js +1 -1
  567. package/dist/collection/components/x-popover/popover-content/popover-content.css +5 -2
  568. package/dist/collection/components/x-popover/popover-content/popover-content.js +1 -1
  569. package/dist/collection/components/x-popover/x-popover.css +5 -2
  570. package/dist/collection/components/x-popover/x-popover.js +1 -1
  571. package/dist/collection/components/x-portal/positioning.js +11 -16
  572. package/dist/collection/components/x-progress/x-progress.css +5 -2
  573. package/dist/collection/components/x-progress/x-progress.js +8 -8
  574. package/dist/collection/components/x-qr-code/x-qr-code.css +2 -1
  575. package/dist/collection/components/x-qr-code/x-qr-code.js +23 -1
  576. package/dist/collection/components/x-radio/x-radio.css +5 -2
  577. package/dist/collection/components/x-radio/x-radio.js +5 -5
  578. package/dist/collection/components/x-radio-group/x-radio-group.css +5 -2
  579. package/dist/collection/components/x-radio-group/x-radio-group.js +6 -8
  580. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/range-picker-dropdown-content.css +7 -3
  581. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/range-picker-dropdown-content.js +13 -13
  582. package/dist/collection/components/x-range-picker/x-range-picker.css +5 -2
  583. package/dist/collection/components/x-range-picker/x-range-picker.js +9 -18
  584. package/dist/collection/components/x-rate/x-rate.css +5 -2
  585. package/dist/collection/components/x-rate/x-rate.js +3 -3
  586. package/dist/collection/components/x-result/x-result.css +5 -2
  587. package/dist/collection/components/x-result/x-result.js +11 -10
  588. package/dist/collection/components/x-row/x-row.css +5 -2
  589. package/dist/collection/components/x-row/x-row.js +4 -4
  590. package/dist/collection/components/x-segmented/x-segmented.css +5 -2
  591. package/dist/collection/components/x-segmented/x-segmented.js +8 -8
  592. package/dist/collection/components/x-select/select-dropdown-content/select-dropdown-content.css +11 -4
  593. package/dist/collection/components/x-select/select-dropdown-content/select-dropdown-content.js +1 -1
  594. package/dist/collection/components/x-select/x-select.css +11 -4
  595. package/dist/collection/components/x-select/x-select.js +33 -39
  596. package/dist/collection/components/x-select-option/x-select-option.css +5 -2
  597. package/dist/collection/components/x-select-option/x-select-option.js +3 -3
  598. package/dist/collection/components/x-sider/x-sider.css +7 -4
  599. package/dist/collection/components/x-sider/x-sider.js +7 -9
  600. package/dist/collection/components/x-skeleton/x-skeleton.css +5 -2
  601. package/dist/collection/components/x-skeleton/x-skeleton.js +3 -3
  602. package/dist/collection/components/x-slider/x-slider.css +5 -2
  603. package/dist/collection/components/x-slider/x-slider.js +11 -23
  604. package/dist/collection/components/x-space/x-space.css +5 -2
  605. package/dist/collection/components/x-space/x-space.js +4 -4
  606. package/dist/collection/components/x-spin/x-spin.css +5 -2
  607. package/dist/collection/components/x-spin/x-spin.js +1 -1
  608. package/dist/collection/components/x-splitter/x-splitter.js +14 -8
  609. package/dist/collection/components/x-splitter-panel/x-splitter-panel.js +1 -1
  610. package/dist/collection/components/x-statistic/x-statistic.css +5 -2
  611. package/dist/collection/components/x-statistic/x-statistic.js +1 -1
  612. package/dist/collection/components/x-step/x-step.css +5 -2
  613. package/dist/collection/components/x-step/x-step.js +5 -5
  614. package/dist/collection/components/x-steps/x-steps.css +5 -2
  615. package/dist/collection/components/x-steps/x-steps.js +4 -6
  616. package/dist/collection/components/x-switch/x-switch.css +5 -2
  617. package/dist/collection/components/x-switch/x-switch.js +7 -4
  618. package/dist/collection/components/x-tab-pane/x-tab-pane.css +5 -2
  619. package/dist/collection/components/x-tab-pane/x-tab-pane.js +58 -2
  620. package/dist/collection/components/x-table/x-table.css +187 -41
  621. package/dist/collection/components/x-table/x-table.js +257 -105
  622. package/dist/collection/components/x-table-cell/x-table-cell.css +5 -2
  623. package/dist/collection/components/x-table-cell/x-table-cell.js +2 -2
  624. package/dist/collection/components/x-table-row/x-table-row.css +5 -2
  625. package/dist/collection/components/x-table-row/x-table-row.js +11 -8
  626. package/dist/collection/components/x-tabs/x-tabs.css +17 -2
  627. package/dist/collection/components/x-tabs/x-tabs.js +130 -12
  628. package/dist/collection/components/x-tag/x-tag.css +6 -3
  629. package/dist/collection/components/x-tag/x-tag.js +1 -4
  630. package/dist/collection/components/x-textarea/x-textarea.css +5 -2
  631. package/dist/collection/components/x-textarea/x-textarea.js +5 -5
  632. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/time-picker-dropdown-content.css +5 -2
  633. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/time-picker-dropdown-content.js +1 -1
  634. package/dist/collection/components/x-time-picker/x-time-picker.css +5 -2
  635. package/dist/collection/components/x-time-picker/x-time-picker.js +4 -7
  636. package/dist/collection/components/x-timeline/x-timeline.css +5 -2
  637. package/dist/collection/components/x-timeline/x-timeline.js +2 -2
  638. package/dist/collection/components/x-timeline-item/x-timeline-item.css +5 -2
  639. package/dist/collection/components/x-timeline-item/x-timeline-item.js +2 -2
  640. package/dist/collection/components/x-tooltip/x-tooltip.css +5 -2
  641. package/dist/collection/components/x-tooltip/x-tooltip.js +6 -8
  642. package/dist/collection/components/x-tooltip-content/x-tooltip-content.js +2 -2
  643. package/dist/collection/components/x-tour/x-tour-panel.css +5 -2
  644. package/dist/collection/components/x-tour/x-tour-panel.js +1 -1
  645. package/dist/collection/components/x-tour/x-tour.css +5 -2
  646. package/dist/collection/components/x-tour/x-tour.js +15 -15
  647. package/dist/collection/components/x-transfer/x-transfer.css +5 -2
  648. package/dist/collection/components/x-transfer/x-transfer.js +8 -8
  649. package/dist/collection/components/x-tree/x-tree.css +5 -2
  650. package/dist/collection/components/x-tree/x-tree.js +25 -26
  651. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/tree-select-dropdown-content.css +5 -2
  652. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/tree-select-dropdown-content.js +6 -6
  653. package/dist/collection/components/x-tree-select/x-tree-select.css +5 -2
  654. package/dist/collection/components/x-tree-select/x-tree-select.js +21 -31
  655. package/dist/collection/components/x-typography/x-typography.css +10 -3
  656. package/dist/collection/components/x-typography/x-typography.js +12 -12
  657. package/dist/collection/components/x-upload/x-upload.css +5 -2
  658. package/dist/collection/components/x-upload/x-upload.js +342 -48
  659. package/dist/collection/components/x-virtual-scroll/x-virtual-scroll.js +5 -5
  660. package/dist/collection/components/x-workflow/x-workflow.css +3 -1
  661. package/dist/collection/components/x-workflow/x-workflow.js +81 -66
  662. package/dist/collection/components/x-workflow-builder/x-workflow-builder.css +5 -2
  663. package/dist/collection/components/x-workflow-builder/x-workflow-builder.js +6 -6
  664. package/dist/collection/index.js +2 -0
  665. package/dist/collection/locales/languages/mn_MN.js +14 -1
  666. package/dist/collection/locales/locale.service.js +4 -9
  667. package/dist/collection/utils/code-editor/ast-parser.js +378 -0
  668. package/dist/collection/utils/code-editor/autocomplete-db.js +590 -0
  669. package/dist/collection/utils/code-editor/history.js +56 -0
  670. package/dist/collection/utils/code-editor/index.js +4 -0
  671. package/dist/collection/utils/code-editor/plugin-system.js +54 -0
  672. package/dist/collection/utils/code-editor/tokenizer.js +300 -0
  673. package/dist/collection/utils/config.js +3 -3
  674. package/dist/collection/utils/form/core/abstract-control.js +40 -14
  675. package/dist/collection/utils/form/core/form-array.js +7 -5
  676. package/dist/collection/utils/form/core/form-group.js +8 -4
  677. package/dist/collection/utils/form/frameworks.js +7 -3
  678. package/dist/collection/utils/form/validators/validators.js +3 -9
  679. package/dist/collection/utils/qr-code/engine/qr.engine.js +3 -3
  680. package/dist/collection/utils/qr-code/engine/qr.mask.js +3 -3
  681. package/dist/collection/utils/qr-code/engine/qr.rs.js +1 -1
  682. package/dist/collection/utils/table.service.js +40 -14
  683. package/dist/collection/utils/tree.service.js +22 -22
  684. package/dist/collection/utils/workflow/flow.service.js +95 -30
  685. package/dist/esm/{abstract-control-XBF88YT_.js → abstract-control-BtYiIQqg.js} +40 -14
  686. package/dist/esm/{config-BPeosvTA.js → config-RKpMhZmc.js} +3 -3
  687. package/dist/esm/icons-CQ2VND9-.js +19259 -0
  688. package/dist/esm/{index-ig_mFsVk.js → index-BMTt8QT3.js} +39 -12
  689. package/dist/esm/index.js +6 -5
  690. package/dist/esm/loader.js +3 -3
  691. package/dist/esm/{locale.service-D66tF8_2.js → locale.service-DFADJBLL.js} +17 -9
  692. package/dist/esm/{modal-service-C_e0SaFZ.js → modal-service-ikfAY1gn.js} +34 -14
  693. package/dist/esm/{notification-service-DJTSPOq7.js → notification-service-CUyIF7K-.js} +12 -13
  694. package/dist/esm/{portal-controller-COpzIi1n.js → portal-controller-DM8AggMt.js} +11 -16
  695. package/dist/esm/{schema-builder-DBPGgJBx.js → schema-builder-CekbhOnD.js} +385 -99
  696. package/dist/esm/{tree.service-Dgxy93Bg.js → tree.service-iG9CbEpE.js} +22 -22
  697. package/dist/esm/x-address_51.entry.js +26926 -0
  698. package/dist/esm/x-affix.entry.js +5 -5
  699. package/dist/esm/{x-alert_11.entry.js → x-alert_9.entry.js} +268 -645
  700. package/dist/esm/x-anchor-link.entry.js +3 -3
  701. package/dist/esm/x-anchor.entry.js +11 -9
  702. package/dist/esm/x-app.entry.js +19 -19
  703. package/dist/esm/x-back-top.entry.js +4 -4
  704. package/dist/esm/x-breadcrumb_2.entry.js +121 -0
  705. package/dist/esm/x-carousel.entry.js +7 -7
  706. package/dist/esm/x-code-editor.entry.js +2363 -0
  707. package/dist/esm/x-col_11.entry.js +1192 -0
  708. package/dist/esm/x-collapse-panel.entry.js +4 -4
  709. package/dist/esm/x-collapse.entry.js +4 -4
  710. package/dist/esm/x-comment.entry.js +5 -5
  711. package/dist/esm/x-descriptions-item.entry.js +6 -6
  712. package/dist/esm/{x-breadcrumb_5.entry.js → x-descriptions_3.entry.js} +37 -156
  713. package/dist/esm/x-drawer-content.entry.js +8 -8
  714. package/dist/esm/x-drawer.entry.js +9 -7
  715. package/dist/esm/x-finder.entry.js +39 -32
  716. package/dist/esm/x-icon-picker-dropdown-content.entry.js +156 -0
  717. package/dist/esm/x-infinite-scroll.entry.js +4 -4
  718. package/dist/esm/x-input-icon.entry.js +359 -0
  719. package/dist/esm/x-layout-admin.entry.js +43 -0
  720. package/dist/esm/x-layout-detail.entry.js +143 -0
  721. package/dist/esm/x-layout-list.entry.js +257 -0
  722. package/dist/esm/x-list-item.entry.js +3 -3
  723. package/dist/esm/{x-menu-submenu.entry.js → x-list_2.entry.js} +141 -8
  724. package/dist/esm/x-mentions.entry.js +6 -6
  725. package/dist/esm/x-menu-divider.entry.js +2 -2
  726. package/dist/esm/x-menu-item-group.entry.js +2 -2
  727. package/dist/esm/x-menu_2.entry.js +506 -0
  728. package/dist/esm/x-message.entry.js +7 -7
  729. package/dist/esm/x-notification.entry.js +7 -7
  730. package/dist/esm/x-page-header.entry.js +3 -3
  731. package/dist/esm/x-popconfirm-content.entry.js +4 -4
  732. package/dist/esm/x-popconfirm.entry.js +5 -5
  733. package/dist/esm/x-progress.entry.js +10 -10
  734. package/dist/esm/x-qr-code.entry.js +11 -9
  735. package/dist/esm/x-skeleton.entry.js +5 -5
  736. package/dist/esm/x-splitter-panel.entry.js +2 -2
  737. package/dist/esm/x-splitter.entry.js +11 -5
  738. package/dist/esm/x-statistic.entry.js +3 -3
  739. package/dist/esm/x-step.entry.js +7 -7
  740. package/dist/esm/x-steps.entry.js +6 -8
  741. package/dist/esm/x-table-cell.entry.js +4 -4
  742. package/dist/esm/x-table-row.entry.js +13 -10
  743. package/dist/esm/x-timeline-item.entry.js +4 -4
  744. package/dist/esm/x-timeline.entry.js +4 -4
  745. package/dist/esm/x-tour-panel.entry.js +3 -3
  746. package/dist/esm/x-tour.entry.js +16 -16
  747. package/dist/esm/x-virtual-scroll.entry.js +5 -5
  748. package/dist/esm/x-workflow-builder.entry.js +8 -8
  749. package/dist/esm/xlabs.js +20 -0
  750. package/dist/types/components/x-app/x-app.d.ts +12 -12
  751. package/dist/types/components/x-auto-complete/auto-complete-dropdown-content/index.d.ts +1 -1
  752. package/dist/types/components/x-auto-complete/x-auto-complete.d.ts +6 -0
  753. package/dist/types/components/x-avatar/x-avatar.d.ts +3 -2
  754. package/dist/types/components/x-captcha/x-captcha.d.ts +4 -0
  755. package/dist/types/components/x-checkbox/x-checkbox.d.ts +0 -4
  756. package/dist/types/components/x-code-editor/types.d.ts +26 -0
  757. package/dist/types/components/x-code-editor/x-code-editor.d.ts +141 -0
  758. package/dist/types/components/x-color-picker/types.d.ts +4 -0
  759. package/dist/types/components/x-color-picker/x-color-picker.d.ts +8 -1
  760. package/dist/types/components/x-content/x-content.d.ts +1 -1
  761. package/dist/types/components/x-date-picker/x-date-picker.d.ts +4 -0
  762. package/dist/types/components/x-form/x-form.d.ts +12 -0
  763. package/dist/types/components/x-form-builder/services/forms/validators.d.ts +1 -0
  764. package/dist/types/components/x-form-builder/services/schema/form-mapping.d.ts +4 -0
  765. package/dist/types/components/x-form-builder/services/schema/formula-builder.d.ts +29 -0
  766. package/dist/types/components/x-form-builder/services/schema/schema-builder.d.ts +6 -1
  767. package/dist/types/components/x-form-builder/types/common/common-types.d.ts +5 -0
  768. package/dist/types/components/x-form-builder/types/common/field-types-enum.d.ts +1 -1
  769. package/dist/types/components/x-form-builder/types/common/index.d.ts +1 -0
  770. package/dist/types/components/x-form-builder/types/common/ui-types.d.ts +28 -0
  771. package/dist/types/components/x-form-builder/types/common/validation-types.d.ts +1 -1
  772. package/dist/types/components/x-form-builder/types/fields/advanced-fields.d.ts +1 -0
  773. package/dist/types/components/x-form-builder/types/fields/base-field.d.ts +4 -1
  774. package/dist/types/components/x-form-builder/types/fields/datetime-file-fields.d.ts +10 -3
  775. package/dist/types/components/x-form-builder/types/fields/display-fields.d.ts +3 -0
  776. package/dist/types/components/x-form-builder/types/fields/form-field-union.d.ts +5 -5
  777. package/dist/types/components/x-form-builder/types/fields/input-fields.d.ts +5 -0
  778. package/dist/types/components/x-form-builder/types/fields/layout-fields.d.ts +29 -2
  779. package/dist/types/components/x-form-builder/types/fields/selection-fields.d.ts +11 -4
  780. package/dist/types/components/x-form-builder/types/fields/special-input-fields.d.ts +3 -0
  781. package/dist/types/components/x-form-builder/types/form/schema-types.d.ts +7 -3
  782. package/dist/types/components/x-form-builder/utils/values.d.ts +1 -1
  783. package/dist/types/components/x-form-builder/x-form-builder.d.ts +11 -3
  784. package/dist/types/components/x-icon/icons.d.ts +12 -2716
  785. package/dist/types/components/x-icon/x-icon.d.ts +1 -1
  786. package/dist/types/components/x-input/types.d.ts +1 -1
  787. package/dist/types/components/x-input/x-input.d.ts +6 -0
  788. package/dist/types/components/x-input-icon/icon-picker-dropdown-content/icon-picker-dropdown-content.d.ts +39 -0
  789. package/dist/types/components/x-input-icon/types.d.ts +9 -0
  790. package/dist/types/components/x-input-icon/x-input-icon.d.ts +150 -0
  791. package/dist/types/components/x-input-number/x-input-number.d.ts +5 -0
  792. package/dist/types/components/x-layout/x-layout.d.ts +2 -1
  793. package/dist/types/components/x-layout-admin/x-layout-admin.d.ts +23 -0
  794. package/dist/types/components/x-layout-detail/x-layout-detail.d.ts +86 -0
  795. package/dist/types/components/x-layout-list/types.d.ts +100 -0
  796. package/dist/types/components/x-layout-list/x-layout-list.d.ts +107 -0
  797. package/dist/types/components/x-login/types.d.ts +113 -0
  798. package/dist/types/components/x-login/x-login.d.ts +126 -0
  799. package/dist/types/components/x-message/message-service.d.ts +1 -1
  800. package/dist/types/components/x-modal/x-modal.d.ts +31 -6
  801. package/dist/types/components/x-modal-content/x-modal-content.d.ts +24 -0
  802. package/dist/types/components/x-notification/notification-service.d.ts +1 -1
  803. package/dist/types/components/x-qr-code/x-qr-code.d.ts +2 -0
  804. package/dist/types/components/x-select/select-dropdown-content/index.d.ts +1 -1
  805. package/dist/types/components/x-tab-pane/x-tab-pane.d.ts +11 -0
  806. package/dist/types/components/x-table/types.d.ts +3 -0
  807. package/dist/types/components/x-table/x-table.d.ts +15 -4
  808. package/dist/types/components/x-tabs/types.d.ts +9 -0
  809. package/dist/types/components/x-tabs/x-tabs.d.ts +40 -1
  810. package/dist/types/components/x-time-picker/time-picker-dropdown-content/index.d.ts +1 -1
  811. package/dist/types/components/x-transfer/types.d.ts +3 -1
  812. package/dist/types/components/x-upload/types.d.ts +14 -0
  813. package/dist/types/components/x-upload/x-upload.d.ts +34 -7
  814. package/dist/types/components.d.ts +1304 -70
  815. package/dist/types/index.d.ts +2 -0
  816. package/dist/types/locales/locale.service.d.ts +3 -3
  817. package/dist/types/types.d.ts +2 -0
  818. package/dist/types/utils/code-editor/ast-parser.d.ts +5 -0
  819. package/dist/types/utils/code-editor/autocomplete-db.d.ts +10 -0
  820. package/dist/types/utils/code-editor/history.d.ts +19 -0
  821. package/dist/types/utils/code-editor/index.d.ts +4 -0
  822. package/dist/types/utils/code-editor/plugin-system.d.ts +31 -0
  823. package/dist/types/utils/code-editor/tokenizer.d.ts +2 -0
  824. package/dist/types/utils/form/types.d.ts +1 -1
  825. package/dist/types/utils/table.service.d.ts +2 -1
  826. package/dist/xlabs/index.esm.js +1 -0
  827. package/dist/xlabs/p-0139d27f.entry.js +1 -0
  828. package/dist/xlabs/p-04985e4d.entry.js +1 -0
  829. package/dist/xlabs/p-05a79f30.entry.js +1 -0
  830. package/dist/xlabs/p-0a08e0c8.entry.js +1 -0
  831. package/dist/xlabs/p-0d5fb8de.entry.js +1 -0
  832. package/dist/{xlabs-store/p-cd3c3374.entry.js → xlabs/p-121911e5.entry.js} +1 -1
  833. package/dist/xlabs/p-1260ad3b.entry.js +1 -0
  834. package/dist/xlabs/p-1c0ee15c.entry.js +1 -0
  835. package/dist/{xlabs-store/p-023259c9.entry.js → xlabs/p-1cd3b259.entry.js} +1 -1
  836. package/dist/xlabs/p-2451ab24.entry.js +1 -0
  837. package/dist/xlabs/p-2ab3bc58.entry.js +1 -0
  838. package/dist/xlabs/p-2f9d0da7.entry.js +1 -0
  839. package/dist/xlabs/p-302ab3b9.entry.js +1 -0
  840. package/dist/xlabs/p-31029063.entry.js +1 -0
  841. package/dist/xlabs/p-31c814c2.entry.js +1 -0
  842. package/dist/xlabs/p-3f5b28e5.entry.js +1 -0
  843. package/dist/xlabs/p-43d10a6e.entry.js +1 -0
  844. package/dist/xlabs/p-4bf9b6f7.entry.js +1 -0
  845. package/dist/xlabs/p-5ab9ce39.entry.js +1 -0
  846. package/dist/xlabs/p-5e495388.entry.js +1 -0
  847. package/dist/xlabs/p-6039e514.entry.js +1 -0
  848. package/dist/xlabs/p-674527b2.entry.js +1 -0
  849. package/dist/xlabs/p-68056c0e.entry.js +1 -0
  850. package/dist/xlabs/p-6d7480c0.entry.js +1 -0
  851. package/dist/xlabs/p-7697ef47.entry.js +1 -0
  852. package/dist/xlabs/p-7b8bdd79.entry.js +1 -0
  853. package/dist/xlabs/p-7f9a80e0.entry.js +1 -0
  854. package/dist/xlabs/p-948a032e.entry.js +1 -0
  855. package/dist/xlabs/p-99c568fd.entry.js +1 -0
  856. package/dist/{xlabs-store/p-7a8f11b4.entry.js → xlabs/p-9ae3501d.entry.js} +1 -1
  857. package/dist/xlabs/p-9b3a4aa6.entry.js +1 -0
  858. package/dist/xlabs/p-9c1cc5ff.entry.js +1 -0
  859. package/dist/xlabs/p-BMTt8QT3.js +2 -0
  860. package/dist/xlabs/p-CQ2VND9-.js +1 -0
  861. package/dist/xlabs/p-CkwLFDlS.js +1 -0
  862. package/dist/xlabs/p-D7kqIlVo.js +1 -0
  863. package/dist/{xlabs-store/p-Co3Y9VjQ.js → xlabs/p-DSa1uqPO.js} +1 -1
  864. package/dist/{xlabs-store/p-c0ca6f7d.entry.js → xlabs/p-a2d14538.entry.js} +1 -1
  865. package/dist/xlabs/p-a415c8c1.entry.js +1 -0
  866. package/dist/xlabs/p-a4995e36.entry.js +1 -0
  867. package/dist/{xlabs-store/p-fdec5d89.entry.js → xlabs/p-aba80f73.entry.js} +1 -1
  868. package/dist/xlabs/p-bc5969e0.entry.js +1 -0
  869. package/dist/xlabs/p-bef8def9.entry.js +1 -0
  870. package/dist/xlabs/p-cc57e705.entry.js +1 -0
  871. package/dist/xlabs/p-d11de492.entry.js +1 -0
  872. package/dist/xlabs/p-d4558f7b.entry.js +1 -0
  873. package/dist/xlabs/p-d921a2c7.entry.js +1 -0
  874. package/dist/xlabs/p-df10e5a1.entry.js +1 -0
  875. package/dist/xlabs/p-e1a1acbe.entry.js +1 -0
  876. package/dist/xlabs/p-eab901c4.entry.js +1 -0
  877. package/dist/xlabs/p-edcb4001.entry.js +1 -0
  878. package/dist/xlabs/p-f07d9ee7.entry.js +1 -0
  879. package/dist/xlabs/p-f280faed.entry.js +1 -0
  880. package/dist/xlabs/p-f5b96f2a.entry.js +1 -0
  881. package/dist/xlabs/p-f6950840.entry.js +1 -0
  882. package/dist/{xlabs-store/p-96b1939d.entry.js → xlabs/p-f69d2b16.entry.js} +1 -1
  883. package/dist/{xlabs-store/p-8bcbb4e3.entry.js → xlabs/p-fd003457.entry.js} +1 -1
  884. package/dist/xlabs/xlabs.css +2 -0
  885. package/dist/xlabs/xlabs.esm.js +1 -0
  886. package/loader/cdn.js +0 -0
  887. package/loader/index.cjs.js +0 -0
  888. package/loader/index.d.ts +0 -0
  889. package/loader/index.es2017.js +0 -0
  890. package/loader/index.js +0 -0
  891. package/package.json +65 -69
  892. package/readme.md +107 -50
  893. package/components/p-5c86X8JO.js +0 -1
  894. package/components/p-6KpqCGp9.js +0 -1
  895. package/components/p-ADwHM_jT.js +0 -1
  896. package/components/p-AgSyA7Ia.js +0 -1
  897. package/components/p-B-7Hwizp.js +0 -1
  898. package/components/p-B-ClGFfy.js +0 -1
  899. package/components/p-B4rO7Sgt.js +0 -1
  900. package/components/p-B5Syz0fw.js +0 -1
  901. package/components/p-B6p-mzW-.js +0 -1
  902. package/components/p-B8SZP5Xz.js +0 -1
  903. package/components/p-BBGHXZqR.js +0 -1
  904. package/components/p-BHLvuyOq.js +0 -1
  905. package/components/p-BOCR5Zk0.js +0 -1
  906. package/components/p-BRBrLtOz.js +0 -1
  907. package/components/p-BSRP2TGa.js +0 -1
  908. package/components/p-BUjRcJoK.js +0 -1
  909. package/components/p-BVeQ5W_G.js +0 -1
  910. package/components/p-BVnVlCcd.js +0 -1
  911. package/components/p-BZQcq9R_.js +0 -1
  912. package/components/p-BeIFU-wn.js +0 -1
  913. package/components/p-BkEgl31q.js +0 -1
  914. package/components/p-BkPJ1Whr.js +0 -1
  915. package/components/p-BkevSugc.js +0 -1
  916. package/components/p-BkiOFW3H.js +0 -1
  917. package/components/p-BskMfHyY.js +0 -1
  918. package/components/p-Bu2JqZs8.js +0 -1
  919. package/components/p-BvjR2Q5Q.js +0 -1
  920. package/components/p-Bz7MhZ4K.js +0 -1
  921. package/components/p-C3gvR6nN.js +0 -1
  922. package/components/p-C70KKm8p.js +0 -1
  923. package/components/p-C7csgUoA.js +0 -1
  924. package/components/p-CAPfC5Vn.js +0 -1
  925. package/components/p-CEBSDVyp.js +0 -1
  926. package/components/p-CFB6xkAX.js +0 -1
  927. package/components/p-CGIxdOEm.js +0 -1
  928. package/components/p-CHRrsVXB.js +0 -1
  929. package/components/p-CKUzvJue.js +0 -1
  930. package/components/p-CRBPzT4B.js +0 -1
  931. package/components/p-CSfrs76m.js +0 -1
  932. package/components/p-C_ZBjXFP.js +0 -1
  933. package/components/p-Ce5L9qbY.js +0 -1
  934. package/components/p-CeBfFEIa.js +0 -1
  935. package/components/p-Ck6SW8G3.js +0 -1
  936. package/components/p-D7ijqXRY.js +0 -1
  937. package/components/p-D7n-26Q5.js +0 -1
  938. package/components/p-D8ew7Rgv.js +0 -1
  939. package/components/p-DBk4T-b-.js +0 -1
  940. package/components/p-DD-W_fMF.js +0 -1
  941. package/components/p-DElCk9ta.js +0 -1
  942. package/components/p-DEumEVI3.js +0 -1
  943. package/components/p-DGqQ8PT4.js +0 -1
  944. package/components/p-DJ1WhSJ4.js +0 -1
  945. package/components/p-DOxXxhXb.js +0 -1
  946. package/components/p-DRa4o4c6.js +0 -1
  947. package/components/p-DTlSrH8_.js +0 -1
  948. package/components/p-DTvD0UO5.js +0 -1
  949. package/components/p-DZFphzg1.js +0 -1
  950. package/components/p-DZPUUptR.js +0 -1
  951. package/components/p-D_xaGiZU.js +0 -1
  952. package/components/p-DaL42JUi.js +0 -1
  953. package/components/p-DbRpEXwX.js +0 -1
  954. package/components/p-Dg0xgMke.js +0 -1
  955. package/components/p-Dky_8i8S.js +0 -1
  956. package/components/p-DlwlBBr4.js +0 -1
  957. package/components/p-DoTf8yXn.js +0 -1
  958. package/components/p-DphUq6Z5.js +0 -1
  959. package/components/p-DsgWQbJY.js +0 -1
  960. package/components/p-Dx3yBe39.js +0 -1
  961. package/components/p-DxKMnrS8.js +0 -1
  962. package/components/p-O88oQkR1.js +0 -1
  963. package/components/p-PlUkLT0A.js +0 -1
  964. package/components/p-QTSiPk0I.js +0 -1
  965. package/components/p-TC9DZAbC.js +0 -1
  966. package/components/p-bVsOg7S9.js +0 -1
  967. package/components/p-ccpcKv5U.js +0 -1
  968. package/components/p-en06CSUT.js +0 -1
  969. package/components/p-g6ZBqIze.js +0 -1
  970. package/dist/cjs/types-DQ-V76ZQ.js +0 -255
  971. package/dist/cjs/x-address_14.cjs.entry.js +0 -12577
  972. package/dist/cjs/x-auto-complete-dropdown-content.cjs.entry.js +0 -69
  973. package/dist/cjs/x-avatar.cjs.entry.js +0 -269
  974. package/dist/cjs/x-button.cjs.entry.js +0 -174
  975. package/dist/cjs/x-card_12.cjs.entry.js +0 -1386
  976. package/dist/cjs/x-cascader-dropdown-content.cjs.entry.js +0 -364
  977. package/dist/cjs/x-checkbox_5.cjs.entry.js +0 -1376
  978. package/dist/cjs/x-color-picker-panel_2.cjs.entry.js +0 -873
  979. package/dist/cjs/x-color-picker_9.cjs.entry.js +0 -3085
  980. package/dist/cjs/x-date-picker-dropdown-content.cjs.entry.js +0 -757
  981. package/dist/cjs/x-dropdown_2.cjs.entry.js +0 -735
  982. package/dist/cjs/x-empty.cjs.entry.js +0 -64
  983. package/dist/cjs/x-form-builder.cjs.entry.js +0 -807
  984. package/dist/cjs/x-icon.cjs.entry.js +0 -144
  985. package/dist/cjs/x-list.cjs.entry.js +0 -138
  986. package/dist/cjs/x-modal-content.cjs.entry.js +0 -217
  987. package/dist/cjs/x-range-picker-dropdown-content.cjs.entry.js +0 -821
  988. package/dist/cjs/x-select_2.cjs.entry.js +0 -1316
  989. package/dist/cjs/x-spin.cjs.entry.js +0 -62
  990. package/dist/cjs/x-tab-pane.cjs.entry.js +0 -73
  991. package/dist/cjs/x-tabs.cjs.entry.js +0 -609
  992. package/dist/cjs/x-time-picker-dropdown-content.cjs.entry.js +0 -389
  993. package/dist/cjs/x-tree-select-dropdown-content.cjs.entry.js +0 -439
  994. package/dist/cjs/xlabs-store.cjs.js +0 -24
  995. package/dist/esm/types-C_QdJRdB.js +0 -253
  996. package/dist/esm/x-address_14.entry.js +0 -12562
  997. package/dist/esm/x-auto-complete-dropdown-content.entry.js +0 -67
  998. package/dist/esm/x-avatar.entry.js +0 -267
  999. package/dist/esm/x-button.entry.js +0 -172
  1000. package/dist/esm/x-card_12.entry.js +0 -1373
  1001. package/dist/esm/x-cascader-dropdown-content.entry.js +0 -362
  1002. package/dist/esm/x-checkbox_5.entry.js +0 -1370
  1003. package/dist/esm/x-color-picker-panel_2.entry.js +0 -870
  1004. package/dist/esm/x-color-picker_9.entry.js +0 -3075
  1005. package/dist/esm/x-date-picker-dropdown-content.entry.js +0 -755
  1006. package/dist/esm/x-dropdown_2.entry.js +0 -732
  1007. package/dist/esm/x-empty.entry.js +0 -62
  1008. package/dist/esm/x-form-builder.entry.js +0 -805
  1009. package/dist/esm/x-icon.entry.js +0 -142
  1010. package/dist/esm/x-list.entry.js +0 -136
  1011. package/dist/esm/x-modal-content.entry.js +0 -215
  1012. package/dist/esm/x-range-picker-dropdown-content.entry.js +0 -819
  1013. package/dist/esm/x-select_2.entry.js +0 -1313
  1014. package/dist/esm/x-spin.entry.js +0 -60
  1015. package/dist/esm/x-tab-pane.entry.js +0 -71
  1016. package/dist/esm/x-tabs.entry.js +0 -607
  1017. package/dist/esm/x-time-picker-dropdown-content.entry.js +0 -387
  1018. package/dist/esm/x-tree-select-dropdown-content.entry.js +0 -437
  1019. package/dist/esm/xlabs-store.js +0 -20
  1020. package/dist/xlabs-store/index.esm.js +0 -1
  1021. package/dist/xlabs-store/p-016194dc.entry.js +0 -1
  1022. package/dist/xlabs-store/p-04a3721a.entry.js +0 -1
  1023. package/dist/xlabs-store/p-072445b7.entry.js +0 -1
  1024. package/dist/xlabs-store/p-0ec21454.entry.js +0 -1
  1025. package/dist/xlabs-store/p-12b6a843.entry.js +0 -1
  1026. package/dist/xlabs-store/p-1a81cf09.entry.js +0 -1
  1027. package/dist/xlabs-store/p-1b019aeb.entry.js +0 -1
  1028. package/dist/xlabs-store/p-262a0673.entry.js +0 -1
  1029. package/dist/xlabs-store/p-34cce823.entry.js +0 -1
  1030. package/dist/xlabs-store/p-3a9fdefe.entry.js +0 -1
  1031. package/dist/xlabs-store/p-40036100.entry.js +0 -1
  1032. package/dist/xlabs-store/p-45f04e8d.entry.js +0 -1
  1033. package/dist/xlabs-store/p-48ba7c34.entry.js +0 -1
  1034. package/dist/xlabs-store/p-48e2c26e.entry.js +0 -1
  1035. package/dist/xlabs-store/p-4ac2e915.entry.js +0 -1
  1036. package/dist/xlabs-store/p-4d7c2a35.entry.js +0 -1
  1037. package/dist/xlabs-store/p-4f67cb33.entry.js +0 -1
  1038. package/dist/xlabs-store/p-502b345e.entry.js +0 -1
  1039. package/dist/xlabs-store/p-555c5e48.entry.js +0 -1
  1040. package/dist/xlabs-store/p-5878525f.entry.js +0 -1
  1041. package/dist/xlabs-store/p-5abbdca7.entry.js +0 -1
  1042. package/dist/xlabs-store/p-6243ca69.entry.js +0 -1
  1043. package/dist/xlabs-store/p-64e7a057.entry.js +0 -1
  1044. package/dist/xlabs-store/p-6530d2ef.entry.js +0 -1
  1045. package/dist/xlabs-store/p-675a39e1.entry.js +0 -1
  1046. package/dist/xlabs-store/p-689c52ef.entry.js +0 -1
  1047. package/dist/xlabs-store/p-69b8cb7d.entry.js +0 -1
  1048. package/dist/xlabs-store/p-6b121c60.entry.js +0 -1
  1049. package/dist/xlabs-store/p-6c75fc39.entry.js +0 -1
  1050. package/dist/xlabs-store/p-6f705deb.entry.js +0 -1
  1051. package/dist/xlabs-store/p-723d362c.entry.js +0 -1
  1052. package/dist/xlabs-store/p-783545e3.entry.js +0 -1
  1053. package/dist/xlabs-store/p-81fb4caf.entry.js +0 -1
  1054. package/dist/xlabs-store/p-863dd67d.entry.js +0 -1
  1055. package/dist/xlabs-store/p-8bcc219a.entry.js +0 -1
  1056. package/dist/xlabs-store/p-914b0ae2.entry.js +0 -1
  1057. package/dist/xlabs-store/p-9ac291ea.entry.js +0 -1
  1058. package/dist/xlabs-store/p-9de03a07.entry.js +0 -1
  1059. package/dist/xlabs-store/p-C_QdJRdB.js +0 -1
  1060. package/dist/xlabs-store/p-Ce5L9qbY.js +0 -1
  1061. package/dist/xlabs-store/p-DElCk9ta.js +0 -1
  1062. package/dist/xlabs-store/p-a4223feb.entry.js +0 -1
  1063. package/dist/xlabs-store/p-a8c2eca7.entry.js +0 -1
  1064. package/dist/xlabs-store/p-ac9ba3aa.entry.js +0 -1
  1065. package/dist/xlabs-store/p-bd5084b8.entry.js +0 -1
  1066. package/dist/xlabs-store/p-bda322db.entry.js +0 -1
  1067. package/dist/xlabs-store/p-c4c8840c.entry.js +0 -1
  1068. package/dist/xlabs-store/p-c4d0ce0d.entry.js +0 -1
  1069. package/dist/xlabs-store/p-cf4697bc.entry.js +0 -1
  1070. package/dist/xlabs-store/p-d2ec3d4a.entry.js +0 -1
  1071. package/dist/xlabs-store/p-d4d00aff.entry.js +0 -1
  1072. package/dist/xlabs-store/p-d9d0147b.entry.js +0 -1
  1073. package/dist/xlabs-store/p-dd930f2a.entry.js +0 -1
  1074. package/dist/xlabs-store/p-e04836e8.entry.js +0 -1
  1075. package/dist/xlabs-store/p-e14b5f6d.entry.js +0 -1
  1076. package/dist/xlabs-store/p-eb1dd3c2.entry.js +0 -1
  1077. package/dist/xlabs-store/p-f02155e4.entry.js +0 -1
  1078. package/dist/xlabs-store/p-f1331938.entry.js +0 -1
  1079. package/dist/xlabs-store/p-fac0b689.entry.js +0 -1
  1080. package/dist/xlabs-store/p-fd2e1d9c.entry.js +0 -1
  1081. package/dist/xlabs-store/p-ffba56b2.entry.js +0 -1
  1082. package/dist/xlabs-store/p-ig_mFsVk.js +0 -2
  1083. package/dist/xlabs-store/xlabs-store.css +0 -1
  1084. package/dist/xlabs-store/xlabs-store.esm.js +0 -1
  1085. /package/components/{p-XBF88YT_.js → p-BtYiIQqg.js} +0 -0
  1086. /package/components/{p-D66tF8_2.js → p-DFADJBLL.js} +0 -0
  1087. /package/components/{p-COpzIi1n.js → p-DM8AggMt.js} +0 -0
  1088. /package/components/{p-BPeosvTA.js → p-RKpMhZmc.js} +0 -0
  1089. /package/components/{p-Dgxy93Bg.js → p-iG9CbEpE.js} +0 -0
  1090. /package/dist/{xlabs-store → xlabs}/fonts/xlabs-outlined.woff2 +0 -0
  1091. /package/dist/{xlabs-store → xlabs}/fonts/xlabs-rounded.woff2 +0 -0
  1092. /package/dist/{xlabs-store → xlabs}/fonts/xlabs-solided.woff2 +0 -0
  1093. /package/dist/{xlabs-store/p-XBF88YT_.js → xlabs/p-BtYiIQqg.js} +0 -0
  1094. /package/dist/{xlabs-store/p-D66tF8_2.js → xlabs/p-DFADJBLL.js} +0 -0
  1095. /package/dist/{xlabs-store/p-COpzIi1n.js → xlabs/p-DM8AggMt.js} +0 -0
  1096. /package/dist/{xlabs-store/p-BPeosvTA.js → xlabs/p-RKpMhZmc.js} +0 -0
  1097. /package/dist/{xlabs-store/p-Dgxy93Bg.js → xlabs/p-iG9CbEpE.js} +0 -0
@@ -14,7 +14,7 @@ import { TableService } from "../../utils";
14
14
  * ></x-table>
15
15
  */
16
16
  export class XTable {
17
- // We'll move common logic to a base class in a future step if needed,
17
+ // We'll move common logic to a base class in a future step if needed,
18
18
  // but for now let's just make the members more accessible.
19
19
  /**
20
20
  * Host element reference.
@@ -156,6 +156,12 @@ export class XTable {
156
156
  * <x-table rowEvents={(r) => ({ onClick: () => console.log(r) })}></x-table>
157
157
  */
158
158
  rowEvents;
159
+ /**
160
+ * Whether the row is clickable.
161
+ * Can be a boolean or a function returning a boolean.
162
+ * @default false
163
+ */
164
+ clickable = false;
159
165
  /**
160
166
  * Enable column resizing.
161
167
  * @default false
@@ -263,10 +269,6 @@ export class XTable {
263
269
  * Expanded row keys.
264
270
  */
265
271
  expandedRowKeys = [];
266
- /**
267
- * Hovered row key.
268
- */
269
- hoveredRowKey = null;
270
272
  /**
271
273
  * Internal columns state for resizing and reordering.
272
274
  */
@@ -282,6 +284,7 @@ export class XTable {
282
284
  draggedRowKey = null;
283
285
  dragOverRowKey = null;
284
286
  dragOverRowSide = null;
287
+ searchState = {};
285
288
  // ==================== Lifecycle ====================
286
289
  /**
287
290
  * @returns void
@@ -290,6 +293,7 @@ export class XTable {
290
293
  this.tableService = new TableService(this.rowKey);
291
294
  this.tableService.state.columns = ColumnUtil.getFlattenColumns(this.columns);
292
295
  this.tableService.state.dataSource = this.dataSource;
296
+ this.searchState = {};
293
297
  // Subscribe to service state changes to trigger re-renders
294
298
  this.tableService.subscribe(() => {
295
299
  // Just trigger re-render if needed, though Stencil handles its own @State
@@ -407,13 +411,14 @@ export class XTable {
407
411
  }
408
412
  return this.rowClassName;
409
413
  }
410
- getCellValue(record, dataIndex) {
411
- if (!dataIndex)
414
+ getCellValue(record, dataIndex, key) {
415
+ const prop = dataIndex || key;
416
+ if (!prop)
412
417
  return undefined;
413
- if (Array.isArray(dataIndex)) {
414
- return dataIndex.reduce((obj, key) => obj?.[key], record);
418
+ if (Array.isArray(prop)) {
419
+ return prop.reduce((obj, k) => obj?.[k], record);
415
420
  }
416
- return record[dataIndex];
421
+ return record[prop];
417
422
  }
418
423
  /**
419
424
  * Processes the data source by applying filters and sorting.
@@ -435,7 +440,8 @@ export class XTable {
435
440
  dataSource: this.internalDataSource,
436
441
  columns: this.internalColumns,
437
442
  filterState: this.filterState,
438
- sortState: this.sortState
443
+ sortState: this.sortState,
444
+ searchState: this.searchState,
439
445
  });
440
446
  return this.tableService.getProcessedData();
441
447
  }
@@ -456,7 +462,7 @@ export class XTable {
456
462
  return processededData;
457
463
  this.tableService.setState({
458
464
  currentPage: this.currentPage,
459
- pageSize: this.currentPageSize
465
+ pageSize: this.currentPageSize,
460
466
  });
461
467
  return this.tableService.getPaginatedData(processededData);
462
468
  }
@@ -468,20 +474,33 @@ export class XTable {
468
474
  this.emitChange('sort');
469
475
  }
470
476
  handlePageChange(page, pageSize) {
471
- this.tableService.goToPage(page);
472
- this.tableService.setPageSize(pageSize);
477
+ if (pageSize !== this.currentPageSize) {
478
+ // setPageSize resets currentPage to 1 internally; restore the desired page after
479
+ this.tableService.setPageSize(pageSize);
480
+ this.tableService.goToPage(page);
481
+ }
482
+ else {
483
+ this.tableService.goToPage(page);
484
+ }
473
485
  this.currentPage = this.tableService.state.currentPage;
474
486
  this.currentPageSize = this.tableService.state.pageSize;
475
487
  this.emitChange('paginate');
476
488
  }
477
489
  handleRowClick(record, index, event) {
490
+ const isClickableProp = typeof this.clickable === 'function' ? this.clickable(record, index) : this.clickable;
491
+ const children = record.children;
492
+ const hasChildren = children && children.length > 0;
493
+ const isExpandable = this.shouldShowExpandColumn() && (hasChildren || this.expandable?.rowExpandable?.(record) !== false);
494
+ const isClickable = isClickableProp || !!this.rowSelection || !!this.expandable?.expandRowByClick || isExpandable;
495
+ if (!isClickable)
496
+ return;
478
497
  this.xRowClick.emit({ record, index, event });
479
498
  // Handle row selection on click
480
499
  if (this.rowSelection) {
481
500
  this.toggleRowSelection(record);
482
501
  }
483
502
  // Handle expand on row click
484
- if (this.expandable?.expandRowByClick) {
503
+ if (this.expandable?.expandRowByClick || isExpandable) {
485
504
  this.toggleRowExpand(record);
486
505
  }
487
506
  // Custom rowEvents handler
@@ -552,6 +571,13 @@ export class XTable {
552
571
  const order = isActive ? this.sortState.order : null;
553
572
  return (h("span", { class: "x-table-column-sorter" }, h("span", { class: "x-table-column-sorter-inner" }, h("span", { class: { 'x-table-column-sorter-up': true, 'active': order === 'ascend' } }, h("svg", { viewBox: "0 0 1024 1024", width: "1em", height: "1em", fill: "currentColor" }, h("path", { d: "M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z" }))), h("span", { class: { 'x-table-column-sorter-down': true, 'active': order === 'descend' } }, h("svg", { viewBox: "0 0 1024 1024", width: "1em", height: "1em", fill: "currentColor" }, h("path", { d: "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" }))))));
554
573
  }
574
+ shouldShowExpandColumn() {
575
+ if (!this.expandable)
576
+ return false;
577
+ if (this.expandable.expandedRowRender)
578
+ return true;
579
+ return this.internalDataSource.some(r => r.children && r.children.length > 0);
580
+ }
555
581
  renderSelectionColumn(rowSpan = 1) {
556
582
  if (!this.rowSelection)
557
583
  return null;
@@ -561,13 +587,60 @@ export class XTable {
561
587
  return checkboxProps?.disabled || this.selectedRowKeys.includes(this.getRowKey(record));
562
588
  });
563
589
  const someSelected = this.selectedRowKeys.length > 0 && !allSelected;
564
- return (h("th", { class: "x-table-cell x-table-selection-column", rowSpan: rowSpan }, this.rowSelection.type !== 'radio' && !this.rowSelection.hideSelectAll && (h("label", { class: "x-table-selection-checkbox" }, h("input", { type: "checkbox", checked: allSelected, indeterminate: someSelected, onChange: (e) => this.handleSelectAll(e.target.checked) }), h("span", { class: "x-table-checkbox-inner" })))));
590
+ return (h("th", { class: "x-table-cell x-table-selection-column", rowSpan: rowSpan }, this.rowSelection.type !== 'radio' && !this.rowSelection.hideSelectAll && (h("label", { class: "x-table-selection-checkbox" }, h("input", { type: "checkbox", checked: allSelected, indeterminate: someSelected, onChange: e => this.handleSelectAll(e.target.checked) }), h("span", { class: "x-table-checkbox-inner" })))));
565
591
  }
566
592
  renderExpandColumn(rowSpan = 1) {
567
- if (!this.expandable?.expandedRowRender)
593
+ if (!this.shouldShowExpandColumn())
568
594
  return null;
569
595
  return (h("th", { class: "x-table-cell x-table-expand-column", rowSpan: rowSpan }, this.expandable.columnTitle || ''));
570
596
  }
597
+ hasSearchableColumns() {
598
+ return this.internalColumns.some(col => col.searchable);
599
+ }
600
+ handleSearchChange(columnKey, value) {
601
+ this.searchState = {
602
+ ...this.searchState,
603
+ [columnKey]: value,
604
+ };
605
+ this.currentPage = 1;
606
+ this.tableService.goToPage(1);
607
+ this.emitChange('filter');
608
+ }
609
+ renderSearchCell(column, stickyOffsets) {
610
+ if (column.hidden)
611
+ return null;
612
+ const style = {};
613
+ const key = (column.key || column.dataIndex);
614
+ const isFixedLeft = column.fixed === 'left' || column.fixed === true;
615
+ const isFixedRight = column.fixed === 'right';
616
+ if (isFixedLeft && key && stickyOffsets.left[key] !== undefined) {
617
+ style.position = 'sticky';
618
+ style.left = `${stickyOffsets.left[key]}px`;
619
+ style.zIndex = '3';
620
+ }
621
+ if (isFixedRight && key && stickyOffsets.right[key] !== undefined) {
622
+ style.position = 'sticky';
623
+ style.right = `${stickyOffsets.right[key]}px`;
624
+ style.zIndex = '3';
625
+ }
626
+ const searchable = column.searchable === true;
627
+ return (h("th", { class: {
628
+ 'x-table-cell': true,
629
+ 'x-table-cell-search': true,
630
+ 'x-table-cell-fix-left': isFixedLeft,
631
+ 'x-table-cell-fix-right': isFixedRight,
632
+ 'x-table-cell-fix-left-last': isFixedLeft && key === stickyOffsets.lastFixedLeftKey,
633
+ 'x-table-cell-fix-right-first': isFixedRight && key === stickyOffsets.firstFixedRightKey,
634
+ [`x-table-align-${column.align || 'left'}`]: true,
635
+ }, style: style }, searchable ? (column.filters && column.filters.length > 0 ? (h("select", { class: "x-table-search-select", ref: el => {
636
+ if (el) {
637
+ el.value = this.searchState[key] || '';
638
+ }
639
+ }, onChange: e => this.handleSearchChange(key, e.target.value) }, h("option", { value: "" }, "-"), column.filters.map(opt => (h("option", { value: String(opt.value) }, opt.text))))) : (h("div", { class: "x-table-search-input-wrapper" }, h("input", { type: "text", class: "x-table-search-input", placeholder: translate('Search.placeholder', {}, 'Search...'), value: this.searchState[key] || '', onInput: e => this.handleSearchChange(key, e.target.value) })))) : null));
640
+ }
641
+ renderSearchRow(stickyOffsets) {
642
+ return (h("tr", { class: "x-table-search-row" }, this.draggableRows && h("th", { class: "x-table-cell x-table-drag-column" }), this.rowSelection && h("th", { class: "x-table-cell x-table-selection-column" }), this.shouldShowExpandColumn() && h("th", { class: "x-table-cell x-table-expand-column" }), this.internalColumns.map(column => this.renderSearchCell(column, stickyOffsets))));
643
+ }
571
644
  activeFilterColumn = null;
572
645
  handleFilterDropdownOpenChange(columnKey, visible) {
573
646
  if (visible) {
@@ -596,15 +669,15 @@ export class XTable {
596
669
  }
597
670
  this.filterState = {
598
671
  ...this.filterState,
599
- [columnKey]: newFilters
672
+ [columnKey]: newFilters,
600
673
  };
601
674
  // emit change if needed immediately? AntD usually waits for OK.
602
675
  // implementing "Apply on OK" pattern basically means we should use temp state, but for simplicity here we update state.
603
676
  // If we want rigorous "OK" button behavior, use temp state.
604
- // Given the prompt "complete table ... according to AntD React",
677
+ // Given the prompt "complete table ... according to AntD React",
605
678
  // AntD updates the UI checkbox state but does NOT filter the table data until OK (unless filtering is controlled or we use realtime).
606
679
  // Let's implement realtime update for simplicity + "OK" simply closes.
607
- // Actually, "Reset" should clear.
680
+ // Actually, "Reset" should clear.
608
681
  // "OK" should just confirm/close.
609
682
  // Realtime filtering is often better UX anyway.
610
683
  // But wait, if I filter realtime, data changes immediately.
@@ -614,7 +687,7 @@ export class XTable {
614
687
  handleFilterReset(columnKey) {
615
688
  this.filterState = {
616
689
  ...this.filterState,
617
- [columnKey]: null
690
+ [columnKey]: null,
618
691
  };
619
692
  this.emitChange('filter');
620
693
  this.activeFilterColumn = null;
@@ -631,12 +704,12 @@ export class XTable {
631
704
  const selectedValues = this.filterState[columnKey] || [];
632
705
  return (h("div", { class: "x-table-filter-dropdown-content", slot: "content" }, h("ul", { class: "x-table-filter-menu" }, column.filters.map(filter => {
633
706
  const isSelected = selectedValues.includes(filter.value);
634
- return (h("li", { class: "x-table-filter-menu-item", onClick: (e) => {
707
+ return (h("li", { class: "x-table-filter-menu-item", onClick: e => {
635
708
  // Prevent toggling checkbox from double triggering if label handles it
636
709
  // Actually click on LI should toggle
637
710
  e.stopPropagation();
638
711
  this.handleFilterChange(columnKey, filter.value, !isSelected, isMultiple);
639
- } }, isMultiple ? (h("x-checkbox", { checked: isSelected, onClick: (e) => e.stopPropagation(), onChange: () => {
712
+ } }, isMultiple ? (h("x-checkbox", { checked: isSelected, onClick: e => e.stopPropagation(), onChange: () => {
640
713
  // x-checkbox emits onChange or onInput? assuming standard event or CustomEvent
641
714
  // Stencil components usually emit CustomEvent named 'change' etc.
642
715
  // x-checkbox likely has prop 'checked' and event 'xChange' or similar?
@@ -653,7 +726,7 @@ export class XTable {
653
726
  const hasActiveFilter = this.filterState[columnKey]?.length > 0;
654
727
  return (h("x-popover", { trigger: "click", placement: "bottom", open: isOpen, class: "x-table-filter-trigger-container", onXOpenChange: (e) => this.handleFilterDropdownOpenChange(columnKey, e.detail) }, h("span", { class: {
655
728
  'x-table-filter-trigger': true,
656
- 'active': hasActiveFilter || isOpen
729
+ 'active': hasActiveFilter || isOpen,
657
730
  } }, h("svg", { viewBox: "0 0 1024 1024", width: "1em", height: "1em", fill: "currentColor" }, h("path", { d: "M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z" }))), this.renderFilterDropdown(column)));
658
731
  }
659
732
  // ==================== Drag & Resize Handlers ====================
@@ -673,7 +746,7 @@ export class XTable {
673
746
  }
674
747
  this.resizeState = {
675
748
  prevKey: column.key || column.dataIndex,
676
- nextKey: nextColumn ? (nextColumn.key || nextColumn.dataIndex) : null,
749
+ nextKey: nextColumn ? nextColumn.key || nextColumn.dataIndex : null,
677
750
  startX: e.pageX,
678
751
  startPrevWidth: startPrevWidth,
679
752
  startNextWidth: startNextWidth,
@@ -761,6 +834,11 @@ export class XTable {
761
834
  this.dragOverColumnKey = null;
762
835
  this.dragOverColumnSide = null;
763
836
  };
837
+ handleColumnDragEnd = () => {
838
+ this.draggedColumnKey = null;
839
+ this.dragOverColumnKey = null;
840
+ this.dragOverColumnSide = null;
841
+ };
764
842
  handleColumnDrop(e, targetColumn) {
765
843
  e.preventDefault();
766
844
  const targetKey = targetColumn.key || targetColumn.dataIndex;
@@ -844,6 +922,11 @@ export class XTable {
844
922
  this.dragOverRowKey = null;
845
923
  this.dragOverRowSide = null;
846
924
  };
925
+ handleRowDragEnd = () => {
926
+ this.draggedRowKey = null;
927
+ this.dragOverRowKey = null;
928
+ this.dragOverRowSide = null;
929
+ };
847
930
  handleRowDrop(e, targetRecord) {
848
931
  e.preventDefault();
849
932
  const targetKey = this.getRowKey(targetRecord);
@@ -872,6 +955,8 @@ export class XTable {
872
955
  getStickyOffsets() {
873
956
  const leftOffsets = {};
874
957
  const rightOffsets = {};
958
+ let lastFixedLeftKey = null;
959
+ let firstFixedRightKey = null;
875
960
  const visibleColumns = this.internalColumns.filter(col => !col.hidden);
876
961
  let left = 0;
877
962
  visibleColumns.forEach(col => {
@@ -880,6 +965,7 @@ export class XTable {
880
965
  leftOffsets[key] = left;
881
966
  const width = typeof col.width === 'number' ? col.width : 0; // Simple fallback
882
967
  left += width;
968
+ lastFixedLeftKey = key;
883
969
  }
884
970
  });
885
971
  let right = 0;
@@ -890,9 +976,10 @@ export class XTable {
890
976
  rightOffsets[key] = right;
891
977
  const width = typeof col.width === 'number' ? col.width : 0;
892
978
  right += width;
979
+ firstFixedRightKey = key;
893
980
  }
894
981
  }
895
- return { leftOffsets, rightOffsets };
982
+ return { leftOffsets, rightOffsets, lastFixedLeftKey, firstFixedRightKey };
896
983
  }
897
984
  /**
898
985
  * Renders a single header cell (th).
@@ -922,14 +1009,17 @@ export class XTable {
922
1009
  if (column.maxWidth) {
923
1010
  style.maxWidth = `${column.maxWidth}px`;
924
1011
  }
1012
+ if (column.width) {
1013
+ style.width = typeof column.width === 'number' ? `${column.width}px` : column.width;
1014
+ }
925
1015
  // Sticky
926
1016
  // Find the leaf columns to determine sticky offsets
927
1017
  const leaves = ColumnUtil.getFlattenColumns([column]);
928
1018
  const firstLeaf = leaves[0];
929
1019
  const lastLeaf = leaves[leaves.length - 1];
930
- const firstKey = firstLeaf ? (firstLeaf.key || firstLeaf.dataIndex) : (column.key || column.dataIndex);
931
- const lastKey = lastLeaf ? (lastLeaf.key || lastLeaf.dataIndex) : (column.key || column.dataIndex);
932
- const isFixedLeft = (column.fixed === 'left' || column.fixed === true) || (firstLeaf && (firstLeaf.fixed === 'left' || firstLeaf.fixed === true));
1020
+ const firstKey = firstLeaf ? firstLeaf.key || firstLeaf.dataIndex : column.key || column.dataIndex;
1021
+ const lastKey = lastLeaf ? lastLeaf.key || lastLeaf.dataIndex : column.key || column.dataIndex;
1022
+ const isFixedLeft = column.fixed === 'left' || column.fixed === true || (firstLeaf && (firstLeaf.fixed === 'left' || firstLeaf.fixed === true));
933
1023
  const isFixedRight = column.fixed === 'right' || (lastLeaf && lastLeaf.fixed === 'right');
934
1024
  if (isFixedLeft && firstKey && stickyOffsets.left[firstKey] !== undefined) {
935
1025
  style.position = 'sticky';
@@ -953,6 +1043,8 @@ export class XTable {
953
1043
  'x-table-cell-filtered': isFiltered,
954
1044
  'x-table-cell-fix-left': isFixedLeft,
955
1045
  'x-table-cell-fix-right': isFixedRight,
1046
+ 'x-table-cell-fix-left-last': isFixedLeft && key === stickyOffsets.lastFixedLeftKey,
1047
+ 'x-table-cell-fix-right-first': isFixedRight && key === stickyOffsets.firstFixedRightKey,
956
1048
  [`x-table-align-${column.align || 'left'}`]: true,
957
1049
  [column.className || '']: !!column.className,
958
1050
  'x-table-cell-resizable': isResizable,
@@ -960,11 +1052,11 @@ export class XTable {
960
1052
  'x-table-cell-dragging': this.draggedColumnKey === key,
961
1053
  'x-table-cell-drag-over-left': this.dragOverColumnKey === key && this.dragOverColumnSide === 'left',
962
1054
  'x-table-cell-drag-over-right': this.dragOverColumnKey === key && this.dragOverColumnSide === 'right',
963
- }, style: style, colSpan: colSpan, rowSpan: rowSpan, draggable: isDraggable, onDragStart: isDraggable ? (e) => this.handleColumnDragStart(e, column) : undefined, onDragOver: isDraggable ? (e) => this.handleColumnDragOver(e, column) : undefined, onDragLeave: isDraggable ? this.handleColumnDragLeave : undefined, onDrop: isDraggable ? (e) => this.handleColumnDrop(e, column) : undefined, onClick: (e) => {
1055
+ }, style: style, colSpan: colSpan, rowSpan: rowSpan, draggable: isDraggable, onDragStart: isDraggable ? e => this.handleColumnDragStart(e, column) : undefined, onDragOver: isDraggable ? e => this.handleColumnDragOver(e, column) : undefined, onDragLeave: isDraggable ? this.handleColumnDragLeave : undefined, onDragEnd: isDraggable ? this.handleColumnDragEnd : undefined, onDrop: isDraggable ? e => this.handleColumnDrop(e, column) : undefined, onClick: e => {
964
1056
  if (isSortable && !e.target.closest('.x-table-filter-trigger-container') && !e.target.closest('.x-table-resize-handle')) {
965
1057
  this.handleSort(column);
966
1058
  }
967
- } }, h("div", { class: "x-table-column-title" }, h("span", { class: "x-table-column-title-text" }, column.title), this.renderSortIcon(column), this.renderFilterIcon(column)), isResizable && !isLast && (h("div", { class: "x-table-resize-handle", onMouseDown: (e) => this.handleResizeStart(e, column), onClick: (e) => e.stopPropagation() }))));
1059
+ } }, h("div", { class: "x-table-column-title" }, h("span", { class: "x-table-column-title-text" }, column.title), this.renderSortIcon(column), this.renderFilterIcon(column)), isResizable && !isLast && h("div", { class: "x-table-resize-handle", onMouseDown: e => this.handleResizeStart(e, column), onClick: e => e.stopPropagation() })));
968
1060
  }
969
1061
  /**
970
1062
  * Renders the table header (thead).
@@ -986,7 +1078,7 @@ export class XTable {
986
1078
  return (h("thead", { class: {
987
1079
  'x-table-thead': true,
988
1080
  [this.classNames?.header || '']: !!this.classNames?.header,
989
- }, style: this.styles?.header }, rows.map((row, rowIndex) => (h("tr", null, rowIndex === 0 && this.renderDragColumn(rowCount), rowIndex === 0 && this.renderSelectionColumn(rowCount), rowIndex === 0 && this.renderExpandColumn(rowCount), row.map((cell, index) => this.renderHeaderCell(cell.cell, stickyOffsets, index === row.length - 1, cell.rowSpan, cell.colSpan)))))));
1081
+ }, style: this.styles?.header }, rows.map((row, rowIndex) => (h("tr", null, rowIndex === 0 && this.renderDragColumn(rowCount), rowIndex === 0 && this.renderSelectionColumn(rowCount), rowIndex === 0 && this.renderExpandColumn(rowCount), row.map((cell, index) => this.renderHeaderCell(cell.cell, stickyOffsets, index === row.length - 1, cell.rowSpan, cell.colSpan))))), this.hasSearchableColumns() && this.renderSearchRow(stickyOffsets)));
990
1082
  }
991
1083
  /**
992
1084
  * Renders the drag handle column header.
@@ -1008,27 +1100,15 @@ export class XTable {
1008
1100
  * @param record - The data record for the row.
1009
1101
  * @returns JSX.Element - The td element.
1010
1102
  */
1011
- // private renderSelectionCell(record: any) {
1012
- // if (!this.rowSelection) return null;
1013
- // const key = this.getRowKey(record);
1014
- // const isSelected = this.selectedRowKeys.includes(key);
1015
- // const checkboxProps = this.rowSelection.getCheckboxProps?.(record);
1016
- // const isRadio = this.rowSelection.type === 'radio';
1017
- // return (
1018
- // <td class="x-table-cell x-table-selection-column">
1019
- // <label class="x-table-selection-checkbox">
1020
- // <input
1021
- // type={isRadio ? 'radio' : 'checkbox'}
1022
- // name={isRadio ? 'table-radio-group' : undefined}
1023
- // checked={isSelected}
1024
- // disabled={checkboxProps?.disabled}
1025
- // onChange={() => this.toggleRowSelection(record)}
1026
- // />
1027
- // <span class={isRadio ? 'x-table-radio-inner' : 'x-table-checkbox-inner'}></span>
1028
- // </label>
1029
- // </td>
1030
- // );
1031
- // }
1103
+ renderSelectionCell(record) {
1104
+ if (!this.rowSelection)
1105
+ return null;
1106
+ const key = this.getRowKey(record);
1107
+ const isSelected = this.selectedRowKeys.includes(key);
1108
+ const checkboxProps = this.rowSelection.getCheckboxProps?.(record);
1109
+ const isRadio = this.rowSelection.type === 'radio';
1110
+ return (h("td", { class: "x-table-cell x-table-selection-column" }, h("label", { class: "x-table-selection-checkbox", onClick: e => e.stopPropagation() }, h("input", { type: isRadio ? 'radio' : 'checkbox', name: isRadio ? `x-table-radio-${this.el.id || 'default'}` : undefined, checked: isSelected, disabled: checkboxProps?.disabled, onChange: () => this.toggleRowSelection(record) }), h("span", { class: isRadio ? 'x-table-radio-inner' : 'x-table-checkbox-inner' }))));
1111
+ }
1032
1112
  /**
1033
1113
  * Renders the expand icon cell for a row.
1034
1114
  *
@@ -1041,12 +1121,19 @@ export class XTable {
1041
1121
  * @param record - The data record for the row.
1042
1122
  * @returns JSX.Element - The td element.
1043
1123
  */
1044
- renderExpandCell(record) {
1045
- if (!this.expandable?.expandedRowRender)
1124
+ renderExpandCell(record, index) {
1125
+ if (!this.shouldShowExpandColumn())
1046
1126
  return null;
1127
+ const children = record.children;
1128
+ const hasChildren = children && children.length > 0;
1129
+ const isClickableProp = typeof this.clickable === 'function' ? this.clickable(record, index) : this.clickable;
1047
1130
  const key = this.getRowKey(record);
1048
1131
  const isExpanded = this.expandedRowKeys.includes(key);
1049
- const isExpandable = this.expandable.rowExpandable?.(record) !== false;
1132
+ let isExpandable = hasChildren || this.expandable?.rowExpandable?.(record) !== false;
1133
+ // If the row is clickable (custom action) and has no children, hide/disable the expansion icon
1134
+ if (isClickableProp && !hasChildren) {
1135
+ isExpandable = false;
1136
+ }
1050
1137
  if (!isExpandable && !this.expandable.showExpandColumn) {
1051
1138
  return h("td", { class: "x-table-cell x-table-expand-column" });
1052
1139
  }
@@ -1054,7 +1141,7 @@ export class XTable {
1054
1141
  'x-table-row-expand-icon': true,
1055
1142
  'x-table-row-expand-icon-expanded': isExpanded,
1056
1143
  'x-table-row-expand-icon-collapsed': !isExpanded,
1057
- }, onClick: (e) => {
1144
+ }, onClick: e => {
1058
1145
  e.stopPropagation();
1059
1146
  this.toggleRowExpand(record);
1060
1147
  }, disabled: !isExpandable }, h("svg", { viewBox: "0 0 1024 1024", width: "1em", height: "1em", fill: "currentColor" }, isExpanded ? (h("path", { d: "M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" })) : (h("path", { d: "M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" }))))));
@@ -1072,7 +1159,7 @@ export class XTable {
1072
1159
  const visibleColumns = this.internalColumns.filter(col => !col.hidden);
1073
1160
  const hasDrag = this.draggableRows;
1074
1161
  const hasSelection = !!this.rowSelection;
1075
- const hasExpand = !!this.expandable;
1162
+ const hasExpand = this.shouldShowExpandColumn();
1076
1163
  const selectionWidth = typeof this.rowSelection?.columnWidth === 'number' ? `${this.rowSelection.columnWidth}px` : this.rowSelection?.columnWidth || '32px';
1077
1164
  const expandWidth = typeof this.expandable?.columnWidth === 'number' ? `${this.expandable.columnWidth}px` : this.expandable?.columnWidth || '32px';
1078
1165
  return (h("colgroup", null, hasDrag && h("col", { style: { width: '32px' } }), hasSelection && h("col", { style: { width: selectionWidth } }), hasExpand && h("col", { style: { width: expandWidth } }), visibleColumns.map(col => {
@@ -1108,7 +1195,7 @@ export class XTable {
1108
1195
  renderBodyCell(column, record, index, stickyOffsets) {
1109
1196
  if (column.hidden)
1110
1197
  return null;
1111
- const value = this.getCellValue(record, column.dataIndex);
1198
+ const value = this.getCellValue(record, column.dataIndex, column.key);
1112
1199
  let cellContent;
1113
1200
  if (column.slot) {
1114
1201
  cellContent = h("slot", { name: `${column.slot}-${index}` });
@@ -1118,6 +1205,9 @@ export class XTable {
1118
1205
  cellContent = column.render ? column.render(value, record, index) : value;
1119
1206
  }
1120
1207
  const style = {};
1208
+ if (column.width) {
1209
+ style.width = typeof column.width === 'number' ? `${column.width}px` : column.width;
1210
+ }
1121
1211
  // Sticky
1122
1212
  const key = column.key || column.dataIndex;
1123
1213
  const isFixedLeft = column.fixed === 'left' || column.fixed === true;
@@ -1130,20 +1220,32 @@ export class XTable {
1130
1220
  style.position = 'sticky';
1131
1221
  style.right = `${stickyOffsets.right[key]}px`;
1132
1222
  }
1223
+ const indentLevel = record._indent || 0;
1224
+ const isFirstColumn = this.internalColumns.indexOf(column) === 0;
1225
+ const ellipsis = column.ellipsis;
1226
+ const isEllipsis = !!ellipsis;
1227
+ const ellipsisRows = typeof ellipsis === 'object' ? ellipsis.rows || 1 : 1;
1228
+ const showTooltip = isEllipsis && (typeof ellipsis === 'object' ? ellipsis.showTitle !== false : true);
1229
+ const contentNode = (h("div", { class: {
1230
+ 'x-table-cell-content': true,
1231
+ 'x-table-cell-line-clamp': ellipsisRows > 1,
1232
+ }, style: ellipsisRows > 1 ? { '--x-table-cell-line-clamp': `${ellipsisRows}` } : {}, innerHTML: typeof cellContent === 'string' ? cellContent : undefined }, cellContent instanceof HTMLElement ? (h("div", { ref: el => {
1233
+ if (el && el.firstChild !== cellContent) {
1234
+ el.innerHTML = '';
1235
+ el.appendChild(cellContent);
1236
+ }
1237
+ } })) : typeof cellContent !== 'string' ? (cellContent) : null));
1133
1238
  return (h("td", { class: {
1134
1239
  'x-table-cell': true,
1135
- 'x-table-cell-ellipsis': !!column.ellipsis,
1240
+ 'x-table-cell-ellipsis': isEllipsis,
1136
1241
  'x-table-cell-fix-left': isFixedLeft,
1137
1242
  'x-table-cell-fix-right': isFixedRight,
1243
+ 'x-table-cell-fix-left-last': isFixedLeft && key === stickyOffsets.lastFixedLeftKey,
1244
+ 'x-table-cell-fix-right-first': isFixedRight && key === stickyOffsets.firstFixedRightKey,
1138
1245
  [`x-table-align-${column.align || 'left'}`]: true,
1139
1246
  [column.className || '']: !!column.className,
1140
1247
  [this.classNames?.cell || '']: !!this.classNames?.cell,
1141
- }, style: { ...style, ...this.styles?.cell }, colSpan: column.colSpan, rowSpan: column.rowSpan, innerHTML: typeof cellContent === 'string' ? cellContent : undefined }, cellContent instanceof HTMLElement ? (h("div", { ref: el => {
1142
- if (el) {
1143
- el.innerHTML = '';
1144
- el.appendChild(cellContent);
1145
- }
1146
- } })) : (typeof cellContent !== 'string' ? cellContent : null)));
1248
+ }, style: { ...style, ...this.styles?.cell }, colSpan: column.colSpan, rowSpan: column.rowSpan }, h("div", { style: { display: 'flex', alignItems: 'center', justifyContent: column.align === 'center' ? 'center' : column.align === 'right' ? 'flex-end' : 'flex-start' } }, isFirstColumn && indentLevel > 0 && h("span", { style: { width: `${indentLevel * 20}px`, flexShrink: '0' } }), showTooltip ? (h("x-tooltip", { title: typeof value === 'string' ? value : undefined, placement: "top" }, contentNode)) : (contentNode))));
1147
1249
  }
1148
1250
  /**
1149
1251
  * Renders the expanded content row if the row is expanded.
@@ -1158,18 +1260,16 @@ export class XTable {
1158
1260
  * @param index - The row index.
1159
1261
  * @returns JSX.Element - The tr element.
1160
1262
  */
1161
- renderExpandedRow(record, index) {
1263
+ renderExpandedRow(record, index, indent = 0) {
1162
1264
  if (!this.expandable?.expandedRowRender)
1163
1265
  return null;
1164
1266
  const key = this.getRowKey(record);
1165
1267
  if (!this.expandedRowKeys.includes(key))
1166
1268
  return null;
1167
- const colSpan = this.internalColumns.filter(col => !col.hidden).length +
1168
- (this.rowSelection ? 1 : 0) +
1169
- (this.expandable ? 1 : 0) +
1170
- (this.draggableRows ? 1 : 0);
1171
- const indent = 0;
1269
+ const colSpan = this.internalColumns.filter(col => !col.hidden).length + (this.rowSelection ? 1 : 0) + (this.expandable ? 1 : 0) + (this.draggableRows ? 1 : 0);
1172
1270
  const content = this.expandable.expandedRowRender(record, index, indent, true);
1271
+ if (content === null || content === undefined)
1272
+ return null;
1173
1273
  return (h("tr", { class: "x-table-expanded-row" }, h("td", { colSpan: colSpan, class: "x-table-expanded-row-cell" }, content)));
1174
1274
  }
1175
1275
  /**
@@ -1189,26 +1289,40 @@ export class XTable {
1189
1289
  * @param stickyOffsets - Calculated sticky offsets.
1190
1290
  * @returns JSX.Element[] - Array containing the row and potential expanded row.
1191
1291
  */
1192
- renderRow(record, index, stickyOffsets) {
1292
+ renderRow(record, index, stickyOffsets, indent = 0) {
1193
1293
  const key = this.getRowKey(record, index);
1194
1294
  const isSelected = this.selectedRowKeys.includes(key);
1195
1295
  const isExpanded = this.expandedRowKeys.includes(key);
1196
- const isHovered = this.hoveredRowKey === key;
1296
+ const isClickableProp = typeof this.clickable === 'function' ? this.clickable(record, index) : this.clickable;
1297
+ const children = record.children;
1298
+ const hasChildren = children && children.length > 0;
1299
+ const isExpandable = this.shouldShowExpandColumn() && (hasChildren || this.expandable?.rowExpandable?.(record) !== false);
1300
+ const isClickable = isClickableProp || !!this.rowSelection || !!this.expandable?.expandRowByClick || isExpandable;
1197
1301
  const visibleColumns = this.internalColumns.filter(col => !col.hidden);
1198
- return [
1302
+ // Add internal indent to record for Cell rendering
1303
+ const recordWithIndent = { ...record, _indent: indent };
1304
+ const rows = [
1199
1305
  h("tr", { key: key, class: {
1200
1306
  'x-table-row': true,
1201
1307
  'x-table-row-selected': isSelected,
1202
1308
  'x-table-row-expanded': isExpanded,
1203
- 'x-table-row-hover': isHovered,
1309
+ 'x-table-row-clickable': isClickable,
1204
1310
  'x-table-row-dragging': this.draggedRowKey === key,
1205
1311
  'x-table-row-drag-over-top': this.dragOverRowKey === key && this.dragOverRowSide === 'top',
1206
1312
  'x-table-row-drag-over-bottom': this.dragOverRowKey === key && this.dragOverRowSide === 'bottom',
1207
1313
  [this.getRowClassName(record, index)]: !!this.getRowClassName(record, index),
1208
1314
  [this.classNames?.row || '']: !!this.classNames?.row,
1209
- }, style: this.styles?.row, onClick: (e) => this.handleRowClick(record, index, e), onDblClick: (e) => this.handleRowDoubleClick(record, index, e), onMouseEnter: () => this.hoveredRowKey = key, onMouseLeave: () => this.hoveredRowKey = null, draggable: this.draggableRows, onDragStart: this.draggableRows ? (e) => this.handleRowDragStart(e, record) : undefined, onDragOver: this.draggableRows ? (e) => this.handleRowDragOver(e, record) : undefined, onDragLeave: this.draggableRows ? this.handleRowDragLeave : undefined, onDrop: this.draggableRows ? (e) => this.handleRowDrop(e, record) : undefined }, this.renderDragCell(record), this.renderSelectionColumn(), this.renderExpandCell(record), visibleColumns.map(column => this.renderBodyCell(column, record, index, stickyOffsets))),
1210
- this.renderExpandedRow(record, index),
1315
+ }, style: this.styles?.row, onClick: e => this.handleRowClick(record, index, e), onDblClick: e => this.handleRowDoubleClick(record, index, e), draggable: this.draggableRows, onDragStart: this.draggableRows ? e => this.handleRowDragStart(e, record) : undefined, onDragOver: this.draggableRows ? e => this.handleRowDragOver(e, record) : undefined, onDragLeave: this.draggableRows ? this.handleRowDragLeave : undefined, onDragEnd: this.draggableRows ? this.handleRowDragEnd : undefined, onDrop: this.draggableRows ? e => this.handleRowDrop(e, record) : undefined }, this.renderDragCell(record), this.renderSelectionCell(record), this.renderExpandCell(record, index), visibleColumns.map(column => this.renderBodyCell(column, recordWithIndent, index, stickyOffsets))),
1211
1316
  ];
1317
+ if (this.expandable?.expandedRowRender && isExpanded) {
1318
+ rows.push(this.renderExpandedRow(record, index, indent));
1319
+ }
1320
+ if (hasChildren && isExpanded) {
1321
+ children.forEach((child, childIndex) => {
1322
+ rows.push(...this.renderRow(child, childIndex, stickyOffsets, indent + 1));
1323
+ });
1324
+ }
1325
+ return rows;
1212
1326
  }
1213
1327
  hasCustomRows() {
1214
1328
  return Array.from(this.el.children).some(child => child.tagName === 'X-TABLE-ROW');
@@ -1234,9 +1348,7 @@ export class XTable {
1234
1348
  }
1235
1349
  const data = this.getPaginatedData();
1236
1350
  if (data.length === 0) {
1237
- const colSpan = this.internalColumns.filter(col => !col.hidden).length +
1238
- (this.rowSelection ? 1 : 0) +
1239
- (this.expandable?.expandedRowRender ? 1 : 0);
1351
+ const colSpan = this.internalColumns.filter(col => !col.hidden).length + (this.rowSelection ? 1 : 0) + (this.expandable?.expandedRowRender ? 1 : 0);
1240
1352
  return (h("tbody", { class: {
1241
1353
  'x-table-tbody': true,
1242
1354
  [this.classNames?.body || '']: !!this.classNames?.body,
@@ -1247,24 +1359,31 @@ export class XTable {
1247
1359
  [this.classNames?.body || '']: !!this.classNames?.body,
1248
1360
  }, style: this.styles?.body }, data.map((record, index) => this.renderRow(record, index, stickyOffsets))));
1249
1361
  }
1250
- renderPagination() {
1362
+ renderPagination(filterType) {
1251
1363
  if (this.pagination === false)
1252
1364
  return null;
1253
- const total = this.getProcessedData().length;
1254
1365
  const paginationConfig = this.pagination || {};
1366
+ const total = paginationConfig.total !== undefined ? paginationConfig.total : this.getProcessedData().length;
1255
1367
  // Hide on single page
1256
1368
  if (paginationConfig.hideOnSinglePage && total <= this.currentPageSize) {
1257
1369
  return null;
1258
1370
  }
1259
- const positions = paginationConfig.position || ['bottomRight'];
1371
+ const positions = (paginationConfig.position || ['bottomRight']).filter(pos => {
1372
+ if (!filterType)
1373
+ return true;
1374
+ const isTop = pos.startsWith('top');
1375
+ return filterType === 'top' ? isTop : !isTop;
1376
+ });
1377
+ if (positions.length === 0)
1378
+ return null;
1260
1379
  return positions.map(position => {
1261
1380
  const isTop = position.startsWith('top');
1262
1381
  const align = position.replace('top', '').replace('bottom', '').toLowerCase() || 'right';
1263
- return (h("div", { class: {
1382
+ return (h("div", { key: `${position}-${isTop}`, class: {
1264
1383
  'x-table-pagination': true,
1265
1384
  [`x-table-pagination-${isTop ? 'top' : 'bottom'}`]: true,
1266
1385
  [`x-table-pagination-${align}`]: true,
1267
- } }, h("x-pagination", { current: this.currentPage, pageSize: this.currentPageSize, total: total, showSizeChanger: paginationConfig.showSizeChanger, showQuickJumper: paginationConfig.showQuickJumper, simple: paginationConfig.simple, size: paginationConfig.size === 'small' ? 'small' : 'middle', disabled: paginationConfig.disabled, onXChange: (e) => {
1386
+ } }, h("x-pagination", { current: this.currentPage, pageSize: this.currentPageSize, total: total, pageSizeOptions: paginationConfig.pageSizeOptions, showSizeChanger: paginationConfig.showSizeChanger, showQuickJumper: paginationConfig.showQuickJumper, showTotal: paginationConfig.showTotal, simple: paginationConfig.simple, size: paginationConfig.size === 'small' ? 'small' : 'middle', disabled: paginationConfig.disabled, onXChange: (e) => {
1268
1387
  const { current, pageSize } = e.detail;
1269
1388
  this.handlePageChange(current, pageSize);
1270
1389
  } })));
@@ -1273,7 +1392,7 @@ export class XTable {
1273
1392
  renderTitle() {
1274
1393
  if (!this.tableTitle)
1275
1394
  return null;
1276
- return (h("div", { class: "x-table-title" }, this.tableTitle));
1395
+ return h("div", { class: "x-table-title" }, this.tableTitle);
1277
1396
  }
1278
1397
  renderFooter() {
1279
1398
  if (!this.tableFooter)
@@ -1291,10 +1410,17 @@ export class XTable {
1291
1410
  */
1292
1411
  render() {
1293
1412
  const scrollStyle = {};
1413
+ const innerTableStyle = {};
1294
1414
  if (this.tableScroll?.x) {
1295
1415
  scrollStyle.overflowX = 'auto';
1296
1416
  if (typeof this.tableScroll.x === 'number') {
1297
- scrollStyle.minWidth = `${this.tableScroll.x}px`;
1417
+ innerTableStyle.minWidth = `${this.tableScroll.x}px`;
1418
+ }
1419
+ else if (typeof this.tableScroll.x === 'string') {
1420
+ innerTableStyle.minWidth = this.tableScroll.x;
1421
+ }
1422
+ else if (this.tableScroll.x === true) {
1423
+ innerTableStyle.minWidth = 'max-content';
1298
1424
  }
1299
1425
  }
1300
1426
  if (this.tableScroll?.y) {
@@ -1306,36 +1432,34 @@ export class XTable {
1306
1432
  };
1307
1433
  const hasPagination = this.pagination && typeof this.pagination === 'object';
1308
1434
  const paginationConfig = hasPagination ? this.pagination : null;
1309
- const topPagination = hasPagination &&
1310
- paginationConfig?.position?.some(p => p.startsWith('top'));
1311
- const bottomPagination = this.pagination === undefined ||
1312
- (hasPagination &&
1313
- (paginationConfig?.position?.some(p => p.startsWith('bottom')) || !paginationConfig?.position));
1314
- const { leftOffsets, rightOffsets } = this.getStickyOffsets();
1315
- const stickyOffsets = { left: leftOffsets, right: rightOffsets };
1435
+ const topPagination = hasPagination && paginationConfig?.position?.some(p => p.startsWith('top'));
1436
+ const bottomPagination = this.pagination === undefined || (hasPagination && (paginationConfig?.position?.some(p => p.startsWith('bottom')) || !paginationConfig?.position));
1437
+ const { leftOffsets, rightOffsets, lastFixedLeftKey, firstFixedRightKey } = this.getStickyOffsets();
1438
+ const stickyOffsets = { left: leftOffsets, right: rightOffsets, lastFixedLeftKey, firstFixedRightKey };
1316
1439
  // Emit data change event for wrappers to sync slots
1317
1440
  const displayData = this.getPaginatedData();
1318
1441
  const total = this.getProcessedData().length;
1319
1442
  const startIndex = (this.currentPage - 1) * this.currentPageSize;
1320
- // We emit in a small timeout or just during render if we're careful.
1443
+ // We emit in a small timeout or just during render if we're careful.
1321
1444
  // In Stencil, emitting during render is generally OK if it's a side-effect for property sync.
1322
1445
  // BUT better in componentDidUpdate / componentWillUpdate.
1323
1446
  this.xDataDisplayChange.emit({
1324
1447
  data: displayData,
1325
1448
  total,
1326
- startIndex
1449
+ startIndex,
1327
1450
  });
1328
- return (h(Host, { key: 'b62a59af9b7c2828ed58cd32ad7f506225d768bb', class: {
1451
+ return (h(Host, { key: '76c750528d53df24f767afdc0d53e90c901f113f', class: {
1329
1452
  'x-table': true,
1330
1453
  'x-table-bordered': this.bordered,
1331
1454
  'x-table-loading': this.loading,
1332
1455
  [`x-table-${this.size}`]: true,
1333
- 'x-table-sticky': !!this.sticky,
1456
+ 'x-table-sticky': !!this.sticky || !!this.tableScroll?.y,
1334
1457
  [this.classNames?.root || '']: !!this.classNames?.root,
1335
- }, style: this.styles?.root }, h("div", { key: '7c6a43499deddd806e19ce2c743e649c3c8c85fb', class: "x-table-wrapper" }, this.renderTitle(), topPagination && this.renderPagination(), h("div", { key: '109d170bdc71dc14d570439c62ec2691a4c84684', class: "x-table-container" }, this.loading && (h("div", { key: '189af679b8bf1c7bc460c788a072a43f98c922f9', class: "x-table-loading-overlay" }, h("x-spin", { key: '9e45db0adf6e7b45741b9b7affe386c2d77160aa' }))), h("div", { key: '819ef65a6dd6a37f8d77374879376d16678d3666', class: "x-table-content", style: scrollStyle }, h("table", { key: '69fd63f7a7bec1e36876e562f01e779be5caa30b', style: {
1458
+ }, style: this.styles?.root }, h("div", { key: '5af6bb4b50f3e790f1eb15d1c15c262f4ff8ea29', class: "x-table-wrapper" }, this.renderTitle(), topPagination && this.renderPagination('top'), h("div", { key: '71578d15387263765f1ef603520d2e7b668c1476', class: "x-table-container" }, this.loading && (h("div", { key: '17eaf05d5f7884e606a26c5ee64ad23bb495e0af', class: "x-table-loading-overlay" }, h("x-spin", { key: '69fe0249701f71a9dab737d54e6c848fdbce9111' }))), h("div", { key: '37d0f9e25159256389c8b137236ffd20c2575a88', class: "x-table-content", style: scrollStyle }, h("table", { key: '511af98bedf1b8fc0a2b2f1a07fb22b9d7d4675a', style: {
1336
1459
  ...tableStyle,
1337
- tableLayout: (this.resizeState || this.internalColumns.some(c => c.width)) ? 'fixed' : this.tableLayout
1338
- } }, this.renderColGroup(), this.renderHeader(stickyOffsets), this.renderBody(stickyOffsets)))), bottomPagination && this.renderPagination(), this.renderFooter())));
1460
+ ...innerTableStyle,
1461
+ tableLayout: this.resizeState || this.internalColumns.some(c => c.width) ? 'fixed' : this.tableLayout,
1462
+ } }, this.renderColGroup(), this.renderHeader(stickyOffsets), this.renderBody(stickyOffsets)))), (bottomPagination || this.tableFooter) && (h("div", { key: '3bd5751883e4d30519d81cc6ade817c0a13951cc', class: "x-table-footer-pagination" }, this.renderFooter(), bottomPagination && this.renderPagination('bottom'))))));
1339
1463
  }
1340
1464
  static get is() { return "x-table"; }
1341
1465
  static get encapsulation() { return "shadow"; }
@@ -1890,7 +2014,7 @@ export class XTable {
1890
2014
  "type": "unknown",
1891
2015
  "mutable": false,
1892
2016
  "complexType": {
1893
- "original": "(record: Record<string, unknown>, index: number) => { onClick?: (e: Event) => void; onDoubleClick?: (e: Event) => void; onMouseEnter?: (e: Event) => void; onMouseLeave?: (e: Event) => void }",
2017
+ "original": "(\n record: Record<string, unknown>,\n index: number,\n ) => { onClick?: (e: Event) => void; onDoubleClick?: (e: Event) => void; onMouseEnter?: (e: Event) => void; onMouseLeave?: (e: Event) => void }",
1894
2018
  "resolved": "(record: Record<string, unknown>, index: number) => { onClick?: (e: Event) => void; onDoubleClick?: (e: Event) => void; onMouseEnter?: (e: Event) => void; onMouseLeave?: (e: Event) => void; }",
1895
2019
  "references": {
1896
2020
  "Record": {
@@ -1917,6 +2041,34 @@ export class XTable {
1917
2041
  "getter": false,
1918
2042
  "setter": false
1919
2043
  },
2044
+ "clickable": {
2045
+ "type": "boolean",
2046
+ "mutable": false,
2047
+ "complexType": {
2048
+ "original": "boolean | ((record: Record<string, unknown>, index: number) => boolean)",
2049
+ "resolved": "((record: Record<string, unknown>, index: number) => boolean) | boolean",
2050
+ "references": {
2051
+ "Record": {
2052
+ "location": "global",
2053
+ "id": "global::Record"
2054
+ }
2055
+ }
2056
+ },
2057
+ "required": false,
2058
+ "optional": false,
2059
+ "docs": {
2060
+ "tags": [{
2061
+ "name": "default",
2062
+ "text": "false"
2063
+ }],
2064
+ "text": "Whether the row is clickable.\nCan be a boolean or a function returning a boolean."
2065
+ },
2066
+ "getter": false,
2067
+ "setter": false,
2068
+ "reflect": false,
2069
+ "attribute": "clickable",
2070
+ "defaultValue": "false"
2071
+ },
1920
2072
  "resizableColumns": {
1921
2073
  "type": "boolean",
1922
2074
  "mutable": false,
@@ -2083,7 +2235,6 @@ export class XTable {
2083
2235
  "filterState": {},
2084
2236
  "selectedRowKeys": {},
2085
2237
  "expandedRowKeys": {},
2086
- "hoveredRowKey": {},
2087
2238
  "internalColumns": {},
2088
2239
  "internalDataSource": {},
2089
2240
  "resizeState": {},
@@ -2093,6 +2244,7 @@ export class XTable {
2093
2244
  "draggedRowKey": {},
2094
2245
  "dragOverRowKey": {},
2095
2246
  "dragOverRowSide": {},
2247
+ "searchState": {},
2096
2248
  "activeFilterColumn": {}
2097
2249
  };
2098
2250
  }
@@ -2295,7 +2447,7 @@ export class XTable {
2295
2447
  "text": "Callback when displayed data changes (due to pagination, filtering or sorting)"
2296
2448
  },
2297
2449
  "complexType": {
2298
- "original": "{\r\n data: Record<string, unknown>[];\r\n total: number;\r\n startIndex: number;\r\n }",
2450
+ "original": "{\n data: Record<string, unknown>[];\n total: number;\n startIndex: number;\n }",
2299
2451
  "resolved": "{ data: Record<string, unknown>[]; total: number; startIndex: number; }",
2300
2452
  "references": {
2301
2453
  "Record": {